there is another bug in usbMidi.sendProgramChange.
where it says
void sendProgramChange(uint32_t program, uint32_t channel) __attribute__((always_inline)) {
usb_midi_write_packed(0xC00C | (((channel - 1) & 0x0F) << 8)
| ((channel & 0x7F) << 16));
it must say:
void...