e58f06d9fa
Stripped upstream git history; starting point for replacing the native SWELL/Win32 mapping UI with something more suited to bulk editing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4281 lines
121 KiB
Lua
4281 lines
121 KiB
Lua
--!strict
|
|
|
|
--- Attention: This file is generated from Rust code! Don't modify it directly!
|
|
|
|
local playtime = require("playtime")
|
|
|
|
--- Contains types and helper functions for building ReaLearn presets
|
|
local module = {}
|
|
|
|
--- Complete content of a ReaLearn compartment, including mappings, groups, parameters etc.
|
|
export type Compartment = {
|
|
default_group: Group?,
|
|
parameters: { Parameter }?,
|
|
groups: { Group }?,
|
|
mappings: { Mapping }?,
|
|
common_lua: string?,
|
|
custom_data: { [string]: any }?,
|
|
notes: string?,
|
|
unknown_props: BTreeMap<string, any>?,
|
|
}
|
|
--- Creates a Compartment value.
|
|
--- Complete content of a ReaLearn compartment, including mappings, groups, parameters etc.
|
|
function module.Compartment(value: Compartment): Compartment
|
|
return value
|
|
end
|
|
|
|
export type Glue = {
|
|
absolute_mode: AbsoluteMode?,
|
|
source_interval: Interval<number>?,
|
|
target_interval: Interval<number>?,
|
|
reverse: boolean?,
|
|
out_of_range_behavior: OutOfRangeBehavior?,
|
|
target_value_sequence: string?,
|
|
round_target_value: boolean?,
|
|
wrap: boolean?,
|
|
jump_interval: Interval<number>?,
|
|
takeover_mode: TakeoverMode?,
|
|
control_transformation: string?,
|
|
step_size_interval: Interval<number>?,
|
|
step_factor_interval: Interval<number>?,
|
|
button_filter: ButtonFilter?,
|
|
encoder_filter: EncoderFilter?,
|
|
relative_mode: RelativeMode?,
|
|
interaction: Interaction?,
|
|
fire_mode: FireMode?,
|
|
feedback: Feedback?,
|
|
feedback_value_table: FeedbackValueTable?,
|
|
}
|
|
--- Creates a Glue value.
|
|
function module.Glue(value: Glue): Glue
|
|
return value
|
|
end
|
|
|
|
export type FeedbackValueTable_FromTextToDiscrete = { kind: "FromTextToDiscrete", value: { [string]: number } }
|
|
|
|
export type FeedbackValueTable_FromTextToContinuous = { kind: "FromTextToContinuous", value: { [string]: number } }
|
|
export type FeedbackValueTable = FeedbackValueTable_FromTextToDiscrete | FeedbackValueTable_FromTextToContinuous
|
|
|
|
--- A type that represents all possible kinds of FeedbackValueTable.
|
|
export type FeedbackValueTableKind = "FromTextToDiscrete" | "FromTextToContinuous"
|
|
|
|
--- Helper table to create FeedbackValueTable values of different kinds.
|
|
module.FeedbackValueTable = {}
|
|
|
|
--- Creates a FeedbackValueTable of kind FromTextToDiscrete.
|
|
function module.FeedbackValueTable.FromTextToDiscrete(
|
|
value: DiscreteFeedbackValueTableContent
|
|
): FeedbackValueTable_FromTextToDiscrete
|
|
local t: any = table.clone(value)
|
|
t.kind = "FromTextToDiscrete"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FeedbackValueTable of kind FromTextToContinuous.
|
|
function module.FeedbackValueTable.FromTextToContinuous(
|
|
value: ContinuousFeedbackValueTableContent
|
|
): FeedbackValueTable_FromTextToContinuous
|
|
local t: any = table.clone(value)
|
|
t.kind = "FromTextToContinuous"
|
|
return t
|
|
end
|
|
|
|
export type DiscreteFeedbackValueTableContent = {
|
|
value: { [string]: number },
|
|
}
|
|
--- Creates a DiscreteFeedbackValueTableContent value.
|
|
function module.DiscreteFeedbackValueTableContent(
|
|
value: DiscreteFeedbackValueTableContent
|
|
): DiscreteFeedbackValueTableContent
|
|
return value
|
|
end
|
|
|
|
export type ContinuousFeedbackValueTableContent = {
|
|
value: { [string]: number },
|
|
}
|
|
--- Creates a ContinuousFeedbackValueTableContent value.
|
|
function module.ContinuousFeedbackValueTableContent(
|
|
value: ContinuousFeedbackValueTableContent
|
|
): ContinuousFeedbackValueTableContent
|
|
return value
|
|
end
|
|
|
|
export type AbsoluteMode = "Normal" | "IncrementalButton" | "ToggleButton" | "MakeRelative" | "PerformanceControl"
|
|
|
|
export type RelativeMode = "Normal" | "MakeAbsolute"
|
|
|
|
export type FireMode_Normal = { kind: "Normal", press_duration_interval: Interval<number>? }
|
|
|
|
export type FireMode_AfterTimeout = { kind: "AfterTimeout", timeout: number? }
|
|
|
|
export type FireMode_AfterTimeoutKeepFiring = { kind: "AfterTimeoutKeepFiring", timeout: number?, rate: number? }
|
|
|
|
export type FireMode_OnSinglePress = { kind: "OnSinglePress", max_duration: number? }
|
|
|
|
export type FireMode_OnDoublePress = { kind: "OnDoublePress" }
|
|
export type FireMode =
|
|
FireMode_Normal
|
|
| FireMode_AfterTimeout
|
|
| FireMode_AfterTimeoutKeepFiring
|
|
| FireMode_OnSinglePress
|
|
| FireMode_OnDoublePress
|
|
|
|
--- A type that represents all possible kinds of FireMode.
|
|
export type FireModeKind = "Normal" | "AfterTimeout" | "AfterTimeoutKeepFiring" | "OnSinglePress" | "OnDoublePress"
|
|
|
|
--- Helper table to create FireMode values of different kinds.
|
|
module.FireMode = {}
|
|
|
|
--- Creates a FireMode of kind Normal.
|
|
function module.FireMode.Normal(value: NormalFireMode): FireMode_Normal
|
|
local t: any = table.clone(value)
|
|
t.kind = "Normal"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FireMode of kind AfterTimeout.
|
|
function module.FireMode.AfterTimeout(value: AfterTimeoutFireMode): FireMode_AfterTimeout
|
|
local t: any = table.clone(value)
|
|
t.kind = "AfterTimeout"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FireMode of kind AfterTimeoutKeepFiring.
|
|
function module.FireMode.AfterTimeoutKeepFiring(value: AfterTimeoutKeepFiringFireMode): FireMode_AfterTimeoutKeepFiring
|
|
local t: any = table.clone(value)
|
|
t.kind = "AfterTimeoutKeepFiring"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FireMode of kind OnSinglePress.
|
|
function module.FireMode.OnSinglePress(value: OnSinglePressFireMode): FireMode_OnSinglePress
|
|
local t: any = table.clone(value)
|
|
t.kind = "OnSinglePress"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FireMode of kind OnDoublePress.
|
|
function module.FireMode.OnDoublePress(): FireMode_OnDoublePress
|
|
return {
|
|
kind = "OnDoublePress",
|
|
}
|
|
end
|
|
|
|
export type NormalFireMode = {
|
|
press_duration_interval: Interval<number>?,
|
|
}
|
|
--- Creates a NormalFireMode value.
|
|
function module.NormalFireMode(value: NormalFireMode): NormalFireMode
|
|
return value
|
|
end
|
|
|
|
export type AfterTimeoutFireMode = {
|
|
timeout: number?,
|
|
}
|
|
--- Creates a AfterTimeoutFireMode value.
|
|
function module.AfterTimeoutFireMode(value: AfterTimeoutFireMode): AfterTimeoutFireMode
|
|
return value
|
|
end
|
|
|
|
export type AfterTimeoutKeepFiringFireMode = {
|
|
timeout: number?,
|
|
rate: number?,
|
|
}
|
|
--- Creates a AfterTimeoutKeepFiringFireMode value.
|
|
function module.AfterTimeoutKeepFiringFireMode(value: AfterTimeoutKeepFiringFireMode): AfterTimeoutKeepFiringFireMode
|
|
return value
|
|
end
|
|
|
|
export type OnSinglePressFireMode = {
|
|
max_duration: number?,
|
|
}
|
|
--- Creates a OnSinglePressFireMode value.
|
|
function module.OnSinglePressFireMode(value: OnSinglePressFireMode): OnSinglePressFireMode
|
|
return value
|
|
end
|
|
|
|
export type VirtualColor_Rgb = RgbColor
|
|
|
|
export type VirtualColor_Prop = PropColor
|
|
export type VirtualColor = VirtualColor_Rgb | VirtualColor_Prop
|
|
|
|
--- Creates a VirtualColor value.
|
|
function module.VirtualColor(value: VirtualColor): VirtualColor
|
|
return value
|
|
end
|
|
|
|
export type RgbColor = { number }
|
|
|
|
export type PropColor = {
|
|
prop: string,
|
|
}
|
|
--- Creates a PropColor value.
|
|
function module.PropColor(value: PropColor): PropColor
|
|
return value
|
|
end
|
|
|
|
export type OutOfRangeBehavior = "MinOrMax" | "Min" | "Ignore"
|
|
|
|
export type TakeoverMode = "Off" | "PickUpTolerant" | "PickUp" | "LongTimeNoSee" | "Parallel" | "CatchUp"
|
|
|
|
export type ButtonFilter = "PressOnly" | "ReleaseOnly"
|
|
|
|
export type EncoderFilter = "IncrementOnly" | "DecrementOnly"
|
|
|
|
export type Interaction =
|
|
"SameControl"
|
|
| "SameTargetValue"
|
|
| "InverseControl"
|
|
| "InverseTargetValue"
|
|
| "InverseTargetValueOnOnly"
|
|
| "InverseTargetValueOffOnly"
|
|
|
|
export type FeedbackCommons = {
|
|
color: VirtualColor?,
|
|
background_color: VirtualColor?,
|
|
}
|
|
--- Creates a FeedbackCommons value.
|
|
function module.FeedbackCommons(value: FeedbackCommons): FeedbackCommons
|
|
return value
|
|
end
|
|
|
|
export type Feedback_Numeric = {
|
|
kind: "Numeric",
|
|
color: VirtualColor?,
|
|
background_color: VirtualColor?,
|
|
transformation: string?,
|
|
}
|
|
|
|
export type Feedback_Text = {
|
|
kind: "Text",
|
|
color: VirtualColor?,
|
|
background_color: VirtualColor?,
|
|
text_expression: string?,
|
|
}
|
|
|
|
export type Feedback_Dynamic = { kind: "Dynamic", color: VirtualColor?, background_color: VirtualColor?, script: string? }
|
|
export type Feedback = Feedback_Numeric | Feedback_Text | Feedback_Dynamic
|
|
|
|
--- A type that represents all possible kinds of Feedback.
|
|
export type FeedbackKind = "Numeric" | "Text" | "Dynamic"
|
|
|
|
--- Helper table to create Feedback values of different kinds.
|
|
module.Feedback = {}
|
|
|
|
--- Creates a Feedback of kind Numeric.
|
|
function module.Feedback.Numeric(value: NumericFeedback): Feedback_Numeric
|
|
local t: any = table.clone(value)
|
|
t.kind = "Numeric"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Feedback of kind Text.
|
|
function module.Feedback.Text(value: TextFeedback): Feedback_Text
|
|
local t: any = table.clone(value)
|
|
t.kind = "Text"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Feedback of kind Dynamic.
|
|
function module.Feedback.Dynamic(value: DynamicFeedback): Feedback_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.kind = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
export type NumericFeedback = {
|
|
color: VirtualColor?,
|
|
background_color: VirtualColor?,
|
|
transformation: string?,
|
|
}
|
|
--- Creates a NumericFeedback value.
|
|
function module.NumericFeedback(value: NumericFeedback): NumericFeedback
|
|
return value
|
|
end
|
|
|
|
export type TextFeedback = {
|
|
color: VirtualColor?,
|
|
background_color: VirtualColor?,
|
|
text_expression: string?,
|
|
}
|
|
--- Creates a TextFeedback value.
|
|
function module.TextFeedback(value: TextFeedback): TextFeedback
|
|
return value
|
|
end
|
|
|
|
export type DynamicFeedback = {
|
|
color: VirtualColor?,
|
|
background_color: VirtualColor?,
|
|
script: string?,
|
|
}
|
|
--- Creates a DynamicFeedback value.
|
|
function module.DynamicFeedback(value: DynamicFeedback): DynamicFeedback
|
|
return value
|
|
end
|
|
|
|
export type Interval<T> = { T }
|
|
|
|
export type Group = {
|
|
id: string?,
|
|
name: string?,
|
|
tags: { string }?,
|
|
control_enabled: boolean?,
|
|
feedback_enabled: boolean?,
|
|
activation_condition: ActivationCondition?,
|
|
}
|
|
--- Creates a Group value.
|
|
function module.Group(value: Group): Group
|
|
return value
|
|
end
|
|
|
|
export type Mapping = {
|
|
id: string?,
|
|
name: string?,
|
|
tags: { string }?,
|
|
group: string?,
|
|
visible_in_projection: boolean?,
|
|
enabled: boolean?,
|
|
control_enabled: boolean?,
|
|
feedback_enabled: boolean?,
|
|
activation_condition: ActivationCondition?,
|
|
on_activate: LifecycleHook?,
|
|
on_deactivate: LifecycleHook?,
|
|
source: Source?,
|
|
glue: Glue?,
|
|
target: Target?,
|
|
success_audio_feedback: SuccessAudioFeedback?,
|
|
unprocessed: { [string]: any }?,
|
|
}
|
|
--- Creates a Mapping value.
|
|
function module.Mapping(value: Mapping): Mapping
|
|
return value
|
|
end
|
|
|
|
export type LifecycleHook = {
|
|
send_midi_feedback: { SendMidiFeedbackAction }?,
|
|
}
|
|
--- Creates a LifecycleHook value.
|
|
function module.LifecycleHook(value: LifecycleHook): LifecycleHook
|
|
return value
|
|
end
|
|
|
|
export type SendMidiFeedbackAction_Raw = { kind: "Raw", message: RawMidiMessage }
|
|
export type SendMidiFeedbackAction = SendMidiFeedbackAction_Raw
|
|
|
|
--- A type that represents all possible kinds of SendMidiFeedbackAction.
|
|
export type SendMidiFeedbackActionKind = "Raw"
|
|
|
|
--- Helper table to create SendMidiFeedbackAction values of different kinds.
|
|
module.SendMidiFeedbackAction = {}
|
|
|
|
--- Creates a SendMidiFeedbackAction of kind Raw.
|
|
function module.SendMidiFeedbackAction.Raw(value: { message: RawMidiMessage }): SendMidiFeedbackAction_Raw
|
|
local t: any = table.clone(value)
|
|
t.kind = "Raw"
|
|
return t
|
|
end
|
|
|
|
export type RawMidiMessage_HexString = string
|
|
|
|
export type RawMidiMessage_ByteArray = { number }
|
|
export type RawMidiMessage = RawMidiMessage_HexString | RawMidiMessage_ByteArray
|
|
|
|
--- Creates a RawMidiMessage value.
|
|
function module.RawMidiMessage(value: RawMidiMessage): RawMidiMessage
|
|
return value
|
|
end
|
|
|
|
export type SuccessAudioFeedback_Simple = { kind: "Simple" }
|
|
export type SuccessAudioFeedback = SuccessAudioFeedback_Simple
|
|
|
|
--- A type that represents all possible kinds of SuccessAudioFeedback.
|
|
export type SuccessAudioFeedbackKind = "Simple"
|
|
|
|
--- Helper table to create SuccessAudioFeedback values of different kinds.
|
|
module.SuccessAudioFeedback = {}
|
|
|
|
--- Creates a SuccessAudioFeedback of kind Simple.
|
|
function module.SuccessAudioFeedback.Simple(): SuccessAudioFeedback_Simple
|
|
return {
|
|
kind = "Simple",
|
|
}
|
|
end
|
|
|
|
export type ActivationCondition_Modifier = { kind: "Modifier", modifiers: { ModifierState }? }
|
|
|
|
export type ActivationCondition_Bank = { kind: "Bank", parameter: ParamRef, bank_index: number }
|
|
|
|
export type ActivationCondition_Eel = { kind: "Eel", condition: string }
|
|
|
|
export type ActivationCondition_Expression = { kind: "Expression", condition: string }
|
|
|
|
export type ActivationCondition_TargetValue = { kind: "TargetValue", mapping: string?, condition: string }
|
|
export type ActivationCondition =
|
|
ActivationCondition_Modifier
|
|
| ActivationCondition_Bank
|
|
| ActivationCondition_Eel
|
|
| ActivationCondition_Expression
|
|
| ActivationCondition_TargetValue
|
|
|
|
--- A type that represents all possible kinds of ActivationCondition.
|
|
export type ActivationConditionKind = "Modifier" | "Bank" | "Eel" | "Expression" | "TargetValue"
|
|
|
|
--- Helper table to create ActivationCondition values of different kinds.
|
|
module.ActivationCondition = {}
|
|
|
|
--- Creates a ActivationCondition of kind Modifier.
|
|
function module.ActivationCondition.Modifier(value: ModifierActivationCondition): ActivationCondition_Modifier
|
|
local t: any = table.clone(value)
|
|
t.kind = "Modifier"
|
|
return t
|
|
end
|
|
|
|
--- Creates a ActivationCondition of kind Bank.
|
|
function module.ActivationCondition.Bank(value: BankActivationCondition): ActivationCondition_Bank
|
|
local t: any = table.clone(value)
|
|
t.kind = "Bank"
|
|
return t
|
|
end
|
|
|
|
--- Creates a ActivationCondition of kind Eel.
|
|
function module.ActivationCondition.Eel(value: EelActivationCondition): ActivationCondition_Eel
|
|
local t: any = table.clone(value)
|
|
t.kind = "Eel"
|
|
return t
|
|
end
|
|
|
|
--- Creates a ActivationCondition of kind Expression.
|
|
function module.ActivationCondition.Expression(value: ExpressionActivationCondition): ActivationCondition_Expression
|
|
local t: any = table.clone(value)
|
|
t.kind = "Expression"
|
|
return t
|
|
end
|
|
|
|
--- Creates a ActivationCondition of kind TargetValue.
|
|
function module.ActivationCondition.TargetValue(value: TargetValueActivationCondition): ActivationCondition_TargetValue
|
|
local t: any = table.clone(value)
|
|
t.kind = "TargetValue"
|
|
return t
|
|
end
|
|
|
|
export type ModifierActivationCondition = {
|
|
modifiers: { ModifierState }?,
|
|
}
|
|
--- Creates a ModifierActivationCondition value.
|
|
function module.ModifierActivationCondition(value: ModifierActivationCondition): ModifierActivationCondition
|
|
return value
|
|
end
|
|
|
|
export type ModifierState = {
|
|
parameter: ParamRef,
|
|
on: boolean,
|
|
}
|
|
--- Creates a ModifierState value.
|
|
function module.ModifierState(value: ModifierState): ModifierState
|
|
return value
|
|
end
|
|
|
|
export type BankActivationCondition = {
|
|
parameter: ParamRef,
|
|
bank_index: number,
|
|
}
|
|
--- Creates a BankActivationCondition value.
|
|
function module.BankActivationCondition(value: BankActivationCondition): BankActivationCondition
|
|
return value
|
|
end
|
|
|
|
export type EelActivationCondition = {
|
|
condition: string,
|
|
}
|
|
--- Creates a EelActivationCondition value.
|
|
function module.EelActivationCondition(value: EelActivationCondition): EelActivationCondition
|
|
return value
|
|
end
|
|
|
|
export type ExpressionActivationCondition = {
|
|
condition: string,
|
|
}
|
|
--- Creates a ExpressionActivationCondition value.
|
|
function module.ExpressionActivationCondition(value: ExpressionActivationCondition): ExpressionActivationCondition
|
|
return value
|
|
end
|
|
|
|
export type TargetValueActivationCondition = {
|
|
mapping: string?,
|
|
condition: string,
|
|
}
|
|
--- Creates a TargetValueActivationCondition value.
|
|
function module.TargetValueActivationCondition(value: TargetValueActivationCondition): TargetValueActivationCondition
|
|
return value
|
|
end
|
|
|
|
export type ParamRef_Index = number
|
|
|
|
export type ParamRef_Key = string
|
|
export type ParamRef = ParamRef_Index | ParamRef_Key
|
|
|
|
--- Creates a ParamRef value.
|
|
function module.ParamRef(value: ParamRef): ParamRef
|
|
return value
|
|
end
|
|
|
|
export type VirtualControlElementId_Indexed = number
|
|
|
|
export type VirtualControlElementId_Named = string
|
|
export type VirtualControlElementId = VirtualControlElementId_Indexed | VirtualControlElementId_Named
|
|
|
|
--- Creates a VirtualControlElementId value.
|
|
function module.VirtualControlElementId(value: VirtualControlElementId): VirtualControlElementId
|
|
return value
|
|
end
|
|
|
|
export type VirtualControlElementCharacter = "Multi" | "Button"
|
|
|
|
export type OscArgument = {
|
|
index: number?,
|
|
arg_kind: OscArgKind?,
|
|
value_range: Interval<number>?,
|
|
}
|
|
--- Creates a OscArgument value.
|
|
function module.OscArgument(value: OscArgument): OscArgument
|
|
return value
|
|
end
|
|
|
|
export type OscArgKind =
|
|
"Float"
|
|
| "Double"
|
|
| "Bool"
|
|
| "Nil"
|
|
| "Inf"
|
|
| "Int"
|
|
| "String"
|
|
| "Blob"
|
|
| "Time"
|
|
| "Long"
|
|
| "Char"
|
|
| "Color"
|
|
| "Midi"
|
|
| "Array"
|
|
|
|
export type Parameter = {
|
|
index: number,
|
|
id: string?,
|
|
name: string?,
|
|
value_count: number?,
|
|
value_labels: { string }?,
|
|
}
|
|
--- Creates a Parameter value.
|
|
function module.Parameter(value: Parameter): Parameter
|
|
return value
|
|
end
|
|
|
|
export type Source_None = { kind: "None" }
|
|
|
|
export type Source_MidiDeviceChanges = { kind: "MidiDeviceChanges" }
|
|
|
|
export type Source_RealearnInstanceStart = { kind: "RealearnInstanceStart" }
|
|
|
|
export type Source_RealearnCompartmentLoaded = { kind: "RealearnCompartmentLoaded" }
|
|
|
|
export type Source_Timer = { kind: "Timer", duration: number }
|
|
|
|
export type Source_RealearnParameter = { kind: "RealearnParameter", parameter_index: number }
|
|
|
|
export type Source_Speech = { kind: "Speech" }
|
|
|
|
export type Source_MidiNoteVelocity = {
|
|
kind: "MidiNoteVelocity",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
key_number: number?,
|
|
}
|
|
|
|
export type Source_MidiNoteKeyNumber = {
|
|
kind: "MidiNoteKeyNumber",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
|
|
export type Source_MidiPolyphonicKeyPressureAmount = {
|
|
kind: "MidiPolyphonicKeyPressureAmount",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
key_number: number?,
|
|
}
|
|
|
|
export type Source_MidiControlChangeValue = {
|
|
kind: "MidiControlChangeValue",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
controller_number: number?,
|
|
character: SourceCharacter?,
|
|
fourteen_bit: boolean?,
|
|
}
|
|
|
|
export type Source_MidiProgramChangeNumber = {
|
|
kind: "MidiProgramChangeNumber",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
|
|
export type Source_MidiSpecificProgramChange = {
|
|
kind: "MidiSpecificProgramChange",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
program_number: number?,
|
|
}
|
|
|
|
export type Source_MidiChannelPressureAmount = {
|
|
kind: "MidiChannelPressureAmount",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
|
|
export type Source_MidiPitchBendChangeValue = {
|
|
kind: "MidiPitchBendChangeValue",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
|
|
export type Source_MidiParameterNumberValue = {
|
|
kind: "MidiParameterNumberValue",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
number: number?,
|
|
fourteen_bit: boolean?,
|
|
registered: boolean?,
|
|
character: SourceCharacter?,
|
|
}
|
|
|
|
export type Source_MidiClockTempo = { kind: "MidiClockTempo" }
|
|
|
|
export type Source_MidiClockTransport = { kind: "MidiClockTransport", message: MidiClockTransportMessage? }
|
|
|
|
export type Source_MidiRaw = {
|
|
kind: "MidiRaw",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
pattern: string?,
|
|
character: SourceCharacter?,
|
|
}
|
|
|
|
export type Source_MidiScript = { kind: "MidiScript", script_kind: MidiScriptKind?, script: string? }
|
|
|
|
export type Source_MackieLcd = { kind: "MackieLcd", extender_index: number?, channel: number?, line: number? }
|
|
|
|
export type Source_XTouchMackieLcd = { kind: "XTouchMackieLcd", extender_index: number?, channel: number?, line: number? }
|
|
|
|
export type Source_MackieSevenSegmentDisplay = {
|
|
kind: "MackieSevenSegmentDisplay",
|
|
scope: MackieSevenSegmentDisplayScope?,
|
|
}
|
|
|
|
export type Source_SlKeyboardDisplay = { kind: "SlKeyboardDisplay", section: number?, line: number? }
|
|
|
|
export type Source_SiniConE24Display = { kind: "SiniConE24Display", cell_index: number?, item_index: number? }
|
|
|
|
export type Source_LaunchpadProScrollingTextDisplay = { kind: "LaunchpadProScrollingTextDisplay" }
|
|
|
|
export type Source_Osc = {
|
|
kind: "Osc",
|
|
feedback_behavior: FeedbackBehavior?,
|
|
address: string?,
|
|
argument: OscArgument?,
|
|
relative: boolean?,
|
|
feedback_arguments: { string }?,
|
|
}
|
|
|
|
export type Source_Key = { kind: "Key", keystroke: Keystroke? }
|
|
|
|
export type Source_StreamDeck = { kind: "StreamDeck", button_index: number, button_design: StreamDeckButtonDesign? }
|
|
|
|
export type Source_Virtual = { kind: "Virtual", id: VirtualControlElementId, character: VirtualControlElementCharacter? }
|
|
export type Source =
|
|
Source_None
|
|
| Source_MidiDeviceChanges
|
|
| Source_RealearnInstanceStart
|
|
| Source_RealearnCompartmentLoaded
|
|
| Source_Timer
|
|
| Source_RealearnParameter
|
|
| Source_Speech
|
|
| Source_MidiNoteVelocity
|
|
| Source_MidiNoteKeyNumber
|
|
| Source_MidiPolyphonicKeyPressureAmount
|
|
| Source_MidiControlChangeValue
|
|
| Source_MidiProgramChangeNumber
|
|
| Source_MidiSpecificProgramChange
|
|
| Source_MidiChannelPressureAmount
|
|
| Source_MidiPitchBendChangeValue
|
|
| Source_MidiParameterNumberValue
|
|
| Source_MidiClockTempo
|
|
| Source_MidiClockTransport
|
|
| Source_MidiRaw
|
|
| Source_MidiScript
|
|
| Source_MackieLcd
|
|
| Source_XTouchMackieLcd
|
|
| Source_MackieSevenSegmentDisplay
|
|
| Source_SlKeyboardDisplay
|
|
| Source_SiniConE24Display
|
|
| Source_LaunchpadProScrollingTextDisplay
|
|
| Source_Osc
|
|
| Source_Key
|
|
| Source_StreamDeck
|
|
| Source_Virtual
|
|
|
|
--- A type that represents all possible kinds of Source.
|
|
export type SourceKind =
|
|
"None"
|
|
| "MidiDeviceChanges"
|
|
| "RealearnInstanceStart"
|
|
| "RealearnCompartmentLoaded"
|
|
| "Timer"
|
|
| "RealearnParameter"
|
|
| "Speech"
|
|
| "MidiNoteVelocity"
|
|
| "MidiNoteKeyNumber"
|
|
| "MidiPolyphonicKeyPressureAmount"
|
|
| "MidiControlChangeValue"
|
|
| "MidiProgramChangeNumber"
|
|
| "MidiSpecificProgramChange"
|
|
| "MidiChannelPressureAmount"
|
|
| "MidiPitchBendChangeValue"
|
|
| "MidiParameterNumberValue"
|
|
| "MidiClockTempo"
|
|
| "MidiClockTransport"
|
|
| "MidiRaw"
|
|
| "MidiScript"
|
|
| "MackieLcd"
|
|
| "XTouchMackieLcd"
|
|
| "MackieSevenSegmentDisplay"
|
|
| "SlKeyboardDisplay"
|
|
| "SiniConE24Display"
|
|
| "LaunchpadProScrollingTextDisplay"
|
|
| "Osc"
|
|
| "Key"
|
|
| "StreamDeck"
|
|
| "Virtual"
|
|
|
|
--- Helper table to create Source values of different kinds.
|
|
module.Source = {}
|
|
|
|
--- Creates a Source of kind None.
|
|
function module.Source.None(): Source_None
|
|
return {
|
|
kind = "None",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind MidiDeviceChanges.
|
|
function module.Source.MidiDeviceChanges(): Source_MidiDeviceChanges
|
|
return {
|
|
kind = "MidiDeviceChanges",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind RealearnInstanceStart.
|
|
function module.Source.RealearnInstanceStart(): Source_RealearnInstanceStart
|
|
return {
|
|
kind = "RealearnInstanceStart",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind RealearnCompartmentLoaded.
|
|
function module.Source.RealearnCompartmentLoaded(): Source_RealearnCompartmentLoaded
|
|
return {
|
|
kind = "RealearnCompartmentLoaded",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind Timer.
|
|
function module.Source.Timer(value: TimerSource): Source_Timer
|
|
local t: any = table.clone(value)
|
|
t.kind = "Timer"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind RealearnParameter.
|
|
function module.Source.RealearnParameter(value: RealearnParameterSource): Source_RealearnParameter
|
|
local t: any = table.clone(value)
|
|
t.kind = "RealearnParameter"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind Speech.
|
|
function module.Source.Speech(): Source_Speech
|
|
return {
|
|
kind = "Speech",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind MidiNoteVelocity.
|
|
function module.Source.MidiNoteVelocity(value: MidiNoteVelocitySource): Source_MidiNoteVelocity
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiNoteVelocity"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiNoteKeyNumber.
|
|
function module.Source.MidiNoteKeyNumber(value: MidiNoteKeyNumberSource): Source_MidiNoteKeyNumber
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiNoteKeyNumber"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiPolyphonicKeyPressureAmount.
|
|
function module.Source.MidiPolyphonicKeyPressureAmount(
|
|
value: MidiPolyphonicKeyPressureAmountSource
|
|
): Source_MidiPolyphonicKeyPressureAmount
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiPolyphonicKeyPressureAmount"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiControlChangeValue.
|
|
function module.Source.MidiControlChangeValue(value: MidiControlChangeValueSource): Source_MidiControlChangeValue
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiControlChangeValue"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiProgramChangeNumber.
|
|
function module.Source.MidiProgramChangeNumber(value: MidiProgramChangeNumberSource): Source_MidiProgramChangeNumber
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiProgramChangeNumber"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiSpecificProgramChange.
|
|
function module.Source.MidiSpecificProgramChange(
|
|
value: MidiSpecificProgramChangeSource
|
|
): Source_MidiSpecificProgramChange
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiSpecificProgramChange"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiChannelPressureAmount.
|
|
function module.Source.MidiChannelPressureAmount(
|
|
value: MidiChannelPressureAmountSource
|
|
): Source_MidiChannelPressureAmount
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiChannelPressureAmount"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiPitchBendChangeValue.
|
|
function module.Source.MidiPitchBendChangeValue(value: MidiPitchBendChangeValueSource): Source_MidiPitchBendChangeValue
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiPitchBendChangeValue"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiParameterNumberValue.
|
|
function module.Source.MidiParameterNumberValue(value: MidiParameterNumberValueSource): Source_MidiParameterNumberValue
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiParameterNumberValue"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiClockTempo.
|
|
function module.Source.MidiClockTempo(): Source_MidiClockTempo
|
|
return {
|
|
kind = "MidiClockTempo",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind MidiClockTransport.
|
|
function module.Source.MidiClockTransport(value: MidiClockTransportSource): Source_MidiClockTransport
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiClockTransport"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiRaw.
|
|
function module.Source.MidiRaw(value: MidiRawSource): Source_MidiRaw
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiRaw"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MidiScript.
|
|
function module.Source.MidiScript(value: MidiScriptSource): Source_MidiScript
|
|
local t: any = table.clone(value)
|
|
t.kind = "MidiScript"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MackieLcd.
|
|
function module.Source.MackieLcd(value: MackieLcdSource): Source_MackieLcd
|
|
local t: any = table.clone(value)
|
|
t.kind = "MackieLcd"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind XTouchMackieLcd.
|
|
function module.Source.XTouchMackieLcd(value: XTouchMackieLcdSource): Source_XTouchMackieLcd
|
|
local t: any = table.clone(value)
|
|
t.kind = "XTouchMackieLcd"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind MackieSevenSegmentDisplay.
|
|
function module.Source.MackieSevenSegmentDisplay(
|
|
value: MackieSevenSegmentDisplaySource
|
|
): Source_MackieSevenSegmentDisplay
|
|
local t: any = table.clone(value)
|
|
t.kind = "MackieSevenSegmentDisplay"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind SlKeyboardDisplay.
|
|
function module.Source.SlKeyboardDisplay(value: SlKeyboardDisplaySource): Source_SlKeyboardDisplay
|
|
local t: any = table.clone(value)
|
|
t.kind = "SlKeyboardDisplay"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind SiniConE24Display.
|
|
function module.Source.SiniConE24Display(value: SiniConE24DisplaySource): Source_SiniConE24Display
|
|
local t: any = table.clone(value)
|
|
t.kind = "SiniConE24Display"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind LaunchpadProScrollingTextDisplay.
|
|
function module.Source.LaunchpadProScrollingTextDisplay(): Source_LaunchpadProScrollingTextDisplay
|
|
return {
|
|
kind = "LaunchpadProScrollingTextDisplay",
|
|
}
|
|
end
|
|
|
|
--- Creates a Source of kind Osc.
|
|
function module.Source.Osc(value: OscSource): Source_Osc
|
|
local t: any = table.clone(value)
|
|
t.kind = "Osc"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind Key.
|
|
function module.Source.Key(value: KeySource): Source_Key
|
|
local t: any = table.clone(value)
|
|
t.kind = "Key"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind StreamDeck.
|
|
function module.Source.StreamDeck(value: StreamDeckSource): Source_StreamDeck
|
|
local t: any = table.clone(value)
|
|
t.kind = "StreamDeck"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Source of kind Virtual.
|
|
function module.Source.Virtual(value: VirtualSource): Source_Virtual
|
|
local t: any = table.clone(value)
|
|
t.kind = "Virtual"
|
|
return t
|
|
end
|
|
|
|
export type FeedbackBehavior = "Normal" | "SendFeedbackAfterControl" | "PreventEchoFeedback"
|
|
|
|
export type MidiNoteVelocitySource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
key_number: number?,
|
|
}
|
|
--- Creates a MidiNoteVelocitySource value.
|
|
function module.MidiNoteVelocitySource(value: MidiNoteVelocitySource): MidiNoteVelocitySource
|
|
return value
|
|
end
|
|
|
|
export type MidiNoteKeyNumberSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
--- Creates a MidiNoteKeyNumberSource value.
|
|
function module.MidiNoteKeyNumberSource(value: MidiNoteKeyNumberSource): MidiNoteKeyNumberSource
|
|
return value
|
|
end
|
|
|
|
export type MidiPolyphonicKeyPressureAmountSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
key_number: number?,
|
|
}
|
|
--- Creates a MidiPolyphonicKeyPressureAmountSource value.
|
|
function module.MidiPolyphonicKeyPressureAmountSource(
|
|
value: MidiPolyphonicKeyPressureAmountSource
|
|
): MidiPolyphonicKeyPressureAmountSource
|
|
return value
|
|
end
|
|
|
|
export type MidiControlChangeValueSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
controller_number: number?,
|
|
character: SourceCharacter?,
|
|
fourteen_bit: boolean?,
|
|
}
|
|
--- Creates a MidiControlChangeValueSource value.
|
|
function module.MidiControlChangeValueSource(value: MidiControlChangeValueSource): MidiControlChangeValueSource
|
|
return value
|
|
end
|
|
|
|
export type MidiProgramChangeNumberSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
--- Creates a MidiProgramChangeNumberSource value.
|
|
function module.MidiProgramChangeNumberSource(value: MidiProgramChangeNumberSource): MidiProgramChangeNumberSource
|
|
return value
|
|
end
|
|
|
|
export type MidiSpecificProgramChangeSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
program_number: number?,
|
|
}
|
|
--- Creates a MidiSpecificProgramChangeSource value.
|
|
function module.MidiSpecificProgramChangeSource(value: MidiSpecificProgramChangeSource): MidiSpecificProgramChangeSource
|
|
return value
|
|
end
|
|
|
|
export type MidiChannelPressureAmountSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
--- Creates a MidiChannelPressureAmountSource value.
|
|
function module.MidiChannelPressureAmountSource(value: MidiChannelPressureAmountSource): MidiChannelPressureAmountSource
|
|
return value
|
|
end
|
|
|
|
export type MidiPitchBendChangeValueSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
}
|
|
--- Creates a MidiPitchBendChangeValueSource value.
|
|
function module.MidiPitchBendChangeValueSource(value: MidiPitchBendChangeValueSource): MidiPitchBendChangeValueSource
|
|
return value
|
|
end
|
|
|
|
export type MidiParameterNumberValueSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
channel: number?,
|
|
number: number?,
|
|
fourteen_bit: boolean?,
|
|
registered: boolean?,
|
|
character: SourceCharacter?,
|
|
}
|
|
--- Creates a MidiParameterNumberValueSource value.
|
|
function module.MidiParameterNumberValueSource(value: MidiParameterNumberValueSource): MidiParameterNumberValueSource
|
|
return value
|
|
end
|
|
|
|
export type MidiClockTransportSource = {
|
|
message: MidiClockTransportMessage?,
|
|
}
|
|
--- Creates a MidiClockTransportSource value.
|
|
function module.MidiClockTransportSource(value: MidiClockTransportSource): MidiClockTransportSource
|
|
return value
|
|
end
|
|
|
|
export type MidiRawSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
pattern: string?,
|
|
character: SourceCharacter?,
|
|
}
|
|
--- Creates a MidiRawSource value.
|
|
function module.MidiRawSource(value: MidiRawSource): MidiRawSource
|
|
return value
|
|
end
|
|
|
|
export type MidiScriptSource = {
|
|
script_kind: MidiScriptKind?,
|
|
script: string?,
|
|
}
|
|
--- Creates a MidiScriptSource value.
|
|
function module.MidiScriptSource(value: MidiScriptSource): MidiScriptSource
|
|
return value
|
|
end
|
|
|
|
--- Kind of a MIDI script
|
|
export type MidiScriptKind = "Eel" | "Lua"
|
|
|
|
export type SourceCharacter = "Range" | "Button" | "Relative1" | "Relative2" | "Relative3" | "StatefulButton"
|
|
|
|
export type MidiClockTransportMessage = "Start" | "Continue" | "Stop"
|
|
|
|
export type MackieLcdSource = {
|
|
extender_index: number?,
|
|
channel: number?,
|
|
line: number?,
|
|
}
|
|
--- Creates a MackieLcdSource value.
|
|
function module.MackieLcdSource(value: MackieLcdSource): MackieLcdSource
|
|
return value
|
|
end
|
|
|
|
export type XTouchMackieLcdSource = {
|
|
extender_index: number?,
|
|
channel: number?,
|
|
line: number?,
|
|
}
|
|
--- Creates a XTouchMackieLcdSource value.
|
|
function module.XTouchMackieLcdSource(value: XTouchMackieLcdSource): XTouchMackieLcdSource
|
|
return value
|
|
end
|
|
|
|
export type SlKeyboardDisplaySource = {
|
|
section: number?,
|
|
line: number?,
|
|
}
|
|
--- Creates a SlKeyboardDisplaySource value.
|
|
function module.SlKeyboardDisplaySource(value: SlKeyboardDisplaySource): SlKeyboardDisplaySource
|
|
return value
|
|
end
|
|
|
|
export type MackieSevenSegmentDisplaySource = {
|
|
scope: MackieSevenSegmentDisplayScope?,
|
|
}
|
|
--- Creates a MackieSevenSegmentDisplaySource value.
|
|
function module.MackieSevenSegmentDisplaySource(value: MackieSevenSegmentDisplaySource): MackieSevenSegmentDisplaySource
|
|
return value
|
|
end
|
|
|
|
export type MackieSevenSegmentDisplayScope =
|
|
"All"
|
|
| "Assignment"
|
|
| "Tc"
|
|
| "TcHoursBars"
|
|
| "TcMinutesBeats"
|
|
| "TcSecondsSub"
|
|
| "TcFramesTicks"
|
|
|
|
export type SiniConE24DisplaySource = {
|
|
cell_index: number?,
|
|
item_index: number?,
|
|
}
|
|
--- Creates a SiniConE24DisplaySource value.
|
|
function module.SiniConE24DisplaySource(value: SiniConE24DisplaySource): SiniConE24DisplaySource
|
|
return value
|
|
end
|
|
|
|
export type OscSource = {
|
|
feedback_behavior: FeedbackBehavior?,
|
|
address: string?,
|
|
argument: OscArgument?,
|
|
relative: boolean?,
|
|
feedback_arguments: { string }?,
|
|
}
|
|
--- Creates a OscSource value.
|
|
function module.OscSource(value: OscSource): OscSource
|
|
return value
|
|
end
|
|
|
|
export type RealearnParameterSource = {
|
|
parameter_index: number,
|
|
}
|
|
--- Creates a RealearnParameterSource value.
|
|
function module.RealearnParameterSource(value: RealearnParameterSource): RealearnParameterSource
|
|
return value
|
|
end
|
|
|
|
export type TimerSource = {
|
|
duration: number,
|
|
}
|
|
--- Creates a TimerSource value.
|
|
function module.TimerSource(value: TimerSource): TimerSource
|
|
return value
|
|
end
|
|
|
|
export type KeySource = {
|
|
keystroke: Keystroke?,
|
|
}
|
|
--- Creates a KeySource value.
|
|
function module.KeySource(value: KeySource): KeySource
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckSource = {
|
|
button_index: number,
|
|
button_design: StreamDeckButtonDesign?,
|
|
}
|
|
--- Creates a StreamDeckSource value.
|
|
function module.StreamDeckSource(value: StreamDeckSource): StreamDeckSource
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonDesign = {
|
|
background: StreamDeckButtonBackground?,
|
|
foreground: StreamDeckButtonForeground?,
|
|
static_text: string?,
|
|
}
|
|
--- Creates a StreamDeckButtonDesign value.
|
|
function module.StreamDeckButtonDesign(value: StreamDeckButtonDesign): StreamDeckButtonDesign
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonForeground_None = { kind: "None" }
|
|
|
|
export type StreamDeckButtonForeground_FadingColor = { kind: "FadingColor" }
|
|
|
|
export type StreamDeckButtonForeground_FadingImage = { kind: "FadingImage", path: string }
|
|
|
|
export type StreamDeckButtonForeground_SlidingImage = { kind: "SlidingImage", path: string }
|
|
|
|
export type StreamDeckButtonForeground_FullBar = { kind: "FullBar" }
|
|
|
|
export type StreamDeckButtonForeground_Knob = { kind: "Knob" }
|
|
export type StreamDeckButtonForeground =
|
|
StreamDeckButtonForeground_None
|
|
| StreamDeckButtonForeground_FadingColor
|
|
| StreamDeckButtonForeground_FadingImage
|
|
| StreamDeckButtonForeground_SlidingImage
|
|
| StreamDeckButtonForeground_FullBar
|
|
| StreamDeckButtonForeground_Knob
|
|
|
|
--- A type that represents all possible kinds of StreamDeckButtonForeground.
|
|
export type StreamDeckButtonForegroundKind = "None" | "FadingColor" | "FadingImage" | "SlidingImage" | "FullBar" | "Knob"
|
|
|
|
--- Helper table to create StreamDeckButtonForeground values of different kinds.
|
|
module.StreamDeckButtonForeground = {}
|
|
|
|
--- Creates a StreamDeckButtonForeground of kind None.
|
|
function module.StreamDeckButtonForeground.None(): StreamDeckButtonForeground_None
|
|
return {
|
|
kind = "None",
|
|
}
|
|
end
|
|
|
|
--- Creates a StreamDeckButtonForeground of kind FadingColor.
|
|
function module.StreamDeckButtonForeground.FadingColor(
|
|
value: StreamDeckButtonFadingColorForeground
|
|
): StreamDeckButtonForeground_FadingColor
|
|
local t: any = table.clone(value)
|
|
t.kind = "FadingColor"
|
|
return t
|
|
end
|
|
|
|
--- Creates a StreamDeckButtonForeground of kind FadingImage.
|
|
function module.StreamDeckButtonForeground.FadingImage(
|
|
value: StreamDeckButtonFadingImageForeground
|
|
): StreamDeckButtonForeground_FadingImage
|
|
local t: any = table.clone(value)
|
|
t.kind = "FadingImage"
|
|
return t
|
|
end
|
|
|
|
--- Creates a StreamDeckButtonForeground of kind SlidingImage.
|
|
function module.StreamDeckButtonForeground.SlidingImage(
|
|
value: StreamDeckButtonSlidingImageForeground
|
|
): StreamDeckButtonForeground_SlidingImage
|
|
local t: any = table.clone(value)
|
|
t.kind = "SlidingImage"
|
|
return t
|
|
end
|
|
|
|
--- Creates a StreamDeckButtonForeground of kind FullBar.
|
|
function module.StreamDeckButtonForeground.FullBar(
|
|
value: StreamDeckButtonFullBarForeground
|
|
): StreamDeckButtonForeground_FullBar
|
|
local t: any = table.clone(value)
|
|
t.kind = "FullBar"
|
|
return t
|
|
end
|
|
|
|
--- Creates a StreamDeckButtonForeground of kind Knob.
|
|
function module.StreamDeckButtonForeground.Knob(value: StreamDeckButtonKnobForeground): StreamDeckButtonForeground_Knob
|
|
local t: any = table.clone(value)
|
|
t.kind = "Knob"
|
|
return t
|
|
end
|
|
|
|
export type StreamDeckButtonBackground_Color = { kind: "Color" }
|
|
|
|
export type StreamDeckButtonBackground_Image = { kind: "Image", path: string }
|
|
export type StreamDeckButtonBackground = StreamDeckButtonBackground_Color | StreamDeckButtonBackground_Image
|
|
|
|
--- A type that represents all possible kinds of StreamDeckButtonBackground.
|
|
export type StreamDeckButtonBackgroundKind = "Color" | "Image"
|
|
|
|
--- Helper table to create StreamDeckButtonBackground values of different kinds.
|
|
module.StreamDeckButtonBackground = {}
|
|
|
|
--- Creates a StreamDeckButtonBackground of kind Color.
|
|
function module.StreamDeckButtonBackground.Color(
|
|
value: StreamDeckButtonColorBackground
|
|
): StreamDeckButtonBackground_Color
|
|
local t: any = table.clone(value)
|
|
t.kind = "Color"
|
|
return t
|
|
end
|
|
|
|
--- Creates a StreamDeckButtonBackground of kind Image.
|
|
function module.StreamDeckButtonBackground.Image(
|
|
value: StreamDeckButtonImageBackground
|
|
): StreamDeckButtonBackground_Image
|
|
local t: any = table.clone(value)
|
|
t.kind = "Image"
|
|
return t
|
|
end
|
|
|
|
export type StreamDeckButtonFadingImageForeground = {
|
|
path: string,
|
|
}
|
|
--- Creates a StreamDeckButtonFadingImageForeground value.
|
|
function module.StreamDeckButtonFadingImageForeground(
|
|
value: StreamDeckButtonFadingImageForeground
|
|
): StreamDeckButtonFadingImageForeground
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonSlidingImageForeground = {
|
|
path: string,
|
|
}
|
|
--- Creates a StreamDeckButtonSlidingImageForeground value.
|
|
function module.StreamDeckButtonSlidingImageForeground(
|
|
value: StreamDeckButtonSlidingImageForeground
|
|
): StreamDeckButtonSlidingImageForeground
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonFadingColorForeground = {}
|
|
--- Creates a StreamDeckButtonFadingColorForeground value.
|
|
function module.StreamDeckButtonFadingColorForeground(
|
|
value: StreamDeckButtonFadingColorForeground
|
|
): StreamDeckButtonFadingColorForeground
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonFullBarForeground = {}
|
|
--- Creates a StreamDeckButtonFullBarForeground value.
|
|
function module.StreamDeckButtonFullBarForeground(
|
|
value: StreamDeckButtonFullBarForeground
|
|
): StreamDeckButtonFullBarForeground
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonKnobForeground = {}
|
|
--- Creates a StreamDeckButtonKnobForeground value.
|
|
function module.StreamDeckButtonKnobForeground(value: StreamDeckButtonKnobForeground): StreamDeckButtonKnobForeground
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonImageBackground = {
|
|
path: string,
|
|
}
|
|
--- Creates a StreamDeckButtonImageBackground value.
|
|
function module.StreamDeckButtonImageBackground(value: StreamDeckButtonImageBackground): StreamDeckButtonImageBackground
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckButtonColorBackground = {}
|
|
--- Creates a StreamDeckButtonColorBackground value.
|
|
function module.StreamDeckButtonColorBackground(value: StreamDeckButtonColorBackground): StreamDeckButtonColorBackground
|
|
return value
|
|
end
|
|
|
|
export type Keystroke = {
|
|
modifiers: number,
|
|
key: number,
|
|
}
|
|
--- Creates a Keystroke value.
|
|
function module.Keystroke(value: Keystroke): Keystroke
|
|
return value
|
|
end
|
|
|
|
export type VirtualSource = {
|
|
id: VirtualControlElementId,
|
|
character: VirtualControlElementCharacter?,
|
|
}
|
|
--- Creates a VirtualSource value.
|
|
function module.VirtualSource(value: VirtualSource): VirtualSource
|
|
return value
|
|
end
|
|
|
|
export type LearnableTargetKind =
|
|
"TrackVolume"
|
|
| "TrackPan"
|
|
| "RouteVolume"
|
|
| "RoutePan"
|
|
| "TrackArmState"
|
|
| "TrackMuteState"
|
|
| "TrackSoloState"
|
|
| "TrackSelectionState"
|
|
| "FxOnOffState"
|
|
| "FxParameterValue"
|
|
| "BrowseFxPresets"
|
|
| "PlayRate"
|
|
| "Tempo"
|
|
| "TrackAutomationMode"
|
|
| "TrackMonitoringMode"
|
|
| "AutomationModeOverride"
|
|
| "ReaperAction"
|
|
| "TransportAction"
|
|
|
|
--- Which target invocations to observe, based on causality. E.g. only those not triggered by
|
|
--- ReaLearn (would pick up invocations triggered by mouse interaction with REAPER but not by
|
|
--- ReaLearn mapping control).
|
|
export type TargetTouchCause = "Any" | "Realearn" | "Reaper"
|
|
|
|
export type Target_Mouse = { kind: "Mouse", unit: TargetUnit?, action: MouseAction }
|
|
|
|
export type Target_LastTouched = {
|
|
kind: "LastTouched",
|
|
unit: TargetUnit?,
|
|
included_targets: { LearnableTargetKind }?,
|
|
touch_cause: TargetTouchCause?,
|
|
}
|
|
|
|
export type Target_AutomationModeOverride = {
|
|
kind: "AutomationModeOverride",
|
|
unit: TargetUnit?,
|
|
override_value: AutomationModeOverride?,
|
|
}
|
|
|
|
export type Target_ReaperAction = {
|
|
kind: "ReaperAction",
|
|
unit: TargetUnit?,
|
|
scope: ActionScope?,
|
|
command: ReaperCommand?,
|
|
invocation: ActionInvocationKind?,
|
|
track: TrackDescriptor?,
|
|
}
|
|
|
|
export type Target_TransportAction = { kind: "TransportAction", unit: TargetUnit?, action: TransportAction }
|
|
|
|
export type Target_AnyOn = { kind: "AnyOn", unit: TargetUnit?, parameter: AnyOnParameter }
|
|
|
|
export type Target_BrowseTracks = {
|
|
kind: "BrowseTracks",
|
|
unit: TargetUnit?,
|
|
scroll_arrange_view: boolean?,
|
|
scroll_mixer: boolean?,
|
|
mode: BrowseTracksMode?,
|
|
}
|
|
|
|
export type Target_Seek = {
|
|
kind: "Seek",
|
|
unit: TargetUnit?,
|
|
use_time_selection: boolean?,
|
|
use_loop_points: boolean?,
|
|
use_regions: boolean?,
|
|
use_project: boolean?,
|
|
move_view: boolean?,
|
|
seek_play: boolean?,
|
|
feedback_resolution: FeedbackResolution?,
|
|
behavior: SeekBehavior?,
|
|
}
|
|
|
|
export type Target_PlayRate = { kind: "PlayRate", unit: TargetUnit? }
|
|
|
|
export type Target_Tempo = { kind: "Tempo", unit: TargetUnit? }
|
|
|
|
export type Target_GoToBookmark = {
|
|
kind: "GoToBookmark",
|
|
unit: TargetUnit?,
|
|
bookmark: BookmarkDescriptor,
|
|
set_time_selection: boolean?,
|
|
set_loop_points: boolean?,
|
|
seek_behavior: SeekBehavior?,
|
|
}
|
|
|
|
export type Target_TrackArmState = {
|
|
kind: "TrackArmState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackParentSendState = {
|
|
kind: "TrackParentSendState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
}
|
|
|
|
export type Target_AllTrackFxOnOffState = {
|
|
kind: "AllTrackFxOnOffState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
|
|
export type Target_TrackMuteState = {
|
|
kind: "TrackMuteState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackPeak = { kind: "TrackPeak", unit: TargetUnit?, track: TrackDescriptor? }
|
|
|
|
export type Target_TrackPhase = {
|
|
kind: "TrackPhase",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
poll_for_feedback: boolean?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackSelectionState = {
|
|
kind: "TrackSelectionState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
scroll_arrange_view: boolean?,
|
|
scroll_mixer: boolean?,
|
|
}
|
|
|
|
export type Target_TrackAutomationMode = {
|
|
kind: "TrackAutomationMode",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
mode: AutomationMode,
|
|
}
|
|
|
|
export type Target_TrackMonitoringMode = {
|
|
kind: "TrackMonitoringMode",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
mode: MonitoringMode,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackAutomationTouchState = {
|
|
kind: "TrackAutomationTouchState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
touched_parameter: TouchedTrackParameter,
|
|
}
|
|
|
|
export type Target_TrackPan = {
|
|
kind: "TrackPan",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackWidth = {
|
|
kind: "TrackWidth",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackVolume = {
|
|
kind: "TrackVolume",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_TrackTool = {
|
|
kind: "TrackTool",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
action: TrackToolAction?,
|
|
instance_tags: { string }?,
|
|
}
|
|
|
|
export type Target_TrackVisibility = {
|
|
kind: "TrackVisibility",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
poll_for_feedback: boolean?,
|
|
area: TrackArea,
|
|
}
|
|
|
|
export type Target_TrackSoloState = {
|
|
kind: "TrackSoloState",
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
behavior: SoloBehavior?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
|
|
export type Target_BrowseFxChain = {
|
|
kind: "BrowseFxChain",
|
|
unit: TargetUnit?,
|
|
chain: FxChainDescriptor,
|
|
display_kind: FxDisplayKind?,
|
|
}
|
|
|
|
export type Target_FxOnOffState = { kind: "FxOnOffState", unit: TargetUnit?, fx: FxDescriptor? }
|
|
|
|
export type Target_FxOnlineOfflineState = { kind: "FxOnlineOfflineState", unit: TargetUnit?, fx: FxDescriptor? }
|
|
|
|
export type Target_LoadFxSnapshot = {
|
|
kind: "LoadFxSnapshot",
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
snapshot: FxSnapshot?,
|
|
}
|
|
|
|
export type Target_BrowseFxPresets = { kind: "BrowseFxPresets", unit: TargetUnit?, fx: FxDescriptor? }
|
|
|
|
export type Target_FxTool = {
|
|
kind: "FxTool",
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
action: FxToolAction?,
|
|
instance_tags: { string }?,
|
|
}
|
|
|
|
export type Target_FxVisibility = {
|
|
kind: "FxVisibility",
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
display_kind: FxDisplayKind?,
|
|
}
|
|
|
|
export type Target_FxParameterValue = {
|
|
kind: "FxParameterValue",
|
|
unit: TargetUnit?,
|
|
parameter: FxParameterDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
retrigger: boolean?,
|
|
real_time: boolean?,
|
|
}
|
|
|
|
export type Target_FxParameterAutomationTouchState = {
|
|
kind: "FxParameterAutomationTouchState",
|
|
unit: TargetUnit?,
|
|
parameter: FxParameterDescriptor,
|
|
}
|
|
|
|
export type Target_RouteAutomationMode = {
|
|
kind: "RouteAutomationMode",
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
mode: AutomationMode,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
|
|
export type Target_RouteMonoState = {
|
|
kind: "RouteMonoState",
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
|
|
export type Target_RouteMuteState = {
|
|
kind: "RouteMuteState",
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
|
|
export type Target_RoutePhase = {
|
|
kind: "RoutePhase",
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
|
|
export type Target_RoutePan = { kind: "RoutePan", unit: TargetUnit?, route: RouteDescriptor }
|
|
|
|
export type Target_RouteVolume = { kind: "RouteVolume", unit: TargetUnit?, route: RouteDescriptor }
|
|
|
|
export type Target_RouteTouchState = {
|
|
kind: "RouteTouchState",
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
touched_parameter: TouchedRouteParameter,
|
|
}
|
|
|
|
export type Target_PlaytimeSlotTransportAction = {
|
|
kind: "PlaytimeSlotTransportAction",
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
action: PlaytimeSlotTransportAction,
|
|
stop_column_if_slot_empty: boolean?,
|
|
}
|
|
|
|
export type Target_PlaytimeColumnAction = {
|
|
kind: "PlaytimeColumnAction",
|
|
unit: TargetUnit?,
|
|
column: PlaytimeColumnDescriptor,
|
|
action: PlaytimeColumnAction,
|
|
}
|
|
|
|
export type Target_PlaytimeRowAction = {
|
|
kind: "PlaytimeRowAction",
|
|
unit: TargetUnit?,
|
|
row: PlaytimeRowDescriptor,
|
|
action: PlaytimeRowAction,
|
|
}
|
|
|
|
export type Target_PlaytimeMatrixAction = {
|
|
kind: "PlaytimeMatrixAction",
|
|
unit: TargetUnit?,
|
|
action: PlaytimeMatrixAction,
|
|
}
|
|
|
|
export type Target_PlaytimeControlUnitScroll = { kind: "PlaytimeControlUnitScroll", unit: TargetUnit?, axis: Axis }
|
|
|
|
export type Target_PlaytimeBrowseCells = { kind: "PlaytimeBrowseCells", unit: TargetUnit?, axis: Axis }
|
|
|
|
export type Target_PlaytimeSlotSeek = {
|
|
kind: "PlaytimeSlotSeek",
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
feedback_resolution: FeedbackResolution?,
|
|
}
|
|
|
|
export type Target_PlaytimeSlotVolume = { kind: "PlaytimeSlotVolume", unit: TargetUnit?, slot: PlaytimeSlotDescriptor }
|
|
|
|
export type Target_PlaytimeSlotManagementAction = {
|
|
kind: "PlaytimeSlotManagementAction",
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
action: PlaytimeSlotManagementAction,
|
|
}
|
|
|
|
export type Target_SendMidi = { kind: "SendMidi", unit: TargetUnit?, message: string?, destination: SendMidiDestination? }
|
|
|
|
export type Target_SendOsc = {
|
|
kind: "SendOsc",
|
|
unit: TargetUnit?,
|
|
address: string?,
|
|
argument: OscArgument?,
|
|
destination: OscDestination?,
|
|
}
|
|
|
|
export type Target_Dummy = { kind: "Dummy", unit: TargetUnit? }
|
|
|
|
export type Target_EnableInstances = {
|
|
kind: "EnableInstances",
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
exclusivity: InstanceExclusivity?,
|
|
}
|
|
|
|
export type Target_EnableMappings = {
|
|
kind: "EnableMappings",
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
exclusivity: MappingExclusivity?,
|
|
}
|
|
|
|
export type Target_ModifyMapping = {
|
|
kind: "ModifyMapping",
|
|
unit: TargetUnit?,
|
|
session: string?,
|
|
mapping: string?,
|
|
modification: MappingModification,
|
|
}
|
|
|
|
export type Target_CompartmentParameterValue = {
|
|
kind: "CompartmentParameterValue",
|
|
unit: TargetUnit?,
|
|
parameter: CompartmentParameterDescriptor,
|
|
}
|
|
|
|
export type Target_LoadMappingSnapshot = {
|
|
kind: "LoadMappingSnapshot",
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
active_mappings_only: boolean?,
|
|
snapshot: MappingSnapshotDescForLoad?,
|
|
default_value: TargetValue?,
|
|
}
|
|
|
|
export type Target_TakeMappingSnapshot = {
|
|
kind: "TakeMappingSnapshot",
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
active_mappings_only: boolean?,
|
|
snapshot: BackwardCompatibleMappingSnapshotDescForTake,
|
|
}
|
|
|
|
export type Target_BrowseGroupMappings = {
|
|
kind: "BrowseGroupMappings",
|
|
unit: TargetUnit?,
|
|
exclusivity: GroupMappingExclusivity?,
|
|
group: string?,
|
|
}
|
|
|
|
export type Target_BrowsePotFilterItems = { kind: "BrowsePotFilterItems", unit: TargetUnit?, item_kind: PotFilterKind? }
|
|
|
|
export type Target_BrowsePotPresets = { kind: "BrowsePotPresets", unit: TargetUnit? }
|
|
|
|
export type Target_PreviewPotPreset = { kind: "PreviewPotPreset", unit: TargetUnit? }
|
|
|
|
export type Target_LoadPotPreset = { kind: "LoadPotPreset", unit: TargetUnit?, fx: FxDescriptor? }
|
|
|
|
export type Target_StreamDeckBrightness = { kind: "StreamDeckBrightness", unit: TargetUnit? }
|
|
|
|
export type Target_Virtual = {
|
|
kind: "Virtual",
|
|
id: VirtualControlElementId,
|
|
character: VirtualControlElementCharacter?,
|
|
learnable: boolean?,
|
|
}
|
|
export type Target =
|
|
Target_Mouse
|
|
| Target_LastTouched
|
|
| Target_AutomationModeOverride
|
|
| Target_ReaperAction
|
|
| Target_TransportAction
|
|
| Target_AnyOn
|
|
| Target_BrowseTracks
|
|
| Target_Seek
|
|
| Target_PlayRate
|
|
| Target_Tempo
|
|
| Target_GoToBookmark
|
|
| Target_TrackArmState
|
|
| Target_TrackParentSendState
|
|
| Target_AllTrackFxOnOffState
|
|
| Target_TrackMuteState
|
|
| Target_TrackPeak
|
|
| Target_TrackPhase
|
|
| Target_TrackSelectionState
|
|
| Target_TrackAutomationMode
|
|
| Target_TrackMonitoringMode
|
|
| Target_TrackAutomationTouchState
|
|
| Target_TrackPan
|
|
| Target_TrackWidth
|
|
| Target_TrackVolume
|
|
| Target_TrackTool
|
|
| Target_TrackVisibility
|
|
| Target_TrackSoloState
|
|
| Target_BrowseFxChain
|
|
| Target_FxOnOffState
|
|
| Target_FxOnlineOfflineState
|
|
| Target_LoadFxSnapshot
|
|
| Target_BrowseFxPresets
|
|
| Target_FxTool
|
|
| Target_FxVisibility
|
|
| Target_FxParameterValue
|
|
| Target_FxParameterAutomationTouchState
|
|
| Target_RouteAutomationMode
|
|
| Target_RouteMonoState
|
|
| Target_RouteMuteState
|
|
| Target_RoutePhase
|
|
| Target_RoutePan
|
|
| Target_RouteVolume
|
|
| Target_RouteTouchState
|
|
| Target_PlaytimeSlotTransportAction
|
|
| Target_PlaytimeColumnAction
|
|
| Target_PlaytimeRowAction
|
|
| Target_PlaytimeMatrixAction
|
|
| Target_PlaytimeControlUnitScroll
|
|
| Target_PlaytimeBrowseCells
|
|
| Target_PlaytimeSlotSeek
|
|
| Target_PlaytimeSlotVolume
|
|
| Target_PlaytimeSlotManagementAction
|
|
| Target_SendMidi
|
|
| Target_SendOsc
|
|
| Target_Dummy
|
|
| Target_EnableInstances
|
|
| Target_EnableMappings
|
|
| Target_ModifyMapping
|
|
| Target_CompartmentParameterValue
|
|
| Target_LoadMappingSnapshot
|
|
| Target_TakeMappingSnapshot
|
|
| Target_BrowseGroupMappings
|
|
| Target_BrowsePotFilterItems
|
|
| Target_BrowsePotPresets
|
|
| Target_PreviewPotPreset
|
|
| Target_LoadPotPreset
|
|
| Target_StreamDeckBrightness
|
|
| Target_Virtual
|
|
|
|
--- A type that represents all possible kinds of Target.
|
|
export type TargetKind =
|
|
"Mouse"
|
|
| "LastTouched"
|
|
| "AutomationModeOverride"
|
|
| "ReaperAction"
|
|
| "TransportAction"
|
|
| "AnyOn"
|
|
| "BrowseTracks"
|
|
| "Seek"
|
|
| "PlayRate"
|
|
| "Tempo"
|
|
| "GoToBookmark"
|
|
| "TrackArmState"
|
|
| "TrackParentSendState"
|
|
| "AllTrackFxOnOffState"
|
|
| "TrackMuteState"
|
|
| "TrackPeak"
|
|
| "TrackPhase"
|
|
| "TrackSelectionState"
|
|
| "TrackAutomationMode"
|
|
| "TrackMonitoringMode"
|
|
| "TrackAutomationTouchState"
|
|
| "TrackPan"
|
|
| "TrackWidth"
|
|
| "TrackVolume"
|
|
| "TrackTool"
|
|
| "TrackVisibility"
|
|
| "TrackSoloState"
|
|
| "BrowseFxChain"
|
|
| "FxOnOffState"
|
|
| "FxOnlineOfflineState"
|
|
| "LoadFxSnapshot"
|
|
| "BrowseFxPresets"
|
|
| "FxTool"
|
|
| "FxVisibility"
|
|
| "FxParameterValue"
|
|
| "FxParameterAutomationTouchState"
|
|
| "RouteAutomationMode"
|
|
| "RouteMonoState"
|
|
| "RouteMuteState"
|
|
| "RoutePhase"
|
|
| "RoutePan"
|
|
| "RouteVolume"
|
|
| "RouteTouchState"
|
|
| "PlaytimeSlotTransportAction"
|
|
| "PlaytimeColumnAction"
|
|
| "PlaytimeRowAction"
|
|
| "PlaytimeMatrixAction"
|
|
| "PlaytimeControlUnitScroll"
|
|
| "PlaytimeBrowseCells"
|
|
| "PlaytimeSlotSeek"
|
|
| "PlaytimeSlotVolume"
|
|
| "PlaytimeSlotManagementAction"
|
|
| "SendMidi"
|
|
| "SendOsc"
|
|
| "Dummy"
|
|
| "EnableInstances"
|
|
| "EnableMappings"
|
|
| "ModifyMapping"
|
|
| "CompartmentParameterValue"
|
|
| "LoadMappingSnapshot"
|
|
| "TakeMappingSnapshot"
|
|
| "BrowseGroupMappings"
|
|
| "BrowsePotFilterItems"
|
|
| "BrowsePotPresets"
|
|
| "PreviewPotPreset"
|
|
| "LoadPotPreset"
|
|
| "StreamDeckBrightness"
|
|
| "Virtual"
|
|
|
|
--- Helper table to create Target values of different kinds.
|
|
module.Target = {}
|
|
|
|
--- Creates a Target of kind Mouse.
|
|
function module.Target.Mouse(value: MouseTarget): Target_Mouse
|
|
local t: any = table.clone(value)
|
|
t.kind = "Mouse"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind LastTouched.
|
|
function module.Target.LastTouched(value: LastTouchedTarget): Target_LastTouched
|
|
local t: any = table.clone(value)
|
|
t.kind = "LastTouched"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind AutomationModeOverride.
|
|
function module.Target.AutomationModeOverride(value: AutomationModeOverrideTarget): Target_AutomationModeOverride
|
|
local t: any = table.clone(value)
|
|
t.kind = "AutomationModeOverride"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind ReaperAction.
|
|
function module.Target.ReaperAction(value: ReaperActionTarget): Target_ReaperAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "ReaperAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TransportAction.
|
|
function module.Target.TransportAction(value: TransportActionTarget): Target_TransportAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "TransportAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind AnyOn.
|
|
function module.Target.AnyOn(value: AnyOnTarget): Target_AnyOn
|
|
local t: any = table.clone(value)
|
|
t.kind = "AnyOn"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind BrowseTracks.
|
|
function module.Target.BrowseTracks(value: BrowseTracksTarget): Target_BrowseTracks
|
|
local t: any = table.clone(value)
|
|
t.kind = "BrowseTracks"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind Seek.
|
|
function module.Target.Seek(value: SeekTarget): Target_Seek
|
|
local t: any = table.clone(value)
|
|
t.kind = "Seek"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlayRate.
|
|
function module.Target.PlayRate(value: PlayRateTarget): Target_PlayRate
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlayRate"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind Tempo.
|
|
function module.Target.Tempo(value: TempoTarget): Target_Tempo
|
|
local t: any = table.clone(value)
|
|
t.kind = "Tempo"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind GoToBookmark.
|
|
function module.Target.GoToBookmark(value: GoToBookmarkTarget): Target_GoToBookmark
|
|
local t: any = table.clone(value)
|
|
t.kind = "GoToBookmark"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackArmState.
|
|
function module.Target.TrackArmState(value: TrackArmStateTarget): Target_TrackArmState
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackArmState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackParentSendState.
|
|
function module.Target.TrackParentSendState(value: TrackParentSendStateTarget): Target_TrackParentSendState
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackParentSendState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind AllTrackFxOnOffState.
|
|
function module.Target.AllTrackFxOnOffState(value: AllTrackFxOnOffStateTarget): Target_AllTrackFxOnOffState
|
|
local t: any = table.clone(value)
|
|
t.kind = "AllTrackFxOnOffState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackMuteState.
|
|
function module.Target.TrackMuteState(value: TrackMuteStateTarget): Target_TrackMuteState
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackMuteState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackPeak.
|
|
function module.Target.TrackPeak(value: TrackPeakTarget): Target_TrackPeak
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackPeak"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackPhase.
|
|
function module.Target.TrackPhase(value: TrackPhaseTarget): Target_TrackPhase
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackPhase"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackSelectionState.
|
|
function module.Target.TrackSelectionState(value: TrackSelectionStateTarget): Target_TrackSelectionState
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackSelectionState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackAutomationMode.
|
|
function module.Target.TrackAutomationMode(value: TrackAutomationModeTarget): Target_TrackAutomationMode
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackAutomationMode"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackMonitoringMode.
|
|
function module.Target.TrackMonitoringMode(value: TrackMonitoringModeTarget): Target_TrackMonitoringMode
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackMonitoringMode"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackAutomationTouchState.
|
|
function module.Target.TrackAutomationTouchState(
|
|
value: TrackAutomationTouchStateTarget
|
|
): Target_TrackAutomationTouchState
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackAutomationTouchState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackPan.
|
|
function module.Target.TrackPan(value: TrackPanTarget): Target_TrackPan
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackPan"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackWidth.
|
|
function module.Target.TrackWidth(value: TrackWidthTarget): Target_TrackWidth
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackWidth"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackVolume.
|
|
function module.Target.TrackVolume(value: TrackVolumeTarget): Target_TrackVolume
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackVolume"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackTool.
|
|
function module.Target.TrackTool(value: TrackToolTarget): Target_TrackTool
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackTool"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackVisibility.
|
|
function module.Target.TrackVisibility(value: TrackVisibilityTarget): Target_TrackVisibility
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackVisibility"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TrackSoloState.
|
|
function module.Target.TrackSoloState(value: TrackSoloStateTarget): Target_TrackSoloState
|
|
local t: any = table.clone(value)
|
|
t.kind = "TrackSoloState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind BrowseFxChain.
|
|
function module.Target.BrowseFxChain(value: BrowseFxChainTarget): Target_BrowseFxChain
|
|
local t: any = table.clone(value)
|
|
t.kind = "BrowseFxChain"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind FxOnOffState.
|
|
function module.Target.FxOnOffState(value: FxOnOffStateTarget): Target_FxOnOffState
|
|
local t: any = table.clone(value)
|
|
t.kind = "FxOnOffState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind FxOnlineOfflineState.
|
|
function module.Target.FxOnlineOfflineState(value: FxOnlineOfflineStateTarget): Target_FxOnlineOfflineState
|
|
local t: any = table.clone(value)
|
|
t.kind = "FxOnlineOfflineState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind LoadFxSnapshot.
|
|
function module.Target.LoadFxSnapshot(value: LoadFxSnapshotTarget): Target_LoadFxSnapshot
|
|
local t: any = table.clone(value)
|
|
t.kind = "LoadFxSnapshot"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind BrowseFxPresets.
|
|
function module.Target.BrowseFxPresets(value: BrowseFxPresetsTarget): Target_BrowseFxPresets
|
|
local t: any = table.clone(value)
|
|
t.kind = "BrowseFxPresets"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind FxTool.
|
|
function module.Target.FxTool(value: FxToolTarget): Target_FxTool
|
|
local t: any = table.clone(value)
|
|
t.kind = "FxTool"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind FxVisibility.
|
|
function module.Target.FxVisibility(value: FxVisibilityTarget): Target_FxVisibility
|
|
local t: any = table.clone(value)
|
|
t.kind = "FxVisibility"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind FxParameterValue.
|
|
function module.Target.FxParameterValue(value: FxParameterValueTarget): Target_FxParameterValue
|
|
local t: any = table.clone(value)
|
|
t.kind = "FxParameterValue"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind FxParameterAutomationTouchState.
|
|
function module.Target.FxParameterAutomationTouchState(
|
|
value: FxParameterAutomationTouchStateTarget
|
|
): Target_FxParameterAutomationTouchState
|
|
local t: any = table.clone(value)
|
|
t.kind = "FxParameterAutomationTouchState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RouteAutomationMode.
|
|
function module.Target.RouteAutomationMode(value: RouteAutomationModeTarget): Target_RouteAutomationMode
|
|
local t: any = table.clone(value)
|
|
t.kind = "RouteAutomationMode"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RouteMonoState.
|
|
function module.Target.RouteMonoState(value: RouteMonoStateTarget): Target_RouteMonoState
|
|
local t: any = table.clone(value)
|
|
t.kind = "RouteMonoState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RouteMuteState.
|
|
function module.Target.RouteMuteState(value: RouteMuteStateTarget): Target_RouteMuteState
|
|
local t: any = table.clone(value)
|
|
t.kind = "RouteMuteState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RoutePhase.
|
|
function module.Target.RoutePhase(value: RoutePhaseTarget): Target_RoutePhase
|
|
local t: any = table.clone(value)
|
|
t.kind = "RoutePhase"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RoutePan.
|
|
function module.Target.RoutePan(value: RoutePanTarget): Target_RoutePan
|
|
local t: any = table.clone(value)
|
|
t.kind = "RoutePan"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RouteVolume.
|
|
function module.Target.RouteVolume(value: RouteVolumeTarget): Target_RouteVolume
|
|
local t: any = table.clone(value)
|
|
t.kind = "RouteVolume"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind RouteTouchState.
|
|
function module.Target.RouteTouchState(value: RouteTouchStateTarget): Target_RouteTouchState
|
|
local t: any = table.clone(value)
|
|
t.kind = "RouteTouchState"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeSlotTransportAction.
|
|
function module.Target.PlaytimeSlotTransportAction(
|
|
value: PlaytimeSlotTransportActionTarget
|
|
): Target_PlaytimeSlotTransportAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeSlotTransportAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeColumnAction.
|
|
function module.Target.PlaytimeColumnAction(value: PlaytimeColumnActionTarget): Target_PlaytimeColumnAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeColumnAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeRowAction.
|
|
function module.Target.PlaytimeRowAction(value: PlaytimeRowActionTarget): Target_PlaytimeRowAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeRowAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeMatrixAction.
|
|
function module.Target.PlaytimeMatrixAction(value: PlaytimeMatrixActionTarget): Target_PlaytimeMatrixAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeMatrixAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeControlUnitScroll.
|
|
function module.Target.PlaytimeControlUnitScroll(
|
|
value: PlaytimeControlUnitScrollTarget
|
|
): Target_PlaytimeControlUnitScroll
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeControlUnitScroll"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeBrowseCells.
|
|
function module.Target.PlaytimeBrowseCells(value: PlaytimeBrowseCellsTarget): Target_PlaytimeBrowseCells
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeBrowseCells"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeSlotSeek.
|
|
function module.Target.PlaytimeSlotSeek(value: PlaytimeSlotSeekTarget): Target_PlaytimeSlotSeek
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeSlotSeek"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeSlotVolume.
|
|
function module.Target.PlaytimeSlotVolume(value: PlaytimeSlotVolumeTarget): Target_PlaytimeSlotVolume
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeSlotVolume"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PlaytimeSlotManagementAction.
|
|
function module.Target.PlaytimeSlotManagementAction(
|
|
value: PlaytimeSlotManagementActionTarget
|
|
): Target_PlaytimeSlotManagementAction
|
|
local t: any = table.clone(value)
|
|
t.kind = "PlaytimeSlotManagementAction"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind SendMidi.
|
|
function module.Target.SendMidi(value: SendMidiTarget): Target_SendMidi
|
|
local t: any = table.clone(value)
|
|
t.kind = "SendMidi"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind SendOsc.
|
|
function module.Target.SendOsc(value: SendOscTarget): Target_SendOsc
|
|
local t: any = table.clone(value)
|
|
t.kind = "SendOsc"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind Dummy.
|
|
function module.Target.Dummy(value: DummyTarget): Target_Dummy
|
|
local t: any = table.clone(value)
|
|
t.kind = "Dummy"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind EnableInstances.
|
|
function module.Target.EnableInstances(value: EnableInstancesTarget): Target_EnableInstances
|
|
local t: any = table.clone(value)
|
|
t.kind = "EnableInstances"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind EnableMappings.
|
|
function module.Target.EnableMappings(value: EnableMappingsTarget): Target_EnableMappings
|
|
local t: any = table.clone(value)
|
|
t.kind = "EnableMappings"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind ModifyMapping.
|
|
function module.Target.ModifyMapping(value: ModifyMappingTarget): Target_ModifyMapping
|
|
local t: any = table.clone(value)
|
|
t.kind = "ModifyMapping"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind CompartmentParameterValue.
|
|
function module.Target.CompartmentParameterValue(
|
|
value: CompartmentParameterValueTarget
|
|
): Target_CompartmentParameterValue
|
|
local t: any = table.clone(value)
|
|
t.kind = "CompartmentParameterValue"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind LoadMappingSnapshot.
|
|
function module.Target.LoadMappingSnapshot(value: LoadMappingSnapshotTarget): Target_LoadMappingSnapshot
|
|
local t: any = table.clone(value)
|
|
t.kind = "LoadMappingSnapshot"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind TakeMappingSnapshot.
|
|
function module.Target.TakeMappingSnapshot(value: TakeMappingSnapshotTarget): Target_TakeMappingSnapshot
|
|
local t: any = table.clone(value)
|
|
t.kind = "TakeMappingSnapshot"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind BrowseGroupMappings.
|
|
function module.Target.BrowseGroupMappings(value: BrowseGroupMappingsTarget): Target_BrowseGroupMappings
|
|
local t: any = table.clone(value)
|
|
t.kind = "BrowseGroupMappings"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind BrowsePotFilterItems.
|
|
function module.Target.BrowsePotFilterItems(value: BrowsePotFilterItemsTarget): Target_BrowsePotFilterItems
|
|
local t: any = table.clone(value)
|
|
t.kind = "BrowsePotFilterItems"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind BrowsePotPresets.
|
|
function module.Target.BrowsePotPresets(value: BrowsePotPresetsTarget): Target_BrowsePotPresets
|
|
local t: any = table.clone(value)
|
|
t.kind = "BrowsePotPresets"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind PreviewPotPreset.
|
|
function module.Target.PreviewPotPreset(value: PreviewPotPresetTarget): Target_PreviewPotPreset
|
|
local t: any = table.clone(value)
|
|
t.kind = "PreviewPotPreset"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind LoadPotPreset.
|
|
function module.Target.LoadPotPreset(value: LoadPotPresetTarget): Target_LoadPotPreset
|
|
local t: any = table.clone(value)
|
|
t.kind = "LoadPotPreset"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind StreamDeckBrightness.
|
|
function module.Target.StreamDeckBrightness(value: StreamDeckBrightnessTarget): Target_StreamDeckBrightness
|
|
local t: any = table.clone(value)
|
|
t.kind = "StreamDeckBrightness"
|
|
return t
|
|
end
|
|
|
|
--- Creates a Target of kind Virtual.
|
|
function module.Target.Virtual(value: VirtualTarget): Target_Virtual
|
|
local t: any = table.clone(value)
|
|
t.kind = "Virtual"
|
|
return t
|
|
end
|
|
|
|
export type TargetCommons = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a TargetCommons value.
|
|
function module.TargetCommons(value: TargetCommons): TargetCommons
|
|
return value
|
|
end
|
|
|
|
export type TargetUnit = "Native" | "Percent"
|
|
|
|
export type MouseTarget = {
|
|
unit: TargetUnit?,
|
|
action: MouseAction,
|
|
}
|
|
--- Creates a MouseTarget value.
|
|
function module.MouseTarget(value: MouseTarget): MouseTarget
|
|
return value
|
|
end
|
|
|
|
export type LastTouchedTarget = {
|
|
unit: TargetUnit?,
|
|
included_targets: { LearnableTargetKind }?,
|
|
touch_cause: TargetTouchCause?,
|
|
}
|
|
--- Creates a LastTouchedTarget value.
|
|
function module.LastTouchedTarget(value: LastTouchedTarget): LastTouchedTarget
|
|
return value
|
|
end
|
|
|
|
export type AutomationModeOverrideTarget = {
|
|
unit: TargetUnit?,
|
|
override_value: AutomationModeOverride?,
|
|
}
|
|
--- Creates a AutomationModeOverrideTarget value.
|
|
function module.AutomationModeOverrideTarget(value: AutomationModeOverrideTarget): AutomationModeOverrideTarget
|
|
return value
|
|
end
|
|
|
|
export type ReaperActionTarget = {
|
|
unit: TargetUnit?,
|
|
scope: ActionScope?,
|
|
command: ReaperCommand?,
|
|
invocation: ActionInvocationKind?,
|
|
track: TrackDescriptor?,
|
|
}
|
|
--- Creates a ReaperActionTarget value.
|
|
function module.ReaperActionTarget(value: ReaperActionTarget): ReaperActionTarget
|
|
return value
|
|
end
|
|
|
|
export type ActionScope = "Main" | "ActiveMidiEditor" | "ActiveMidiEventListEditor" | "MediaExplorer"
|
|
|
|
export type TransportActionTarget = {
|
|
unit: TargetUnit?,
|
|
action: TransportAction,
|
|
}
|
|
--- Creates a TransportActionTarget value.
|
|
function module.TransportActionTarget(value: TransportActionTarget): TransportActionTarget
|
|
return value
|
|
end
|
|
|
|
export type AnyOnTarget = {
|
|
unit: TargetUnit?,
|
|
parameter: AnyOnParameter,
|
|
}
|
|
--- Creates a AnyOnTarget value.
|
|
function module.AnyOnTarget(value: AnyOnTarget): AnyOnTarget
|
|
return value
|
|
end
|
|
|
|
export type BrowseTracksTarget = {
|
|
unit: TargetUnit?,
|
|
scroll_arrange_view: boolean?,
|
|
scroll_mixer: boolean?,
|
|
mode: BrowseTracksMode?,
|
|
}
|
|
--- Creates a BrowseTracksTarget value.
|
|
function module.BrowseTracksTarget(value: BrowseTracksTarget): BrowseTracksTarget
|
|
return value
|
|
end
|
|
|
|
export type SeekTarget = {
|
|
unit: TargetUnit?,
|
|
use_time_selection: boolean?,
|
|
use_loop_points: boolean?,
|
|
use_regions: boolean?,
|
|
use_project: boolean?,
|
|
move_view: boolean?,
|
|
seek_play: boolean?,
|
|
feedback_resolution: FeedbackResolution?,
|
|
behavior: SeekBehavior?,
|
|
}
|
|
--- Creates a SeekTarget value.
|
|
function module.SeekTarget(value: SeekTarget): SeekTarget
|
|
return value
|
|
end
|
|
|
|
export type PlayRateTarget = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a PlayRateTarget value.
|
|
function module.PlayRateTarget(value: PlayRateTarget): PlayRateTarget
|
|
return value
|
|
end
|
|
|
|
export type TempoTarget = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a TempoTarget value.
|
|
function module.TempoTarget(value: TempoTarget): TempoTarget
|
|
return value
|
|
end
|
|
|
|
export type GoToBookmarkTarget = {
|
|
unit: TargetUnit?,
|
|
bookmark: BookmarkDescriptor,
|
|
set_time_selection: boolean?,
|
|
set_loop_points: boolean?,
|
|
seek_behavior: SeekBehavior?,
|
|
}
|
|
--- Creates a GoToBookmarkTarget value.
|
|
function module.GoToBookmarkTarget(value: GoToBookmarkTarget): GoToBookmarkTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackArmStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackArmStateTarget value.
|
|
function module.TrackArmStateTarget(value: TrackArmStateTarget): TrackArmStateTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackParentSendStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
}
|
|
--- Creates a TrackParentSendStateTarget value.
|
|
function module.TrackParentSendStateTarget(value: TrackParentSendStateTarget): TrackParentSendStateTarget
|
|
return value
|
|
end
|
|
|
|
export type AllTrackFxOnOffStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
--- Creates a AllTrackFxOnOffStateTarget value.
|
|
function module.AllTrackFxOnOffStateTarget(value: AllTrackFxOnOffStateTarget): AllTrackFxOnOffStateTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackMuteStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackMuteStateTarget value.
|
|
function module.TrackMuteStateTarget(value: TrackMuteStateTarget): TrackMuteStateTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackPeakTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
}
|
|
--- Creates a TrackPeakTarget value.
|
|
function module.TrackPeakTarget(value: TrackPeakTarget): TrackPeakTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackPhaseTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
poll_for_feedback: boolean?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackPhaseTarget value.
|
|
function module.TrackPhaseTarget(value: TrackPhaseTarget): TrackPhaseTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackSelectionStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
scroll_arrange_view: boolean?,
|
|
scroll_mixer: boolean?,
|
|
}
|
|
--- Creates a TrackSelectionStateTarget value.
|
|
function module.TrackSelectionStateTarget(value: TrackSelectionStateTarget): TrackSelectionStateTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackAutomationModeTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
mode: AutomationMode,
|
|
}
|
|
--- Creates a TrackAutomationModeTarget value.
|
|
function module.TrackAutomationModeTarget(value: TrackAutomationModeTarget): TrackAutomationModeTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackMonitoringModeTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
mode: MonitoringMode,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackMonitoringModeTarget value.
|
|
function module.TrackMonitoringModeTarget(value: TrackMonitoringModeTarget): TrackMonitoringModeTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackAutomationTouchStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
touched_parameter: TouchedTrackParameter,
|
|
}
|
|
--- Creates a TrackAutomationTouchStateTarget value.
|
|
function module.TrackAutomationTouchStateTarget(value: TrackAutomationTouchStateTarget): TrackAutomationTouchStateTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackPanTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackPanTarget value.
|
|
function module.TrackPanTarget(value: TrackPanTarget): TrackPanTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackWidthTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackWidthTarget value.
|
|
function module.TrackWidthTarget(value: TrackWidthTarget): TrackWidthTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackVolumeTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackVolumeTarget value.
|
|
function module.TrackVolumeTarget(value: TrackVolumeTarget): TrackVolumeTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackToolTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
action: TrackToolAction?,
|
|
instance_tags: { string }?,
|
|
}
|
|
--- Creates a TrackToolTarget value.
|
|
function module.TrackToolTarget(value: TrackToolTarget): TrackToolTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackToolAction = "DoNothing" | "SetAsUnitTrack" | "PinAsUnitTrack"
|
|
|
|
--- Mouse position on the given axis.
|
|
---
|
|
--- Control:
|
|
---
|
|
--- - Move by (using relative control value)
|
|
--- - Move to (use absolute control value)
|
|
--- - Move to absolute coordinates before clicking (2 mappings for moving, 1 for clicking)
|
|
---
|
|
--- Feedback:
|
|
---
|
|
--- - Reflect position of the mouse cursor
|
|
---
|
|
--- Future extension possibilities:
|
|
---
|
|
--- - Canvas: Relative to all screens, current screen, REAPER window or focused window
|
|
--- - Pixel density: Take pixel density into account
|
|
export type MouseAction_MoveTo = { kind: "MoveTo", axis: Axis? }
|
|
|
|
--- Like [`Self::Move`] but prefers relative control, so the glue section will feed it
|
|
--- with relative control values whenever possible. Could make a little difference.
|
|
export type MouseAction_MoveBy = { kind: "MoveBy", axis: Axis? }
|
|
|
|
--- Button state.
|
|
---
|
|
--- Control:
|
|
---
|
|
--- - Press and release a mouse button
|
|
--- - Press a mouse button and keep it pressed (press-only filter)
|
|
--- - Just release a mouse button (release-only filter, e.g. for manual drag control)
|
|
---
|
|
--- Feedback:
|
|
---
|
|
--- - Whether the button is down or up
|
|
---
|
|
--- Future extension possibilities:
|
|
---
|
|
--- - Click or double-click a mouse button (press and immediate release, this could be a generic
|
|
--- "Glue" option because it could be useful for other on/off targets as well).
|
|
export type MouseAction_PressOrRelease = { kind: "PressOrRelease", button: MouseButton? }
|
|
|
|
--- Scroll wheel.
|
|
---
|
|
--- Control:
|
|
---
|
|
--- - Invoke scroll wheel
|
|
---
|
|
--- Feedback: None
|
|
export type MouseAction_Scroll = { kind: "Scroll", axis: Axis? }
|
|
export type MouseAction = MouseAction_MoveTo | MouseAction_MoveBy | MouseAction_PressOrRelease | MouseAction_Scroll
|
|
|
|
--- A type that represents all possible kinds of MouseAction.
|
|
export type MouseActionKind = "MoveTo" | "MoveBy" | "PressOrRelease" | "Scroll"
|
|
|
|
--- Helper table to create MouseAction values of different kinds.
|
|
module.MouseAction = {}
|
|
|
|
--- Creates a MouseAction of kind MoveTo.
|
|
--- Mouse position on the given axis.
|
|
---
|
|
--- Control:
|
|
---
|
|
--- - Move by (using relative control value)
|
|
--- - Move to (use absolute control value)
|
|
--- - Move to absolute coordinates before clicking (2 mappings for moving, 1 for clicking)
|
|
---
|
|
--- Feedback:
|
|
---
|
|
--- - Reflect position of the mouse cursor
|
|
---
|
|
--- Future extension possibilities:
|
|
---
|
|
--- - Canvas: Relative to all screens, current screen, REAPER window or focused window
|
|
--- - Pixel density: Take pixel density into account
|
|
function module.MouseAction.MoveTo(value: { axis: Axis? }): MouseAction_MoveTo
|
|
local t: any = table.clone(value)
|
|
t.kind = "MoveTo"
|
|
return t
|
|
end
|
|
|
|
--- Creates a MouseAction of kind MoveBy.
|
|
--- Like [`Self::Move`] but prefers relative control, so the glue section will feed it
|
|
--- with relative control values whenever possible. Could make a little difference.
|
|
function module.MouseAction.MoveBy(value: { axis: Axis? }): MouseAction_MoveBy
|
|
local t: any = table.clone(value)
|
|
t.kind = "MoveBy"
|
|
return t
|
|
end
|
|
|
|
--- Creates a MouseAction of kind PressOrRelease.
|
|
--- Button state.
|
|
---
|
|
--- Control:
|
|
---
|
|
--- - Press and release a mouse button
|
|
--- - Press a mouse button and keep it pressed (press-only filter)
|
|
--- - Just release a mouse button (release-only filter, e.g. for manual drag control)
|
|
---
|
|
--- Feedback:
|
|
---
|
|
--- - Whether the button is down or up
|
|
---
|
|
--- Future extension possibilities:
|
|
---
|
|
--- - Click or double-click a mouse button (press and immediate release, this could be a generic
|
|
--- "Glue" option because it could be useful for other on/off targets as well).
|
|
function module.MouseAction.PressOrRelease(value: { button: MouseButton? }): MouseAction_PressOrRelease
|
|
local t: any = table.clone(value)
|
|
t.kind = "PressOrRelease"
|
|
return t
|
|
end
|
|
|
|
--- Creates a MouseAction of kind Scroll.
|
|
--- Scroll wheel.
|
|
---
|
|
--- Control:
|
|
---
|
|
--- - Invoke scroll wheel
|
|
---
|
|
--- Feedback: None
|
|
function module.MouseAction.Scroll(value: { axis: Axis? }): MouseAction_Scroll
|
|
local t: any = table.clone(value)
|
|
t.kind = "Scroll"
|
|
return t
|
|
end
|
|
|
|
export type Axis = "X" | "Y"
|
|
|
|
export type MouseButton = "Left" | "Middle" | "Right"
|
|
|
|
export type TrackVisibilityTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
poll_for_feedback: boolean?,
|
|
area: TrackArea,
|
|
}
|
|
--- Creates a TrackVisibilityTarget value.
|
|
function module.TrackVisibilityTarget(value: TrackVisibilityTarget): TrackVisibilityTarget
|
|
return value
|
|
end
|
|
|
|
export type TrackSoloStateTarget = {
|
|
unit: TargetUnit?,
|
|
track: TrackDescriptor?,
|
|
exclusivity: TrackExclusivity?,
|
|
behavior: SoloBehavior?,
|
|
use_track_grouping: boolean?,
|
|
use_selection_ganging: boolean?,
|
|
}
|
|
--- Creates a TrackSoloStateTarget value.
|
|
function module.TrackSoloStateTarget(value: TrackSoloStateTarget): TrackSoloStateTarget
|
|
return value
|
|
end
|
|
|
|
export type BrowseFxChainTarget = {
|
|
unit: TargetUnit?,
|
|
chain: FxChainDescriptor,
|
|
display_kind: FxDisplayKind?,
|
|
}
|
|
--- Creates a BrowseFxChainTarget value.
|
|
function module.BrowseFxChainTarget(value: BrowseFxChainTarget): BrowseFxChainTarget
|
|
return value
|
|
end
|
|
|
|
export type FxOnOffStateTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
}
|
|
--- Creates a FxOnOffStateTarget value.
|
|
function module.FxOnOffStateTarget(value: FxOnOffStateTarget): FxOnOffStateTarget
|
|
return value
|
|
end
|
|
|
|
export type FxOnlineOfflineStateTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
}
|
|
--- Creates a FxOnlineOfflineStateTarget value.
|
|
function module.FxOnlineOfflineStateTarget(value: FxOnlineOfflineStateTarget): FxOnlineOfflineStateTarget
|
|
return value
|
|
end
|
|
|
|
export type LoadFxSnapshotTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
snapshot: FxSnapshot?,
|
|
}
|
|
--- Creates a LoadFxSnapshotTarget value.
|
|
function module.LoadFxSnapshotTarget(value: LoadFxSnapshotTarget): LoadFxSnapshotTarget
|
|
return value
|
|
end
|
|
|
|
export type BrowseFxPresetsTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
}
|
|
--- Creates a BrowseFxPresetsTarget value.
|
|
function module.BrowseFxPresetsTarget(value: BrowseFxPresetsTarget): BrowseFxPresetsTarget
|
|
return value
|
|
end
|
|
|
|
export type FxToolTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
action: FxToolAction?,
|
|
instance_tags: { string }?,
|
|
}
|
|
--- Creates a FxToolTarget value.
|
|
function module.FxToolTarget(value: FxToolTarget): FxToolTarget
|
|
return value
|
|
end
|
|
|
|
export type FxToolAction = "DoNothing" | "SetAsUnitFx" | "PinAsUnitFx"
|
|
|
|
export type FxVisibilityTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
display_kind: FxDisplayKind?,
|
|
}
|
|
--- Creates a FxVisibilityTarget value.
|
|
function module.FxVisibilityTarget(value: FxVisibilityTarget): FxVisibilityTarget
|
|
return value
|
|
end
|
|
|
|
export type FxParameterValueTarget = {
|
|
unit: TargetUnit?,
|
|
parameter: FxParameterDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
retrigger: boolean?,
|
|
real_time: boolean?,
|
|
}
|
|
--- Creates a FxParameterValueTarget value.
|
|
function module.FxParameterValueTarget(value: FxParameterValueTarget): FxParameterValueTarget
|
|
return value
|
|
end
|
|
|
|
export type CompartmentParameterValueTarget = {
|
|
unit: TargetUnit?,
|
|
parameter: CompartmentParameterDescriptor,
|
|
}
|
|
--- Creates a CompartmentParameterValueTarget value.
|
|
function module.CompartmentParameterValueTarget(value: CompartmentParameterValueTarget): CompartmentParameterValueTarget
|
|
return value
|
|
end
|
|
|
|
export type FxParameterAutomationTouchStateTarget = {
|
|
unit: TargetUnit?,
|
|
parameter: FxParameterDescriptor,
|
|
}
|
|
--- Creates a FxParameterAutomationTouchStateTarget value.
|
|
function module.FxParameterAutomationTouchStateTarget(
|
|
value: FxParameterAutomationTouchStateTarget
|
|
): FxParameterAutomationTouchStateTarget
|
|
return value
|
|
end
|
|
|
|
export type RouteAutomationModeTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
mode: AutomationMode,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
--- Creates a RouteAutomationModeTarget value.
|
|
function module.RouteAutomationModeTarget(value: RouteAutomationModeTarget): RouteAutomationModeTarget
|
|
return value
|
|
end
|
|
|
|
export type RouteMonoStateTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
--- Creates a RouteMonoStateTarget value.
|
|
function module.RouteMonoStateTarget(value: RouteMonoStateTarget): RouteMonoStateTarget
|
|
return value
|
|
end
|
|
|
|
export type RouteMuteStateTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
--- Creates a RouteMuteStateTarget value.
|
|
function module.RouteMuteStateTarget(value: RouteMuteStateTarget): RouteMuteStateTarget
|
|
return value
|
|
end
|
|
|
|
export type RoutePhaseTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
poll_for_feedback: boolean?,
|
|
}
|
|
--- Creates a RoutePhaseTarget value.
|
|
function module.RoutePhaseTarget(value: RoutePhaseTarget): RoutePhaseTarget
|
|
return value
|
|
end
|
|
|
|
export type RoutePanTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
}
|
|
--- Creates a RoutePanTarget value.
|
|
function module.RoutePanTarget(value: RoutePanTarget): RoutePanTarget
|
|
return value
|
|
end
|
|
|
|
export type RouteVolumeTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
}
|
|
--- Creates a RouteVolumeTarget value.
|
|
function module.RouteVolumeTarget(value: RouteVolumeTarget): RouteVolumeTarget
|
|
return value
|
|
end
|
|
|
|
export type RouteTouchStateTarget = {
|
|
unit: TargetUnit?,
|
|
route: RouteDescriptor,
|
|
touched_parameter: TouchedRouteParameter,
|
|
}
|
|
--- Creates a RouteTouchStateTarget value.
|
|
function module.RouteTouchStateTarget(value: RouteTouchStateTarget): RouteTouchStateTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeSlotTransportActionTarget = {
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
action: PlaytimeSlotTransportAction,
|
|
stop_column_if_slot_empty: boolean?,
|
|
}
|
|
--- Creates a PlaytimeSlotTransportActionTarget value.
|
|
function module.PlaytimeSlotTransportActionTarget(
|
|
value: PlaytimeSlotTransportActionTarget
|
|
): PlaytimeSlotTransportActionTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeColumnActionTarget = {
|
|
unit: TargetUnit?,
|
|
column: PlaytimeColumnDescriptor,
|
|
action: PlaytimeColumnAction,
|
|
}
|
|
--- Creates a PlaytimeColumnActionTarget value.
|
|
function module.PlaytimeColumnActionTarget(value: PlaytimeColumnActionTarget): PlaytimeColumnActionTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeRowActionTarget = {
|
|
unit: TargetUnit?,
|
|
row: PlaytimeRowDescriptor,
|
|
action: PlaytimeRowAction,
|
|
}
|
|
--- Creates a PlaytimeRowActionTarget value.
|
|
function module.PlaytimeRowActionTarget(value: PlaytimeRowActionTarget): PlaytimeRowActionTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeMatrixActionTarget = {
|
|
unit: TargetUnit?,
|
|
action: PlaytimeMatrixAction,
|
|
}
|
|
--- Creates a PlaytimeMatrixActionTarget value.
|
|
function module.PlaytimeMatrixActionTarget(value: PlaytimeMatrixActionTarget): PlaytimeMatrixActionTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeControlUnitScrollTarget = {
|
|
unit: TargetUnit?,
|
|
axis: Axis,
|
|
}
|
|
--- Creates a PlaytimeControlUnitScrollTarget value.
|
|
function module.PlaytimeControlUnitScrollTarget(value: PlaytimeControlUnitScrollTarget): PlaytimeControlUnitScrollTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeBrowseCellsTarget = {
|
|
unit: TargetUnit?,
|
|
axis: Axis,
|
|
}
|
|
--- Creates a PlaytimeBrowseCellsTarget value.
|
|
function module.PlaytimeBrowseCellsTarget(value: PlaytimeBrowseCellsTarget): PlaytimeBrowseCellsTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeSlotSeekTarget = {
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
feedback_resolution: FeedbackResolution?,
|
|
}
|
|
--- Creates a PlaytimeSlotSeekTarget value.
|
|
function module.PlaytimeSlotSeekTarget(value: PlaytimeSlotSeekTarget): PlaytimeSlotSeekTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeSlotVolumeTarget = {
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
}
|
|
--- Creates a PlaytimeSlotVolumeTarget value.
|
|
function module.PlaytimeSlotVolumeTarget(value: PlaytimeSlotVolumeTarget): PlaytimeSlotVolumeTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeSlotManagementActionTarget = {
|
|
unit: TargetUnit?,
|
|
slot: PlaytimeSlotDescriptor,
|
|
action: PlaytimeSlotManagementAction,
|
|
}
|
|
--- Creates a PlaytimeSlotManagementActionTarget value.
|
|
function module.PlaytimeSlotManagementActionTarget(
|
|
value: PlaytimeSlotManagementActionTarget
|
|
): PlaytimeSlotManagementActionTarget
|
|
return value
|
|
end
|
|
|
|
export type PlaytimeSlotManagementAction =
|
|
"ClearSlot"
|
|
| "FillSlotWithSelectedItem"
|
|
| "EditClip"
|
|
| "CopyOrPasteClip"
|
|
| "DoubleClipSectionLength"
|
|
| "HalveClipSectionLength"
|
|
| "QuantizationOnOffState"
|
|
| "Duplicate"
|
|
| "Activate"
|
|
|
|
export type AdjustClipSectionLengthAction = {
|
|
factor: number,
|
|
}
|
|
--- Creates a AdjustClipSectionLengthAction value.
|
|
function module.AdjustClipSectionLengthAction(value: AdjustClipSectionLengthAction): AdjustClipSectionLengthAction
|
|
return value
|
|
end
|
|
|
|
export type SendMidiTarget = {
|
|
unit: TargetUnit?,
|
|
message: string?,
|
|
destination: SendMidiDestination?,
|
|
}
|
|
--- Creates a SendMidiTarget value.
|
|
function module.SendMidiTarget(value: SendMidiTarget): SendMidiTarget
|
|
return value
|
|
end
|
|
|
|
export type DummyTarget = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a DummyTarget value.
|
|
function module.DummyTarget(value: DummyTarget): DummyTarget
|
|
return value
|
|
end
|
|
|
|
export type SendOscTarget = {
|
|
unit: TargetUnit?,
|
|
address: string?,
|
|
argument: OscArgument?,
|
|
destination: OscDestination?,
|
|
}
|
|
--- Creates a SendOscTarget value.
|
|
function module.SendOscTarget(value: SendOscTarget): SendOscTarget
|
|
return value
|
|
end
|
|
|
|
export type EnableInstancesTarget = {
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
exclusivity: InstanceExclusivity?,
|
|
}
|
|
--- Creates a EnableInstancesTarget value.
|
|
function module.EnableInstancesTarget(value: EnableInstancesTarget): EnableInstancesTarget
|
|
return value
|
|
end
|
|
|
|
export type EnableMappingsTarget = {
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
exclusivity: MappingExclusivity?,
|
|
}
|
|
--- Creates a EnableMappingsTarget value.
|
|
function module.EnableMappingsTarget(value: EnableMappingsTarget): EnableMappingsTarget
|
|
return value
|
|
end
|
|
|
|
export type ModifyMappingTarget = {
|
|
unit: TargetUnit?,
|
|
session: string?,
|
|
mapping: string?,
|
|
modification: MappingModification,
|
|
}
|
|
--- Creates a ModifyMappingTarget value.
|
|
function module.ModifyMappingTarget(value: ModifyMappingTarget): ModifyMappingTarget
|
|
return value
|
|
end
|
|
|
|
export type MappingModification_LearnTarget = {
|
|
kind: "LearnTarget",
|
|
included_targets: { LearnableTargetKind }?,
|
|
touch_cause: TargetTouchCause?,
|
|
}
|
|
|
|
export type MappingModification_SetTargetToLastTouched = {
|
|
kind: "SetTargetToLastTouched",
|
|
included_targets: { LearnableTargetKind }?,
|
|
touch_cause: TargetTouchCause?,
|
|
}
|
|
export type MappingModification = MappingModification_LearnTarget | MappingModification_SetTargetToLastTouched
|
|
|
|
--- A type that represents all possible kinds of MappingModification.
|
|
export type MappingModificationKind = "LearnTarget" | "SetTargetToLastTouched"
|
|
|
|
--- Helper table to create MappingModification values of different kinds.
|
|
module.MappingModification = {}
|
|
|
|
--- Creates a MappingModification of kind LearnTarget.
|
|
function module.MappingModification.LearnTarget(value: LearnTargetMappingModification): MappingModification_LearnTarget
|
|
local t: any = table.clone(value)
|
|
t.kind = "LearnTarget"
|
|
return t
|
|
end
|
|
|
|
--- Creates a MappingModification of kind SetTargetToLastTouched.
|
|
function module.MappingModification.SetTargetToLastTouched(
|
|
value: SetTargetToLastTouchedMappingModification
|
|
): MappingModification_SetTargetToLastTouched
|
|
local t: any = table.clone(value)
|
|
t.kind = "SetTargetToLastTouched"
|
|
return t
|
|
end
|
|
|
|
export type LearnTargetMappingModification = {
|
|
included_targets: { LearnableTargetKind }?,
|
|
touch_cause: TargetTouchCause?,
|
|
}
|
|
--- Creates a LearnTargetMappingModification value.
|
|
function module.LearnTargetMappingModification(value: LearnTargetMappingModification): LearnTargetMappingModification
|
|
return value
|
|
end
|
|
|
|
export type SetTargetToLastTouchedMappingModification = {
|
|
included_targets: { LearnableTargetKind }?,
|
|
touch_cause: TargetTouchCause?,
|
|
}
|
|
--- Creates a SetTargetToLastTouchedMappingModification value.
|
|
function module.SetTargetToLastTouchedMappingModification(
|
|
value: SetTargetToLastTouchedMappingModification
|
|
): SetTargetToLastTouchedMappingModification
|
|
return value
|
|
end
|
|
|
|
export type LoadMappingSnapshotTarget = {
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
active_mappings_only: boolean?,
|
|
snapshot: MappingSnapshotDescForLoad?,
|
|
default_value: TargetValue?,
|
|
}
|
|
--- Creates a LoadMappingSnapshotTarget value.
|
|
function module.LoadMappingSnapshotTarget(value: LoadMappingSnapshotTarget): LoadMappingSnapshotTarget
|
|
return value
|
|
end
|
|
|
|
export type TakeMappingSnapshotTarget = {
|
|
unit: TargetUnit?,
|
|
tags: { string }?,
|
|
active_mappings_only: boolean?,
|
|
snapshot: BackwardCompatibleMappingSnapshotDescForTake,
|
|
}
|
|
--- Creates a TakeMappingSnapshotTarget value.
|
|
function module.TakeMappingSnapshotTarget(value: TakeMappingSnapshotTarget): TakeMappingSnapshotTarget
|
|
return value
|
|
end
|
|
|
|
export type BackwardCompatibleMappingSnapshotDescForTake_Old = string
|
|
|
|
export type BackwardCompatibleMappingSnapshotDescForTake_New = MappingSnapshotDescForTake
|
|
export type BackwardCompatibleMappingSnapshotDescForTake =
|
|
BackwardCompatibleMappingSnapshotDescForTake_Old
|
|
| BackwardCompatibleMappingSnapshotDescForTake_New
|
|
|
|
--- Creates a BackwardCompatibleMappingSnapshotDescForTake value.
|
|
function module.BackwardCompatibleMappingSnapshotDescForTake(
|
|
value: BackwardCompatibleMappingSnapshotDescForTake
|
|
): BackwardCompatibleMappingSnapshotDescForTake
|
|
return value
|
|
end
|
|
|
|
export type MappingSnapshotDescForLoad_Initial = { kind: "Initial" }
|
|
|
|
export type MappingSnapshotDescForLoad_ById = { kind: "ById", id: string }
|
|
export type MappingSnapshotDescForLoad = MappingSnapshotDescForLoad_Initial | MappingSnapshotDescForLoad_ById
|
|
|
|
--- A type that represents all possible kinds of MappingSnapshotDescForLoad.
|
|
export type MappingSnapshotDescForLoadKind = "Initial" | "ById"
|
|
|
|
--- Helper table to create MappingSnapshotDescForLoad values of different kinds.
|
|
module.MappingSnapshotDescForLoad = {}
|
|
|
|
--- Creates a MappingSnapshotDescForLoad of kind Initial.
|
|
function module.MappingSnapshotDescForLoad.Initial(): MappingSnapshotDescForLoad_Initial
|
|
return {
|
|
kind = "Initial",
|
|
}
|
|
end
|
|
|
|
--- Creates a MappingSnapshotDescForLoad of kind ById.
|
|
function module.MappingSnapshotDescForLoad.ById(value: { id: string }): MappingSnapshotDescForLoad_ById
|
|
local t: any = table.clone(value)
|
|
t.kind = "ById"
|
|
return t
|
|
end
|
|
|
|
export type MappingSnapshotDescForTake_LastLoaded = { kind: "LastLoaded" }
|
|
|
|
export type MappingSnapshotDescForTake_ById = { kind: "ById", id: string }
|
|
export type MappingSnapshotDescForTake = MappingSnapshotDescForTake_LastLoaded | MappingSnapshotDescForTake_ById
|
|
|
|
--- A type that represents all possible kinds of MappingSnapshotDescForTake.
|
|
export type MappingSnapshotDescForTakeKind = "LastLoaded" | "ById"
|
|
|
|
--- Helper table to create MappingSnapshotDescForTake values of different kinds.
|
|
module.MappingSnapshotDescForTake = {}
|
|
|
|
--- Creates a MappingSnapshotDescForTake of kind LastLoaded.
|
|
function module.MappingSnapshotDescForTake.LastLoaded(): MappingSnapshotDescForTake_LastLoaded
|
|
return {
|
|
kind = "LastLoaded",
|
|
}
|
|
end
|
|
|
|
--- Creates a MappingSnapshotDescForTake of kind ById.
|
|
function module.MappingSnapshotDescForTake.ById(value: { id: string }): MappingSnapshotDescForTake_ById
|
|
local t: any = table.clone(value)
|
|
t.kind = "ById"
|
|
return t
|
|
end
|
|
|
|
export type BrowseGroupMappingsTarget = {
|
|
unit: TargetUnit?,
|
|
exclusivity: GroupMappingExclusivity?,
|
|
group: string?,
|
|
}
|
|
--- Creates a BrowseGroupMappingsTarget value.
|
|
function module.BrowseGroupMappingsTarget(value: BrowseGroupMappingsTarget): BrowseGroupMappingsTarget
|
|
return value
|
|
end
|
|
|
|
export type BrowsePotFilterItemsTarget = {
|
|
unit: TargetUnit?,
|
|
item_kind: PotFilterKind?,
|
|
}
|
|
--- Creates a BrowsePotFilterItemsTarget value.
|
|
function module.BrowsePotFilterItemsTarget(value: BrowsePotFilterItemsTarget): BrowsePotFilterItemsTarget
|
|
return value
|
|
end
|
|
|
|
export type BrowsePotPresetsTarget = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a BrowsePotPresetsTarget value.
|
|
function module.BrowsePotPresetsTarget(value: BrowsePotPresetsTarget): BrowsePotPresetsTarget
|
|
return value
|
|
end
|
|
|
|
export type PreviewPotPresetTarget = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a PreviewPotPresetTarget value.
|
|
function module.PreviewPotPresetTarget(value: PreviewPotPresetTarget): PreviewPotPresetTarget
|
|
return value
|
|
end
|
|
|
|
export type LoadPotPresetTarget = {
|
|
unit: TargetUnit?,
|
|
fx: FxDescriptor?,
|
|
}
|
|
--- Creates a LoadPotPresetTarget value.
|
|
function module.LoadPotPresetTarget(value: LoadPotPresetTarget): LoadPotPresetTarget
|
|
return value
|
|
end
|
|
|
|
export type StreamDeckBrightnessTarget = {
|
|
unit: TargetUnit?,
|
|
}
|
|
--- Creates a StreamDeckBrightnessTarget value.
|
|
function module.StreamDeckBrightnessTarget(value: StreamDeckBrightnessTarget): StreamDeckBrightnessTarget
|
|
return value
|
|
end
|
|
|
|
export type PotFilterKind =
|
|
"Database"
|
|
| "IsAvailable"
|
|
| "IsSupported"
|
|
| "IsUser"
|
|
| "ProductKind"
|
|
| "IsFavorite"
|
|
| "Project"
|
|
| "Bank"
|
|
| "SubBank"
|
|
| "Category"
|
|
| "SubCategory"
|
|
| "Mode"
|
|
| "HasPreview"
|
|
|
|
export type VirtualTarget = {
|
|
id: VirtualControlElementId,
|
|
character: VirtualControlElementCharacter?,
|
|
learnable: boolean?,
|
|
}
|
|
--- Creates a VirtualTarget value.
|
|
function module.VirtualTarget(value: VirtualTarget): VirtualTarget
|
|
return value
|
|
end
|
|
|
|
export type AutomationModeOverride_Bypass = { kind: "Bypass" }
|
|
|
|
export type AutomationModeOverride_Mode = { kind: "Mode", mode: AutomationMode }
|
|
export type AutomationModeOverride = AutomationModeOverride_Bypass | AutomationModeOverride_Mode
|
|
|
|
--- A type that represents all possible kinds of AutomationModeOverride.
|
|
export type AutomationModeOverrideKind = "Bypass" | "Mode"
|
|
|
|
--- Helper table to create AutomationModeOverride values of different kinds.
|
|
module.AutomationModeOverride = {}
|
|
|
|
--- Creates a AutomationModeOverride of kind Bypass.
|
|
function module.AutomationModeOverride.Bypass(): AutomationModeOverride_Bypass
|
|
return {
|
|
kind = "Bypass",
|
|
}
|
|
end
|
|
|
|
--- Creates a AutomationModeOverride of kind Mode.
|
|
function module.AutomationModeOverride.Mode(value: { mode: AutomationMode }): AutomationModeOverride_Mode
|
|
local t: any = table.clone(value)
|
|
t.kind = "Mode"
|
|
return t
|
|
end
|
|
|
|
export type AutomationMode = "TrimRead" | "Read" | "Touch" | "Write" | "Latch" | "LatchPreview"
|
|
|
|
export type MonitoringMode = "Off" | "Normal" | "TapeStyle"
|
|
|
|
export type TransportAction = "PlayStop" | "PlayPause" | "Stop" | "Pause" | "Record" | "Repeat"
|
|
|
|
export type PlaytimeSlotTransportAction =
|
|
"Trigger"
|
|
| "PlayStop"
|
|
| "PlayPause"
|
|
| "Stop"
|
|
| "Pause"
|
|
| "RecordStop"
|
|
| "RecordPlayStop"
|
|
| "OverdubPlay"
|
|
| "Looped"
|
|
|
|
export type PlaytimeColumnAction = "Stop" | "ArmState" | "ArmStateExclusive" | "Activate"
|
|
|
|
export type PlaytimeRowAction = "PlayScene" | "BuildScene" | "ClearScene" | "CopyOrPasteScene" | "Activate"
|
|
|
|
export type PlaytimeMatrixAction =
|
|
"Stop"
|
|
| "Undo"
|
|
| "Redo"
|
|
| "BuildScene"
|
|
| "SetRecordLengthMode"
|
|
| "SetCustomRecordLengthInBars"
|
|
| "ClickOnOffState"
|
|
| "MidiAutoQuantizationOnOffState"
|
|
| "SmartRecord"
|
|
| "StartOrStopPlayback"
|
|
| "SilenceModeOnOffState"
|
|
| "Panic"
|
|
| "SequencerRecordOnOffState"
|
|
| "SequencerPlayOnOffState"
|
|
| "TapTempo"
|
|
|
|
export type AnyOnParameter = "TrackSolo" | "TrackMute" | "TrackArm" | "TrackSelection"
|
|
|
|
export type ActionInvocationKind = "Trigger" | "Absolute14Bit" | "Absolute7Bit" | "Relative"
|
|
|
|
export type ReaperCommand_Id = number
|
|
|
|
export type ReaperCommand_Name = string
|
|
export type ReaperCommand = ReaperCommand_Id | ReaperCommand_Name
|
|
|
|
--- Creates a ReaperCommand value.
|
|
function module.ReaperCommand(value: ReaperCommand): ReaperCommand
|
|
return value
|
|
end
|
|
|
|
--- Resolves to the track on which this ReaLearn instance is installed.
|
|
---
|
|
--- Doesn't make sense if ReaLearn is installed on the monitoring FX chain.
|
|
export type TrackDescriptor_This = { address: "This", track_must_be_selected: boolean? }
|
|
|
|
export type TrackDescriptor_Master = { address: "Master", track_must_be_selected: boolean? }
|
|
|
|
export type TrackDescriptor_Instance = { address: "Instance", track_must_be_selected: boolean? }
|
|
|
|
export type TrackDescriptor_Selected = { address: "Selected", allow_multiple: boolean? }
|
|
|
|
export type TrackDescriptor_Dynamic = {
|
|
address: "Dynamic",
|
|
track_must_be_selected: boolean?,
|
|
expression: string,
|
|
scope: TrackScope?,
|
|
}
|
|
|
|
export type TrackDescriptor_ById = { address: "ById", track_must_be_selected: boolean?, id: string? }
|
|
|
|
export type TrackDescriptor_ByIndex = {
|
|
address: "ByIndex",
|
|
track_must_be_selected: boolean?,
|
|
index: number,
|
|
scope: TrackScope?,
|
|
}
|
|
|
|
export type TrackDescriptor_ByName = {
|
|
address: "ByName",
|
|
track_must_be_selected: boolean?,
|
|
name: string,
|
|
allow_multiple: boolean?,
|
|
}
|
|
|
|
export type TrackDescriptor_FromClipColumn = {
|
|
address: "FromClipColumn",
|
|
track_must_be_selected: boolean?,
|
|
column: PlaytimeColumnDescriptor,
|
|
context: ClipColumnTrackContext,
|
|
}
|
|
export type TrackDescriptor =
|
|
TrackDescriptor_This
|
|
| TrackDescriptor_Master
|
|
| TrackDescriptor_Instance
|
|
| TrackDescriptor_Selected
|
|
| TrackDescriptor_Dynamic
|
|
| TrackDescriptor_ById
|
|
| TrackDescriptor_ByIndex
|
|
| TrackDescriptor_ByName
|
|
| TrackDescriptor_FromClipColumn
|
|
|
|
--- A type that represents all possible kinds of TrackDescriptor.
|
|
export type TrackDescriptorAddress =
|
|
"This"
|
|
| "Master"
|
|
| "Instance"
|
|
| "Selected"
|
|
| "Dynamic"
|
|
| "ById"
|
|
| "ByIndex"
|
|
| "ByName"
|
|
| "FromClipColumn"
|
|
|
|
--- Helper table to create TrackDescriptor values of different kinds.
|
|
module.TrackDescriptor = {}
|
|
|
|
--- Creates a TrackDescriptor of kind This.
|
|
--- Resolves to the track on which this ReaLearn instance is installed.
|
|
---
|
|
--- Doesn't make sense if ReaLearn is installed on the monitoring FX chain.
|
|
function module.TrackDescriptor.This(value: { track_must_be_selected: boolean? }): TrackDescriptor_This
|
|
local t: any = table.clone(value)
|
|
t.address = "This"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind Master.
|
|
function module.TrackDescriptor.Master(value: { track_must_be_selected: boolean? }): TrackDescriptor_Master
|
|
local t: any = table.clone(value)
|
|
t.address = "Master"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind Instance.
|
|
function module.TrackDescriptor.Instance(value: { track_must_be_selected: boolean? }): TrackDescriptor_Instance
|
|
local t: any = table.clone(value)
|
|
t.address = "Instance"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind Selected.
|
|
function module.TrackDescriptor.Selected(value: { allow_multiple: boolean? }): TrackDescriptor_Selected
|
|
local t: any = table.clone(value)
|
|
t.address = "Selected"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind Dynamic.
|
|
function module.TrackDescriptor.Dynamic(
|
|
value: { track_must_be_selected: boolean?, expression: string, scope: TrackScope? }
|
|
): TrackDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind ById.
|
|
function module.TrackDescriptor.ById(value: { track_must_be_selected: boolean?, id: string? }): TrackDescriptor_ById
|
|
local t: any = table.clone(value)
|
|
t.address = "ById"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind ByIndex.
|
|
function module.TrackDescriptor.ByIndex(
|
|
value: { track_must_be_selected: boolean?, index: number, scope: TrackScope? }
|
|
): TrackDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind ByName.
|
|
function module.TrackDescriptor.ByName(
|
|
value: { track_must_be_selected: boolean?, name: string, allow_multiple: boolean? }
|
|
): TrackDescriptor_ByName
|
|
local t: any = table.clone(value)
|
|
t.address = "ByName"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TrackDescriptor of kind FromClipColumn.
|
|
function module.TrackDescriptor.FromClipColumn(value: {
|
|
track_must_be_selected: boolean?,
|
|
column: PlaytimeColumnDescriptor,
|
|
context: ClipColumnTrackContext,
|
|
}): TrackDescriptor_FromClipColumn
|
|
local t: any = table.clone(value)
|
|
t.address = "FromClipColumn"
|
|
return t
|
|
end
|
|
|
|
export type ClipColumnTrackContext = "Playback" | "Recording"
|
|
|
|
export type TrackDescriptorCommons = {
|
|
track_must_be_selected: boolean?,
|
|
}
|
|
--- Creates a TrackDescriptorCommons value.
|
|
function module.TrackDescriptorCommons(value: TrackDescriptorCommons): TrackDescriptorCommons
|
|
return value
|
|
end
|
|
|
|
export type FeedbackResolution = "Beat" | "High"
|
|
|
|
export type TrackExclusivity = "WithinProject" | "WithinFolder" | "WithinProjectOnOnly" | "WithinFolderOnOnly"
|
|
|
|
export type InstanceExclusivity = "Exclusive" | "ExclusiveOnOnly"
|
|
|
|
export type MappingExclusivity = "Exclusive" | "ExclusiveOnOnly"
|
|
|
|
export type GroupMappingExclusivity = "Exclusive"
|
|
|
|
export type TouchedTrackParameter = "Volume" | "Pan" | "Width"
|
|
|
|
export type TouchedRouteParameter = "Volume" | "Pan"
|
|
|
|
export type TrackArea = "Tcp" | "Mcp"
|
|
|
|
export type SoloBehavior = "InPlace" | "IgnoreRouting" | "ReaperPreference"
|
|
|
|
export type SeekBehavior = "Immediate" | "Smooth" | "ReaperPreference"
|
|
|
|
export type BookmarkDescriptor_Marker = { kind: "Marker", id: number } | { kind: "Marker", index: number }
|
|
|
|
export type BookmarkDescriptor_Region = { kind: "Region", id: number } | { kind: "Region", index: number }
|
|
export type BookmarkDescriptor = BookmarkDescriptor_Marker | BookmarkDescriptor_Region
|
|
|
|
--- A type that represents all possible kinds of BookmarkDescriptor.
|
|
export type BookmarkDescriptorKind = "Marker" | "Region"
|
|
|
|
--- Helper table to create BookmarkDescriptor values of different kinds.
|
|
module.BookmarkDescriptor = {}
|
|
|
|
--- Creates a BookmarkDescriptor of kind Marker.
|
|
function module.BookmarkDescriptor.Marker(value: BookmarkRef): BookmarkDescriptor_Marker
|
|
local t: any = table.clone(value)
|
|
t.kind = "Marker"
|
|
return t
|
|
end
|
|
|
|
--- Creates a BookmarkDescriptor of kind Region.
|
|
function module.BookmarkDescriptor.Region(value: BookmarkRef): BookmarkDescriptor_Region
|
|
local t: any = table.clone(value)
|
|
t.kind = "Region"
|
|
return t
|
|
end
|
|
|
|
export type BookmarkRef_ById = { id: number }
|
|
|
|
export type BookmarkRef_ByIndex = { index: number }
|
|
export type BookmarkRef = BookmarkRef_ById | BookmarkRef_ByIndex
|
|
|
|
--- Creates a BookmarkRef value.
|
|
function module.BookmarkRef(value: BookmarkRef): BookmarkRef
|
|
return value
|
|
end
|
|
|
|
export type FxDescriptorCommons = {
|
|
fx_must_have_focus: boolean?,
|
|
}
|
|
--- Creates a FxDescriptorCommons value.
|
|
function module.FxDescriptorCommons(value: FxDescriptorCommons): FxDescriptorCommons
|
|
return value
|
|
end
|
|
|
|
export type FxDescriptor_This = { address: "This", fx_must_have_focus: boolean? }
|
|
|
|
export type FxDescriptor_Focused = { address: "Focused" }
|
|
|
|
export type FxDescriptor_Instance = { address: "Instance", fx_must_have_focus: boolean? }
|
|
|
|
export type FxDescriptor_Dynamic = {
|
|
address: "Dynamic",
|
|
fx_must_have_focus: boolean?,
|
|
chain: FxChainDescriptor,
|
|
expression: string,
|
|
}
|
|
|
|
export type FxDescriptor_ById = { address: "ById", fx_must_have_focus: boolean?, chain: FxChainDescriptor, id: string? }
|
|
|
|
export type FxDescriptor_ByIndex = {
|
|
address: "ByIndex",
|
|
fx_must_have_focus: boolean?,
|
|
chain: FxChainDescriptor,
|
|
index: number,
|
|
}
|
|
|
|
export type FxDescriptor_ByName = {
|
|
address: "ByName",
|
|
fx_must_have_focus: boolean?,
|
|
chain: FxChainDescriptor,
|
|
name: string,
|
|
allow_multiple: boolean?,
|
|
}
|
|
export type FxDescriptor =
|
|
FxDescriptor_This
|
|
| FxDescriptor_Focused
|
|
| FxDescriptor_Instance
|
|
| FxDescriptor_Dynamic
|
|
| FxDescriptor_ById
|
|
| FxDescriptor_ByIndex
|
|
| FxDescriptor_ByName
|
|
|
|
--- A type that represents all possible kinds of FxDescriptor.
|
|
export type FxDescriptorAddress = "This" | "Focused" | "Instance" | "Dynamic" | "ById" | "ByIndex" | "ByName"
|
|
|
|
--- Helper table to create FxDescriptor values of different kinds.
|
|
module.FxDescriptor = {}
|
|
|
|
--- Creates a FxDescriptor of kind This.
|
|
function module.FxDescriptor.This(value: { fx_must_have_focus: boolean? }): FxDescriptor_This
|
|
local t: any = table.clone(value)
|
|
t.address = "This"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxDescriptor of kind Focused.
|
|
function module.FxDescriptor.Focused(): FxDescriptor_Focused
|
|
return {
|
|
address = "Focused",
|
|
}
|
|
end
|
|
|
|
--- Creates a FxDescriptor of kind Instance.
|
|
function module.FxDescriptor.Instance(value: { fx_must_have_focus: boolean? }): FxDescriptor_Instance
|
|
local t: any = table.clone(value)
|
|
t.address = "Instance"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxDescriptor of kind Dynamic.
|
|
function module.FxDescriptor.Dynamic(
|
|
value: { fx_must_have_focus: boolean?, chain: FxChainDescriptor, expression: string }
|
|
): FxDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxDescriptor of kind ById.
|
|
function module.FxDescriptor.ById(
|
|
value: { fx_must_have_focus: boolean?, chain: FxChainDescriptor, id: string? }
|
|
): FxDescriptor_ById
|
|
local t: any = table.clone(value)
|
|
t.address = "ById"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxDescriptor of kind ByIndex.
|
|
function module.FxDescriptor.ByIndex(
|
|
value: { fx_must_have_focus: boolean?, chain: FxChainDescriptor, index: number }
|
|
): FxDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxDescriptor of kind ByName.
|
|
function module.FxDescriptor.ByName(value: {
|
|
fx_must_have_focus: boolean?,
|
|
chain: FxChainDescriptor,
|
|
name: string,
|
|
allow_multiple: boolean?,
|
|
}): FxDescriptor_ByName
|
|
local t: any = table.clone(value)
|
|
t.address = "ByName"
|
|
return t
|
|
end
|
|
|
|
export type FxChainDescriptor_Track = { address: "Track", track: TrackDescriptor?, chain: TrackFxChain? }
|
|
export type FxChainDescriptor = FxChainDescriptor_Track
|
|
|
|
--- A type that represents all possible kinds of FxChainDescriptor.
|
|
export type FxChainDescriptorAddress = "Track"
|
|
|
|
--- Helper table to create FxChainDescriptor values of different kinds.
|
|
module.FxChainDescriptor = {}
|
|
|
|
--- Creates a FxChainDescriptor of kind Track.
|
|
function module.FxChainDescriptor.Track(
|
|
value: { track: TrackDescriptor?, chain: TrackFxChain? }
|
|
): FxChainDescriptor_Track
|
|
local t: any = table.clone(value)
|
|
t.address = "Track"
|
|
return t
|
|
end
|
|
|
|
export type TrackFxChain = "Normal" | "Input"
|
|
|
|
export type FxDisplayKind = "FloatingWindow" | "Chain"
|
|
|
|
export type FxSnapshot = {
|
|
fx_kind: string?,
|
|
fx_name: string?,
|
|
preset_name: string?,
|
|
content: FxSnapshotContent,
|
|
}
|
|
--- Creates a FxSnapshot value.
|
|
function module.FxSnapshot(value: FxSnapshot): FxSnapshot
|
|
return value
|
|
end
|
|
|
|
export type FxSnapshotContent_Chunk = { kind: "Chunk", chunk: string }
|
|
export type FxSnapshotContent = FxSnapshotContent_Chunk
|
|
|
|
--- A type that represents all possible kinds of FxSnapshotContent.
|
|
export type FxSnapshotContentKind = "Chunk"
|
|
|
|
--- Helper table to create FxSnapshotContent values of different kinds.
|
|
module.FxSnapshotContent = {}
|
|
|
|
--- Creates a FxSnapshotContent of kind Chunk.
|
|
function module.FxSnapshotContent.Chunk(value: { chunk: string }): FxSnapshotContent_Chunk
|
|
local t: any = table.clone(value)
|
|
t.kind = "Chunk"
|
|
return t
|
|
end
|
|
|
|
export type FxParameterDescriptor_Dynamic = { address: "Dynamic", fx: FxDescriptor?, expression: string }
|
|
|
|
export type FxParameterDescriptor_ById = { address: "ById", fx: FxDescriptor?, index: number }
|
|
|
|
export type FxParameterDescriptor_ByIndex = { address: "ByIndex", fx: FxDescriptor?, index: number }
|
|
|
|
export type FxParameterDescriptor_ByName = { address: "ByName", fx: FxDescriptor?, name: string }
|
|
export type FxParameterDescriptor =
|
|
FxParameterDescriptor_Dynamic
|
|
| FxParameterDescriptor_ById
|
|
| FxParameterDescriptor_ByIndex
|
|
| FxParameterDescriptor_ByName
|
|
|
|
--- A type that represents all possible kinds of FxParameterDescriptor.
|
|
export type FxParameterDescriptorAddress = "Dynamic" | "ById" | "ByIndex" | "ByName"
|
|
|
|
--- Helper table to create FxParameterDescriptor values of different kinds.
|
|
module.FxParameterDescriptor = {}
|
|
|
|
--- Creates a FxParameterDescriptor of kind Dynamic.
|
|
function module.FxParameterDescriptor.Dynamic(
|
|
value: { fx: FxDescriptor?, expression: string }
|
|
): FxParameterDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxParameterDescriptor of kind ById.
|
|
function module.FxParameterDescriptor.ById(value: { fx: FxDescriptor?, index: number }): FxParameterDescriptor_ById
|
|
local t: any = table.clone(value)
|
|
t.address = "ById"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxParameterDescriptor of kind ByIndex.
|
|
function module.FxParameterDescriptor.ByIndex(
|
|
value: { fx: FxDescriptor?, index: number }
|
|
): FxParameterDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a FxParameterDescriptor of kind ByName.
|
|
function module.FxParameterDescriptor.ByName(value: { fx: FxDescriptor?, name: string }): FxParameterDescriptor_ByName
|
|
local t: any = table.clone(value)
|
|
t.address = "ByName"
|
|
return t
|
|
end
|
|
|
|
export type CompartmentParameterDescriptor_ById = { address: "ById", index: number }
|
|
export type CompartmentParameterDescriptor = CompartmentParameterDescriptor_ById
|
|
|
|
--- A type that represents all possible kinds of CompartmentParameterDescriptor.
|
|
export type CompartmentParameterDescriptorAddress = "ById"
|
|
|
|
--- Helper table to create CompartmentParameterDescriptor values of different kinds.
|
|
module.CompartmentParameterDescriptor = {}
|
|
|
|
--- Creates a CompartmentParameterDescriptor of kind ById.
|
|
function module.CompartmentParameterDescriptor.ById(value: { index: number }): CompartmentParameterDescriptor_ById
|
|
local t: any = table.clone(value)
|
|
t.address = "ById"
|
|
return t
|
|
end
|
|
|
|
export type RouteDescriptorCommons = {
|
|
track: TrackDescriptor?,
|
|
route_kind: TrackRouteKind?,
|
|
}
|
|
--- Creates a RouteDescriptorCommons value.
|
|
function module.RouteDescriptorCommons(value: RouteDescriptorCommons): RouteDescriptorCommons
|
|
return value
|
|
end
|
|
|
|
export type RouteDescriptor_Dynamic = {
|
|
address: "Dynamic",
|
|
track: TrackDescriptor?,
|
|
route_kind: TrackRouteKind?,
|
|
expression: string,
|
|
}
|
|
|
|
export type RouteDescriptor_ById = { address: "ById", track: TrackDescriptor?, route_kind: TrackRouteKind?, id: string? }
|
|
|
|
export type RouteDescriptor_ByIndex = {
|
|
address: "ByIndex",
|
|
track: TrackDescriptor?,
|
|
route_kind: TrackRouteKind?,
|
|
index: number,
|
|
}
|
|
|
|
export type RouteDescriptor_ByName = {
|
|
address: "ByName",
|
|
track: TrackDescriptor?,
|
|
route_kind: TrackRouteKind?,
|
|
name: string,
|
|
}
|
|
export type RouteDescriptor =
|
|
RouteDescriptor_Dynamic
|
|
| RouteDescriptor_ById
|
|
| RouteDescriptor_ByIndex
|
|
| RouteDescriptor_ByName
|
|
|
|
--- A type that represents all possible kinds of RouteDescriptor.
|
|
export type RouteDescriptorAddress = "Dynamic" | "ById" | "ByIndex" | "ByName"
|
|
|
|
--- Helper table to create RouteDescriptor values of different kinds.
|
|
module.RouteDescriptor = {}
|
|
|
|
--- Creates a RouteDescriptor of kind Dynamic.
|
|
function module.RouteDescriptor.Dynamic(
|
|
value: { track: TrackDescriptor?, route_kind: TrackRouteKind?, expression: string }
|
|
): RouteDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
--- Creates a RouteDescriptor of kind ById.
|
|
function module.RouteDescriptor.ById(
|
|
value: { track: TrackDescriptor?, route_kind: TrackRouteKind?, id: string? }
|
|
): RouteDescriptor_ById
|
|
local t: any = table.clone(value)
|
|
t.address = "ById"
|
|
return t
|
|
end
|
|
|
|
--- Creates a RouteDescriptor of kind ByIndex.
|
|
function module.RouteDescriptor.ByIndex(
|
|
value: { track: TrackDescriptor?, route_kind: TrackRouteKind?, index: number }
|
|
): RouteDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a RouteDescriptor of kind ByName.
|
|
function module.RouteDescriptor.ByName(
|
|
value: { track: TrackDescriptor?, route_kind: TrackRouteKind?, name: string }
|
|
): RouteDescriptor_ByName
|
|
local t: any = table.clone(value)
|
|
t.address = "ByName"
|
|
return t
|
|
end
|
|
|
|
export type TrackRouteKind = "Send" | "Receive" | "HardwareOutput"
|
|
|
|
export type PlaytimeSlotDescriptor_Active = { address: "Active" }
|
|
|
|
export type PlaytimeSlotDescriptor_ByIndex = { address: "ByIndex", column_index: number, row_index: number }
|
|
|
|
export type PlaytimeSlotDescriptor_Dynamic = { address: "Dynamic", column_expression: string, row_expression: string }
|
|
export type PlaytimeSlotDescriptor =
|
|
PlaytimeSlotDescriptor_Active
|
|
| PlaytimeSlotDescriptor_ByIndex
|
|
| PlaytimeSlotDescriptor_Dynamic
|
|
|
|
--- A type that represents all possible kinds of PlaytimeSlotDescriptor.
|
|
export type PlaytimeSlotDescriptorAddress = "Active" | "ByIndex" | "Dynamic"
|
|
|
|
--- Helper table to create PlaytimeSlotDescriptor values of different kinds.
|
|
module.PlaytimeSlotDescriptor = {}
|
|
|
|
--- Creates a PlaytimeSlotDescriptor of kind Active.
|
|
function module.PlaytimeSlotDescriptor.Active(): PlaytimeSlotDescriptor_Active
|
|
return {
|
|
address = "Active",
|
|
}
|
|
end
|
|
|
|
--- Creates a PlaytimeSlotDescriptor of kind ByIndex.
|
|
function module.PlaytimeSlotDescriptor.ByIndex(value: playtime.SlotAddress): PlaytimeSlotDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a PlaytimeSlotDescriptor of kind Dynamic.
|
|
function module.PlaytimeSlotDescriptor.Dynamic(
|
|
value: { column_expression: string, row_expression: string }
|
|
): PlaytimeSlotDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
export type PlaytimeSlotDescriptorKind = "Active" | "ByIndex" | "Dynamic"
|
|
|
|
export type PlaytimeColumnDescriptor_Active = { address: "Active" }
|
|
|
|
export type PlaytimeColumnDescriptor_ByIndex = { address: "ByIndex", index: number }
|
|
|
|
export type PlaytimeColumnDescriptor_Dynamic = { address: "Dynamic", expression: string }
|
|
export type PlaytimeColumnDescriptor =
|
|
PlaytimeColumnDescriptor_Active
|
|
| PlaytimeColumnDescriptor_ByIndex
|
|
| PlaytimeColumnDescriptor_Dynamic
|
|
|
|
--- A type that represents all possible kinds of PlaytimeColumnDescriptor.
|
|
export type PlaytimeColumnDescriptorAddress = "Active" | "ByIndex" | "Dynamic"
|
|
|
|
--- Helper table to create PlaytimeColumnDescriptor values of different kinds.
|
|
module.PlaytimeColumnDescriptor = {}
|
|
|
|
--- Creates a PlaytimeColumnDescriptor of kind Active.
|
|
function module.PlaytimeColumnDescriptor.Active(): PlaytimeColumnDescriptor_Active
|
|
return {
|
|
address = "Active",
|
|
}
|
|
end
|
|
|
|
--- Creates a PlaytimeColumnDescriptor of kind ByIndex.
|
|
function module.PlaytimeColumnDescriptor.ByIndex(value: playtime.ColumnAddress): PlaytimeColumnDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a PlaytimeColumnDescriptor of kind Dynamic.
|
|
function module.PlaytimeColumnDescriptor.Dynamic(value: { expression: string }): PlaytimeColumnDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
export type PlaytimeColumnDescriptorKind = "Active" | "ByIndex" | "Dynamic"
|
|
|
|
export type PlaytimeRowDescriptor_Active = { address: "Active" }
|
|
|
|
export type PlaytimeRowDescriptor_ByIndex = { address: "ByIndex", index: number }
|
|
|
|
export type PlaytimeRowDescriptor_Dynamic = { address: "Dynamic", expression: string }
|
|
export type PlaytimeRowDescriptor =
|
|
PlaytimeRowDescriptor_Active
|
|
| PlaytimeRowDescriptor_ByIndex
|
|
| PlaytimeRowDescriptor_Dynamic
|
|
|
|
--- A type that represents all possible kinds of PlaytimeRowDescriptor.
|
|
export type PlaytimeRowDescriptorAddress = "Active" | "ByIndex" | "Dynamic"
|
|
|
|
--- Helper table to create PlaytimeRowDescriptor values of different kinds.
|
|
module.PlaytimeRowDescriptor = {}
|
|
|
|
--- Creates a PlaytimeRowDescriptor of kind Active.
|
|
function module.PlaytimeRowDescriptor.Active(): PlaytimeRowDescriptor_Active
|
|
return {
|
|
address = "Active",
|
|
}
|
|
end
|
|
|
|
--- Creates a PlaytimeRowDescriptor of kind ByIndex.
|
|
function module.PlaytimeRowDescriptor.ByIndex(value: playtime.RowAddress): PlaytimeRowDescriptor_ByIndex
|
|
local t: any = table.clone(value)
|
|
t.address = "ByIndex"
|
|
return t
|
|
end
|
|
|
|
--- Creates a PlaytimeRowDescriptor of kind Dynamic.
|
|
function module.PlaytimeRowDescriptor.Dynamic(value: { expression: string }): PlaytimeRowDescriptor_Dynamic
|
|
local t: any = table.clone(value)
|
|
t.address = "Dynamic"
|
|
return t
|
|
end
|
|
|
|
export type PlaytimeRowDescriptorKind = "Active" | "ByIndex" | "Dynamic"
|
|
|
|
export type SendMidiDestination_FxOutput = { kind: "FxOutput" }
|
|
|
|
export type SendMidiDestination_FeedbackOutput = { kind: "FeedbackOutput" }
|
|
|
|
export type SendMidiDestination_InputDevice = { kind: "InputDevice", device_id: number? }
|
|
export type SendMidiDestination =
|
|
SendMidiDestination_FxOutput
|
|
| SendMidiDestination_FeedbackOutput
|
|
| SendMidiDestination_InputDevice
|
|
|
|
--- A type that represents all possible kinds of SendMidiDestination.
|
|
export type SendMidiDestinationKind = "FxOutput" | "FeedbackOutput" | "InputDevice"
|
|
|
|
--- Helper table to create SendMidiDestination values of different kinds.
|
|
module.SendMidiDestination = {}
|
|
|
|
--- Creates a SendMidiDestination of kind FxOutput.
|
|
function module.SendMidiDestination.FxOutput(): SendMidiDestination_FxOutput
|
|
return {
|
|
kind = "FxOutput",
|
|
}
|
|
end
|
|
|
|
--- Creates a SendMidiDestination of kind FeedbackOutput.
|
|
function module.SendMidiDestination.FeedbackOutput(): SendMidiDestination_FeedbackOutput
|
|
return {
|
|
kind = "FeedbackOutput",
|
|
}
|
|
end
|
|
|
|
--- Creates a SendMidiDestination of kind InputDevice.
|
|
function module.SendMidiDestination.InputDevice(value: InputDeviceMidiDestination): SendMidiDestination_InputDevice
|
|
local t: any = table.clone(value)
|
|
t.kind = "InputDevice"
|
|
return t
|
|
end
|
|
|
|
export type InputDeviceMidiDestination = {
|
|
device_id: number?,
|
|
}
|
|
--- Creates a InputDeviceMidiDestination value.
|
|
function module.InputDeviceMidiDestination(value: InputDeviceMidiDestination): InputDeviceMidiDestination
|
|
return value
|
|
end
|
|
|
|
export type OscDestination_FeedbackOutput = { kind: "FeedbackOutput" }
|
|
|
|
export type OscDestination_Device = { kind: "Device", id: string }
|
|
export type OscDestination = OscDestination_FeedbackOutput | OscDestination_Device
|
|
|
|
--- A type that represents all possible kinds of OscDestination.
|
|
export type OscDestinationKind = "FeedbackOutput" | "Device"
|
|
|
|
--- Helper table to create OscDestination values of different kinds.
|
|
module.OscDestination = {}
|
|
|
|
--- Creates a OscDestination of kind FeedbackOutput.
|
|
function module.OscDestination.FeedbackOutput(): OscDestination_FeedbackOutput
|
|
return {
|
|
kind = "FeedbackOutput",
|
|
}
|
|
end
|
|
|
|
--- Creates a OscDestination of kind Device.
|
|
function module.OscDestination.Device(value: { id: string }): OscDestination_Device
|
|
local t: any = table.clone(value)
|
|
t.kind = "Device"
|
|
return t
|
|
end
|
|
|
|
export type TrackScope = "AllTracks" | "TracksVisibleInTcp" | "TracksVisibleInMcp"
|
|
|
|
export type BrowseTracksMode =
|
|
"AllTracks"
|
|
| "TracksVisibleInTcp"
|
|
| "TracksVisibleInTcpAllowTwoSelections"
|
|
| "TracksVisibleInMcp"
|
|
| "TracksVisibleInMcpAllowTwoSelections"
|
|
|
|
export type TargetValue_Unit = { kind: "Unit", value: number }
|
|
|
|
export type TargetValue_Discrete = { kind: "Discrete", value: number }
|
|
export type TargetValue = TargetValue_Unit | TargetValue_Discrete
|
|
|
|
--- A type that represents all possible kinds of TargetValue.
|
|
export type TargetValueKind = "Unit" | "Discrete"
|
|
|
|
--- Helper table to create TargetValue values of different kinds.
|
|
module.TargetValue = {}
|
|
|
|
--- Creates a TargetValue of kind Unit.
|
|
function module.TargetValue.Unit(value: { value: number }): TargetValue_Unit
|
|
local t: any = table.clone(value)
|
|
t.kind = "Unit"
|
|
return t
|
|
end
|
|
|
|
--- Creates a TargetValue of kind Discrete.
|
|
function module.TargetValue.Discrete(value: { value: number }): TargetValue_Discrete
|
|
local t: any = table.clone(value)
|
|
t.kind = "Discrete"
|
|
return t
|
|
end
|
|
|
|
return module
|