pub enum Action {
Show 144 variants
Quit,
Play,
Pause,
Stop,
TransportPosition(usize),
JumpToEnd,
SetLoopEnabled(bool),
SetLoopRange(Option<(usize, usize)>),
SetPunchEnabled(bool),
SetPunchRange(Option<(usize, usize)>),
SetMetronomeEnabled(bool),
SetTempo(f64),
SetTimeSignature {
numerator: u16,
denominator: u16,
},
SetOscEnabled(bool),
SetClipPlaybackEnabled(bool),
SetRecordEnabled(bool),
SetSessionPath(String),
BeginHistoryGroup,
EndHistoryGroup,
ClearHistory,
BeginSessionRestore,
EndSessionRestore,
AddTrack {
name: String,
audio_ins: usize,
midi_ins: usize,
audio_outs: usize,
midi_outs: usize,
},
TrackAddAudioInput(String),
TrackAddAudioOutput(String),
TrackRemoveAudioInput(String),
TrackRemoveAudioOutput(String),
AddClip {Show 21 fields
name: String,
track_name: String,
start: usize,
length: usize,
offset: usize,
input_channel: usize,
muted: bool,
peaks_file: Option<String>,
kind: Kind,
fade_enabled: bool,
fade_in_samples: usize,
fade_out_samples: usize,
source_name: Option<String>,
source_offset: Option<usize>,
source_length: Option<usize>,
preview_name: Option<String>,
pitch_correction_points: Vec<PitchCorrectionPointData>,
pitch_correction_frame_likeness: Option<f32>,
pitch_correction_inertia_ms: Option<u16>,
pitch_correction_formant_compensation: Option<bool>,
plugin_graph_json: Option<Value>,
},
AddGroupedClip {
track_name: String,
kind: Kind,
audio_clip: Option<AudioClipData>,
midi_clip: Option<MidiClipData>,
},
RemoveClip {
track_name: String,
kind: Kind,
clip_indices: Vec<usize>,
},
SetClipFade {
track_name: String,
clip_index: usize,
kind: Kind,
fade_enabled: bool,
fade_in_samples: usize,
fade_out_samples: usize,
},
SetClipBounds {
track_name: String,
clip_index: usize,
kind: Kind,
start: usize,
length: usize,
offset: usize,
},
SetClipMuted {
track_name: String,
clip_index: usize,
kind: Kind,
muted: bool,
},
SetClipPluginGraphJson {
track_name: String,
clip_index: usize,
plugin_graph_json: Option<Value>,
},
SetClipPitchCorrection {
track_name: String,
clip_index: usize,
preview_name: Option<String>,
source_name: Option<String>,
source_offset: Option<usize>,
source_length: Option<usize>,
pitch_correction_points: Vec<PitchCorrectionPointData>,
pitch_correction_frame_likeness: Option<f32>,
pitch_correction_inertia_ms: Option<u16>,
pitch_correction_formant_compensation: Option<bool>,
},
RenameClip {
track_name: String,
kind: Kind,
clip_index: usize,
new_name: String,
},
RenameTrack {
old_name: String,
new_name: String,
},
RemoveTrack(String),
TrackLevel(String, f32),
TrackBalance(String, f32),
TrackAutomationLevel(String, f32),
TrackAutomationBalance(String, f32),
TrackAutomationMute(String, bool),
TrackMeters {
track_name: String,
output_db: Vec<f32>,
},
RequestMeterSnapshot,
MeterSnapshot {
hw_out_db: Arc<Vec<f32>>,
track_meters: Arc<Vec<(String, Vec<f32>)>>,
},
TrackToggleArm(String),
TrackToggleMute(String),
TrackToggleSolo(String),
TrackToggleInputMonitor(String),
TrackToggleDiskMonitor(String),
TrackArmMidiLearn {
track_name: String,
target: TrackMidiLearnTarget,
},
GlobalArmMidiLearn {
target: GlobalMidiLearnTarget,
},
TrackSetMidiLearnBinding {
track_name: String,
target: TrackMidiLearnTarget,
binding: Option<MidiLearnBinding>,
},
SetGlobalMidiLearnBinding {
target: GlobalMidiLearnTarget,
binding: Option<MidiLearnBinding>,
},
TrackSetVcaMaster {
track_name: String,
master_track: Option<String>,
},
TrackSetMidiLaneChannel {
track_name: String,
lane: usize,
channel: Option<u8>,
},
TrackSetFrozen {
track_name: String,
frozen: bool,
},
TrackOfflineBounce {
track_name: String,
output_path: String,
start_sample: usize,
length_samples: usize,
automation_lanes: Vec<OfflineAutomationLane>,
},
TrackOfflineBounceCancel {
track_name: String,
},
TrackOfflineBounceCanceled {
track_name: String,
},
TrackOfflineBounceProgress {
track_name: String,
progress: f32,
operation: Option<String>,
},
PianoKey {
track_name: String,
note: u8,
velocity: u8,
on: bool,
},
ModifyMidiNotes {
track_name: String,
clip_index: usize,
note_indices: Vec<usize>,
new_notes: Vec<MidiNoteData>,
old_notes: Vec<MidiNoteData>,
},
ModifyMidiControllers {
track_name: String,
clip_index: usize,
controller_indices: Vec<usize>,
new_controllers: Vec<MidiControllerData>,
old_controllers: Vec<MidiControllerData>,
},
DeleteMidiControllers {
track_name: String,
clip_index: usize,
controller_indices: Vec<usize>,
deleted_controllers: Vec<(usize, MidiControllerData)>,
},
InsertMidiControllers {
track_name: String,
clip_index: usize,
controllers: Vec<(usize, MidiControllerData)>,
},
DeleteMidiNotes {
track_name: String,
clip_index: usize,
note_indices: Vec<usize>,
deleted_notes: Vec<(usize, MidiNoteData)>,
},
InsertMidiNotes {
track_name: String,
clip_index: usize,
notes: Vec<(usize, MidiNoteData)>,
},
SetMidiSysExEvents {
track_name: String,
clip_index: usize,
new_sysex_events: Vec<MidiRawEventData>,
old_sysex_events: Vec<MidiRawEventData>,
},
TrackLoadLv2Plugin {
track_name: String,
plugin_uri: String,
},
TrackClearDefaultPassthrough {
track_name: String,
},
TrackSetLv2PluginState {
track_name: String,
instance_id: usize,
state: Lv2PluginState,
},
ClipSetLv2PluginState {
track_name: String,
clip_idx: usize,
instance_id: usize,
state: Lv2PluginState,
},
TrackUnloadLv2PluginInstance {
track_name: String,
instance_id: usize,
},
TrackGetLv2PluginControls {
track_name: String,
instance_id: usize,
},
ClipGetLv2PluginControls {
track_name: String,
clip_idx: usize,
instance_id: usize,
},
TrackLv2PluginControls {
track_name: String,
instance_id: usize,
controls: Vec<Lv2ControlPortInfo>,
instance_access_handle: Option<usize>,
},
ClipLv2PluginControls {
track_name: String,
clip_idx: usize,
instance_id: usize,
controls: Vec<Lv2ControlPortInfo>,
instance_access_handle: Option<usize>,
},
TrackGetLv2Midnam {
track_name: String,
},
TrackLv2Midnam {
track_name: String,
note_names: HashMap<u8, String>,
},
TrackSetLv2ControlValue {
track_name: String,
instance_id: usize,
index: u32,
value: f32,
},
ClipSetLv2ControlValue {
track_name: String,
clip_idx: usize,
instance_id: usize,
index: u32,
value: f32,
},
ClipLv2StateSnapshot {
track_name: String,
clip_idx: usize,
instance_id: usize,
state: Lv2PluginState,
},
TrackGetPluginGraph {
track_name: String,
},
TrackPluginGraph {
track_name: String,
plugins: Vec<PluginGraphPlugin>,
connections: Vec<PluginGraphConnection>,
},
TrackConnectPluginAudio {
track_name: String,
from_node: PluginGraphNode,
from_port: usize,
to_node: PluginGraphNode,
to_port: usize,
},
TrackConnectPluginMidi {
track_name: String,
from_node: PluginGraphNode,
from_port: usize,
to_node: PluginGraphNode,
to_port: usize,
},
TrackDisconnectPluginAudio {
track_name: String,
from_node: PluginGraphNode,
from_port: usize,
to_node: PluginGraphNode,
to_port: usize,
},
TrackDisconnectPluginMidi {
track_name: String,
from_node: PluginGraphNode,
from_port: usize,
to_node: PluginGraphNode,
to_port: usize,
},
ListLv2Plugins,
Lv2Plugins(Vec<Lv2PluginInfo>),
ListVst3Plugins,
Vst3Plugins(Vec<Vst3PluginInfo>),
ListClapPlugins,
ListClapPluginsWithCapabilities,
ClapPlugins(Vec<ClapPluginInfo>),
TrackLoadClapPlugin {
track_name: String,
plugin_path: String,
},
TrackUnloadClapPlugin {
track_name: String,
plugin_path: String,
},
TrackSetClapParameter {
track_name: String,
instance_id: usize,
param_id: u32,
value: f64,
},
TrackSetClapParameterAt {
track_name: String,
instance_id: usize,
param_id: u32,
value: f64,
frame: u32,
},
TrackBeginClapParameterEdit {
track_name: String,
instance_id: usize,
param_id: u32,
frame: u32,
},
TrackEndClapParameterEdit {
track_name: String,
instance_id: usize,
param_id: u32,
frame: u32,
},
TrackGetClapParameters {
track_name: String,
instance_id: usize,
},
TrackClapParameters {
track_name: String,
instance_id: usize,
parameters: Vec<ClapParameterInfo>,
},
TrackClapSnapshotState {
track_name: String,
instance_id: usize,
},
ClipClapSnapshotState {
track_name: String,
clip_idx: usize,
instance_id: usize,
},
TrackClapStateSnapshot {
track_name: String,
instance_id: usize,
plugin_path: String,
state: ClapPluginState,
},
ClipClapStateSnapshot {
track_name: String,
clip_idx: usize,
instance_id: usize,
plugin_path: String,
state: ClapPluginState,
},
TrackClapRestoreState {
track_name: String,
instance_id: usize,
state: ClapPluginState,
},
TrackSnapshotAllClapStates {
track_name: String,
},
TrackLoadVst3Plugin {
track_name: String,
plugin_path: String,
},
TrackUnloadVst3PluginInstance {
track_name: String,
instance_id: usize,
},
TrackGetVst3Graph {
track_name: String,
},
TrackVst3Graph {
track_name: String,
plugins: Vec<Vst3GraphPlugin>,
connections: Vec<Vst3GraphConnection>,
},
TrackSetVst3Parameter {
track_name: String,
instance_id: usize,
param_id: u32,
value: f32,
},
TrackGetVst3Parameters {
track_name: String,
instance_id: usize,
},
TrackVst3Parameters {
track_name: String,
instance_id: usize,
parameters: Vec<ParameterInfo>,
},
TrackVst3SnapshotState {
track_name: String,
instance_id: usize,
},
ClipVst3SnapshotState {
track_name: String,
clip_idx: usize,
instance_id: usize,
},
TrackVst3StateSnapshot {
track_name: String,
instance_id: usize,
state: Vst3PluginState,
},
ClipVst3StateSnapshot {
track_name: String,
clip_idx: usize,
instance_id: usize,
state: Vst3PluginState,
},
TrackVst3RestoreState {
track_name: String,
instance_id: usize,
state: Vst3PluginState,
},
TrackConnectVst3Audio {
track_name: String,
from_node: Vst3GraphNode,
from_port: usize,
to_node: Vst3GraphNode,
to_port: usize,
},
TrackDisconnectVst3Audio {
track_name: String,
from_node: Vst3GraphNode,
from_port: usize,
to_node: Vst3GraphNode,
to_port: usize,
},
ClipMove {
kind: Kind,
from: ClipMoveFrom,
to: ClipMoveTo,
copy: bool,
},
Connect {
from_track: String,
from_port: usize,
to_track: String,
to_port: usize,
kind: Kind,
},
Disconnect {
from_track: String,
from_port: usize,
to_track: String,
to_port: usize,
kind: Kind,
},
OpenAudioDevice {
device: String,
input_device: Option<String>,
sample_rate_hz: i32,
bits: i32,
exclusive: bool,
period_frames: usize,
nperiods: usize,
sync_mode: bool,
},
JackAddAudioInputPort,
JackRemoveAudioInputPort(usize),
JackAddAudioOutputPort,
JackRemoveAudioOutputPort(usize),
OpenMidiInputDevice(String),
OpenMidiOutputDevice(String),
RequestSessionDiagnostics,
RequestMidiLearnMappingsReport,
ClearAllMidiLearnBindings,
SessionDiagnosticsReport {Show 16 fields
track_count: usize,
frozen_track_count: usize,
audio_clip_count: usize,
midi_clip_count: usize,
lv2_instance_count: usize,
vst3_instance_count: usize,
clap_instance_count: usize,
pending_requests: usize,
workers_total: usize,
workers_ready: usize,
pending_hw_midi_events: usize,
playing: bool,
transport_sample: usize,
tempo_bpm: f64,
sample_rate_hz: usize,
cycle_samples: usize,
},
MidiLearnMappingsReport {
lines: Vec<String>,
},
HWInfo {
channels: usize,
rate: usize,
input: bool,
},
Undo,
Redo,
Panic,
}Variants§
Quit
Play
Pause
Stop
TransportPosition(usize)
JumpToEnd
SetLoopEnabled(bool)
SetLoopRange(Option<(usize, usize)>)
SetPunchEnabled(bool)
SetPunchRange(Option<(usize, usize)>)
SetMetronomeEnabled(bool)
SetTempo(f64)
SetTimeSignature
SetOscEnabled(bool)
SetClipPlaybackEnabled(bool)
SetRecordEnabled(bool)
SetSessionPath(String)
BeginHistoryGroup
EndHistoryGroup
ClearHistory
BeginSessionRestore
EndSessionRestore
AddTrack
TrackAddAudioInput(String)
TrackAddAudioOutput(String)
TrackRemoveAudioInput(String)
TrackRemoveAudioOutput(String)
AddClip
Fields
§
pitch_correction_points: Vec<PitchCorrectionPointData>AddGroupedClip
RemoveClip
SetClipFade
Fields
SetClipBounds
SetClipMuted
SetClipPluginGraphJson
SetClipPitchCorrection
Fields
§
pitch_correction_points: Vec<PitchCorrectionPointData>RenameClip
RenameTrack
RemoveTrack(String)
TrackLevel(String, f32)
TrackBalance(String, f32)
TrackAutomationLevel(String, f32)
TrackAutomationBalance(String, f32)
TrackAutomationMute(String, bool)
TrackMeters
RequestMeterSnapshot
MeterSnapshot
TrackToggleArm(String)
TrackToggleMute(String)
TrackToggleSolo(String)
TrackToggleInputMonitor(String)
TrackToggleDiskMonitor(String)
TrackArmMidiLearn
GlobalArmMidiLearn
Fields
§
target: GlobalMidiLearnTargetTrackSetMidiLearnBinding
SetGlobalMidiLearnBinding
TrackSetVcaMaster
TrackSetMidiLaneChannel
TrackSetFrozen
TrackOfflineBounce
Fields
§
automation_lanes: Vec<OfflineAutomationLane>TrackOfflineBounceCancel
TrackOfflineBounceCanceled
TrackOfflineBounceProgress
PianoKey
ModifyMidiNotes
ModifyMidiControllers
DeleteMidiControllers
Fields
§
deleted_controllers: Vec<(usize, MidiControllerData)>InsertMidiControllers
DeleteMidiNotes
Fields
§
deleted_notes: Vec<(usize, MidiNoteData)>InsertMidiNotes
SetMidiSysExEvents
TrackLoadLv2Plugin
TrackClearDefaultPassthrough
TrackSetLv2PluginState
ClipSetLv2PluginState
TrackUnloadLv2PluginInstance
TrackGetLv2PluginControls
ClipGetLv2PluginControls
TrackLv2PluginControls
Fields
§
controls: Vec<Lv2ControlPortInfo>ClipLv2PluginControls
Fields
§
controls: Vec<Lv2ControlPortInfo>TrackGetLv2Midnam
TrackLv2Midnam
TrackSetLv2ControlValue
ClipSetLv2ControlValue
ClipLv2StateSnapshot
TrackGetPluginGraph
TrackPluginGraph
TrackConnectPluginAudio
TrackConnectPluginMidi
TrackDisconnectPluginAudio
TrackDisconnectPluginMidi
ListLv2Plugins
Lv2Plugins(Vec<Lv2PluginInfo>)
ListVst3Plugins
Vst3Plugins(Vec<Vst3PluginInfo>)
ListClapPlugins
ListClapPluginsWithCapabilities
ClapPlugins(Vec<ClapPluginInfo>)
TrackLoadClapPlugin
TrackUnloadClapPlugin
TrackSetClapParameter
TrackSetClapParameterAt
TrackBeginClapParameterEdit
TrackEndClapParameterEdit
TrackGetClapParameters
TrackClapParameters
TrackClapSnapshotState
ClipClapSnapshotState
TrackClapStateSnapshot
ClipClapStateSnapshot
Fields
§
state: ClapPluginStateTrackClapRestoreState
TrackSnapshotAllClapStates
TrackLoadVst3Plugin
TrackUnloadVst3PluginInstance
TrackGetVst3Graph
TrackVst3Graph
TrackSetVst3Parameter
TrackGetVst3Parameters
TrackVst3Parameters
TrackVst3SnapshotState
ClipVst3SnapshotState
TrackVst3StateSnapshot
ClipVst3StateSnapshot
TrackVst3RestoreState
TrackConnectVst3Audio
TrackDisconnectVst3Audio
ClipMove
Connect
Disconnect
OpenAudioDevice
Fields
JackAddAudioInputPort
JackRemoveAudioInputPort(usize)
JackAddAudioOutputPort
JackRemoveAudioOutputPort(usize)
OpenMidiInputDevice(String)
OpenMidiOutputDevice(String)
RequestSessionDiagnostics
RequestMidiLearnMappingsReport
ClearAllMidiLearnBindings
SessionDiagnosticsReport
Fields
MidiLearnMappingsReport
HWInfo
Undo
Redo
Panic
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Action
impl RefUnwindSafe for Action
impl Send for Action
impl Sync for Action
impl Unpin for Action
impl UnsafeUnpin for Action
impl UnwindSafe for Action
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more