ScummVM API documentation
MADS::SoundDriver Class Referenceabstract
Inheritance diagram for MADS::SoundDriver:
MADS::Dragonsphere::Sound::ASound MADS::Dragonsphere::Sound::GSound MADS::Dragonsphere::Sound::PSound MADS::Dragonsphere::Sound::RSound MADS::Phantom::Sound::ASound MADS::Phantom::Sound::ISound MADS::Phantom::Sound::PSound MADS::Phantom::Sound::RSound MADS::RexNebular::Sound::ASound MADS::RexNebular::Sound::ISound MADS::RexNebular::Sound::MacSoundDriver MADS::RexNebular::Sound::PSound MADS::RexNebular::Sound::RSound

Public Member Functions

 SoundDriver (Audio::Mixer *mixer, const Common::Path &filename, int dataOffset, int dataSize)
 
virtual int command (int commandId, int param)=0
 
virtual int stop ()=0
 
virtual int poll ()=0
 
virtual void noise ()=0
 
virtual void setVolume (int volume)=0
 

Protected Member Functions

Common::MemoryReadStream getDataStream (int offset) const
 
 SoundDriver (Audio::Mixer *mixer)
 

Protected Attributes

Audio::Mixer_mixer
 
Common::Array< byte > _soundData
 
Common::Mutex _driverMutex
 

Constructor & Destructor Documentation

◆ SoundDriver()

MADS::SoundDriver::SoundDriver ( Audio::Mixer mixer,
const Common::Path filename,
int  dataOffset,
int  dataSize 
)

Loads a driver data block from an absolute file offset.

For DOS MZ overlays, dataOffset includes the executable header. Offsets passed to getDataStream() and stored in sequence data are relative to the loaded block instead.

Member Function Documentation

◆ getDataStream()

Common::MemoryReadStream MADS::SoundDriver::getDataStream ( int  offset) const
inlineprotected

Gets a stream starting at a given offset in the loaded sound data

◆ command()

virtual int MADS::SoundDriver::command ( int  commandId,
int  param 
)
pure virtual

Execute a player command. Most commands represent sounds to play, but some low number commands also provide control operations.

Parameters
commandIdPlayer ommand to execute.
paramOptional parameter used by a few commands

Implemented in MADS::Dragonsphere::Sound::RSoundDemo9, MADS::Dragonsphere::Sound::RSoundDemo1, MADS::Dragonsphere::Sound::RSound9, MADS::Dragonsphere::Sound::RSound6, MADS::Dragonsphere::Sound::ASoundDemo9, MADS::RexNebular::Sound::RSoundDemo9, MADS::RexNebular::Sound::RSound9, MADS::Dragonsphere::Sound::ASound9, MADS::Dragonsphere::Sound::ASoundDemo1, MADS::RexNebular::Sound::RSound8, MADS::Dragonsphere::Sound::RSound5, MADS::RexNebular::Sound::ASound9, MADS::RexNebular::Sound::PSoundDemo9, MADS::RexNebular::Sound::RSound7, MADS::RexNebular::Sound::PSoundDemo1, MADS::Phantom::Sound::RSoundDemoPHA, MADS::RexNebular::Sound::RSound6, MADS::Dragonsphere::Sound::ASound6, MADS::RexNebular::Sound::PSound9, MADS::Phantom::Sound::RSound9, MADS::RexNebular::Sound::ASoundDemo9, MADS::Dragonsphere::Sound::RSound4, MADS::Phantom::Sound::ASoundDemo, MADS::RexNebular::Sound::ASound8, MADS::RexNebular::Sound::RSound5, MADS::Dragonsphere::Sound::ASound5, MADS::RexNebular::Sound::PSound8, MADS::Phantom::Sound::RSound5, MADS::Phantom::Sound::ASound9, MADS::RexNebular::Sound::ASound7, MADS::RexNebular::Sound::RSound4, MADS::RexNebular::Sound::PSound7, MADS::RexNebular::Sound::ASound6, MADS::Dragonsphere::Sound::ASound4, MADS::Phantom::Sound::ASound5, MADS::Dragonsphere::Sound::RSound3, MADS::RexNebular::Sound::PSound6, MADS::RexNebular::Sound::ASound5, MADS::Phantom::Sound::RSound4, MADS::RexNebular::Sound::RSound3, MADS::RexNebular::Sound::PSound5, MADS::Dragonsphere::Sound::ASound3, MADS::RexNebular::Sound::ASound4, MADS::Phantom::Sound::ASound4, MADS::RexNebular::Sound::PSound4, MADS::Phantom::Sound::RSound3, MADS::RexNebular::Sound::ASound3, MADS::Dragonsphere::Sound::RSound2, MADS::Phantom::Sound::ASound3, MADS::Dragonsphere::Sound::ASound2, MADS::RexNebular::Sound::PSound3, MADS::RexNebular::Sound::RSound2, MADS::RexNebular::Sound::ASound2, MADS::Dragonsphere::Sound::ASound1, MADS::Phantom::Sound::RSound2, MADS::Dragonsphere::Sound::RSound1, MADS::Phantom::Sound::ASound2, MADS::RexNebular::Sound::PSound2, MADS::RexNebular::Sound::ASoundDemo1, MADS::RexNebular::Sound::RSoundDemo1, MADS::Phantom::Sound::RSound1, MADS::RexNebular::Sound::RSound1, MADS::RexNebular::Sound::MacSoundDriver, MADS::Phantom::Sound::ASound1, MADS::Dragonsphere::Sound::DragonspherePSoundDemo, MADS::RexNebular::Sound::PSound1, MADS::RexNebular::Sound::ASound1, MADS::Dragonsphere::Sound::DragonspherePSound, MADS::Dragonsphere::Sound::GSoundDragonsphere, MADS::RexNebular::Sound::ISoundSection, MADS::Phantom::Sound::ISoundSection, and MADS::Phantom::Sound::PhantomPSound.

◆ stop()

◆ poll()

◆ noise()

◆ setVolume()


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