Classes | |
| class | CallbackClient |
| struct | DoubleBuffer |
| struct | PCMSound |
Public Types | |
| enum | SynthType : byte { kSquareWaveSynth = 1, kWaveTableSynth = 3, kSampledSynth = 5, kIgnoreSynth = 0xff } |
| enum | ChanAttrib : byte { kInitChanLeft = 2, kInitChanRight = 3, kWaveInitChannel0 = 4, kWaveInitChannel1 = 5, kWaveInitChannel2 = 6, kWaveInitChannel3 = 7, kNoInterp = 4, kInitNoDrop = 8, kInitMono = 0x80, kInitStereo = 0xC0 } |
| enum | ExecMode : byte { kImmediate, kEnqueue } |
| typedef int | ChanHandle |
| typedef Common::Functor2Mem< uint16, const void *, void, CallbackClient > | ChanCallback |
| typedef Common::Functor1Mem< DoubleBuffer *, void, CallbackClient > | DBCallback |
Public Types inherited from Scumm::MacSoundDriver | |
| enum | StatusFlag : uint8 { kStatusPlaying = 1 << 0, kStatusOverflow = 1 << 1, kStatusStartup = 1 << 2, kStatusDone = 1 << 3, kStatusDisabled = 1 << 7 } |
Public Member Functions | |
| MacLowLevelPCMDriver (Common::Mutex &mutex, uint32 deviceRate, bool internal16Bit) | |
| void | feed (int8 *dst, uint32 byteSize, Audio::Mixer::SoundType type, bool expectStereo) override |
| ChanHandle | createChannel (Audio::Mixer::SoundType sndType, SynthType synthType, byte attributes, ChanCallback *callback) |
| void | disposeChannel (ChanHandle handle) |
| void | playSamples (ChanHandle handle, ExecMode mode, const PCMSound *snd) |
| void | playNote (ChanHandle handle, ExecMode mode, uint8 note, uint16 duration) |
| void | quiet (ChanHandle handle, ExecMode mode) |
| void | flush (ChanHandle handle, ExecMode mode) |
| void | wait (ChanHandle handle, ExecMode mode, uint16 duration) |
| void | loadWaveTable (ChanHandle handle, ExecMode mode, const byte *data, uint16 dataSize) |
| void | loadInstrument (ChanHandle handle, ExecMode mode, const PCMSound *snd) |
| void | setTimbre (ChanHandle handle, ExecMode mode, uint16 timbre) |
| void | callback (ChanHandle handle, ExecMode mode, uint16 arg1, const void *arg2) |
| bool | playDoubleBuffer (ChanHandle handle, byte numChan, byte bitsPerSample, uint32 rate, DBCallback *callback, byte numMixChan=1) |
| uint8 | getChannelStatus (ChanHandle handle) const |
| void | clearChannelFlags (ChanHandle handle, uint8 flags) |
Public Member Functions inherited from Scumm::MacSoundDriver | |
| MacSoundDriver (Common::Mutex &mutex, uint32 deviceRate, int activeChannels, bool canInterpolate, bool internal16Bit) | |
| const Status & | getStatus (Audio::Mixer::SoundType sndType=Audio::Mixer::kPlainSoundType) const |
| void | clearFlags (uint8 flags, Audio::Mixer::SoundType sndType=Audio::Mixer::kPlainSoundType) |
| void | setFlags (uint8 flags, Audio::Mixer::SoundType sndType=Audio::Mixer::kPlainSoundType) |
Static Public Member Functions | |
| static uint32 | calcRate (uint32 outRate, uint32 factor, uint32 dataRate) |
Additional Inherited Members | |
Protected Attributes inherited from Scumm::MacSoundDriver | |
| Common::Mutex & | _mutex |
| const int | _smpSize |
| const int16 | _smpMin |
| const int16 | _smpMax |
| Status | _status [4] |