#pragma once #include #include #include "../util/types.h" #define AUDIO_MAX 4 // maximum number of sound effects that are allowed to play at once struct audiodata { const u8 *buf; // pointer to the audio buffer u32 len; // length in bytes of the audio buffer u32 ms; // length in miliseconds of the audio buffer }; enum audio_id { AUDIO_ID_MUSIC, AUDIO_ID_PLACE, // leave at end, will contain count AUDIO_ID_COUNT, }; extern struct audiodata audio_dat[AUDIO_ID_COUNT]; /* loads the audio to be played, unless `AUDIO_MAX` has been reached, then this call will fail */ void audio_play(u32); /* initialises the audio device, then loads the audio data */ int audio_init(int freq, SDL_AudioFormat fmt, u8 ch, u16 samples); /* frees up resources held by the audio device and audio buffers */ void audio_free(void);