// Audio.h

#ifndef _AUDIO_H_
#define _AUDIO_H_


#define AUDIO_MAX_VOLUME 128


// Immediate functions...

void Audio_Init();
void Audio_Deinit();
void Audio_Process();
void *Audio_LoadBank( char *filename );
void Audio_FreeBank( void *bank );
s32 Audio_SfxActive( const u32 id );
void *Audio_LoadMusic( char *musicname, char *bankname, const u32 index );
void Audio_FreeMusic( void *music );
s32 Audio_MusicActive();


// List functions...

s32 Audio_SfxPlay( void *bank, const u32 index, const u8 volume );
void Audio_SfxStop( const s32 id );
void Audio_SfxVolume( const s32 id, const u8 volume );
void Audio_SfxBalance( const s32 id, const u8 left, const u8 right );
void Audio_SfxRepeat( const s32 id, const s32 repeat );
void Audio_SfxPause( const s32 id, const s32 pause );
void Audio_MusicPlay( void *music, const u32 index );
void Audio_MusicVolume( const u8 volume );
void Audio_MusicStop();
void Audio_MusicPause( const s32 pause );
void Audio_StopAll();


#endif
