Public Member Functions | |
| PSound3 (Audio::Mixer *mixer) | |
Public Member Functions inherited from MADS::Dragonsphere::Sound::DragonspherePSound | |
| int | command (int commandId, int param) override |
Public Member Functions inherited from MADS::Dragonsphere::Sound::PSound | |
| bool | isReady () const |
| int | stop () override |
| int | poll () override |
| void | noise () override |
| void | setVolume (int volume) override |
Public Member Functions inherited from MADS::SoundDriver | |
| SoundDriver (Audio::Mixer *mixer, const Common::Path &filename, int dataOffset, int dataSize) | |
| virtual void | pause (bool paused) |
| virtual void | stopAllNotes () |
Additional Inherited Members | |
Public Types inherited from MADS::Dragonsphere::Sound::PSound | |
| enum | { kChannelCount = 9, kMusicChannelCount = 6, kPatchSize = 0x40, kScriptVarCount = 32, kOpcodeBudgetPerTick = 256 } |
Static Public Member Functions inherited from MADS::Dragonsphere::Sound::PSound | |
| static bool | validateFile (const PSoundDriverData &driverData, const char *first8192Md5, Common::String *reason=nullptr) |
Protected Types inherited from MADS::Dragonsphere::Sound::DragonspherePSound | |
| enum | MusicReset { kKeepPlayback, kClearMusicIdentity, kStopMusic, kStopAll } |
Protected Types inherited from MADS::Dragonsphere::Sound::PSound | |
| enum | RegisterBank { kFirstBank = 1, kSecondBank = 2, kBothBanks = kFirstBank | kSecondBank } |
Protected Member Functions inherited from MADS::Dragonsphere::Sound::DragonspherePSound | |
| DragonspherePSound (Audio::Mixer *mixer, const PSoundDriverData &driverData, byte maxMusicCommand, bool resetClearsCallback) | |
| int | dispatchBaseCommand (int commandId) |
| int | resetSection () |
| void | playSounds (const uint16 *sequences, uint count, bool anyChannel=false) |
| void | loadChannels (const ChannelLoad *loads, uint count) |
| bool | musicChannelsActive (uint count=kMusicChannelCount) const |
| void | applyMusicLoad (const MusicLoad &load) |
| bool | startOrDeferMusic (int commandId, uint16 guard, const MusicLoad &load, bool loadOnly, uint musicChannelCount=kMusicChannelCount) |
| bool | startOrDeferMusicWhenActive (int commandId, uint16 guard, const MusicLoad &load, bool loadOnly, uint musicChannelCount=kMusicChannelCount) |
| void | deferCommand (int commandId, bool loadOnly) |
| void | serviceCallbacks () override |
Protected Member Functions inherited from MADS::Dragonsphere::Sound::PSound | |
| PSound (Audio::Mixer *mixer, const PSoundDriverData &driverData) | |
| bool | isDataRangeValid (uint32 offset, uint32 length) const |
| const byte * | getDataPointer (uint32 offset, uint32 length, const char *operation) const |
| byte * | getDataPointer (uint32 offset, uint32 length, const char *operation) |
| byte | readDataByte (uint32 offset) const |
| uint16 | readDataUint16 (uint32 offset) const |
| void | writeDataByte (uint32 offset, byte value) |
| void | writeDataUint16 (uint32 offset, uint16 value) |
| byte * | offsetPointer (uint16 offset, uint32 length, const char *operation) |
| byte | getBankMask (uint channel) const |
| byte | getOplChannel (uint channel) const |
| byte | getOperatorOffset (uint channel, uint operatorIndex) const |
| const byte * | getPatch (uint patchIndex) const |
| byte | getPanningAttenuation (byte panning) const |
| uint16 | getFrequencyNumber (byte semitone) const |
| void | writeRegister (byte banks, byte reg, byte value) |
| byte | getCachedRegister (byte banks, byte reg) const |
| void | resetDriver () |
| int | command0 () |
| int | command1 () |
| int | command2 () |
| int | command3 () |
| int | command4 () |
| int | command5 () |
| int | command6 () |
| int | command7 () |
| int | command8 () |
| int | nullCommand () |
| void | requestStop (uint firstChannel, uint endChannel) |
| void | setCurrentSequence (uint firstChannel, uint endChannel, uint16 sequenceOffset) |
| void | loadChannel (uint channel, uint16 sequenceOffset) |
| void | playSound (uint16 sequenceOffset) |
| void | playSoundAny (uint16 sequenceOffset) |
| Channel * | findActiveSound (uint16 sequenceOffset) |
| bool | isSoundActive (uint16 sequenceOffset) const |
| void | onTimer () |
| int | serviceUpdate () |
| void | serviceNoise () |
| void | update () |
| void | updateChannel (uint channelIndex) |
| bool | isOpcodeDataValid (uint16 position, uint32 length) const |
| byte | readOpcodeByte (uint16 position, uint16 delta) const |
| uint16 | readOpcodeWord (uint16 position, uint16 delta) const |
| bool | isScriptVariableValid (byte index) const |
| bool | transferOpcode (Channel &channel, uint16 position, bool take) |
| bool | executeOpcode (uint channelIndex, byte opcode, bool &levelsDirty) |
| void | finishChannel (uint channelIndex) |
| void | checkPendingStops () |
| void | loadPatch (uint channelIndex, byte patchIndex) |
| void | programOperator (byte banks, uint channelIndex, uint operatorIndex, const byte *operatorData) |
| void | updatePanning (uint channelIndex) |
| void | updateChannelLevels (uint channelIndex) |
| void | updateChannelFrequency (uint channelIndex, bool keyOn) |
| void | updatePitchBend (uint channelIndex) |
| void | keyOff (uint channelIndex) |
| void | setNoiseFrequency (uint channelIndex, int frequency) |
| void | resultCheck () |
| uint16 | nextRandom () |
| byte | scaledCommandParameter (int param) const |
Protected Member Functions inherited from MADS::SoundDriver | |
| Common::MemoryReadStream | getDataStream (int offset) const |
| SoundDriver (Audio::Mixer *mixer) | |
Protected Attributes inherited from MADS::Dragonsphere::Sound::DragonspherePSound | |
| uint16 | _callbackCounter |
| uint16 | _callbackPeriod |
| int | _pendingCommand |
| bool | _pendingLoadOnly |
| int | _musicIndex |
| byte | _maxMusicCommand |
| bool | _resetClearsCallback |
Protected Attributes inherited from MADS::Dragonsphere::Sound::PSound | |
| OPL::OPL * | _opl |
| byte | _registerCache [2][256] |
| NativeSoundTimer | _hostTimer |
| Channel | _channels [kChannelCount] |
| byte | _scriptVars [kScriptVarCount] |
| int | _masterVolume |
| uint16 | _randomSeed |
| uint16 | _frameCounter |
| int16 | _pollResult |
| int8 | _resultFlag |
| uint16 | _nullSequenceOffset |
| uint16 | _patchTableOffset |
| PSoundTableLayout | _tableLayout |
| byte | _patchCount |
| int | _commandParam |
| bool | _updatesEnabled |
| bool | _noiseServiceEnabled |
| uint16 | _tickEnabled |
| uint16 | _tickCounter |
| uint16 | _tempoReload |
| uint16 | _tempoTarget |
| int16 | _tempoShift |
| uint16 | _tempoBase |
| uint16 | _tempoCurrent |
| uint16 | _tempoScale |
| int | _frameNumber2 |
Protected Attributes inherited from MADS::SoundDriver | |
| Audio::Mixer * | _mixer |
| Common::Array< byte > | _soundData |
| Common::Mutex | _driverMutex |
| bool | _paused |