ScummVM API documentation
Scumm::IMuseDriver_Amiga Class Reference
Inheritance diagram for Scumm::IMuseDriver_Amiga:
MidiDriver Audio::Paula MidiDriver_BASE Audio::AudioStream

Public Member Functions

 IMuseDriver_Amiga (Audio::Mixer *mixer)
 
int open () override
 
bool isOpen () const override
 
void close () override
 
void send (uint32 b) override
 
void setTimerCallback (void *timer_param, Common::TimerManager::TimerProc timer_proc) override
 
uint32 getBaseTempo () override
 
MidiChannelallocateChannel () override
 
MidiChannelgetPercussionChannel () override
 
void interrupt () override
 
- Public Member Functions inherited from MidiDriver
void midiDriverCommonSend (uint32 b)
 
void midiDriverCommonSysEx (const byte *msg, uint16 length)
 
virtual uint32 property (int prop, uint32 param)
 
virtual void setPitchBendRange (byte channel, uint range)
 
void sendMT32Reset ()
 
void sendGMReset ()
 
virtual void setEngineSoundFont (Common::SeekableReadStream *soundFontData)
 
virtual bool acceptsSoundFontData ()
 
- Public Member Functions inherited from MidiDriver_BASE
virtual void send (int8 source, uint32 b)
 
void send (byte status, byte firstOp, byte secondOp)
 
void send (int8 source, byte status, byte firstOp, byte secondOp)
 
virtual void sysEx (const byte *msg, uint16 length)
 
virtual uint16 sysExNoDelay (const byte *msg, uint16 length)
 
virtual void metaEvent (byte type, byte *data, uint16 length)
 
virtual void metaEvent (int8 source, byte type, byte *data, uint16 length)
 
virtual void stopAllNotes (bool stopSustainedNotes=false)
 
virtual bool isReady (int8 source=-1)
 
- Public Member Functions inherited from Audio::Paula
 Paula (bool stereo=false, int rate=44100, uint interruptFreq=0, FilterMode filterMode=kFilterModeDefault, int periodScaleDivisor=1)
 
bool playing () const
 
void setTimerBaseValue (uint32 ticksPerSecond)
 
uint32 getTimerBaseValue ()
 
void setSingleInterrupt (uint sampleDelay)
 
void setSingleInterruptUnscaled (uint timerDelay)
 
void setInterruptFreq (uint sampleDelay)
 
void setInterruptFreqUnscaled (uint timerDelay)
 
void clearVoice (byte voice)
 
void clearVoices ()
 
void startPlay ()
 
void stopPlay ()
 
void pausePlay (bool pause)
 
int readBuffer (int16 *buffer, const int numSamples)
 
bool isStereo () const
 
bool endOfData () const
 
int getRate () const
 
- Public Member Functions inherited from Audio::AudioStream
virtual bool endOfStream () const
 

Additional Inherited Members

- Public Types inherited from MidiDriver
enum  DeviceStringType { kDriverName, kDriverId, kDeviceName, kDeviceId }
 
enum  { MERR_CANNOT_CONNECT = 1, MERR_DEVICE_NOT_AVAILABLE = 3, MERR_ALREADY_OPEN = 4 }
 
enum  {
  PROP_OLD_ADLIB = 2, PROP_CHANNEL_MASK = 3, PROP_SCUMM_OPL3 = 4, PROP_USER_VOLUME_SCALING = 5,
  PROP_MIDI_DATA_REVERSE_PANNING = 6, PROP_OPL_ACCURACY_MODE = 7, PROP_OPL_CHANNEL_ALLOCATION_MODE = 8, PROP_MILES_VERSION = 9,
  PROP_OPL_RHYTHM_MODE_IGNORE_NOTE_OFF = 10
}
 
typedef uint32 DeviceHandle
 
- Public Types inherited from Audio::Paula
enum  {
  kPalSystemClock = 7093790, kNtscSystemClock = 7159090, kPalCiaClock = kPalSystemClock / 10, kNtscCiaClock = kNtscSystemClock / 10,
  kPalPaulaClock = kPalSystemClock / 2, kNtscPaulaClock = kNtscSystemClock / 2
}
 
enum  FilterMode { kFilterModeNone = 0, kFilterModeA500, kFilterModeA1200, kFilterModeDefault = kFilterModeA1200 }
 
- Static Public Member Functions inherited from MidiDriver
static Common::String musicType2GUIO (uint32 musicType)
 
static MidiDrivercreateMidi (DeviceHandle handle)
 
static DeviceHandle detectDevice (int flags)
 
static DeviceHandle getDeviceHandle (const Common::String &identifier)
 
static bool checkDevice (DeviceHandle handle, int flags, bool quiet)
 
static MusicType getMusicType (DeviceHandle handle)
 
static Common::String getDeviceString (DeviceHandle handle, DeviceStringType type)
 
static const char * getErrorName (int error_code)
 
- Static Public Attributes inherited from MidiDriver
static const byte _mt32ToGm [128]
 
static const byte _gmToMt32 [128]
 
- Static Public Attributes inherited from MidiDriver_BASE
static const uint8 MIDI_CHANNEL_COUNT = 16
 
static const uint8 MIDI_RHYTHM_CHANNEL = 9
 
static const byte MIDI_COMMAND_NOTE_OFF = 0x80
 
static const byte MIDI_COMMAND_NOTE_ON = 0x90
 
static const byte MIDI_COMMAND_POLYPHONIC_AFTERTOUCH = 0xA0
 
static const byte MIDI_COMMAND_CONTROL_CHANGE = 0xB0
 
static const byte MIDI_COMMAND_PROGRAM_CHANGE = 0xC0
 
static const byte MIDI_COMMAND_CHANNEL_AFTERTOUCH = 0xD0
 
static const byte MIDI_COMMAND_PITCH_BEND = 0xE0
 
static const byte MIDI_COMMAND_SYSTEM = 0xF0
 
static const byte MIDI_CONTROLLER_BANK_SELECT_MSB = 0x00
 
static const byte MIDI_CONTROLLER_MODULATION = 0x01
 
static const byte MIDI_CONTROLLER_DATA_ENTRY_MSB = 0x06
 
static const byte MIDI_CONTROLLER_VOLUME = 0x07
 
static const byte MIDI_CONTROLLER_BALANCE = 0x08
 
static const byte MIDI_CONTROLLER_PANNING = 0x0A
 
static const byte MIDI_CONTROLLER_EXPRESSION = 0x0B
 
static const byte MIDI_CONTROLLER_BANK_SELECT_LSB = 0x20
 
static const byte MIDI_CONTROLLER_DATA_ENTRY_LSB = 0x26
 
static const byte MIDI_CONTROLLER_SUSTAIN = 0x40
 
static const byte MIDI_CONTROLLER_PORTAMENTO = 0x41
 
static const byte MIDI_CONTROLLER_SOSTENUTO = 0x42
 
static const byte MIDI_CONTROLLER_SOFT = 0x43
 
static const byte MIDI_CONTROLLER_REVERB = 0x5B
 
static const byte MIDI_CONTROLLER_CHORUS = 0x5D
 
static const byte MIDI_CONTROLLER_RPN_LSB = 0x64
 
static const byte MIDI_CONTROLLER_RPN_MSB = 0x65
 
static const byte MIDI_CONTROLLER_ALL_SOUND_OFF = 0x78
 
static const byte MIDI_CONTROLLER_RESET_ALL_CONTROLLERS = 0x79
 
static const byte MIDI_CONTROLLER_ALL_NOTES_OFF = 0x7B
 
static const byte MIDI_CONTROLLER_OMNI_ON = 0x7C
 
static const byte MIDI_CONTROLLER_OMNI_OFF = 0x7D
 
static const byte MIDI_CONTROLLER_MONO_ON = 0x7E
 
static const byte MIDI_CONTROLLER_POLY_ON = 0x7F
 
static const uint16 MIDI_RPN_PITCH_BEND_SENSITIVITY = 0x0000
 
static const uint16 MIDI_RPN_MASTER_TUNING_FINE = 0x0001
 
static const uint16 MIDI_RPN_MASTER_TUNING_COARSE = 0x0002
 
static const uint16 MIDI_RPN_NULL = 0x7F7F
 
static const uint8 MIDI_META_END_OF_TRACK = 0x2F
 
static const uint8 MIDI_META_SEQUENCER = 0x7F
 
static const uint16 MIDI_PITCH_BEND_DEFAULT = 0x2000
 
static const uint8 MIDI_PANNING_DEFAULT = 0x40
 
static const uint8 MIDI_EXPRESSION_DEFAULT = 0x7F
 
static const uint16 MIDI_MASTER_TUNING_FINE_DEFAULT = 0x2000
 
static const uint8 MIDI_MASTER_TUNING_COARSE_DEFAULT = 0x40
 
static const uint8 MT32_PITCH_BEND_SENSITIVITY_DEFAULT = 0x0C
 
static const uint8 GM_PITCH_BEND_SENSITIVITY_DEFAULT = 0x02
 
static const uint8 GS_RHYTHM_FIRST_NOTE = 0x1B
 
static const uint8 GS_RHYTHM_LAST_NOTE = 0x58
 
- Static Public Attributes inherited from Audio::Paula
static const int NUM_VOICES = 4
 
static const int PANNING_LEFT = 63
 
static const int PANNING_RIGHT = 191
 
- Protected Member Functions inherited from MidiDriver_BASE
void midiDumpInit ()
 
int midiDumpVarLength (const uint32 &delta)
 
void midiDumpDelta ()
 
void midiDumpDo (uint32 b)
 
void midiDumpSysEx (const byte *msg, uint16 length)
 
void midiDumpFinish ()
 
- Protected Member Functions inherited from Audio::Paula
virtual void interruptChannel (byte channel)
 
void startPaula ()
 
void stopPaula ()
 
void setChannelPanning (byte channel, byte panning)
 
void disableChannel (byte channel)
 
void enableChannel (byte channel)
 
void setChannelInterrupt (byte channel, bool enable)
 
void setChannelPeriod (byte channel, int16 period)
 
void setChannelVolume (byte channel, byte volume)
 
void setChannelSampleStart (byte channel, const int8 *data)
 
void setChannelSampleLen (byte channel, uint32 length)
 
void setChannelData (uint8 channel, const int8 *data, const int8 *dataRepeat, uint32 length, uint32 lengthRepeat, int32 offset=0)
 
void setChannelOffset (byte channel, Offset offset)
 
Offset getChannelOffset (byte channel)
 
int getChannelDmaCount (byte channel)
 
void setChannelDmaCount (byte channel, int dmaVal=0)
 
void setAudioFilter (bool enable)
 
- Protected Attributes inherited from MidiDriver_BASE
bool _midiDumpEnable
 
uint32 _prevMillis
 
Common::Array< byte > _midiDumpCache
 
- Protected Attributes inherited from Audio::Paula
bool _end
 
Common::Mutex_mutex
 

Member Function Documentation

◆ open()

int Scumm::IMuseDriver_Amiga::open ( )
overridevirtual

Open the midi driver.

Returns
0 if successful, otherwise an error code.

Implements MidiDriver.

◆ isOpen()

bool Scumm::IMuseDriver_Amiga::isOpen ( ) const
inlineoverridevirtual

Check whether the midi driver has already been opened.

Implements MidiDriver.

◆ close()

void Scumm::IMuseDriver_Amiga::close ( )
overridevirtual

Close the midi driver.

Implements MidiDriver.

◆ send()

void Scumm::IMuseDriver_Amiga::send ( uint32  b)
overridevirtual

Output a packed midi command to the midi stream. The 'lowest' byte (i.e. b & 0xFF) is the status code, then come (if used) the first and second opcode.

Implements MidiDriver_BASE.

◆ getBaseTempo()

uint32 Scumm::IMuseDriver_Amiga::getBaseTempo ( )
overridevirtual

The time in microseconds between invocations of the timer callback.

Implements MidiDriver.


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