#ifndef MOSSROSE_H #define MOSSROSE_H #include #include typedef void (*mossrose_channel_callback_t)(int, void*); struct mossrose_sound_t { float *left; float *right; bool mono; size_t len; }; int mossrose_init(double sample_rate, int n_channels, bool init_plibsys); int mossrose_terminate(); int mossrose_play(struct mossrose_sound_t *sound, int channel, int loops); void mossrose_channel_set_volume(int channel, float volume); void mossrose_channel_set_pan(int channel, float left, float right); void mossrose_channel_pause(int channel); void mossrose_channel_resume(int channel); void mossrose_channel_set_callback(int channel, mossrose_channel_callback_t callback, void *userdata); void mossrose_poll_callbacks(); struct mossrose_sound_t * mossrose_load_mp3(const char *filename); struct mossrose_sound_t * mossrose_load_wav(const char *filename); void mossrose_free_sound(struct mossrose_sound_t *sound); #endif