#include <sound_driver.h>
Classes | |
struct | Channel |
class | Stream |
struct | Subroutine |
Public Member Functions | |
SoundDriver () | |
virtual | ~SoundDriver () |
virtual void | playFX (uint effectId, const byte *data) |
void | stopFX (bool force=false) |
virtual void | playSong (const byte *data) |
virtual int | songCommand (uint commandId, byte musicVolume=0, byte sfxVolume=0) |
bool | isPlaying () const |
virtual void | sysExMessage (const byte *&data)=0 |
Protected Types | |
enum | StreamType { stMUSIC, stFX, stLAST } |
Protected Member Functions | |
void | execute () |
virtual bool | musCallSubroutine (const byte *&srcP, byte param) |
virtual bool | musSetCountdown (const byte *&srcP, byte param) |
virtual bool | musSetInstrument (const byte *&srcP, byte param)=0 |
virtual bool | cmdNoOperation (const byte *&srcP, byte param) |
virtual bool | musSetPitchWheel (const byte *&srcP, byte param)=0 |
virtual bool | musSkipWord (const byte *&srcP, byte param) |
virtual bool | musSetPanning (const byte *&srcP, byte param)=0 |
virtual bool | musFade (const byte *&srcP, byte param)=0 |
virtual bool | musStartNote (const byte *&srcP, byte param)=0 |
virtual bool | musSetVolume (const byte *&srcP, byte param)=0 |
virtual bool | musInjectMidi (const byte *&srcP, byte param)=0 |
virtual bool | musPlayInstrument (const byte *&srcP, byte param)=0 |
virtual bool | cmdFreezeFrequency (const byte *&srcP, byte param)=0 |
virtual bool | cmdChangeFrequency (const byte *&srcP, byte param)=0 |
virtual bool | musEndSubroutine (const byte *&srcP, byte param) |
virtual bool | fxCallSubroutine (const byte *&srcP, byte param) |
virtual bool | fxSetCountdown (const byte *&srcP, byte param) |
virtual bool | fxSetInstrument (const byte *&srcP, byte param)=0 |
virtual bool | fxSetVolume (const byte *&srcP, byte param)=0 |
virtual bool | fxMidiReset (const byte *&srcP, byte param)=0 |
virtual bool | fxMidiDword (const byte *&srcP, byte param)=0 |
virtual bool | fxSetPanning (const byte *&srcP, byte param)=0 |
virtual bool | fxChannelOff (const byte *&srcP, byte param)=0 |
virtual bool | fxFade (const byte *&srcP, byte param)=0 |
virtual bool | fxStartNote (const byte *&srcP, byte param)=0 |
virtual bool | fxInjectMidi (const byte *&srcP, byte param)=0 |
virtual bool | fxPlayInstrument (const byte *&srcP, byte param)=0 |
virtual bool | fxEndSubroutine (const byte *&srcP, byte param) |
virtual void | pausePostProcess ()=0 |
virtual void | resetFX ()=0 |
Protected Attributes | |
Common::Array< Channel > | _channels |
Stream | _streams [stLAST] |
Base class for sound drivers
MM::Shared::Xeen::SoundDriver::SoundDriver | ( | ) |
Constructor
|
virtual |
Destructor
|
protected |
Executes a series of commands until instructed to stop
|
protectedpure virtual |
Post-processing done when a pause countdown starts or is in progress
Implemented in MM::Shared::Xeen::SoundDriverAdlib, and MM::Shared::Xeen::SoundDriverMT32.
|
protectedpure virtual |
Does a reset of any sound effect
Implemented in MM::Shared::Xeen::SoundDriverAdlib, and MM::Shared::Xeen::SoundDriverMT32.
|
virtual |
Starts a special effect playing
Reimplemented in MM::Shared::Xeen::SoundDriverAdlib, and MM::Shared::Xeen::SoundDriverMT32.
void MM::Shared::Xeen::SoundDriver::stopFX | ( | bool | force = false | ) |
Stop any playing FX
|
virtual |
Plays a song
Reimplemented in MM::Shared::Xeen::SoundDriverAdlib, and MM::Shared::Xeen::SoundDriverMT32.
|
virtual |
Executes special music command
Reimplemented in MM::Shared::Xeen::SoundDriverAdlib, and MM::Shared::Xeen::SoundDriverMT32.
|
inline |
Returns whether music is currently playing
|
pure virtual |
Sends SysEx message
Implemented in MM::Shared::Xeen::SoundDriverAdlib, and MM::Shared::Xeen::SoundDriverMT32.