1 #ifndef __SOUND_H__ 2 #define __SOUND_H__ 3 4 typedef void* wav_t; 5 typedef struct _mus_t *mus_t; 6 7 #define DEFAULT_CHUNKSIZE 1024 8 9 /* extern mus_t snd_load_mus(const char *path); */ 10 extern void snd_free_mus(mus_t mus); 11 extern int snd_open(int hz); 12 extern int snd_init(int hz); 13 extern int snd_hz(void); 14 extern int snd_play(wav_t chunk, int channel, int loop); 15 extern void snd_halt_chan(int han, int ms); 16 17 extern void snd_free_wav(wav_t chunk); 18 extern wav_t snd_load_wav(const char *fname); 19 20 #define SND_FMT_STEREO 1 21 #define SND_FMT_44 2 22 #define SND_FMT_22 4 23 #define SND_FMT_11 8 24 25 extern wav_t snd_load_mem(int fmt, const short *buf, size_t len); 26 extern int snd_play_mus(char *music, int ms, int loop); 27 extern void snd_mus_callback(void (*fn)(void *udata, unsigned char *stream, int len), void *arg); 28 extern int snd_playing_mus(); 29 extern void snd_stop_mus(int ms); 30 extern int snd_volume_mus(int vol); 31 extern void snd_done(void); 32 extern void snd_close(void); 33 extern int snd_vol_from_pcn(int v); 34 extern int snd_vol_to_pcn(int v); 35 extern int snd_playing(int channel); 36 extern void snd_pause(int on); 37 extern int snd_panning(int channel, int left, int right); 38 extern int snd_enabled(void); 39 40 #endif 41