Despite our rather packed and erratic schedules, @Janonard and I have advanced on the development of the
lv2 quite a bit now, and we have almost all of the prerequisites in place to implement MIDI messages handling.
Since MIDI Messages are such an inevitable standard in audio, every plugin format will end up having to deal with it at some point, and therefore I was looking at the possibility of using the
rimd crate as a public dependency of both the
vst crates, instead of re-implementing it each time.
This would allow better code sharing across the RustAudio ecosystem, and it will probably help quite a bit when we’ll end up making our API-independent plugin framework (since MIDI messages generated by all backends would be the same struct).
There are a few issues with
rimd right now that would prevent us from, like the fact that it seems quite tied to the SMF format (which we likely won’t use), and that it is not realtime-safe for now (right now MIDI messages in
rimd are backed by a
Vec<u8> when I believe they could use a
[u8; 3] instead).
These aren’t too hard to fix, but the real issue is the fact that the
rimd crate seems to be unmaintained right now. If there is interest in using it for plugin APIs I would be up to help fix those issues as well as clear out the current backlog of issues and PRs, however I would also like to find a co-maintainer around here, just to help with the bus factor.
What do you all think about this idea?