pub trait Source<T, const BUF_SIZE: usize>: AudioNode<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_audio_outputs(&self) -> usize { ... }
fn num_control_inputs(&self) -> usize { ... }
fn num_clock_inputs(&self) -> usize { ... }
}Expand description
Active source of audio 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_audio_outputs(&self) -> usize
fn num_audio_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)