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