Closed aolsenjazz closed 2 days ago
It seems that this is not an issue with our implementation, but an underlying component: either with @julusian/midi, rtmidi, or CoreMIDI.
More specifically, whenever a new message is sent to a client > a few ms after the previously-sent message, there will be a 10-30ms delay in between invoked port.send(msg)
and the time at which the message is actually received by the controller as reported by MIDI Monitor.
This is, of course, unacceptable for performance critical music software.
Tested the underlying rtmidi library, problem still exists. Not a @julusian/midi issue
This is, frustratingly, an issue with MIDI monitor; using Mimic's internal monitoring, all messages are received, transmitted to UI, and the message list rerendered in < 3 ms
Expected Behavior
Translator plugin transforms message in <1ms
Current Behavior
Translator took 3-4ms to translate
Steps to Reproduce
Just use the translator for anything
Possible Solution (Not obligatory)
Store overrides as a hash map rather than just a list. JSON.stringify is probably what's killing this