Add SysEx check for MIDI instrument fallback

This commit is contained in:
ceski 2023-05-12 23:39:12 -07:00
parent 4bc11c4371
commit 49c8450450
3 changed files with 9 additions and 4 deletions

View File

@ -823,7 +823,7 @@ static boolean AddToBuffer(unsigned int delta_time, const midi_event_t *event,
if (use_fallback)
{
MIDI_CheckFallback(event, &fallback);
MIDI_CheckFallback(event, &fallback, true);
}
switch ((int)event->event_type)

View File

@ -144,7 +144,8 @@ static boolean GetProgramFallback(byte idx, byte program,
return false;
}
void MIDI_CheckFallback(const midi_event_t *event, midi_fallback_t *fallback)
void MIDI_CheckFallback(const midi_event_t *event, midi_fallback_t *fallback,
boolean allow_sysex)
{
byte idx;
byte program;
@ -152,7 +153,10 @@ void MIDI_CheckFallback(const midi_event_t *event, midi_fallback_t *fallback)
switch ((int)event->event_type)
{
case MIDI_EVENT_SYSEX:
UpdateDrumMap(event->data.sysex.data, event->data.sysex.length);
if (allow_sysex)
{
UpdateDrumMap(event->data.sysex.data, event->data.sysex.length);
}
break;
case MIDI_EVENT_CONTROLLER:

View File

@ -35,7 +35,8 @@ typedef struct midi_fallback_t
byte value;
} midi_fallback_t;
void MIDI_CheckFallback(const midi_event_t *event, midi_fallback_t *fallback);
void MIDI_CheckFallback(const midi_event_t *event, midi_fallback_t *fallback,
boolean allow_sysex);
void MIDI_ResetFallback(void);
void MIDI_InitFallback(void);