Skip to content

Commit bf14e49

Browse files
committed
Create OpenAL sound sources asychronously
1 parent 86d18c0 commit bf14e49

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

src/audio/sfx_manager.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,10 @@ void* SFXManager::mainLoop(void *obj)
378378
case SFX_MUSIC_DEFAULT_VOLUME:
379379
{
380380
current->m_music_information->setDefaultVolume();
381+
break;
381382
}
383+
case SFX_CREATE_SOURCE:
384+
current->m_sfx->init(); break;
382385
default: assert("Not yet supported.");
383386
}
384387
delete current;

src/audio/sfx_manager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ class SFXManager : public NoCopy, public CanBeDeleted
8888
SFX_MUSIC_WAITING,
8989
SFX_MUSIC_DEFAULT_VOLUME,
9090
SFX_EXIT,
91+
SFX_CREATE_SOURCE
9192
}; // SFXCommands
9293

9394
/**

src/audio/sfx_openal.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ SFXOpenAL::SFXOpenAL(SFXBuffer* buffer, bool positional, float volume,
5858
// will not be used anyway.
5959
if (SFXManager::get()->sfxAllowed())
6060
{
61-
init();
61+
SFXManager::get()->queue(SFXManager::SFX_CREATE_SOURCE, this);
62+
//init();
6263
}
6364
} // SFXOpenAL
6465

0 commit comments

Comments
 (0)