pub trait SourceF64<T, const BUF_SIZE: usize>: SignalNode<T, BUF_SIZE>where
T: Transcendental,{
// Required method
fn generate(
&mut self,
clock: &ClockTick,
control_inputs: &[T],
clock_inputs: &[ClockTick],
) -> Result<(), ProcessError>;
// Provided methods
fn num_signal_outputs(&self) -> usize { ... }
fn num_control_inputs(&self) -> usize { ... }
fn num_clock_inputs(&self) -> usize { ... }
}Expand description
Active source of signals
Sources generate audio from internal state. They have no audio inputs, but may have control and clock inputs for modulation.
Required Methods§
Sourcefn generate(
&mut self,
clock: &ClockTick,
control_inputs: &[T],
clock_inputs: &[ClockTick],
) -> Result<(), ProcessError>
fn generate( &mut self, clock: &ClockTick, control_inputs: &[T], clock_inputs: &[ClockTick], ) -> Result<(), ProcessError>
Generate the next block of audio
§Arguments
clock- Current clock tickcontrol_inputs- Control signal values (one per control input)clock_inputs- Clock signal values (one per clock input)
The source writes output samples into its own output port buffers,
accessible via self.output_port_mut(index).
Provided Methods§
Sourcefn num_signal_outputs(&self) -> usize
fn num_signal_outputs(&self) -> usize
Number of audio outputs (default 1)
Sourcefn num_control_inputs(&self) -> usize
fn num_control_inputs(&self) -> usize
Number of control inputs (default 0)
Sourcefn num_clock_inputs(&self) -> usize
fn num_clock_inputs(&self) -> usize
Number of clock inputs (default 0)
Trait Implementations§
Source§impl<T, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for Box<dyn Source<T, BUF_SIZE>>where
T: Transcendental,
impl<T, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for Box<dyn Source<T, BUF_SIZE>>where
T: Transcendental,
Source§fn process_block(
&mut self,
ctx: &mut ProcessContext<'_, T, BUF_SIZE>,
) -> Result<(), ProcessError>
fn process_block( &mut self, ctx: &mut ProcessContext<'_, T, BUF_SIZE>, ) -> Result<(), ProcessError>
Process a single block of audio. Read more