ScummVM API documentation
Scumm::MacLowLevelPCMDriver Class Referencefinal
Inheritance diagram for Scumm::MacLowLevelPCMDriver:
Scumm::MacSoundDriver

Classes

class  CallbackClient
 
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, CallbackClientChanCallback
 
- Public Types inherited from Scumm::MacSoundDriver
enum  StatusFlag : uint8 { kStatusPlaying = 1 << 0, kStatusOverflow = 1 << 1, kStatusStartup = 1 << 2, kStatusDone = 1 << 3 }
 

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)
 
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 StatusgetStatus (Audio::Mixer::SoundType sndType=Audio::Mixer::kPlainSoundType) const
 
void clearFlags (uint8 flags, Audio::Mixer::SoundType sndType=Audio::Mixer::kPlainSoundType)
 

Additional Inherited Members

- Protected Member Functions inherited from Scumm::MacSoundDriver
void setFlags (uint8 flags, Audio::Mixer::SoundType sndType=Audio::Mixer::kPlainSoundType)
 
- Protected Attributes inherited from Scumm::MacSoundDriver
Common::Mutex_mutex
 
const int _smpSize
 
const int16 _smpMin
 
const int16 _smpMax
 
Status _status [4]
 

The documentation for this class was generated from the following file: