AUDIO
Source snapshot · 12 October 2026

API reference / ravet_host::HostedGraphNode

Struct HostedGraphNode 

pub struct HostedGraphNode<H: HostHandlers> { /* private fields */ }
Expand description

Send prepared native audio node for graph-owned explicit audio sessions. Main prepare validates the already activated fixed contract. Audio start, process/reset/stop run on the guarded owner; deactivation returns its stopped token through one prepared slot, without executing native main callbacks. One-shot: reactivation requires a fresh activation/node after reclaim, not graph reprepare. Recover the inactive instance through control.into_instance(). Node-owned audio scratch is <=32 MiB, outside graph’s own 64 MiB cap; plugin memory/time are separate. Main instance control must outlive this token.

Implementations§

§

impl<H: HostHandlers> HostedGraphNode<H>

pub fn set_transport_enabled( &mut self, enabled: bool, ) -> Result<(), PrepareError>

Explicit main-thread transport opt-in while stopped. Disabled by default; require known playing for any context and reject invalid/ unrepresentable fields before native calls. Discontinuity has no native flag and does not reset history; see hosted_transport.

Trait Implementations§

§

impl<H: HostHandlers> Processor for HostedGraphNode<H>

§

fn try_reset(&mut self) -> Result<(), ProcessError>

Forwards the inner checked reset; never masks a refusal.

§

fn prepare(&mut self, config: ProcessConfig) -> Result<(), PrepareError>

§

fn start_audio(&mut self) -> Result<(), ProcessError>

Optional explicit audio-owner session start, after prepare and before rendering. Default is a no-op. Consumers using these hooks call once on the audio owner and stop there before transfer/deactivation. Failure must leave this processor stopped; earlier successful nodes may be stopped. Hooks follow prepared callback allocation/locking/I/O obligations. Existing adapters do not implicitly opt in; explicit graph sessions supply them.
§

fn stop_audio(&mut self)

End an explicitly started session on its audio owner, without deactivation or storage destruction. Default no-op; preparation/history may be retained.
§

fn reset(&mut self)

§

fn deactivate(&mut self)

§

fn latency_samples(&self) -> u32

Prepared algorithmic latency in samples. Changes are advertised by adapters using their format’s restart/latency protocol outside the audio callback.
§

fn tail(&self) -> Tail

Decay policy after input stops. Adapters must map this to the host protocol.
§

fn process( &mut self, block: &mut ProcessBlock<'_, '_, '_, f32>, ) -> PortableStatus

Auto Trait Implementations§

§

impl<H> !Freeze for HostedGraphNode<H>

§

impl<H> !RefUnwindSafe for HostedGraphNode<H>

§

impl<H> !Sync for HostedGraphNode<H>

§

impl<H> !UnwindSafe for HostedGraphNode<H>

§

impl<H> Send for HostedGraphNode<H>

§

impl<H> Unpin for HostedGraphNode<H>

§

impl<H> UnsafeUnpin for HostedGraphNode<H>

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.