Skip to content

Commit 2b8aa94

Browse files
committed
feat: only send change event if MIDI program change came from receiver
1 parent 88d34ad commit 2b8aa94

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/midi.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -361,15 +361,6 @@ static void update_program(MidiChannel* midiChannel, DeviceChannel* devChan)
361361
if (devChan->program != midiChannel->program) {
362362
devChan->ops->program(devChan->num, midiChannel->program);
363363
devChan->program = midiChannel->program;
364-
365-
if (changeCallback != NULL) {
366-
MidiChangeEvent event = {
367-
.type = MidiChangeType_Program,
368-
.chan = devChan->midiChannel,
369-
.value = midiChannel->program,
370-
};
371-
changeCallback(event);
372-
}
373364
}
374365
}
375366

@@ -568,6 +559,15 @@ void midi_program(u8 chan, u8 program)
568559
FOREACH_DEV_CHAN_WITH_MIDI(chan, state) {
569560
update_program(midiChannel, state);
570561
}
562+
563+
if (changeCallback != NULL) {
564+
MidiChangeEvent event = {
565+
.type = MidiChangeType_Program,
566+
.chan = chan,
567+
.value = midiChannel->program,
568+
};
569+
changeCallback(event);
570+
}
571571
}
572572

573573
bool midi_dynamic_mode(void)

0 commit comments

Comments
 (0)