rev |
line source |
nuclear@0
|
1 #ifndef GAMESND_H_
|
nuclear@0
|
2 #define GAMESND_H_
|
nuclear@0
|
3
|
nuclear@0
|
4 #include <stdio.h>
|
nuclear@0
|
5
|
nuclear@0
|
6 struct gsnd_sample;
|
nuclear@0
|
7 struct gsnd_source;
|
nuclear@0
|
8 struct gsnd_track;
|
nuclear@0
|
9 struct gsnd_io;
|
nuclear@0
|
10
|
nuclear@0
|
11 typedef long (*gsnd_io_read_func)(void *file, void *buf, long sz);
|
nuclear@0
|
12 typedef long (*gsnd_io_seek_func)(void *file, long offs, int whence);
|
nuclear@0
|
13
|
nuclear@0
|
14
|
nuclear@0
|
15 /* ---- sound samples ---- */
|
nuclear@0
|
16 int gsnd_init_sample(struct gsnd_sample *sam);
|
nuclear@0
|
17 void gsnd_destroy_sample(struct gsnd_sample *sam);
|
nuclear@0
|
18
|
nuclear@0
|
19 struct gsnd_sample *gsnd_create_sample(void);
|
nuclear@0
|
20 void gsnd_free_sample(struct gsnd_sample *sam);
|
nuclear@0
|
21
|
nuclear@0
|
22 int gsnd_load_sample(struct gsnd_sample *sam, const char *fname);
|
nuclear@0
|
23 int gsnd_load_sample_file(struct gsnd_sample *sam, FILE *fp);
|
nuclear@0
|
24 int gsnd_load_sample_io(struct gsnd_sample *sam, struct gsnd_io *io);
|
nuclear@0
|
25
|
nuclear@0
|
26 void gsnd_play_sample(struct gsnd_sample *sam, float vol);
|
nuclear@0
|
27 void gsnd_stop_sample(struct gsnd_sample *sam);
|
nuclear@0
|
28
|
nuclear@0
|
29 /* ---- sound source ---- */
|
nuclear@0
|
30 int gsnd_init_source(struct gsnd_source *src);
|
nuclear@0
|
31 void gsnd_destroy_source(struct gsnd_source *src);
|
nuclear@0
|
32
|
nuclear@0
|
33 struct gsnd_source *gsnd_create_source(void);
|
nuclear@0
|
34 void gsnd_free_source(struct gsnd_source *src);
|
nuclear@0
|
35
|
nuclear@0
|
36 void gsnd_source_position(struct gsnd_source *src, float x, float y, float z);
|
nuclear@0
|
37 void gsnd_source_volume(struct gsnd_source *src, float vol);
|
nuclear@0
|
38 void gsnd_source_pitch(struct gsnd_source *src, float pitch);
|
nuclear@0
|
39
|
nuclear@0
|
40 void gsnd_play_source(struct gsnd_sample *sam);
|
nuclear@0
|
41 void gsnd_stop_source(struct gsnd_sample *sam);
|
nuclear@0
|
42
|
nuclear@0
|
43 /* ---- music tracks ---- */
|
nuclear@0
|
44 int gsnd_init_track(struct gsnd_track *trk);
|
nuclear@0
|
45 void gsnd_destroy_track(struct gsnd_track *trk);
|
nuclear@0
|
46
|
nuclear@0
|
47 struct gsnd_track *gsnd_create_sample(void);
|
nuclear@0
|
48 void gsnd_free_sample(struct gsnd_track *trk);
|
nuclear@0
|
49
|
nuclear@0
|
50 int gsnd_open_track(struct gsnd_track *trk, const char *fname);
|
nuclear@0
|
51 int gsnd_open_track_file(struct gsnd_track *trk, FILE *fp);
|
nuclear@0
|
52 int gsnd_open_track_io(struct gsnd_track *trk, struct gsnd_io *io);
|
nuclear@0
|
53
|
nuclear@0
|
54 void gsnd_play_track(struct gsnd_track *trk);
|
nuclear@0
|
55 void gsnd_stop_track(struct gsnd_track *trk);
|
nuclear@0
|
56
|
nuclear@0
|
57
|
nuclear@0
|
58 /* ---- file i/o ---- */
|
nuclear@0
|
59 void gsnd_io(struct gsnd_io *io, void *file, gsnd_io_read_func rd, gsnd_io_seek_func seek);
|
nuclear@0
|
60
|
nuclear@0
|
61
|
nuclear@0
|
62 #endif /* GAMESND_H_ */
|