My question stems from how MidiBuffer is provided for each sample in the processBlock loop. It doesn’t seem like there is an equivalent way to receive UMP messages once per sample (instead there is an event-based consumer if I understand correctly). I’m also wondering what the current trend/plans/thoughts are on how to implement this in the plugin format (i.e. will it be a UmpBuffer addition to processBlock or the same consumer).
It looks like universal_midi_packets::Consumer::consume() runs separately from processBlock, so I could implement equivalent MidiBuffer behavior by adding messages to a queue that is read by processBlock. How are these functions scheduled? Are they in separate threads or interleaved in one thread?