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