tron@2186: /* $Id$ */ tron@2186: rubidium@9111: /** @file mixer.h Functions to mix sound samples. */ belugas@6201: tron@1496: #ifndef MIXER_H tron@1496: #define MIXER_H tron@1496: rubidium@6248: struct MixerChannel; tron@1496: tron@1496: enum { tron@1496: MX_AUTOFREE = 1, tron@1496: // MX_8BIT = 2, tron@1496: // MX_STEREO = 4, tron@1496: // MX_UNSIGNED = 8, tron@1496: }; tron@1496: tron@1496: bool MxInitialize(uint rate); rubidium@7318: void MxMixSamples(void *buffer, uint samples); tron@1496: rubidium@7318: MixerChannel *MxAllocateChannel(); rubidium@9390: void MxSetChannelRawSrc(MixerChannel *mc, int8 *mem, size_t size, uint rate, uint flags); tron@1496: void MxSetChannelVolume(MixerChannel *mc, uint left, uint right); tron@1498: void MxActivateChannel(MixerChannel*); tron@1496: Darkvater@2436: #endif /* MIXER_H */