This crate defines abstractions for audio processing components. Users of this crate will generally implement a [`Component`] that can create either an [`effect::Effect`] or a [`synth::Synth`] and then use a Conformal wrapper crate (currently `conformal_vst_wrapper`) to wrap the component in a standard audio Plug-in format. This crate contains: - Definitions for the traits [`Component`]s must implement - Definitions for traits that Conformal wrappers will implement to provide data for the [`Component`] to consume. (e.g., [`parameters::BufferStates`], [`audio::Buffer`]) - Simple implementatations of traits normally implemented by Conformal wrappers, to make testing easier and to provide a simple way to use [`Component`]s outside of a Conformal wrapper. (e.g., [`audio::BufferData`], [`parameters::ConstantBufferStates`]) - Utilities to make some of these traits either to work with (e.g., [`pzip`]).