#[repr(C)]pub struct AEffect {Show 23 fields
pub magic: i32,
pub dispatcher: DispatcherProc,
pub _process: ProcessProc,
pub setParameter: SetParameterProc,
pub getParameter: GetParameterProc,
pub numPrograms: i32,
pub numParams: i32,
pub numInputs: i32,
pub numOutputs: i32,
pub flags: i32,
pub reserved1: isize,
pub reserved2: isize,
pub initialDelay: i32,
pub _realQualities: i32,
pub _offQualities: i32,
pub _ioRatio: f32,
pub object: *mut c_void,
pub user: *mut c_void,
pub uniqueId: i32,
pub version: i32,
pub processReplacing: ProcessProc,
pub processReplacingF64: ProcessProcF64,
pub future: [u8; 56],
}
Expand description
Used with the VST API to pass around plugin information.
Fields§
§magic: i32
Magic number. Must be ['V', 'S', 'T', 'P']
.
dispatcher: DispatcherProc
Host to plug-in dispatcher.
_process: ProcessProc
Accumulating process mode is deprecated in VST 2.4! Use processReplacing
instead!
setParameter: SetParameterProc
Set value of automatable parameter.
getParameter: GetParameterProc
Get value of automatable parameter.
numPrograms: i32
Number of programs (Presets).
numParams: i32
Number of parameters. All programs are assumed to have this many parameters.
numInputs: i32
Number of audio inputs.
numOutputs: i32
Number of audio outputs.
flags: i32
Bitmask made of values from api::PluginFlags
.
use vst::api::PluginFlags;
let flags = PluginFlags::CAN_REPLACING | PluginFlags::CAN_DOUBLE_REPLACING;
// ...
reserved1: isize
Reserved for host, must be 0.
reserved2: isize
Reserved for host, must be 0.
initialDelay: i32
For algorithms which need input in the first place (Group delay or latency in samples).
This value should be initially in a resume state.
_realQualities: i32
Deprecated unused member.
_offQualities: i32
Deprecated unused member.
_ioRatio: f32
Deprecated unused member.
object: *mut c_void
Void pointer usable by api to store object data.
user: *mut c_void
User defined pointer.
uniqueId: i32
Registered unique identifier (register it at Steinberg 3rd party support Web). This is used to identify a plug-in during save+load of preset and project.
version: i32
Plug-in version (e.g. 1100 for v1.1.0.0).
processReplacing: ProcessProc
Process audio samples in replacing mode.
processReplacingF64: ProcessProcF64
Process double-precision audio samples in replacing mode.
future: [u8; 56]
Reserved for future use (please zero).
Implementations§
source§impl AEffect
impl AEffect
sourcepub unsafe fn get_plugin(&self) -> &mut Box<dyn Plugin>
pub unsafe fn get_plugin(&self) -> &mut Box<dyn Plugin>
Return handle to Plugin object. Only works for plugins created using this library. Caller is responsible for not calling this function concurrently.
sourcepub unsafe fn get_info(&self) -> &Info
pub unsafe fn get_info(&self) -> &Info
Return handle to Info object. Only works for plugins created using this library.
sourcepub unsafe fn get_params(&self) -> &Arc<dyn PluginParameters>
pub unsafe fn get_params(&self) -> &Arc<dyn PluginParameters>
Return handle to PluginParameters object. Only works for plugins created using this library.
sourcepub unsafe fn get_editor(&self) -> &mut Option<Box<dyn Editor>>
pub unsafe fn get_editor(&self) -> &mut Option<Box<dyn Editor>>
Return handle to Editor object. Only works for plugins created using this library. Caller is responsible for not calling this function concurrently.
sourcepub unsafe fn drop_plugin(&mut self)
pub unsafe fn drop_plugin(&mut self)
Drop the Plugin object. Only works for plugins created using this library.