4 stable releases

1.2.0 Oct 23, 2020
1.1.0 Mar 27, 2020
1.0.1 Feb 23, 2020

#990 in Audio

Download history 36/week @ 2023-12-18 88/week @ 2023-12-25 24/week @ 2024-01-01 14/week @ 2024-01-08 72/week @ 2024-01-15 23/week @ 2024-01-22 32/week @ 2024-01-29 26/week @ 2024-02-05 26/week @ 2024-02-12 53/week @ 2024-02-19 49/week @ 2024-02-26 19/week @ 2024-03-04 21/week @ 2024-03-11 17/week @ 2024-03-18 11/week @ 2024-03-25 47/week @ 2024-04-01

99 downloads per month
Used in lv2

MIT/Apache

1MB
16K SLoC

Rust-LV2's MIDI processing library.

The MIDI processing library of rust-lv2, a safe, fast, and ergonomic framework to create LV2 plugins for audio processing, written in Rust.

This is a addon to lv2-atom that adds the MidiEvent atom type. There is also an optional dependency to wmidi, which introduces the WMidiEvent atom type, which allows you to directly read and write the events defined by wmidi.

Documentation

The original LV2 API (in the C programming language) is documented by "the LV2 book". This book is in the process of being translated to Rust along with the development of rust-lv2 (link) and describes how to properly use rust-lv2.

Features

There are two optional features:

  • host: Some of the types defined by some crates are only useful for testing or LV2 hosts. Since the goal of this framework is to provide an easy way to create plugins, these aren't necessary and therefore gated behind that feature.
  • wmidi: Add wmidi as an optional dependency to lv2-midi, which enables a shortcut to read and write MIDI events directly with the types defined by this crate.

License

Licensed under either of

at your option.

Dependencies

~1.5MB
~34K SLoC