Skip to content

Commit cd463ee

Browse files
authored
Emscripten working latest libs and 3.1.74
* Disable Audio * Fix issues with Emscripten
1 parent 2336750 commit cd463ee

File tree

3 files changed

+45
-44
lines changed

3 files changed

+45
-44
lines changed

addons/ofxEmscripten/src/ofxEmscriptenSoundPlayer.cpp

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include "ofFileUtils.h"
99
#include "ofxEmscriptenSoundPlayer.h"
10-
#include "html5audio.h"
10+
// #include "html5audio.h"
1111

1212
using namespace std;
1313

@@ -17,7 +17,7 @@ int ofxEmscriptenAudioContext(){
1717
static bool initialized=false;
1818
static int context = -1;
1919
if(!initialized){
20-
context = html5audio_context_create();
20+
context = //html5audio_context_create();
2121
initialized = true;
2222
}
2323
return context;
@@ -30,126 +30,128 @@ ofxEmscriptenSoundPlayer::ofxEmscriptenSoundPlayer()
3030
,speed(1)
3131
,pan(0)
3232
,playing(false)
33-
,player_id(html5audio_player_create()){
33+
,player_id(0){
34+
//,player_id(//html5audio_player_create()){
3435
}
3536

3637
ofxEmscriptenSoundPlayer::~ofxEmscriptenSoundPlayer(){
37-
html5audio_sound_free(player_id);
38+
//html5audio_sound_free(player_id);
3839
}
3940

4041
bool ofxEmscriptenSoundPlayer::load(const of::filesystem::path& filePath, bool stream){
4142
auto soundFilePath = filePath.string();
4243
if ( soundFilePath.substr(0, 7) != "http://" && soundFilePath.substr(0, 8) != "https://"){
4344
soundFilePath = ofToDataPath(soundFilePath);
4445
}
45-
html5audio_sound_load(player_id, soundFilePath.c_str());
46+
//html5audio_sound_load(player_id, soundFilePath.c_str());
4647
return true;
4748
}
4849

4950
//bool ofxEmscriptenSoundPlayer::load(const std::string& fileName, bool stream){
50-
// html5audio_sound_load(player_id, fileName.c_str());
51+
// //html5audio_sound_load(player_id, fileName.c_str());
5152
// return true;
5253
//}
5354

5455
void ofxEmscriptenSoundPlayer::unload(){
55-
html5audio_sound_free(player_id);
56+
//html5audio_sound_free(player_id);
5657
}
5758

5859
void ofxEmscriptenSoundPlayer::play(){
59-
if(playing && !multiplay && !html5audio_sound_done(player_id)){
60-
html5audio_sound_stop(player_id);
61-
}
62-
html5audio_sound_play(player_id, multiplay, volume, speed, pan, 0);
63-
html5audio_sound_set_rate(player_id, speed);
64-
html5audio_sound_set_volume(player_id, volume);
60+
// if(playing && !multiplay && !//html5audio_sound_done(player_id)){
61+
//html5audio_sound_stop(player_id);
62+
// }
63+
//html5audio_sound_play(player_id, multiplay, volume, speed, pan, 0);
64+
//html5audio_sound_set_rate(player_id, speed);
65+
//html5audio_sound_set_volume(player_id, volume);
6566
playing = true;
6667
}
6768

6869
void ofxEmscriptenSoundPlayer::stop(){
69-
html5audio_sound_stop(player_id);
70+
//html5audio_sound_stop(player_id);
7071
playing = false;
7172
}
7273

7374

7475
void ofxEmscriptenSoundPlayer::setVolume(float vol){
7576
volume = vol;
76-
html5audio_sound_set_volume(player_id, vol);
77+
//html5audio_sound_set_volume(player_id, vol);
7778
}
7879

7980
void ofxEmscriptenSoundPlayer::setPan(float panorama){
8081
pan = panorama;
81-
html5audio_sound_set_pan(player_id, pan);
82+
//html5audio_sound_set_pan(player_id, pan);
8283
}
8384

8485
void ofxEmscriptenSoundPlayer::setSpeed(float spd){
8586
speed = spd;
86-
html5audio_sound_set_rate(player_id, spd);
87+
//html5audio_sound_set_rate(player_id, spd);
8788
}
8889

8990
void ofxEmscriptenSoundPlayer::setPaused(bool bP){
90-
if(bP) html5audio_sound_pause(player_id);
91-
else html5audio_sound_play(player_id, multiplay, volume, speed, pan, 0);
91+
// if(bP) //html5audio_sound_pause(player_id);
92+
// else //html5audio_sound_play(player_id, multiplay, volume, speed, pan, 0);
9293
}
9394

9495
void ofxEmscriptenSoundPlayer::setLoop(bool bLp){
95-
html5audio_sound_set_loop(player_id, bLp);
96+
//html5audio_sound_set_loop(player_id, bLp);
9697
}
9798

9899
void ofxEmscriptenSoundPlayer::setMultiPlay(bool bMp){
99100
multiplay = bMp;
100101
}
101102

102103
void ofxEmscriptenSoundPlayer::setPosition(float pct){
103-
html5audio_sound_set_position(player_id, pct);
104+
//html5audio_sound_set_position(player_id, pct);
104105
}
105106

106107
void ofxEmscriptenSoundPlayer::setPositionMS(int ms){
107-
html5audio_sound_set_position(player_id, ms / html5audio_sound_duration(player_id) / 1000);
108+
//html5audio_sound_set_position(player_id, ms / //html5audio_sound_duration(player_id) / 1000);
108109
}
109110

110111
float ofxEmscriptenSoundPlayer::getPosition() const{
111-
return html5audio_sound_position(player_id);
112+
return 0;//html5audio_sound_position(player_id);
112113
}
113114

114115
int ofxEmscriptenSoundPlayer::getPositionMS() const{
115-
return html5audio_sound_position(player_id) * html5audio_sound_duration(player_id) * 1000;
116+
return 0;//html5audio_sound_position(player_id) * //html5audio_sound_duration(player_id) * 1000;
116117
}
117118

118119
bool ofxEmscriptenSoundPlayer::isPlaying() const{
119-
return playing && !html5audio_sound_done(player_id);
120+
return false;
121+
//return playing && !//html5audio_sound_done(player_id);
120122
}
121123

122124
float ofxEmscriptenSoundPlayer::getSpeed() const{
123-
return html5audio_sound_rate(player_id);
125+
return 0;//html5audio_sound_rate(player_id);
124126
}
125127

126128
float ofxEmscriptenSoundPlayer::getPan() const{
127-
return html5audio_sound_pan(player_id);
129+
return 0;//html5audio_sound_pan(player_id);
128130
}
129131

130132
bool ofxEmscriptenSoundPlayer::isLoaded() const{
131-
return html5audio_sound_is_loaded(player_id);
133+
return false;//html5audio_sound_is_loaded(player_id);
132134
}
133135

134136
float ofxEmscriptenSoundPlayer::getVolume() const{
135-
return html5audio_sound_volume(player_id);
137+
return 0;//html5audio_sound_volume(player_id);
136138
}
137139

138140
float ofxEmscriptenSoundPlayer::getDuration() const {
139-
return html5audio_sound_duration(player_id);
141+
return 0;//html5audio_sound_duration(player_id);
140142
}
141143

142144
unsigned int ofxEmscriptenSoundPlayer::getDurationMS() const{
143-
return html5audio_sound_duration(player_id) * 1000;
145+
return 0;//html5audio_sound_duration(player_id) * 1000;
144146
}
145147

146148
double ofxEmscriptenSoundPlayer::getDurationSecs() const{
147-
return html5audio_sound_duration(player_id);
149+
return 0;//html5audio_sound_duration(player_id);
148150
}
149151

150152
float * ofxEmscriptenSoundPlayer::getSystemSpectrum(int bands){
151153
systemSpectrum.resize(bands);
152-
html5audio_context_spectrum(bands, &systemSpectrum[0]);
154+
//html5audio_context_spectrum(bands, &systemSpectrum[0]);
153155
for(size_t i = 0; i < systemSpectrum.size(); i++){
154156
systemSpectrum[i] = (systemSpectrum[i]+100) * 0.01;
155157
}

addons/ofxEmscripten/src/ofxEmscriptenSoundStream.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
#include "ofxEmscriptenSoundStream.h"
9-
#include "html5audio.h"
9+
// #include "html5audio.h"
1010
#include "ofBaseApp.h"
1111
#include "ofLog.h"
1212

@@ -26,15 +26,15 @@ ofxEmscriptenSoundStream::~ofxEmscriptenSoundStream() {
2626
}
2727

2828
std::vector<ofSoundDevice> ofxEmscriptenSoundStream::getDeviceList(ofSoundDevice::Api api) const{
29-
html5audio_list_devices();
29+
//html5audio_list_devices();
3030
return vector<ofSoundDevice>();
3131
}
3232

3333
bool ofxEmscriptenSoundStream::setup(const ofSoundStreamSettings & settings) {
3434
inbuffer.allocate(settings.bufferSize, settings.numInputChannels);
3535
outbuffer.allocate(settings.bufferSize, settings.numOutputChannels);
3636
this->settings = settings;
37-
html5audio_stream_create(settings.bufferSize,settings.numInputChannels,settings.numOutputChannels,inbuffer.getBuffer().data(),outbuffer.getBuffer().data(),&audio_cb,this);
37+
//html5audio_stream_create(settings.bufferSize,settings.numInputChannels,settings.numOutputChannels,inbuffer.getBuffer().data(),outbuffer.getBuffer().data(),&audio_cb,this);
3838
return true;
3939
}
4040

@@ -55,15 +55,15 @@ ofSoundDevice ofxEmscriptenSoundStream::getOutDevice() const{
5555
}
5656

5757
void ofxEmscriptenSoundStream::start() {
58-
html5audio_context_start();
58+
//html5audio_context_start();
5959
}
6060

6161
void ofxEmscriptenSoundStream::stop() {
62-
html5audio_context_stop();
62+
//html5audio_context_stop();
6363
}
6464

6565
void ofxEmscriptenSoundStream::close() {
66-
html5audio_stream_free();
66+
//html5audio_stream_free();
6767
}
6868

6969
uint64_t ofxEmscriptenSoundStream::getTickCount() const{
@@ -79,7 +79,7 @@ int ofxEmscriptenSoundStream::getNumOutputChannels() const{
7979
}
8080

8181
int ofxEmscriptenSoundStream::getSampleRate() const{
82-
return html5audio_context_samplerate();
82+
return 0;//html5audio_context_samplerate();
8383
}
8484

8585
int ofxEmscriptenSoundStream::getBufferSize() const{

libs/openFrameworksCompiled/project/emscripten/config.emscripten.default.mk

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ endif
8181

8282
# Code Generation Option Flags (http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html)
8383
PLATFORM_CFLAGS = -std=c17 -fPIC $(CFLAG_PLATFORM_PTHREAD) -s ASSERTIONS=2
84-
PLATFORM_CXXFLAGS = -Wall -std=c++17 -fPIC -Wno-warn-absolute-paths $(CFLAG_PLATFORM_PTHREAD) -s ASSERTIONS=2
84+
PLATFORM_CXXFLAGS = -Wall -std=c++23 -fPIC -Wno-warn-absolute-paths $(CFLAG_PLATFORM_PTHREAD) -s ASSERTIONS=2
8585

8686
ifdef EMSCRIPTEN_MEMORY64
8787
PLATFORM_CFLAGS += -s MEMORY64=1
@@ -131,15 +131,14 @@ PLATFORM_LDFLAGS += $(PLATFORM_PTHREAD)
131131
# PLATFORM_LDFLAGS += -lhtml5
132132
# PLATFORM_LDFLAGS += -lopenal
133133
PLATFORM_LDFLAGS += --js-library $(OF_ADDONS_PATH)/ofxEmscripten/libs/html5video/lib/emscripten/library_html5video.js
134-
PLATFORM_LDFLAGS += --js-library $(OF_ADDONS_PATH)/ofxEmscripten/libs/html5audio/lib/emscripten/library_html5audio.js
134+
# PLATFORM_LDFLAGS += --js-library $(OF_ADDONS_PATH)/ofxEmscripten/libs/html5audio/lib/emscripten/library_html5audio.js
135135
PLATFORM_LDFLAGS += -s MINIFY_HTML=0
136136
PLATFORM_LDFLAGS += -s MAIN_MODULE=1 \
137137
-s ASSERTIONS=2 \
138138
-s EXPORT_ALL=1 \
139-
-s MODULARIZE=1 \
140139
-s NO_DYNAMIC_EXECUTION=1
141140
PLATFORM_LDFLAGS += -s ALLOW_MEMORY_GROWTH=1
142-
PLATFORM_LDFLAGS += -sLOAD_SOURCE_MAP=1 -sABORT_ON_WASM_EXCEPTIONS=1
141+
PLATFORM_LDFLAGS += -sLOAD_SOURCE_MAP=1 -sABORT_ON_WASM_EXCEPTIONS=0
143142
PLATFORM_LDFLAGS += -s DYNAMIC_EXECUTION=0 -s EMBIND_AOT=1
144143
# PLATFORM_LDFLAGS += -s SINGLE_FILE=1
145144
#PLATFORM_LDFLAGS += -s MODULARIZE=1

0 commit comments

Comments
 (0)