#![doc = include_str!("../docs_boilerplate.md")]
#![doc = include_str!("../README.md")]
pub mod audio;
pub mod effect;
pub mod events;
pub mod parameters;
pub mod synth;
#[doc(hidden)]
pub use itertools;
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum ProcessingMode {
Realtime,
Prefetch,
Offline,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ProcessingEnvironment {
pub sampling_rate: f32,
pub max_samples_per_process_call: usize,
pub channel_layout: audio::ChannelLayout,
pub processing_mode: ProcessingMode,
}
pub trait Component {
type Processor;
fn parameter_infos(&self) -> Vec<parameters::Info> {
Default::default()
}
fn create_processor(&self, environment: &ProcessingEnvironment) -> Self::Processor;
}
pub trait Processor {
fn set_processing(&mut self, processing: bool);
}