|
|
| 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) |
| |
|
|
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) |
| |
| void Groovie::MusicPlayerMidi::sysEx |
( |
const byte * |
msg, |
|
|
uint16 |
length |
|
) |
| |
|
overridevirtual |
Transmit a SysEx to the MIDI device.
The given msg MUST NOT contain the usual SysEx frame, i.e. do NOT include the leading 0xF0 and the trailing 0xF7.
Furthermore, the maximal supported length of a SysEx is 268 bytes. Passing longer buffers can lead to undefined behavior (most likely, a crash).
Reimplemented from MidiDriver_BASE.
| uint16 Groovie::MusicPlayerMidi::sysExNoDelay |
( |
const byte * |
msg, |
|
|
uint16 |
length |
|
) |
| |
|
overridevirtual |
Transmit a SysEx to the MIDI device and return the necessary delay until the next SysEx event in milliseconds.
This can be used to implement an alternate delay method than the OSystem::delayMillis function used by most sysEx implementations. Note that not every driver needs a delay, or supports this method. In this case, 0 is returned and the driver itself will do a delay if necessary.
For information on the SysEx data requirements, see the sysEx method.
Reimplemented from MidiDriver_BASE.