ScummVM API documentation
Scumm::SoundHE Class Reference
Inheritance diagram for Scumm::SoundHE:
Scumm::Sound Common::Serializable

Classes

struct  HESoundCallbackItem
 
struct  PCMWaveFormat
 

Public Member Functions

 SoundHE (ScummEngine *parent, Audio::Mixer *mixer, Common::Mutex *mutex)
 
void startSound (int sound, int heOffset=0, int heChannel=0, int heFlags=0, int heFreq=0, int hePan=0, int heVol=0) override
 
void addSoundToQueue (int sound, int heOffset=0, int heChannel=0, int heFlags=0, int heFreq=0, int hePan=0, int heVol=0) override
 
void modifySound (int sound, int offset, int frequencyShift, int pan, int volume, int flags) override
 
int isSoundRunning (int sound) const override
 
bool isSoundInUse (int sound) const override
 
void stopSound (int sound) override
 
void stopAllSounds () override
 
int hsFindSoundChannel (int sound) const
 
void setupSound () override
 
void pauseSounds (bool pause) override
 
bool getHEMusicDetails (int id, int &musicOffs, int &musicSize)
 
int getNextDynamicChannel ()
 
bool isSoundCodeUsed (int sound)
 
int getSoundPosition (int sound)
 
int getSoundVar (int sound, int var)
 
void setSoundVar (int sound, int var, int val)
 
void setSoundVolume (int sound, int volume)
 
void triggerSound (int soundId, int heOffset, int heChannel, int heFlags, HESoundModifiers modifiers)
 
void triggerSpoolingSound (int soundId, int heOffset, int heChannel, int heFlags, HESoundModifiers modifiers)
 
void triggerDigitalSound (int soundId, int heOffset, int heChannel, int heFlags)
 
void triggerMidiSound (int soundId, int heOffset)
 
void triggerRIFFSound (int soundId, int heOffset, int heChannel, int heFlags, HESoundModifiers modifiers)
 
void triggerXSOUSound (int soundId, int heOffset, int heChannel, int heFlags)
 
void hsStartDigitalSound (int sound, int offset, byte *addr, int sound_data, int globType, int globNum, int sampleCount, int frequency, int channel, int priority, int soundCode, int flags, int bitsPerSample, int soundChannelCount, HESoundModifiers modifiers)
 
void hsStopDigitalSound (int sound)
 
void handleSoundFrame ()
 
void feedMixer ()
 
void unqueueSoundCallbackScripts ()
 
void checkSoundTimeouts ()
 
void digitalSoundCallback (int message, int channel, bool earlyCallback=false)
 
void queueSoundCallbackScript (int sound, int channel, int message)
 
void runSoundCode ()
 
void processSoundOpcodes (int sound, byte *codePtr, int *soundVars)
 
void setOverrideFreq (int freq)
 
void setupHEMusicFile ()
 
void playVoice (uint32 offset, uint32 length)
 
void playVoiceFile (char *filename)
 
void stopDigitalSound (int sound)
 
void createSound (int snd1id, int snd2id)
 
int getChannelPosition (int channel)
 
const byte * findWavBlock (uint32 tag, const byte *block)
 
int getCurrentSpeechOffset ()
 
bool is3DOSound (int sound) const
 
- Public Member Functions inherited from Scumm::Sound
 Sound (ScummEngine *parent, Audio::Mixer *mixer, bool useReplacementAudioTracks)
 
void processSound ()
 
void triggerSound (int soundID)
 
void startTalkSound (uint32 offset, uint32 b, int mode, Audio::SoundHandle *handle=NULL)
 
void stopTalkSound ()
 
bool isMouthSyncOff (uint pos)
 
void soundKludge (int *list, int num)
 
void talkSound (uint32 offset, uint32 length, int mode, int channel=0)
 
bool isSfxFileCompressed ()
 
bool hasSfxFile () const
 
ScummFilerestoreDiMUSESpeechFile (const char *fileName)
 
void extractSyncsFromDiMUSEMarker (const char *marker)
 
void incrementSpeechTimer ()
 
void resetSpeechTimer ()
 
void startSpeechTimer ()
 
void stopSpeechTimer ()
 
bool speechIsPlaying ()
 
void startCDTimer ()
 
void stopCDTimer ()
 
void playCDTrack (int track, int numLoops, int startFrame, int duration)
 
void playCDTrackInternal (int track, int numLoops, int startFrame, int duration)
 
void stopCD ()
 
int pollCD () const
 
void updateCD ()
 
AudioCDManager::Status getCDStatus ()
 
int getCurrentCDSound () const
 
int getCDTrackIdFromSoundId (int soundId, int &loops, int &start)
 
bool isRolandLoom () const
 
bool useReplacementAudio () const
 
void updateMusicTimer ()
 
int getMusicTimer () const
 
int getCDMusicTimer () const
 
void saveLoadWithSerializer (Common::Serializer &ser) override
 
void restoreAfterLoad ()
 
bool isAudioDisabled ()
 

Public Attributes

struct {
   int   sound
 
   int   codeOffset
 
   byte *   codeBuffer
 
   int   priority
 
   int   frequency
 
   int   timeout
 
   bool   hasSoundTokens
 
   int   soundVars [26]
 
   int   age
 
_heChannel [8]
 
int32 _createSndId
 
int32 _createSndLastAppend
 
int32 _createSndLastPos
 
int32 _baseSndSize
 
- Public Attributes inherited from Scumm::Sound
Audio::SoundHandle_talkChannelHandle
 
bool _soundsPaused
 
byte _digiSndMode
 
uint _lastSound
 
uint32 _cdMusicTimerMod
 
uint32 _cdMusicTimer
 
uint32 _speechTimerMod
 
MidiDriverFlags _musicType
 

Protected Member Functions

void processSoundQueues () override
 
- Protected Member Functions inherited from Scumm::Sound
void setupSfxFile ()
 
bool isSfxFinished () const
 
void processSfxQueues ()
 
bool isSoundInQueue (int sound) const
 
int getReplacementAudioTrack (int soundID)
 

Protected Attributes

ScummEngine_v60he_vm
 
int _overrideFreq
 
Common::Mutex_mutex
 
HEMixer_heMixer
 
HESoundCallbackItem _soundCallbackScripts [20]
 
HESpoolingMusicItem_heSpoolingMusicTable
 
int32 _heSpoolingMusicCount
 
Common::File _heSpoolingMusicFile
 
byte _heSpoolingCodeBuffer [16384]
 
- Protected Attributes inherited from Scumm::Sound
ScummEngine_vm
 
Audio::Mixer_mixer
 
int16 _midiQueuePos
 
int16 _midiQueue [0x100]
 
int16 _soundQueuePos
 
struct {
   int16   sound
 
   int32   offset
 
   int16   channel
 
   int16   flags
 
   int16   freq
 
   int16   pan
 
   int16   vol
 
_soundQueue [10]
 
Common::String _sfxFilename
 
byte _sfxFileEncByte
 
SoundMode _soundMode
 
MP3OffsetTable * _offsetTable
 
int _numSoundEffects
 
int64 _cachedSfxLocationInPak = -1
 
int32 _cachedSfxLengthInPak = 0
 
uint32 _queuedSfxOffset
 
uint32 _queuedTalkieOffset
 
uint32 _queuedSfxLen
 
uint32 _queuedTalkieLen
 
byte _queuedSoundMode
 
byte _queuedSfxChannel
 
bool _mouthSyncMode
 
bool _endOfMouthSync
 
uint16 _mouthSyncTimes [64]
 
uint _curSoundPos
 
int16 _currentCDSound
 
int16 _currentMusic
 
Audio::SoundHandle_fileBasedCDAudioHandle
 
bool _hasFileBasedCDAudio
 
AudioCDManager::Status _fileBasedCDStatus
 
bool _useReplacementAudioTracks
 
int _musicTimer
 
int _loomOvertureTransition
 
uint32 _replacementTrackStartTime
 
SoundSE_soundSE = nullptr
 
bool _useRemasteredAudio = false
 

Additional Inherited Members

- Public Types inherited from Scumm::Sound
enum  SoundMode { kVOCMode, kMP3Mode, kVorbisMode, kFLACMode }
 

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