googlecreativelab / open-nsynth-super

Open NSynth Super is an experimental physical interface for the NSynth algorithm
Apache License 2.0
2.42k stars 270 forks source link

Midi real-time bytes cause the app's midi thread to shut down #43

Closed damian0815 closed 6 years ago

damian0815 commented 6 years ago

The Midi thread currently misinterprets "system real-time" messages (which may be inserted into the midi byte stream at any point) as malformed data and exits. This makes nsynth unusable in a production environment where midi clock messages are used to keep devices in sync.

ref: http://www.lim.di.unimi.it/IEEE/MIDI/SOT3.HTM "Real Time messages can be sent at any time and may be inserted anywhere in a MIDI data stream, including between Status and Data bytes of any other MIDI messages."

damian0815 commented 6 years ago

@nanu-c huh. I guess that's another way to achieve the same thing. I prefer mine TBH :)

nanu-c commented 6 years ago

I was to fast in deleting that comment. But maybe combine both methods ;)

jditte commented 6 years ago

My solution in the thread "Lots of missed MIDI notes" fixes this problem, too (in addition to interpreting Note On with zero velocity correctly and being able to handle running status).