UNPKG

reaper-osc

Version:
554 lines (553 loc) 21.6 kB
/** * Strongly typed commands accepted by {@link ReaperOscClient} for sending messages to Reaper * @module */ import { OscMessage } from '../Messages'; import { RecordMonitoringMode } from './Events'; export interface ToggleMetronome { type: 'metronome:toggle'; } export declare function ToggleMetronome(): ToggleMetronome; export interface ToggleAutoRecordArm { type: 'autoRecordArm:toggle'; } export declare function ToggleAutoRecordArm(): ToggleAutoRecordArm; export interface ResetSolos { type: 'soloReset'; } export declare function ResetSolos(): ResetSolos; export interface TriggerAction { type: 'action'; commandId: string | number; value?: number; } export declare function TriggerAction(commandId: string | number, value?: number): TriggerAction; export interface Play { type: 'transport:play'; } export declare function Play(): Play; export interface Stop { type: 'transport:stop'; } export declare function Stop(): Stop; export interface Pause { type: 'transport:pause'; } export declare function Pause(): Pause; export interface ToggleRecord { type: 'transport:record'; } export declare function ToggleRecord(): ToggleRecord; export interface SetRewind { type: 'transport:rewind'; rewinding: boolean; } export declare function SetRewind(rewinding: boolean): SetRewind; export interface SetFastForward { type: 'transport:fastForward'; fastForwarding: boolean; } export declare function SetFastForward(fastForwarding: boolean): SetFastForward; export interface ToggleRepeat { type: 'transport:repeat:toggle'; } export declare function ToggleRepeat(): ToggleRepeat; export interface SetTime { type: 'transport:time'; time: number; } export declare function SetTime(time: number): SetTime; export interface SetBeat { type: 'transport:beat'; beat: string; } export declare function SetBeat(beat: string): SetBeat; export interface SetFrames { type: 'transport:frames'; frames: string; } export declare function SetFrames(frames: string): SetFrames; export interface SetLoopStart { type: 'transport:loopStart'; time: number; } export declare function SetLoopStart(time: number): SetLoopStart; export interface SetLoopEnd { type: 'transport:loopEnd'; time: number; } export declare function SetLoopEnd(time: number): SetLoopEnd; export interface SetTrackMute { type: 'track:mute'; trackNumber: number; muted: boolean; } export declare function SetTrackMute(trackNumber: number, muted: boolean): SetTrackMute; export interface ToggleTrackMute { type: 'track:mute:toggle'; trackNumber: number; } export declare function ToggleTrackMute(trackNumber: number): ToggleTrackMute; export interface SetTrackSolo { type: 'track:solo'; trackNumber: number; soloed: boolean; } export declare function SetTrackSolo(trackNumber: number, soloed: boolean): SetTrackSolo; export interface ToggleTrackSolo { type: 'track:solo:toggle'; trackNumber: number; } export declare function ToggleTrackSolo(trackNumber: number): ToggleTrackSolo; export interface SetTrackRecordArm { type: 'track:recordArm'; trackNumber: number; armed: boolean; } export declare function SetTrackRecordArm(trackNumber: number, armed: boolean): SetTrackRecordArm; export interface ToggleTrackRecordArm { type: 'track:recordArm:toggle'; trackNumber: number; } export declare function ToggleTrackRecordArm(trackNumber: number): ToggleTrackRecordArm; export interface SetTrackSelect { type: 'track:select'; trackNumber: number; selected: boolean; } export declare function SetTrackSelect(trackNumber: number, selected: boolean): SetTrackSelect; export interface SetTrackName { type: 'track:name'; trackNumber: number; name: string; } export declare function SetTrackName(trackNumber: number, name: string): SetTrackName; export interface SetTrackPan { type: 'track:pan'; trackNumber: number; pan: number; } export declare function SetTrackPan(trackNumber: number, pan: number): SetTrackPan; export interface SetTrackPan2 { type: 'track:pan2'; trackNumber: number; pan2: number; } export declare function SetTrackPan2(trackNumber: number, pan2: number): SetTrackPan2; export interface SetTrackVolume { type: 'track:volume'; trackNumber: number; volume: number; } export declare function SetTrackVolume(trackNumber: number, volume: number): SetTrackVolume; export interface SetTrackVolumeDb { type: 'track:volumeDb'; trackNumber: number; volumeDb: number; } export declare function SetTrackVolumeDb(trackNumber: number, volumeDb: number): SetTrackVolumeDb; export interface SetTrackMonitoringMode { type: 'track:monitoringMode'; trackNumber: number; mode: RecordMonitoringMode; } export declare function SetTrackMonitoringMode(trackNumber: number, mode: RecordMonitoringMode): SetTrackMonitoringMode; export interface SetTrackFxBypass { type: 'track:fx:bypass'; trackNumber: number; fxNumber: number; bypassed: boolean; } export declare function SetTrackFxBypass(trackNumber: number, fxNumber: number, bypassed: boolean): SetTrackFxBypass; export interface SetTrackFxOpenUi { type: 'track:fx:openUi'; trackNumber: number; fxNumber: number; open: boolean; } export declare function SetTrackFxOpenUi(trackNumber: number, fxNumber: number, open: boolean): SetTrackFxOpenUi; export interface NextTrackFxPreset { type: 'track:fx:preset:next'; trackNumber: number; fxNumber: number; } export declare function NextTrackFxPreset(trackNumber: number, fxNumber: number): NextTrackFxPreset; export interface PreviousTrackFxPreset { type: 'track:fx:preset:previous'; trackNumber: number; fxNumber: number; } export declare function PreviousTrackFxPreset(trackNumber: number, fxNumber: number): PreviousTrackFxPreset; export interface SetSelectedTrackMute { type: 'selectedTrack:mute'; muted: boolean; } export declare function SetSelectedTrackMute(muted: boolean): SetSelectedTrackMute; export interface ToggleSelectedTrackMute { type: 'selectedTrack:mute:toggle'; } export declare function ToggleSelectedTrackMute(): ToggleSelectedTrackMute; export interface SetSelectedTrackSolo { type: 'selectedTrack:solo'; soloed: boolean; } export declare function SetSelectedTrackSolo(soloed: boolean): SetSelectedTrackSolo; export interface ToggleSelectedTrackSolo { type: 'selectedTrack:solo:toggle'; } export declare function ToggleSelectedTrackSolo(): ToggleSelectedTrackSolo; export interface SetSelectedTrackRecordArm { type: 'selectedTrack:recordArm'; armed: boolean; } export declare function SetSelectedTrackRecordArm(armed: boolean): SetSelectedTrackRecordArm; export interface ToggleSelectedTrackRecordArm { type: 'selectedTrack:recordArm:toggle'; } export declare function ToggleSelectedTrackRecordArm(): ToggleSelectedTrackRecordArm; export interface SetSelectedTrackSelect { type: 'selectedTrack:select'; selected: boolean; } export declare function SetSelectedTrackSelect(selected: boolean): SetSelectedTrackSelect; export interface SetSelectedTrackName { type: 'selectedTrack:name'; name: string; } export declare function SetSelectedTrackName(name: string): SetSelectedTrackName; export interface SetSelectedTrackPan { type: 'selectedTrack:pan'; pan: number; } export declare function SetSelectedTrackPan(pan: number): SetSelectedTrackPan; export interface SetSelectedTrackPan2 { type: 'selectedTrack:pan2'; pan2: number; } export declare function SetSelectedTrackPan2(pan2: number): SetSelectedTrackPan2; export interface SetSelectedTrackVolume { type: 'selectedTrack:volume'; volume: number; } export declare function SetSelectedTrackVolume(volume: number): SetSelectedTrackVolume; export interface SetSelectedTrackVolumeDb { type: 'selectedTrack:volumeDb'; volumeDb: number; } export declare function SetSelectedTrackVolumeDb(volumeDb: number): SetSelectedTrackVolumeDb; export interface SetSelectedTrackMonitoringMode { type: 'selectedTrack:monitoringMode'; mode: RecordMonitoringMode; } export declare function SetSelectedTrackMonitoringMode(mode: RecordMonitoringMode): SetSelectedTrackMonitoringMode; export interface SetSelectedTrackFxBypass { type: 'selectedTrack:fx:bypass'; fxNumber: number; bypassed: boolean; } export declare function SetSelectedTrackFxBypass(fxNumber: number, bypassed: boolean): SetSelectedTrackFxBypass; export interface SetSelectedTrackFxOpenUi { type: 'selectedTrack:fx:openUi'; fxNumber: number; open: boolean; } export declare function SetSelectedTrackFxOpenUi(fxNumber: number, open: boolean): SetSelectedTrackFxOpenUi; export interface NextSelectedTrackFxPreset { type: 'selectedTrack:fx:preset:next'; fxNumber: number; } export declare function NextSelectedTrackFxPreset(fxNumber: number): NextSelectedTrackFxPreset; export interface PreviousSelectedTrackFxPreset { type: 'selectedTrack:fx:preset:previous'; fxNumber: number; } export declare function PreviousSelectedTrackFxPreset(fxNumber: number): PreviousSelectedTrackFxPreset; export interface SetSelectedFxBypass { type: 'selectedFx:bypass'; bypassed: boolean; } export declare function SetSelectedFxBypass(bypassed: boolean): SetSelectedFxBypass; export interface SetSelectedFxOpenUi { type: 'selectedFx:openUi'; open: boolean; } export declare function SetSelectedFxOpenUi(open: boolean): SetSelectedFxOpenUi; export interface NextSelectedFxPreset { type: 'selectedFx:preset:next'; } export declare function NextSelectedFxPreset(): NextSelectedFxPreset; export interface PreviousSelectedFxPreset { type: 'selectedFx:preset:previous'; } export declare function PreviousSelectedFxPreset(): PreviousSelectedFxPreset; export interface SetTrackSendVolume { type: 'track:send:volume'; trackNumber: number; sendNumber: number; volume: number; } export declare function SetTrackSendVolume(trackNumber: number, sendNumber: number, volume: number): SetTrackSendVolume; export interface SetTrackSendPan { type: 'track:send:pan'; trackNumber: number; sendNumber: number; pan: number; } export declare function SetTrackSendPan(trackNumber: number, sendNumber: number, pan: number): SetTrackSendPan; export interface SetTrackReceiveVolume { type: 'track:recv:volume'; trackNumber: number; receiveNumber: number; volume: number; } export declare function SetTrackReceiveVolume(trackNumber: number, receiveNumber: number, volume: number): SetTrackReceiveVolume; export interface SetTrackReceivePan { type: 'track:recv:pan'; trackNumber: number; receiveNumber: number; pan: number; } export declare function SetTrackReceivePan(trackNumber: number, receiveNumber: number, pan: number): SetTrackReceivePan; export interface SetSelectedTrackSendVolume { type: 'selectedTrack:send:volume'; sendNumber: number; volume: number; } export declare function SetSelectedTrackSendVolume(sendNumber: number, volume: number): SetSelectedTrackSendVolume; export interface SetSelectedTrackSendPan { type: 'selectedTrack:send:pan'; sendNumber: number; pan: number; } export declare function SetSelectedTrackSendPan(sendNumber: number, pan: number): SetSelectedTrackSendPan; export interface SetSelectedTrackReceiveVolume { type: 'selectedTrack:recv:volume'; receiveNumber: number; volume: number; } export declare function SetSelectedTrackReceiveVolume(receiveNumber: number, volume: number): SetSelectedTrackReceiveVolume; export interface SetSelectedTrackReceivePan { type: 'selectedTrack:recv:pan'; receiveNumber: number; pan: number; } export declare function SetSelectedTrackReceivePan(receiveNumber: number, pan: number): SetSelectedTrackReceivePan; export interface ToggleRewindByMarker { type: 'transport:rewindByMarker:toggle'; } export declare function ToggleRewindByMarker(): ToggleRewindByMarker; export interface ToggleSetLoop { type: 'transport:setLoop:toggle'; } export declare function ToggleSetLoop(): ToggleSetLoop; export interface GotoMarker { type: 'transport:gotoMarker'; markerNumber: number; } export declare function GotoMarker(markerNumber: number): GotoMarker; export interface GotoRegion { type: 'transport:gotoRegion'; regionNumber: number; } export declare function GotoRegion(regionNumber: number): GotoRegion; export interface SetMarkerName { type: 'markerById:name'; id: number; name: string; } export declare function SetMarkerName(id: number, name: string): SetMarkerName; export interface SetMarkerTime { type: 'markerById:time'; id: number; time: number; } export declare function SetMarkerTime(id: number, time: number): SetMarkerTime; export interface SetMarkerNumber { type: 'markerById:number'; id: number; number: number; } export declare function SetMarkerNumber(id: number, number: number): SetMarkerNumber; export interface SetRegionName { type: 'regionById:name'; id: number; name: string; } export declare function SetRegionName(id: number, name: string): SetRegionName; export interface SetRegionTime { type: 'regionById:time'; id: number; time: number; } export declare function SetRegionTime(id: number, time: number): SetRegionTime; export interface SetRegionLength { type: 'regionById:length'; id: number; length: number; } export declare function SetRegionLength(id: number, length: number): SetRegionLength; export interface SetRegionNumber { type: 'regionById:number'; id: number; number: number; } export declare function SetRegionNumber(id: number, number: number): SetRegionNumber; export interface SetScrollLeft { type: 'viewport:scroll:left'; active: boolean; } export declare function SetScrollLeft(active: boolean): SetScrollLeft; export interface SetScrollRight { type: 'viewport:scroll:right'; active: boolean; } export declare function SetScrollRight(active: boolean): SetScrollRight; export interface SetScrollUp { type: 'viewport:scroll:up'; active: boolean; } export declare function SetScrollUp(active: boolean): SetScrollUp; export interface SetScrollDown { type: 'viewport:scroll:down'; active: boolean; } export declare function SetScrollDown(active: boolean): SetScrollDown; export interface SetZoomInX { type: 'viewport:zoom:in:x'; active: boolean; } export declare function SetZoomInX(active: boolean): SetZoomInX; export interface SetZoomOutX { type: 'viewport:zoom:out:x'; active: boolean; } export declare function SetZoomOutX(active: boolean): SetZoomOutX; export interface SetZoomInY { type: 'viewport:zoom:in:y'; active: boolean; } export declare function SetZoomInY(active: boolean): SetZoomInY; export interface SetZoomOutY { type: 'viewport:zoom:out:y'; active: boolean; } export declare function SetZoomOutY(active: boolean): SetZoomOutY; export interface ScrollX { type: 'viewport:scrollX'; value: number; } export declare function ScrollX(value: number): ScrollX; export interface ScrollY { type: 'viewport:scrollY'; value: number; } export declare function ScrollY(value: number): ScrollY; export interface ZoomX { type: 'viewport:zoomX'; value: number; } export declare function ZoomX(value: number): ZoomX; export interface ZoomY { type: 'viewport:zoomY'; value: number; } export declare function ZoomY(value: number): ZoomY; export interface SelectDeviceTrack { type: 'device:track:select'; index: number; } export declare function SelectDeviceTrack(index: number): SelectDeviceTrack; export interface NextDeviceTrack { type: 'device:track:next'; } export declare function NextDeviceTrack(): NextDeviceTrack; export interface PreviousDeviceTrack { type: 'device:track:previous'; } export declare function PreviousDeviceTrack(): PreviousDeviceTrack; export interface SelectDeviceTrackBank { type: 'device:trackBank:select'; index: number; } export declare function SelectDeviceTrackBank(index: number): SelectDeviceTrackBank; export interface NextDeviceTrackBank { type: 'device:trackBank:next'; } export declare function NextDeviceTrackBank(): NextDeviceTrackBank; export interface PreviousDeviceTrackBank { type: 'device:trackBank:previous'; } export declare function PreviousDeviceTrackBank(): PreviousDeviceTrackBank; export interface SelectDeviceFx { type: 'device:fx:select'; index: number; } export declare function SelectDeviceFx(index: number): SelectDeviceFx; export interface NextDeviceFx { type: 'device:fx:next'; } export declare function NextDeviceFx(): NextDeviceFx; export interface PreviousDeviceFx { type: 'device:fx:previous'; } export declare function PreviousDeviceFx(): PreviousDeviceFx; export interface SelectDeviceFxParameterBank { type: 'device:fx:parameterBank:select'; index: number; } export declare function SelectDeviceFxParameterBank(index: number): SelectDeviceFxParameterBank; export interface NextDeviceFxParameterBank { type: 'device:fx:parameterBank:next'; } export declare function NextDeviceFxParameterBank(): NextDeviceFxParameterBank; export interface PreviousDeviceFxParameterBank { type: 'device:fx:parameterBank:previous'; } export declare function PreviousDeviceFxParameterBank(): PreviousDeviceFxParameterBank; export interface SelectDeviceFxInstrumentParameterBank { type: 'device:fx:instrumentParameterBank:select'; index: number; } export declare function SelectDeviceFxInstrumentParameterBank(index: number): SelectDeviceFxInstrumentParameterBank; export interface NextDeviceFxInstrumentParameterBank { type: 'device:fx:instrumentParameterBank:next'; } export declare function NextDeviceFxInstrumentParameterBank(): NextDeviceFxInstrumentParameterBank; export interface PreviousDeviceFxInstrumentParameterBank { type: 'device:fx:instrumentParameterBank:previous'; } export declare function PreviousDeviceFxInstrumentParameterBank(): PreviousDeviceFxInstrumentParameterBank; export interface SelectDeviceMarkerBank { type: 'device:markerBank:select'; index: number; } export declare function SelectDeviceMarkerBank(index: number): SelectDeviceMarkerBank; export interface NextDeviceMarkerBank { type: 'device:markerBank:next'; } export declare function NextDeviceMarkerBank(): NextDeviceMarkerBank; export interface PreviousDeviceMarkerBank { type: 'device:markerBank:previous'; } export declare function PreviousDeviceMarkerBank(): PreviousDeviceMarkerBank; export interface SelectDeviceRegionBank { type: 'device:regionBank:select'; index: number; } export declare function SelectDeviceRegionBank(index: number): SelectDeviceRegionBank; export interface NextDeviceRegionBank { type: 'device:regionBank:next'; } export declare function NextDeviceRegionBank(): NextDeviceRegionBank; export interface PreviousDeviceRegionBank { type: 'device:regionBank:previous'; } export declare function PreviousDeviceRegionBank(): PreviousDeviceRegionBank; export interface RawMessage { type: 'raw'; message: OscMessage; } export declare function RawMessage(message: OscMessage): RawMessage; export declare type ReaperOscCommand = ToggleMetronome | ToggleAutoRecordArm | ResetSolos | TriggerAction | Play | Stop | Pause | ToggleRecord | SetRewind | SetFastForward | ToggleRepeat | SetTime | SetBeat | SetFrames | SetLoopStart | SetLoopEnd | SetTrackMute | ToggleTrackMute | SetTrackSolo | ToggleTrackSolo | SetTrackRecordArm | ToggleTrackRecordArm | SetTrackSelect | SetTrackName | SetTrackPan | SetTrackPan2 | SetTrackVolume | SetTrackVolumeDb | SetTrackMonitoringMode | SetTrackFxBypass | SetTrackFxOpenUi | NextTrackFxPreset | PreviousTrackFxPreset | SetSelectedTrackMute | ToggleSelectedTrackMute | SetSelectedTrackSolo | ToggleSelectedTrackSolo | SetSelectedTrackRecordArm | ToggleSelectedTrackRecordArm | SetSelectedTrackSelect | SetSelectedTrackName | SetSelectedTrackPan | SetSelectedTrackPan2 | SetSelectedTrackVolume | SetSelectedTrackVolumeDb | SetSelectedTrackMonitoringMode | SetSelectedTrackFxBypass | SetSelectedTrackFxOpenUi | NextSelectedTrackFxPreset | PreviousSelectedTrackFxPreset | SetSelectedFxBypass | SetSelectedFxOpenUi | NextSelectedFxPreset | PreviousSelectedFxPreset | SetTrackSendVolume | SetTrackSendPan | SetTrackReceiveVolume | SetTrackReceivePan | SetSelectedTrackSendVolume | SetSelectedTrackSendPan | SetSelectedTrackReceiveVolume | SetSelectedTrackReceivePan | ToggleRewindByMarker | ToggleSetLoop | GotoMarker | GotoRegion | SetMarkerName | SetMarkerTime | SetMarkerNumber | SetRegionName | SetRegionTime | SetRegionLength | SetRegionNumber | SetScrollLeft | SetScrollRight | SetScrollUp | SetScrollDown | SetZoomInX | SetZoomOutX | SetZoomInY | SetZoomOutY | ScrollX | ScrollY | ZoomX | ZoomY | SelectDeviceTrack | NextDeviceTrack | PreviousDeviceTrack | SelectDeviceTrackBank | NextDeviceTrackBank | PreviousDeviceTrackBank | SelectDeviceFx | NextDeviceFx | PreviousDeviceFx | SelectDeviceFxParameterBank | NextDeviceFxParameterBank | PreviousDeviceFxParameterBank | SelectDeviceFxInstrumentParameterBank | NextDeviceFxInstrumentParameterBank | PreviousDeviceFxInstrumentParameterBank | SelectDeviceMarkerBank | NextDeviceMarkerBank | PreviousDeviceMarkerBank | SelectDeviceRegionBank | NextDeviceRegionBank | PreviousDeviceRegionBank | RawMessage; /** Translates a typed command into the corresponding OSC message */ export declare function commandToOscMessage(command: ReaperOscCommand): OscMessage;