Crates.io | lv2-host-minimal |
lib.rs | lv2-host-minimal |
version | 0.1.4 |
source | src |
created_at | 2021-05-15 21:49:03.181573 |
updated_at | 2021-11-26 18:21:20.934886 |
description | A very minimal lv2 host. |
homepage | |
repository | https://github.com/ocdy1001/lv2-host-minimal |
max_upload_size | |
id | 398013 |
size | 60,961 |
Simple library to host lv2 plugins. Is not meant to support any kind of GUI.
let mut host = Lv2Host::new(1, 1, 44100);
host.add_plugin("http://calf.sourceforge.net/plugins/Monosynth", "Organ".to_owned()).expect("Lv2hm: could not add plugin");
host.set_value("Organ", "MIDI Channel", 0.0);
for i in 0..44100 {
// alternate midi on and off messages, 5000 samples apart
let mut midimsg = Vec::new();
if (i % 10000) == 0 {
midimsg.push((0, [0x90, 72, 96]))
}
else if (i % 5000) == 0 {
midimsg.push((0, [0x80, 72, 96]))
}
let out = host.apply_multi(0, midimsg, [&[0.0], &[0.0]]).unwrap();
// do something with your audio
}