This crate provides helpful utilities for writing polyphonic synthesizers in the Conformal Framework.
The main entry point for this crate is the [Poly] struct, which can be used to implement the handle_events, process, and set_processing methods on Synth. To use [Poly], a component must implement the [Voice] trait, which defines how to render a single voice. Common tasks such as routing events and note expression changes to voices, and mixing the output of voices are handled by the [Poly] struct.