pub struct ProcessorChain { /* private fields */ }Implementations§
Source§impl ProcessorChain
impl ProcessorChain
pub fn new() -> Self
pub fn push<P: AudioProcessor + 'static>(&mut self, processor: P)
Trait Implementations§
Source§impl AudioProcessor for ProcessorChain
impl AudioProcessor for ProcessorChain
Source§fn flush(&mut self, block: &mut AudioBlock<'_>) -> Result<usize, EngineError>
fn flush(&mut self, block: &mut AudioBlock<'_>) -> Result<usize, EngineError>
Meniriskan tail seluruh chain setelah input habis.
Tail sebuah rantai processor sepanjang jumlah latency semua stage. Karena itu cukup mengalirkan block berisi senyap melewati seluruh stage: setiap delay internal (lookahead limiter, dst.) mengeluarkan sampel yang masih tertahan, lalu stage berikutnya memproses tail tersebut seperti sinyal biasa.
Pendekatan ini benar untuk urutan stage apa pun — termasuk bila processor tanpa latency berada sebelum maupun sesudah processor berlatency.
fn prepare(&mut self, spec: AudioSpec) -> Result<(), EngineError>
fn process(&mut self, block: &mut AudioBlock<'_>) -> Result<(), EngineError>
fn reset(&mut self)
fn latency_samples(&self) -> usize
Auto Trait Implementations§
impl !RefUnwindSafe for ProcessorChain
impl !Send for ProcessorChain
impl !Sync for ProcessorChain
impl !UnwindSafe for ProcessorChain
impl Freeze for ProcessorChain
impl Unpin for ProcessorChain
impl UnsafeUnpin for ProcessorChain
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