nphuma wrote:@copperhead:
I don't know what running status has to with the root of the problem here, but if you interpret that part of the specs to make it mandatory to convert a 0 velocity note on into a note-off on the transport layer, then you may want to go and tell that to Mackie and all those that have built hardware over the years that interprets it differently and won't work with your interpretation. Sorry to say, but I think that's bullshit. You have a serious bug in your product here and are grasping at straws.
Cool down, there is no interpretation of any kind on my side.
The spec I'm referring to is part of the official MMA documentation and was written before Mackie and others re-used the MIDI protocol for purposes that were not intended initially.
The original paper version of the document I have in front of me is:
The Complete MIDI 1.0 Detailed Specification
Incorporating all Recommended Practices
document version 96.1
Published by:
The MIDI Manufactured Association
Los Angeles, CAIn the second section of the document, on page 10, the NOTE-OFF chapter begins with:
MIDI provides two roughly equivalent means of turning off a note (voice). A note may be turned off either by sending a Note-Off message for the same note number and channel, or by sending a Note-On message for that note and channel with a velocity value of zero. The advantage to using "Note-On at zero velocity" is that it can avoid sending additional status bytes when Running Status is employed.
So, you see there was no bullshitting at all
There's nothing wrong in redefining the use of MIDI messages (limitations had to be circumvented).
But if and when someone does that, he should be careful to not create a possible conflict with equipment that follows the book.
It was surprising to read that we have a serious bug because we stick to the rules
Now, as Phil said above, since we are good willing guys, in a future version of the CopperLan Manager, there will be an option to disable that MIDI feature that annoys the Mackie way of using MIDI.
Side note:
CopperLan is not just a transport layer. Actually, it populates the 5 top layers of the 7 layer OSI model.