AUDIO
Source snapshot · 12 October 2026

API reference / ravet_host::HostedAudioRunning

Struct HostedAudioRunning 

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>

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>

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)

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

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>

Stop on the audio owner outside callbacks and transfer complete stopped state back to control. Main-thread instance deactivation is separate.

Trait Implementations§

§

impl<H: HostHandlers> Drop for HostedAudioRunning<H>

§

fn drop(&mut self)

Executes the destructor for this type. Read more
§

fn pin_drop(self: Pin<&mut Self>)

Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AutoreleaseSafe for T
where T: ?Sized,

§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.