diff options
| author | Rose Witchaven <32779090+in1tiate@users.noreply.github.com> | 2021-06-18 23:58:46 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-18 23:58:46 -0500 |
| commit | 5190490a07f929aef3ee0198f5bce251ff28dbea (patch) | |
| tree | e1ceff14a88e183f203009fbc549049480a61aec | |
| parent | 65f812cf7331acb5d5d1f1dfbac4bc99fd0aed04 (diff) | |
Set BASS_CONFIG_DEV_DEFAULT to 1 to enable automatic reinitialization of the default device when it is lost (#564)
fixes #561
| -rw-r--r-- | src/aoapplication.cpp | 2 | ||||
| -rw-r--r-- | src/aoblipplayer.cpp | 6 | ||||
| -rw-r--r-- | src/aosfxplayer.cpp | 6 |
3 files changed, 2 insertions, 12 deletions
diff --git a/src/aoapplication.cpp b/src/aoapplication.cpp index 74857593..e71f4c8a 100644 --- a/src/aoapplication.cpp +++ b/src/aoapplication.cpp @@ -194,6 +194,7 @@ void AOApplication::call_announce_menu(Courtroom *court) } // Callback for when BASS device is lost +// Only actually used for music syncs void CALLBACK AOApplication::BASSreset(HSTREAM handle, DWORD channel, DWORD data, void *user) { @@ -213,6 +214,7 @@ void AOApplication::doBASSreset() void AOApplication::initBASS() { + BASS_SetConfig(BASS_CONFIG_DEV_DEFAULT, 1); BASS_Free(); // Change the default audio output device to be the one the user has given // in his config.ini file for now. diff --git a/src/aoblipplayer.cpp b/src/aoblipplayer.cpp index 6607d463..307a0bdd 100644 --- a/src/aoblipplayer.cpp +++ b/src/aoblipplayer.cpp @@ -34,12 +34,6 @@ void AOBlipPlayer::blip_tick() HSTREAM f_stream = m_stream_list[f_cycle]; BASS_ChannelSetDevice(f_stream, BASS_GetDevice()); - int f_bass_error = BASS_ErrorGetCode(); - if (f_bass_error == BASS_ERROR_DEVICE) { - ao_app->doBASSreset(); - BASS_ChannelSetDevice(f_stream, BASS_GetDevice()); - } - BASS_ChannelPlay(f_stream, false); } diff --git a/src/aosfxplayer.cpp b/src/aosfxplayer.cpp index 000b6a7e..fcdeb949 100644 --- a/src/aosfxplayer.cpp +++ b/src/aosfxplayer.cpp @@ -47,12 +47,6 @@ void AOSfxPlayer::play(QString p_sfx, QString p_character, QString p_misc) set_volume_internal(m_volume); BASS_ChannelSetDevice(m_stream_list[m_channel], BASS_GetDevice()); - int f_bass_error = BASS_ErrorGetCode(); - if (f_bass_error == BASS_ERROR_DEVICE) { - ao_app->doBASSreset(); - BASS_ChannelSetDevice(m_stream_list[m_channel], BASS_GetDevice()); - } - BASS_ChannelPlay(m_stream_list[m_channel], false); BASS_ChannelSetSync(m_stream_list[m_channel], BASS_SYNC_DEV_FAIL, 0, ao_app->BASSreset, 0); |
