(svn r2000) Split the sound system into backend (mixer.[ch]) and frontend (sound.[ch])

This commit is contained in:
tron
2005-03-12 09:38:03 +00:00
parent 70be35f319
commit f04780e66d
8 changed files with 201 additions and 168 deletions

24
mixer.h Normal file
View File

@@ -0,0 +1,24 @@
#ifndef MIXER_H
#define MIXER_H
typedef struct Mixer Mixer;
typedef struct MixerChannel MixerChannel;
enum {
MX_AUTOFREE = 1,
// MX_8BIT = 2,
// MX_STEREO = 4,
// MX_UNSIGNED = 8,
};
VARDEF Mixer *_mixer;
bool MxInitialize(uint rate);
void MxMixSamples(Mixer *mx, void *buffer, uint samples);
MixerChannel *MxAllocateChannel(Mixer *mx);
void MxSetChannelRawSrc(MixerChannel *mc, int8 *mem, uint size, uint rate, uint flags);
void MxSetChannelVolume(MixerChannel *mc, uint left, uint right);
void MxActivate(MixerChannel*);
#endif