Skip to main content

maolan_engine/plugins/vst3/
mod.rs

1pub mod host;
2pub mod interfaces;
3pub mod midi;
4pub mod port;
5pub mod processor;
6pub mod state;
7
8pub use host::{Vst3Host, Vst3PluginInfo};
9pub use midi::EventBuffer;
10pub use port::{BusInfo, PortBinding};
11pub use processor::Vst3Processor;
12pub use state::{MemoryStream, Vst3PluginState, ibstream_ptr};
13
14pub use processor::list_plugins;
15
16#[cfg(any(
17    target_os = "macos",
18    target_os = "linux",
19    target_os = "freebsd",
20    target_os = "openbsd",
21    target_os = "windows"
22))]
23use crate::plugins::paths;
24use std::path::PathBuf;
25
26pub fn default_vst3_search_roots() -> Vec<PathBuf> {
27    let mut roots = Vec::new();
28
29    #[cfg(target_os = "macos")]
30    {
31        paths::push_macos_audio_plugin_roots(&mut roots, "VST3");
32    }
33
34    #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "openbsd"))]
35    {
36        paths::push_unix_plugin_roots(&mut roots, "vst3");
37    }
38
39    #[cfg(target_os = "windows")]
40    {
41        paths::push_windows_vst3_roots(&mut roots);
42    }
43
44    roots
45}