From 500dd00fb11efdd19aef924b0d8ff0b370c28d33 Mon Sep 17 00:00:00 2001 From: sanine Date: Tue, 6 Sep 2022 23:21:20 -0500 Subject: implement mp3 loading --- examples/CMakeLists.txt | 7 +++++++ examples/mp3.c | 31 +++++++++++++++++++++++++++++++ examples/sine-mono.mp3 | Bin 0 -> 13199 bytes examples/weird-stereo.mp3 | Bin 0 -> 21029 bytes 4 files changed, 38 insertions(+) create mode 100644 examples/mp3.c create mode 100644 examples/sine-mono.mp3 create mode 100644 examples/weird-stereo.mp3 (limited to 'examples') diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index aea5060..3797392 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -18,3 +18,10 @@ add_dependencies(examples loop) add_executable(callback ${CMAKE_CURRENT_LIST_DIR}/callback.c) target_link_libraries(callback mossrose) add_dependencies(examples callback) + + +add_executable(mp3 ${CMAKE_CURRENT_LIST_DIR}/mp3.c) +target_link_libraries(mp3 mossrose) +add_dependencies(examples mp3) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/sine-mono.mp3 DESTINATION .) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/weird-stereo.mp3 DESTINATION .) diff --git a/examples/mp3.c b/examples/mp3.c new file mode 100644 index 0000000..7560bf1 --- /dev/null +++ b/examples/mp3.c @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#include + +#define SAMPLE_RATE 44100 +#define N_CHANNELS 8 + +int main() +{ + int err = mossrose_init(SAMPLE_RATE, N_CHANNELS, true); + if (err != 0) + fprintf(stderr, "FAILED TO INITIALIZE MOSSROSE\n"); + + struct mossrose_sound_t *mono = mossrose_load_mp3("sine-mono.mp3"); + struct mossrose_sound_t *stereo = mossrose_load_mp3("weird-stereo.mp3"); + + int chan = mossrose_play(mono, -1, 1); + Pa_Sleep(1000); + chan = mossrose_play(stereo, -1, 1); + Pa_Sleep(1000); + + mossrose_terminate(); + free(mono->left); + free(mono); + free(stereo->left); + free(stereo->right); + free(stereo); + return 0; +} diff --git a/examples/sine-mono.mp3 b/examples/sine-mono.mp3 new file mode 100644 index 0000000..6ea6991 Binary files /dev/null and b/examples/sine-mono.mp3 differ diff --git a/examples/weird-stereo.mp3 b/examples/weird-stereo.mp3 new file mode 100644 index 0000000..586fc60 Binary files /dev/null and b/examples/weird-stereo.mp3 differ -- cgit v1.2.1