Running Status error
Brought to you by:
franky47
When running status is used for 2 byte messages, there is an error and a MIDI message is sent only on every second incoming byte i.e. I press Program Change Up on my controller and only every second incoming byte (remember that Program CHange is a 2-bytes message) is processed. This is the same for AterTouchChannel (2 bytes also). I haven't checked 3 bytes messages as my controller doesn't use rs for them, but you might want to check that logic too.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
I have checked and it works fine for 3-byte messages. Hence, CC messages appear to be working fine. EXCEPT: if only one 2 byte message is received, the routine is in an "altered state" and will ignore the third byte on future 3-byte message. For example, I press PC once and then turn a knob that sends CC (3-byte) and the third byte is not sent. This happens until a full (no rs) message is sent, or a second PC (or other 2-byte) message is sent. I suspect that some flag is not reset properly but I just can't find it in the code.
Hi,
This bug has been fixed in v4.1, you can get it here:
https://github.com/FortySevenEffects/arduino_midi_library/releases/tag/4.1
Best regards,
Francois.