#audio #midi #processor #vst #standalone

audio-processor-standalone-midi

Stand-alone MIDI hosting for a VST host or an audio-processor-traits implementor

1 unstable release

0.1.0 Jul 21, 2021

#212 in Audio

MIT license

250KB
1K SLoC

audio-processor-standalone-midi

crates.io docs.rs


Wraps midir to provide MIDI input handling. The host may be started with MidiHost.

When MIDI messages are received, they're pushed onto a lock-free atomic_queue::Queue. The messages are picked-up in the audio-thread by MidiAudioThreadHandler.

It provides easy stand-alone MIDI integration with:

  • audio-processor-traits - MidiEventHandler trait
  • rust-vst - PluginInstance

This crate provides conversion into the VST types, which is to allow a VST host to use it. This is provided by the MidiVSTConverter.

Currently, MIDI messages over 3 bytes are dropped by this host. In addition, the queue is bounded & a size must be provided. Default implementations will use a MIDI queue capacity of 100.

Dependencies

~1.2–3.5MB
~70K SLoC