AUDIO
Source snapshot · 12 October 2026

API reference / ravet_graph::TransitionEngine

Trait TransitionEngine 

pub trait TransitionEngine:
    Sealed
    + Send
    + 'static {
    type Sample: TransitionSample;

    // Required methods
    fn transition_channels(&self) -> usize;
    fn transition_maximum_frames(&self) -> usize;
    fn transition_latency(&self) -> usize;
    fn transition_tail(&self) -> usize;
    fn transition_process(
        &mut self,
        channel: usize,
        input: &[Self::Sample],
        output: &mut [Self::Sample],
        frames: usize,
    ) -> Result<(), ConvolutionProcessError>;
    fn transition_reset(&mut self);
}
Expand description

Sealed set of transitionable engines: Convolver32, Convolver64, ConvolutionBank32 and ConvolutionBank64. A single engine is one channel.

Required Associated Types§

type Sample: TransitionSample

Native sample precision.

Required Methods§

fn transition_channels(&self) -> usize

Channel count (1 for a single engine).

fn transition_maximum_frames(&self) -> usize

Prepared maximum frames per call.

fn transition_latency(&self) -> usize

Exact algorithmic latency in frames (shared by every bank channel).

fn transition_tail(&self) -> usize

Largest channel tail in frames, including latency.

fn transition_process( &mut self, channel: usize, input: &[Self::Sample], output: &mut [Self::Sample], frames: usize, ) -> Result<(), ConvolutionProcessError>

Process one channel prefix with the engine’s own admission.

fn transition_reset(&mut self)

Clear all history.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl TransitionEngine for ConvolutionBank32

§

type Sample = f32

§

fn transition_channels(&self) -> usize

§

fn transition_maximum_frames(&self) -> usize

§

fn transition_latency(&self) -> usize

§

fn transition_tail(&self) -> usize

§

fn transition_process( &mut self, channel: usize, input: &[f32], output: &mut [f32], frames: usize, ) -> Result<(), ConvolutionProcessError>

§

fn transition_reset(&mut self)

§

impl TransitionEngine for ConvolutionBank64

§

type Sample = f64

§

fn transition_channels(&self) -> usize

§

fn transition_maximum_frames(&self) -> usize

§

fn transition_latency(&self) -> usize

§

fn transition_tail(&self) -> usize

§

fn transition_process( &mut self, channel: usize, input: &[f64], output: &mut [f64], frames: usize, ) -> Result<(), ConvolutionProcessError>

§

fn transition_reset(&mut self)

§

impl TransitionEngine for Convolver32

§

type Sample = f32

§

fn transition_channels(&self) -> usize

§

fn transition_maximum_frames(&self) -> usize

§

fn transition_latency(&self) -> usize

§

fn transition_tail(&self) -> usize

§

fn transition_process( &mut self, channel: usize, input: &[f32], output: &mut [f32], frames: usize, ) -> Result<(), ConvolutionProcessError>

§

fn transition_reset(&mut self)

§

impl TransitionEngine for Convolver64

§

type Sample = f64

§

fn transition_channels(&self) -> usize

§

fn transition_maximum_frames(&self) -> usize

§

fn transition_latency(&self) -> usize

§

fn transition_tail(&self) -> usize

§

fn transition_process( &mut self, channel: usize, input: &[f64], output: &mut [f64], frames: usize, ) -> Result<(), ConvolutionProcessError>

§

fn transition_reset(&mut self)

Implementors§