tron@2186: /* $Id$ */ tron@2186: rubidium@10429: /** @file mixer.h Functions to mix sound samples. */ belugas@6527: tron@1496: #ifndef MIXER_H tron@1496: #define MIXER_H truelight@0: rubidium@6574: struct MixerChannel; truelight@0: 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: }; truelight@0: tron@1496: bool MxInitialize(uint rate); rubidium@7814: void MxMixSamples(void *buffer, uint samples); truelight@0: rubidium@7814: MixerChannel *MxAllocateChannel(); rubidium@10751: 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@337: Darkvater@2436: #endif /* MIXER_H */