pub struct ClapHostProcessor<I> { /* private fields */ }Expand description
Audio-graph Processor that hosts a CLAP plugin instance.
Wraps the shared HostedPluginProcessor from sim-lib-plugin-core and
pairs it with a ClapParamMap so CLAP parameter ids can be translated to
SIM parameter ids. The Processor implementation forwards every call
straight to the hosted instance.
Implementations§
Source§impl<I> ClapHostProcessor<I>
impl<I> ClapHostProcessor<I>
Sourcepub fn with_param_map(self, param_map: ClapParamMap) -> Self
pub fn with_param_map(self, param_map: ClapParamMap) -> Self
Returns this processor with param_map installed as the CLAP-to-SIM
parameter id translation table.
Sourcepub fn param_map(&self) -> &ClapParamMap
pub fn param_map(&self) -> &ClapParamMap
Returns the CLAP-to-SIM parameter id map in effect.
Trait Implementations§
Source§impl<I: Clone> Clone for ClapHostProcessor<I>
impl<I: Clone> Clone for ClapHostProcessor<I>
Source§fn clone(&self) -> ClapHostProcessor<I>
fn clone(&self) -> ClapHostProcessor<I>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<I: Debug> Debug for ClapHostProcessor<I>
impl<I: Debug> Debug for ClapHostProcessor<I>
Source§impl<I: PluginInstance> PluginInstance for ClapHostProcessor<I>
impl<I: PluginInstance> PluginInstance for ClapHostProcessor<I>
Source§fn descriptor(&self) -> &PluginDescriptor
fn descriptor(&self) -> &PluginDescriptor
Returns the descriptor that identifies this instance and its port and
parameter layout.
Source§fn state(&self) -> PluginState
fn state(&self) -> PluginState
Captures the instance’s current persistable state. Read more
Source§fn set_state(&mut self, state: PluginState)
fn set_state(&mut self, state: PluginState)
Restores the instance from a previously captured
PluginState. Read moreSource§fn prepare(&mut self, cfg: PrepareConfig)
fn prepare(&mut self, cfg: PrepareConfig)
Prepares the instance for processing under the given configuration.
Source§fn process(&mut self, block: &mut ProcessBlock<'_>)
fn process(&mut self, block: &mut ProcessBlock<'_>)
Processes one audio block in place.
Source§fn latency_frames(&self) -> u32
fn latency_frames(&self) -> u32
Returns the instance’s reported latency in frames. Read more
Source§impl<I: PluginInstance> Processor for ClapHostProcessor<I>
impl<I: PluginInstance> Processor for ClapHostProcessor<I>
Source§fn prepare(&mut self, cfg: PrepareConfig)
fn prepare(&mut self, cfg: PrepareConfig)
Prepares the processor for a sample rate, block size, and channel layout.
Source§fn process(&mut self, block: &mut ProcessBlock<'_>)
fn process(&mut self, block: &mut ProcessBlock<'_>)
Processes one block of audio and events in place.
Source§fn tail_frames(&self) -> u64
fn tail_frames(&self) -> u64
Returns the processor’s release tail length in frames (defaults to
0).Source§fn clock_domain(&self) -> ClockDomain
fn clock_domain(&self) -> ClockDomain
Returns the processor’s clock domain (defaults to sample rate).
Source§fn latency_class(&self) -> LatencyClass
fn latency_class(&self) -> LatencyClass
Returns the processor’s latency class (defaults to block-local).
Source§fn realtime_pin(&self) -> bool
fn realtime_pin(&self) -> bool
Returns whether the processor must run in the realtime thread (defaults
to
true).Source§fn ports(&self, in_channels: u16, out_channels: u16) -> Vec<PortDecl>
fn ports(&self, in_channels: u16, out_channels: u16) -> Vec<PortDecl>
Returns the processor’s port declarations for the given channel counts
(defaults to a single audio in/out pair).
Source§fn descriptor(&self, in_channels: u16, out_channels: u16) -> ProcessorDescriptor
fn descriptor(&self, in_channels: u16, out_channels: u16) -> ProcessorDescriptor
Returns the full
ProcessorDescriptor assembled from this processor’s
clock, latency, pinning, and ports.Auto Trait Implementations§
impl<I> Freeze for ClapHostProcessor<I>where
I: Freeze,
impl<I> RefUnwindSafe for ClapHostProcessor<I>where
I: RefUnwindSafe,
impl<I> Send for ClapHostProcessor<I>where
I: Send,
impl<I> Sync for ClapHostProcessor<I>where
I: Sync,
impl<I> Unpin for ClapHostProcessor<I>where
I: Unpin,
impl<I> UnsafeUnpin for ClapHostProcessor<I>where
I: UnsafeUnpin,
impl<I> UnwindSafe for ClapHostProcessor<I>where
I: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more