ScummVM API documentation
Xeen::SoundDriver Class Referenceabstract

#include <sound_driver.h>

Inheritance diagram for Xeen::SoundDriver:
Xeen::SoundDriverAdlib

Classes

struct  Channel
 
class  Stream
 
struct  Subroutine
 

Public Member Functions

 SoundDriver ()
 
virtual ~SoundDriver ()
 
virtual void playFX (uint effectId, const byte *data)
 
void stopFX ()
 
virtual void playSong (const byte *data)
 
virtual int songCommand (uint commandId, byte musicVolume=0, byte sfxVolume=0)
 
bool isPlaying () const
 

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)
 
virtual bool cmdChangeFrequency (const byte *&srcP, byte param)
 
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]
 

Detailed Description

Base class for sound drivers

Constructor & Destructor Documentation

◆ SoundDriver()

Xeen::SoundDriver::SoundDriver ( )

Constructor

◆ ~SoundDriver()

virtual Xeen::SoundDriver::~SoundDriver ( )
virtual

Destructor

Member Function Documentation

◆ execute()

void Xeen::SoundDriver::execute ( )
protected

Executes a series of commands until instructed to stop

◆ pausePostProcess()

virtual void Xeen::SoundDriver::pausePostProcess ( )
protectedpure virtual

Post-processing done when a pause countdown starts or is in progress

Implemented in Xeen::SoundDriverAdlib.

◆ resetFX()

virtual void Xeen::SoundDriver::resetFX ( )
protectedpure virtual

Does a reset of any sound effect

Implemented in Xeen::SoundDriverAdlib.

◆ playFX()

virtual void Xeen::SoundDriver::playFX ( uint  effectId,
const byte *  data 
)
virtual

Starts an special effect playing

Reimplemented in Xeen::SoundDriverAdlib.

◆ stopFX()

void Xeen::SoundDriver::stopFX ( )

Stop any playing FX

◆ playSong()

virtual void Xeen::SoundDriver::playSong ( const byte *  data)
virtual

Plays a song

Reimplemented in Xeen::SoundDriverAdlib.

◆ songCommand()

virtual int Xeen::SoundDriver::songCommand ( uint  commandId,
byte  musicVolume = 0,
byte  sfxVolume = 0 
)
virtual

Executes special music command

Reimplemented in Xeen::SoundDriverAdlib.

◆ isPlaying()

bool Xeen::SoundDriver::isPlaying ( ) const
inline

Returns whether music is currently playing


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