|
|
| MusicPlayerXMI (GroovieEngine *vm, const Common::String >lName) |
| |
| void | send (int8 source, uint32 b) override |
| |
| void | metaEvent (int8 source, byte type, const byte *data, uint16 length) override |
| |
| void | stopAllNotes (bool stopSustainedNotes) override |
| |
| void | processXMIDITimbreChunk (const byte *timbreListPtr, uint32 timbreListSize) override |
| |
| bool | isReady (int8 source=-1) override |
| |
| void | setUserVolume (uint16 volume) override |
| |
| void | send (uint32 b) override |
| |
| void | metaEvent (byte type, const byte *data, uint16 length) override |
| |
|
| MusicPlayerMidi (GroovieEngine *vm) |
| |
| void | send (uint32 b) override |
| |
| void | sysEx (const byte *msg, uint16 length) override |
| |
| uint16 | sysExNoDelay (const byte *msg, uint16 length) override |
| |
| void | metaEvent (byte type, const byte *data, uint16 length) override |
| |
| void | pause (bool pause) override |
| |
|
| MusicPlayer (GroovieEngine *vm) |
| |
|
void | playSong (uint32 fileref) |
| |
|
void | stop () |
| |
|
void | setBackgroundSong (uint32 fileref) |
| |
|
void | playCD (uint8 track) |
| |
|
void | startBackground () |
| |
|
bool | isPlaying () |
| |
|
virtual void | pause (bool pause) |
| |
|
void | setMidiInit (bool midiInit) |
| |
|
bool | isMidiInit () |
| |
|
void | frameTick () |
| |
|
void | setBackgroundDelay (uint16 delay) |
| |
|
virtual void | setUserVolume (uint16 volume) |
| |
|
void | setGameVolume (uint16 volume, uint16 time) |
| |
| virtual void | send (uint32 b)=0 |
| |
| 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, const byte *data, uint16 length) |
| |
| virtual void | metaEvent (int8 source, byte type, const byte *data, uint16 length) |
| |
| virtual void | stopAllNotes (bool stopSustainedNotes=false) |
| |
| virtual bool | isReady (int8 source=-1) |
| |
| virtual void | processXMIDITimbreChunk (const byte *timbreListPtr, uint32 timbreListSize)=0 |
| |
|
|
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 | GM_REVERB_DEFAULT = 0x28 |
| |
|
static const uint8 | GS_RHYTHM_FIRST_NOTE = 0x1B |
| |
|
static const uint8 | GS_RHYTHM_LAST_NOTE = 0x58 |
| |
|
static void | onTimer (void *data) |
| |
|
byte * | _data |
| |
|
MidiParser * | _midiParser |
| |
|
MidiDriver * | _driver |
| |
|
GroovieEngine * | _vm |
| |
|
bool | _midiInit |
| |
|
Common::Mutex | _mutex |
| |
|
uint16 | _userVolume |
| |
|
uint16 | _gameVolume |
| |
| bool | _midiDumpEnable |
| |
| uint32 | _prevMillis |
| |
| Common::Array< byte > | _midiDumpCache |
| |
| void Groovie::MusicPlayerXMI::stopAllNotes |
( |
bool |
stopSustainedNotes | ) |
|
|
overridevirtual |
Stops all currently active notes. Specify stopSustainedNotes if the MIDI data makes use of the sustain controller to make sure sustained notes are also stopped.
Usually, the MIDI parser tracks active notes and terminates them when playback is stopped. This method should be used as a backup to silence the MIDI output in case the MIDI parser makes a mistake when tracking acive notes. It can also be used when quitting or pausing a game.
By default, this method sends an All Notes Off message and, if stopSustainedNotes is true, a Sustain off message on all MIDI channels. Driver implementations can override this if they want to implement this functionality in a different way.
Reimplemented from MidiDriver_BASE.