diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/aoapplication.cpp | 25 | ||||
| -rw-r--r-- | src/aomusicplayer.cpp | 6 | ||||
| -rw-r--r-- | src/text_file_functions.cpp | 2 |
3 files changed, 21 insertions, 12 deletions
diff --git a/src/aoapplication.cpp b/src/aoapplication.cpp index a20fe26d..1e78ef5e 100644 --- a/src/aoapplication.cpp +++ b/src/aoapplication.cpp @@ -196,7 +196,7 @@ void AOApplication::doBASSreset() { BASS_Free(); BASS_Init(-1, 48000, BASS_DEVICE_LATENCY, nullptr, nullptr); - load_bass_opus_plugin(); + load_bass_plugins(); } void AOApplication::initBASS() @@ -210,7 +210,7 @@ void AOApplication::initBASS() if (get_audio_output_device() == "default") { BASS_Init(-1, 48000, BASS_DEVICE_LATENCY, nullptr, nullptr); - load_bass_opus_plugin(); + load_bass_plugins(); } else { for (a = 0; BASS_GetDeviceInfo(a, &info); a++) { @@ -218,30 +218,33 @@ void AOApplication::initBASS() BASS_SetDevice(a); BASS_Init(static_cast<int>(a), 48000, BASS_DEVICE_LATENCY, nullptr, nullptr); - load_bass_opus_plugin(); + load_bass_plugins(); qInfo() << info.name << "was set as the default audio output device."; return; } } BASS_Init(-1, 48000, BASS_DEVICE_LATENCY, nullptr, nullptr); - load_bass_opus_plugin(); + load_bass_plugins(); } } #if (defined(_WIN32) || defined(_WIN64)) -void AOApplication::load_bass_opus_plugin() +void AOApplication::load_bass_plugins() { BASS_PluginLoad("bassopus.dll", 0); -} -#elif (defined(LINUX) || defined(__linux__)) -void AOApplication::load_bass_opus_plugin() -{ - BASS_PluginLoad("libbassopus.so", 0); + BASS_PluginLoad("bassmidi.dll", 0); } #elif defined __APPLE__ -void AOApplication::load_bass_opus_plugin() +void AOApplication::load_bass_plugins() { BASS_PluginLoad("libbassopus.dylib", 0); + BASS_PluginLoad("libbassmidi.dylib", 0); +} +#elif (defined(LINUX) || defined(__linux__)) +void AOApplication::load_bass_plugins() +{ + BASS_PluginLoad("libbassopus.so", 0); + BASS_PluginLoad("libbassmidi.so", 0); } #else #error This operating system is unsupported for BASS plugins. diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp index 2b75baa5..16db1630 100644 --- a/src/aomusicplayer.cpp +++ b/src/aomusicplayer.cpp @@ -31,6 +31,8 @@ QString AOMusicPlayer::play(QString p_song, int channel, bool loop, if (f_path.startsWith("http")) { if (f_path.endsWith(".opus")) newstream = BASS_OPUS_StreamCreateURL(f_path.toStdString().c_str(), 0, streaming_flags, nullptr, 0); + else if (f_path.endsWith(".mid")) + newstream = BASS_MIDI_StreamCreateURL(f_path.toStdString().c_str(), 0, streaming_flags, nullptr, 0, 1); else newstream = BASS_StreamCreateURL(f_path.toStdString().c_str(), 0, streaming_flags, nullptr, 0); @@ -38,6 +40,10 @@ QString AOMusicPlayer::play(QString p_song, int channel, bool loop, f_path = ao_app->get_real_path(ao_app->get_music_path(p_song)); if (f_path.endsWith(".opus")) newstream = BASS_OPUS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); + else if (f_path.endsWith(".mid")) + newstream = BASS_MIDI_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags, 1); + else if (f_path.endsWith(".mo3") || f_path.endsWith(".xm") || f_path.endsWith(".mod") || f_path.endsWith(".s3m") || f_path.endsWith(".it") || f_path.endsWith(".mtm") || f_path.endsWith(".umx") ) + newstream = BASS_MusicLoad(FALSE,f_path.utf16(), 0, 0, flags, 1); else newstream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); } diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp index e3a285d4..b0209411 100644 --- a/src/text_file_functions.cpp +++ b/src/text_file_functions.cpp @@ -515,7 +515,7 @@ QString AOApplication::get_court_sfx(QString p_identifier, QString p_misc) QString AOApplication::get_sfx_suffix(VPath sound_to_check) { return get_real_suffixed_path(sound_to_check, - {".opus", ".ogg", ".mp3", ".wav" }); + {".opus", ".ogg", ".mp3", ".wav", ".mid", ".midi", ".xm", ".it", ".s3m", ".mod", ".mtm", ".umx" }); } QString AOApplication::get_image_suffix(VPath path_to_check, bool static_image) |
