Struct Hosted Audio Running
pub struct HostedAudioRunning<H: HostHandlers> { /* private fields */ }Expand description
Audio-owner engine. The !Send/!Sync marker keeps native start/process/stop on its starting thread. Normal swaps allocate/drop no framework storage. Caller supplies prepared Clack audio/events/transport to process(). This is lifecycle ownership, not graph routing, device scheduling, restart request service, port/config matching, crash isolation or a native deadline guarantee. finish/drop occur outside callbacks; plugin callbacks keep their own contract.
use ravet_host::{HostedAudioRunning, RequestHost};
fn require_send<T: Send>() {}
require_send::<HostedAudioRunning<RequestHost>>();Implementations§
§impl<H: HostHandlers> HostedAudioRunning<H>
impl<H: HostHandlers> HostedAudioRunning<H>
pub fn tag(&self) -> u64
pub fn process(
&mut self,
inputs: &InputAudioBuffers<'_>,
outputs: &mut OutputAudioBuffers<'_>,
input_events: &InputEvents<'_>,
output_events: &mut OutputEvents<'_>,
steady_time: Option<u64>,
transport: Option<&TransportEvent>,
) -> Result<ProcessStatus, PluginInstanceError>
pub fn process( &mut self, inputs: &InputAudioBuffers<'_>, outputs: &mut OutputAudioBuffers<'_>, input_events: &InputEvents<'_>, output_events: &mut OutputEvents<'_>, steady_time: Option<u64>, transport: Option<&TransportEvent>, ) -> Result<ProcessStatus, PluginInstanceError>
Process caller-prepared native buffers/events on this audio owner. Caller validates the activated port/config/frame/event contract before applying pending swaps; no implicit conversion, silence, sleep or fault recovery.
pub fn reset(&mut self)
pub fn reset(&mut self)
Reset native processing on the audio owner; caller resets its steady-time mapping explicitly. This does not change current identity or queues.
pub fn apply_pending(&mut self) -> HostedAudioSwap
pub fn apply_pending(&mut self) -> HostedAudioSwap
One FIFO replacement at a consumer-selected valid block boundary. Start the candidate before stopping the old processor. Rejected starts retire the stopped candidate and retain old processing/history. Full retirement blocks dequeue/start/stop. No old-tail drain, migration or crossfade.
pub fn finish(self) -> HostedAudioReady<H>
pub fn finish(self) -> HostedAudioReady<H>
Stop on the audio owner outside callbacks and transfer complete stopped state back to control. Main-thread instance deactivation is separate.