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
8// Re-export main types
9pub 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
15// Re-export from old vst3.rs for backward compatibility
16pub use processor::list_plugins;
17
18// Helper for VST3 search paths (moved from old vst3.rs)
19#[cfg(any(
20    target_os = "macos",
21    target_os = "linux",
22    target_os = "freebsd",
23    target_os = "openbsd"
24))]
25use crate::plugins::paths;
26use std::path::PathBuf;
27
28pub fn default_vst3_search_roots() -> Vec<PathBuf> {
29    let mut roots = Vec::new();
30
31    #[cfg(target_os = "macos")]
32    {
33        paths::push_macos_audio_plugin_roots(&mut roots, "VST3");
34    }
35
36    #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "openbsd"))]
37    {
38        paths::push_unix_plugin_roots(&mut roots, "vst3");
39    }
40
41    roots
42}