-struct SampleInfo
-{
- char *source_filename;
- int num_references;
-
- int type;
- int format;
- long data_len;
- void *data_ptr;
-};
-
-typedef struct SampleInfo SoundInfo;
-typedef struct SampleInfo MusicInfo;
-
-#define SND_CTRL_NONE (0)
-#define SND_CTRL_MUSIC (1 << 0)
-#define SND_CTRL_LOOP (1 << 1)
-#define SND_CTRL_FADE (1 << 2)
-#define SND_CTRL_STOP (1 << 3)
-#define SND_CTRL_ALL_SOUNDS (1 << 4)
-#define SND_CTRL_RELOAD_SOUNDS (1 << 5)
-#define SND_CTRL_RELOAD_MUSIC (1 << 6)
-
-#define SND_CTRL_PLAY_SOUND (SND_CTRL_NONE)
-#define SND_CTRL_PLAY_LOOP (SND_CTRL_LOOP)
-#define SND_CTRL_PLAY_MUSIC (SND_CTRL_LOOP | SND_CTRL_MUSIC)
-
-#define SND_CTRL_FADE_SOUND (SND_CTRL_FADE)
-#define SND_CTRL_FADE_MUSIC (SND_CTRL_FADE | SND_CTRL_MUSIC)
-#define SND_CTRL_FADE_ALL (SND_CTRL_FADE | SND_CTRL_ALL_SOUNDS)
-
-#define SND_CTRL_STOP_SOUND (SND_CTRL_STOP)
-#define SND_CTRL_STOP_MUSIC (SND_CTRL_STOP | SND_CTRL_MUSIC)
-#define SND_CTRL_STOP_ALL (SND_CTRL_STOP | SND_CTRL_ALL_SOUNDS)
-
-#define IS_MUSIC(x) ((x).state & SND_CTRL_MUSIC)
-#define IS_LOOP(x) ((x).state & SND_CTRL_LOOP)
-#define IS_FADING(x) ((x).state & SND_CTRL_FADE)
-#define IS_STOPPING(x) ((x).state & SND_CTRL_STOP)
-#define IS_RELOADING(x) ((x).state & (SND_CTRL_RELOAD_SOUNDS | \
- SND_CTRL_RELOAD_MUSIC))
-#define ALL_SOUNDS(x) ((x).state & SND_CTRL_ALL_SOUNDS)
-
-struct SoundControl
-{
- boolean active;
-
- int nr;
- int volume;
- int stereo_position;
-
- int state;
-
- unsigned long playing_starttime;
- unsigned long playing_pos;
-
- int type;
- int format;
- long data_len;
- void *data_ptr;
-
-#if defined(PLATFORM_MSDOS)
- int voice;
-#endif
-};
-
-typedef struct SoundControl SoundControl;