pub enum HostResponse {
Show 28 variants
Success {
message: String,
},
Error {
message: String,
},
Crashed {
message: String,
},
AudioOutput {
outputs: Vec<Vec<f32>>,
output_events: Vec<PluginEvent>,
},
BusAudioOutput {
outputs: Vec<AudioBusBuffer>,
output_events: Vec<PluginEvent>,
},
AudioBusLayout {
layout: AudioBusLayout,
},
ParameterValue {
value: f64,
},
ParameterString {
value: String,
},
Parameters {
params: Vec<Parameter>,
},
State {
data: Vec<u8>,
},
GuiCreated {
width: i32,
height: i32,
},
PluginInfo {
vendor: String,
name: String,
version: String,
category: String,
uid: String,
has_gui: bool,
audio_inputs: i32,
audio_outputs: i32,
output_channels: i32,
has_midi_input: bool,
has_midi_output: bool,
compatibility: Vec<ClassCompatibility>,
},
NoteStarted {
note_id: i32,
},
NoteExpressions {
expressions: Vec<NoteExpressionInfo>,
},
ParameterEdits {
edits: Vec<ParameterEdit>,
},
ParameterChanges {
changes: Vec<(u32, f64)>,
},
HostNotifications {
notifications: Vec<HostNotification>,
},
DataExchangeBlocks {
blocks: Vec<DataExchangeBlock>,
},
RestartFlags {
bits: i32,
},
BusArrangements {
arrangements: BusArrangements,
},
Units {
units: Vec<PluginUnit>,
},
SelectedUnit {
unit_id: Option<i32>,
},
ProgramPitchNames {
names: Vec<ProgramPitchName>,
},
OpaqueData {
supported: bool,
data: Vec<u8>,
},
LatencySamples {
samples: u32,
},
TailSamples {
samples: u32,
},
MidiParameterMapping {
id: Option<u32>,
},
RemappedParameter {
id: Option<u32>,
},
}Expand description
Responses from the isolated plugin process
Variants§
Success
Operation succeeded with message
Error
Operation failed with error
Crashed
Plugin crashed
AudioOutput
Per-channel audio output data ([channel][frame]), plus any MIDI the plugin
emitted during the block (arpeggiators, MPE, etc.).
Fields
output_events: Vec<PluginEvent>Owned VST3 events the plugin emitted this block, in order.
BusAudioOutput
Bus-preserving audio output from a ProcessBuses request.
Fields
outputs: Vec<AudioBusBuffer>Output buses in VST3 bus-index order.
output_events: Vec<PluginEvent>Owned VST3 events emitted during the block.
AudioBusLayout
Current audio-bus layout and activation state.
Fields
layout: AudioBusLayoutComplete input/output layout.
ParameterValue
A single parameter value (normalized).
ParameterString
A formatted parameter display string.
Parameters
A list of parameters.
State
Opaque plugin state bytes (reply to SaveState).
GuiCreated
The isolated editor window was created (reply to CreateGui); carries the
plugin-reported editor size so the host can report it without a second round-trip.
PluginInfo
Plugin information
Fields
output_channels: i32Total output audio channels across all output buses (clamped on receipt: the host sizes buffers from this number, so it is not trusted verbatim).
compatibility: Vec<ClassCompatibility>Current/retired class-id mappings discovered by the helper.
NoteStarted
A note was started (reply to NoteOn); carries the helper-allocated raw note id.
NoteExpressions
The per-note expressions the plugin advertises (reply to NoteExpressions).
Fields
expressions: Vec<NoteExpressionInfo>The advertised note-expression dimensions.
ParameterEdits
The ordered parameter-edit gestures drained from the helper (reply to
TakeParameterEdits).
Fields
edits: Vec<ParameterEdit>The gesture events, in the order the plugin’s editor reported them.
ParameterChanges
Processor- and controller-originated parameter feedback drained from the helper.
HostNotifications
Ordered IComponentHandler2 requests drained from the helper.
Fields
notifications: Vec<HostNotification>The queued host requests.
DataExchangeBlocks
Owned VST3 data-exchange blocks drained from the helper.
Fields
blocks: Vec<DataExchangeBlock>Block snapshots, in delivery order.
RestartFlags
Accumulated restartComponent flags.
BusArrangements
Each audio bus’s current speaker arrangement (reply to BusArrangements).
Fields
arrangements: BusArrangementsThe input/output arrangements.
Units
The plugin’s units and program lists (reply to GetUnits).
Fields
units: Vec<PluginUnit>The advertised units.
SelectedUnit
Currently selected unit.
ProgramPitchNames
Program pitch names.
Fields
names: Vec<ProgramPitchName>Advertised pitch names.
OpaqueData
Opaque program/unit data.
Fields
LatencySamples
The plugin’s reported processing latency in samples (reply to LatencySamples).
TailSamples
The plugin’s reported tail length in samples (reply to TailSamples).
MidiParameterMapping
The parameter a MIDI controller is mapped to, if any (reply to MidiCcToParameter).
RemappedParameter
A parameter-id compatibility mapping returned by IRemapParamID.