type Sequences = Obj & (Sequence | undefined)[] & { [index: string]: Sequence | undefined }; type SequenceRateMaster = | 'None' | 'Speed1' | 'Speed2' | 'Speed3' | 'Speed4' | 'Speed5' | 'Speed6' | 'Speed7' | 'Speed8' | 'Speed9' | 'Speed10' | 'Speed11' | 'Speed12' | 'Speed13' | 'Speed14' | 'Speed15' | 'BPM'; type SequenceSpeedMaster = SequenceRateMaster; /** * Mul - Multiple (Means multiply the bpm => faster) * Div - Divide (Means divide the bpm => slower) */ type SequenceSpeedScale = | 'Div256' | 'Div128' | 'Div64' | 'Div32' | 'Div16' | 'Div8' | 'Div4' | 'Div2' | 'One' | 'Mul2' | 'Mul4' | 'Mul8' | 'Mul16' | 'Mul32' | 'Mul64' | 'Mul128' | 'Mul256'; type SequenceRestartMode = 'Current Cue' | 'First Cue' | 'Next Cue'; type SequenceCueCommand = 'Enabled' | 'Force No' | 'Force Yes'; type SequenceExecutorDisplayMode = 'Data only' | 'Appearance only' | 'Both'; type SequenceMasterGoMode = 'None' | 'Go' | 'On' | 'Top'; type SequencePlaybackMaster = 'None' | `Playback${number}`; type SequencePriority = 'Lowest' | 'Low' | 'LTP' | 'High' | 'Highest' | 'HTP' | 'Swap' | 'Super'; type SequenceMib = 'Enabled' | 'Never' | 'Force Early' | 'Force UnpoGo' | 'Force Late'; type SequenceMibMode = 'None' | 'Early' | 'UponGo' | 'Late'; type SequenceProps = ObjProps & { autoStart: boolean; autoStop: boolean; autoFix: boolean; autoStomp: boolean; autoPrePos: boolean; cueCommand: SequenceCueCommand; executorDisplayMode: SequenceExecutorDisplayMode; includeLinkLastGo: boolean; killProtect: boolean; masterGoMode: SequenceMasterGoMode; offWhenOverridden: boolean; playbackMaster: SequencePlaybackMaster; preferCueAppearance: boolean; priority: SequencePriority; rateMaster: SequenceRateMaster; rateScale: SequenceSpeedScale; releaseFirstCue: boolean; restartMode: SequenceRestartMode; sequMib?: SequenceMib; sequMibMode?: SequenceMibMode; softLTP: boolean; speedFromRate: boolean; speedMaster: SequenceSpeedMaster; speedScale: SequenceSpeedScale; swapProtect: boolean; useExecutorTime: boolean; wrapAround: boolean; xFadeMode: boolean; xFadeReload: boolean; }; type Sequence = Obj & SequenceProps & (Cue | undefined)[] & { [index: string]: Cue | undefined } & { CurrentChild: () => LuaMultiReturn<[Cue | undefined, string]>; name: string; }; type Cue = Obj & (Part | undefined)[] & { [index: string]: Part | undefined } & { name: string; /** * This is the cue number multiplied by a 1000. * e.g. Cue number 5.1 is 5100 * This should be used as a cue identifier and NOT the "index" property which is * an integer and for cue numbers 5.1 and 5.2 , both indexes will be 5. */ no: number; }; type PartProps = ObjProps & { appearance: Obj; command: string; note: string; part: number; /** * Raw Seconds. 1 sec = 16777216 */ cueInFade: number; /** * Raw Seconds. 1 sec = 16777216 */ cueInDelay: number; }; type Part = Obj & {}; declare namespace MA3_v2_0_2 { type SequenceProps = ObjProps & { autoStart: boolean; autoStop: boolean; autoFix: boolean; autoStomp: boolean; autoPrePos: boolean; commandEnable: boolean; executorDisplayMode: SequenceExecutorDisplayMode; includeLinkLastGo: boolean; killProtect: boolean; masterGoMode: SequenceMasterGoMode; offWhenOverridden: boolean; playbackMaster: SequencePlaybackMaster; preferCueAppearance: boolean; priority: SequencePriority; rateMaster: SequenceRateMaster; rateScale: SequenceSpeedScale; releaseFirstCue: boolean; restartMode: SequenceRestartMode; sequMib?: SequenceMib; sequMibMode?: SequenceMibMode; softLTP: boolean; speedFromRate: boolean; speedMaster: SequenceSpeedMaster; speedScale: SequenceSpeedScale; swapProtect: boolean; useExecutorTime: boolean; wrapAround: boolean; xFadeMode: boolean; xFadeReload: boolean; }; }