diff options
| author | realtradam <[email protected]> | 2023-05-02 20:45:40 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-05-02 20:45:40 -0400 |
| commit | 87ca456c3f3e97f149604bc033fdd57998e2dcd4 (patch) | |
| tree | b326cacf8e135c939bfc90ba4dd75618cb8598e9 /src/audio/rodeo_audio.c | |
| parent | 4b6ae783ce2c9f08d21d2a2969826412cc587de2 (diff) | |
| download | RodeoKit-87ca456c3f3e97f149604bc033fdd57998e2dcd4.tar.gz RodeoKit-87ca456c3f3e97f149604bc033fdd57998e2dcd4.zip | |
added sample audio system
Diffstat (limited to 'src/audio/rodeo_audio.c')
| -rw-r--r-- | src/audio/rodeo_audio.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/audio/rodeo_audio.c b/src/audio/rodeo_audio.c new file mode 100644 index 0000000..34d0f33 --- /dev/null +++ b/src/audio/rodeo_audio.c @@ -0,0 +1,57 @@ + +// -- internal -- +// public +#include "rodeo/audio.h" +#include "rodeo/log.h" + +// -- external -- +#include "SDL.h" +#include "SDL_mixer.h" + +Mix_Chunk *sample_sound = NULL; + +void +rodeo_audio_initialize(void) +{ + if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048) < 0) + { + rodeo_log( + rodeo_logLevel_error, + "Failed to initialize SDL Audio. SDL_Error: %s", + SDL_GetError() + ); + } +} + +void +rodeo_audio_deinitialize(void) +{ + Mix_Quit(); +} + +void +rodeo_audio_loadSample(void) +{ + sample_sound = Mix_LoadWAV("assets/sample.wav"); + if(NULL == sample_sound) + { + rodeo_log( + rodeo_logLevel_error, + "Failed to load sound. Mix_Error: %s", + Mix_GetError() + ); + } +} + +void +rodeo_audio_freeSample(void) +{ + Mix_FreeChunk(sample_sound); + sample_sound = NULL; +} + +void +rodeo_audio_playSample(void) +{ + Mix_PlayChannel(-1, sample_sound, 0); +} |
