Bug Connecting Sustain to Virtual Port

I found a problem with the cooperation of the Sustain pipe with the virtual port(s). Whenever a Virtual Port follows the Sustain pipe, not all notes are released. I control ‘Sustain On’ via Hold Pedal (CC64), Mode is set to ‘All’.
E.g. when I play a triad:
The midi monitor shows a sequence of 3xNote Off events at the Sustain output. However, at Virtual Port Input the Note Off events are corrupted. The first Note Off is correct, the second shows an incorrect note (it is equal to the first), the 3rd shows only a time stamp. At the output of the Virtual Port this translates into 3 Note Off events with the same Note number. So two notes of the triad stay droning for ever.

I can reproduce the error in this most simple setup: USB A → Sustain → To Virtual A, From Virtual A → USB B
Bug Sustain-Virtual Port.mhp (609 Bytes)

Seams to be some bug in the inter-pipe communication.
BTW: Firmware 1.13.1


@RoDi Hi Roman, just tested your patch.
The error also occurs in 13.3.3.

@Giedrius a bit more detail which Roman may have also tried on 1.13.1:

  • the earliest note gets a note_off twice at vA_out-incoming but vA_out-outgoing shows multiple copies equal to the number of notes hit even when “incoming” is blank
  • the vA_in-incoming thus shows only one note
  • this remains true with 3-7 notes tested (ie ON[n0, ,ni]->OFF[n0]x2->OFF[n0]x(i-1)->OFF[n0])
  • when a physical MIDI_A_out is connected back to Midihub, everything works as it should
  • Ditto with a USB_A_out->USB_D_in (via MIDI Patchbay on Mac)

Looks like you need a cable workaround until it gets fixed, Roman!

Thank you for the confirmation.

My ‘workaround’ is to put the Sustain behind the last virtual port. In that case everything works fine. May be thats why this glitch was not dicovered earlier.


Thank you for the report, I can reproduce it too, we’ll get this fixed. :slight_smile:

Hey, this should be fixed since firmware 1.13.2.

1 Like