use {Frame, Sample};
pub trait Node<F> where F: Frame {
fn audio_requested(&mut self, buffer: &mut [F], sample_hz: f64);
fn dry(&self) -> <F::Sample as Sample>::Float { Sample::equilibrium() }
fn wet(&self) -> <F::Sample as Sample>::Float { <F::Sample as Sample>::identity() }
}
impl<F> Node<F> for Box<Node<F>> where F: Frame {
#[inline]
fn audio_requested(&mut self, buffer: &mut [F], sample_hz: f64) {
(**self).audio_requested(buffer, sample_hz);
}
#[inline]
fn dry(&self) -> <F::Sample as Sample>::Float {
(**self).dry()
}
#[inline]
fn wet(&self) -> <F::Sample as Sample>::Float {
(**self).wet()
}
}