ScummVM API documentation
MADS::RexNebular::ISound8 Class Reference

#include <isound_nebular.h>

Inheritance diagram for MADS::RexNebular::ISound8:
MADS::RexNebular::ISoundSection MADS::RexNebular::ISound MADS::SoundDriver Audio::AudioStream

Public Member Functions

 ISound8 (Audio::Mixer *mixer)
 
- Public Member Functions inherited from MADS::RexNebular::ISoundSection
int command (int commandId, int param) override
 
- Public Member Functions inherited from MADS::RexNebular::ISound
 ISound (Audio::Mixer *mixer, const Common::Path &filename)
 
int stop () override
 
int poll () override
 
void noise () override
 
void setVolume (int volume) override
 
int readBuffer (int16 *buffer, int numSamples) override
 
bool isStereo () const override
 
bool endOfData () const override
 
bool endOfStream () const override
 
int getRate () const override
 
uint16 frameCounter () const
 
- Public Member Functions inherited from MADS::SoundDriver
 SoundDriver (Audio::Mixer *mixer, const Common::Path &filename, int dataOffset, int dataSize)
 

Additional Inherited Members

- Public Types inherited from MADS::RexNebular::ISound
enum  {
  kPitClockHz = 1193182, kSequenceRateHz = 100, kNoiseRateHz = 60, kDefaultOutputVolume = 20,
  kFrequencyTableOffset = 0x0114, kFrequencyTableEntries = 90, kInitialNullSequenceOffset = 0x00f0, kMaxOperationsPerTick = 1024
}
 
- Protected Member Functions inherited from MADS::RexNebular::ISoundSection
 ISoundSection (Audio::Mixer *mixer, const char *filename, const ISoundCommandSequence *commands, uint commandCount)
 
- Protected Member Functions inherited from MADS::RexNebular::ISound
 ISound (Audio::Mixer *mixer, const Common::Path &filename, const OverlayLayout &layout)
 
byte readSequenceByte (uint16 offset) const
 
uint16 readSequenceUint16 (uint16 offset) const
 
void writeSequenceByte (uint16 offset, byte value)
 
void resetDriver ()
 
void initializeDriver ()
 
void beginCommand (int param)
 
int executeCommonCommand (int commandId)
 
void playSequence (uint16 sequenceOffset, byte priority)
 
void update ()
 
void timerTick ()
 
void noiseTick ()
 
void processSequenceTick ()
 
void processInnerLoop ()
 
void processOuterLoop ()
 
void processRestart ()
 
void processRandomMutation ()
 
void processOrdinaryEvent ()
 
void updatePitch ()
 
void updateAlternation ()
 
uint16 calculateNoteDivisor (byte note) const
 
uint16 nextRandom ()
 
void setResultState (int8 state)
 
void outputDivisor (uint16 divisor)
 
void startSpeaker ()
 
void stopSpeaker ()
 
byte outputVolume () const
 
int16 generateSample ()
 
- Protected Member Functions inherited from MADS::SoundDriver
Common::MemoryReadStream getDataStream (int offset) const
 
- Static Protected Member Functions inherited from MADS::RexNebular::ISound
static OverlayLayout readOverlayLayout (const Common::Path &filename)
 
- Protected Attributes inherited from MADS::RexNebular::ISound
Audio::SoundHandle _speakerHandle
 
bool _speakerGate
 
bool _noiseEnabled
 
bool _updatesEnabled
 
int _masterVolume
 
int _outputRate
 
uint32 _sequenceAccumulator
 
uint32 _noiseAccumulator
 
uint64 _oscillatorPhase
 
uint16 _frameCounter
 
uint16 _randomSeed
 
uint16 _commandParam
 
int16 _pollResult
 
int8 _resultState
 
byte _priority
 
uint16 _sequenceStart
 
uint16 _position
 
uint16 _innerLoopStart
 
uint16 _outerLoopStart
 
uint16 _restartOverride
 
byte _innerLoopCount
 
byte _outerLoopCount
 
byte _note
 
byte _activeTicks
 
byte _releaseCounter
 
byte _gateOffset
 
byte _transpose
 
int8 _fineOffset
 
uint16 _noiseMask
 
uint16 _currentDivisor
 
uint16 _lastOutputDivisor
 
uint16 _pendingDivisor
 
bool _hasPendingDivisor
 
bool _speakerHigh
 
uint16 _pitchStep
 
uint16 _directDivisor
 
byte _alternationReload
 
byte _alternationOffset
 
byte _alternationCounter
 
bool _alternationToggle
 
bool _sweepInitialized
 
uint16 _sweepUpper
 
uint16 _sweepLower
 
int16 _sweepDirection
 
- Protected Attributes inherited from MADS::SoundDriver
Audio::Mixer * _mixer
 
Common::Array< byte > _soundData
 
Common::Mutex _driverMutex
 

Detailed Description

ISOUND.008: "Rex IBM Mod8 9-11-92", command IDs 0-37.


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