1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use Arc;
use cratePlugin;
use Params;
/// Unified export trait for all plugin formats.
///
/// Implement this once on your plugin type. All format wrappers
/// (CLAP, VST3, AU, standalone) use this to construct your plugin
/// and access its parameters.
///
/// ```ignore
/// impl PluginExport for MyPlugin {
/// type Params = MyParams;
/// fn create() -> Self { Self::new() }
/// fn params(&self) -> &MyParams { &self.params }
/// fn params_mut(&mut self) -> &mut MyParams { &mut self.params }
/// }
/// ```