diff options
Diffstat (limited to 'mwe')
-rw-r--r-- | mwe/audio/bgm.ogg | bin | 0 -> 125020 bytes | |||
-rw-r--r-- | mwe/audio/sfx1.wav | bin | 0 -> 44144 bytes | |||
-rw-r--r-- | mwe/audio/sfx2.wav | bin | 0 -> 44144 bytes | |||
-rw-r--r-- | mwe/audio/sfx3.wav | bin | 0 -> 44144 bytes | |||
-rw-r--r-- | mwe/audio/soloud/CMakeLists.txt | 19 | ||||
-rw-r--r-- | mwe/audio/soloud/main.cpp | 48 |
6 files changed, 67 insertions, 0 deletions
diff --git a/mwe/audio/bgm.ogg b/mwe/audio/bgm.ogg Binary files differnew file mode 100644 index 0000000..d6397fb --- /dev/null +++ b/mwe/audio/bgm.ogg diff --git a/mwe/audio/sfx1.wav b/mwe/audio/sfx1.wav Binary files differnew file mode 100644 index 0000000..576377a --- /dev/null +++ b/mwe/audio/sfx1.wav diff --git a/mwe/audio/sfx2.wav b/mwe/audio/sfx2.wav Binary files differnew file mode 100644 index 0000000..908ec86 --- /dev/null +++ b/mwe/audio/sfx2.wav diff --git a/mwe/audio/sfx3.wav b/mwe/audio/sfx3.wav Binary files differnew file mode 100644 index 0000000..20b7c84 --- /dev/null +++ b/mwe/audio/sfx3.wav diff --git a/mwe/audio/soloud/CMakeLists.txt b/mwe/audio/soloud/CMakeLists.txt new file mode 100644 index 0000000..f2df20a --- /dev/null +++ b/mwe/audio/soloud/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.28) + +set(CMAKE_C_STANDARD 11) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_EXPORT_COMPILE_COMMANDS 1) +set(CMAKE_BUILD_TYPE Debug) + +add_subdirectory(../../../lib/soloud soloud) + +project(poc C CXX) + +add_executable(main + main.cpp +) + +target_link_libraries(main + soloud +) + diff --git a/mwe/audio/soloud/main.cpp b/mwe/audio/soloud/main.cpp new file mode 100644 index 0000000..25ba003 --- /dev/null +++ b/mwe/audio/soloud/main.cpp @@ -0,0 +1,48 @@ +#include <soloud.h> +#include <soloud_wav.h> +#include <soloud_wavstream.h> + +#include <chrono> +#include <thread> + +using namespace std; +using namespace std::chrono_literals; + +int main() { + SoLoud::Soloud soloud; + soloud.init(); + + // load background track + SoLoud::WavStream bgm; + bgm.load("../bgm.ogg"); + // NOTE: SoLoud::Wav is poorly named as it also supports FLAC, MP3 and OGG + + // load three short samples + SoLoud::Wav sfx[3]; + sfx[0].load("../sfx1.wav"); + sfx[1].load("../sfx2.wav"); + sfx[2].load("../sfx3.wav"); + + // start the background track + SoLoud::handle bgm_handle = soloud.play(bgm); + + // play each sample sequentially + this_thread::sleep_for(500ms); + soloud.play(sfx[0]); + this_thread::sleep_for(500ms); + soloud.play(sfx[1]); + soloud.setPause(bgm_handle, true); + this_thread::sleep_for(500ms); + soloud.play(sfx[2]); + soloud.setPause(bgm_handle, false); + this_thread::sleep_for(500ms); + + // play all samples simultaniously + for (unsigned i = 0; i < 3; i++) + soloud.play(sfx[i]); + this_thread::sleep_for(1000ms); + + // stop all audio and exit + soloud.deinit(); + return 0; +} |