Expand description
Public entry points for running plugins from other crates (ferraus-synth renders
InstrumentSource::Plugin through render_instrument; effect chains use
process_effect). Every call starts its own host process, so a misbehaving plugin
surfaces as an ErrorKind::Plugin error and never takes the caller down.
Re-exports§
pub use crate::client::PluginFormat;
Structs§
- Midi
Event - One MIDI event at an absolute sample frame of the render.
- Plugin
Options - Everything that configures one plugin run.
- Plugin
Ref - A specific plugin: bundle path plus the plugin id inside it.
- Plugin
Run - The result of a run: audio plus everything needed to record and reproduce it.
- Plugin
Session - A loaded plugin in its own host process, for inspection (
plugin info, presets, state) or for driving runs by hand.
Enums§
- Midi
Event Kind - Tail
- How long to keep processing after the input (or the render duration) ends.
Functions§
- process_
effect - Run audio through an effect plugin with
tail_sseconds of tail. Seeprocess_effect_with. - process_
effect_ with - Run audio through an effect plugin. The output is
inputlength plus the tail, with the plugin’s latency removed so every sample stays at its original position. - read_
state_ file - Read a state file written by
plugin state save(JSON withstate_b64), or a raw native blob. - render_
instrument - Render an instrument plugin.
paramsare(name or id, value)pairs;stateis a native state blob (e.g. fromplugin state save). Seerender_instrument_with. - render_
instrument_ with - Drive an instrument plugin with MIDI and return
durationseconds of audio (plus the tail, seeTail), latency-compensated so events sound at their frame.