UNPKG

reaper-osc

Version:
537 lines (536 loc) 21.9 kB
/** * Strongly typed events emitted by {@link ReaperOscClient} when messages are received from Reaper * @module */ import { OscMessage } from '../Messages'; export declare enum RecordMonitoringMode { /** Record monitoring disabled */ OFF = 0, /** Record monitoring enabled */ ON = 1, /** Tape auto style */ AUTO = 2 } export interface MetronomeEvent { type: 'metronome'; enabled: boolean; } export declare function MetronomeEvent(enabled: boolean): MetronomeEvent; export interface AutoRecordArmEvent { type: 'autoRecordArm'; enabled: boolean; } export declare function AutoRecordArmEvent(enabled: boolean): AutoRecordArmEvent; export interface AnySoloEvent { type: 'anySolo'; active: boolean; } export declare function AnySoloEvent(active: boolean): AnySoloEvent; export interface PlayEvent { type: 'transport:play'; playing: boolean; } export declare function PlayEvent(playing: boolean): PlayEvent; export interface StopEvent { type: 'transport:stop'; stopped: boolean; } export declare function StopEvent(stopped: boolean): StopEvent; export interface PauseEvent { type: 'transport:pause'; paused: boolean; } export declare function PauseEvent(paused: boolean): PauseEvent; export interface RecordEvent { type: 'transport:record'; recording: boolean; } export declare function RecordEvent(recording: boolean): RecordEvent; export interface RewindEvent { type: 'transport:rewind'; rewinding: boolean; } export declare function RewindEvent(rewinding: boolean): RewindEvent; export interface FastForwardEvent { type: 'transport:fastForward'; fastForwarding: boolean; } export declare function FastForwardEvent(fastForwarding: boolean): FastForwardEvent; export interface RepeatEvent { type: 'transport:repeat'; enabled: boolean; } export declare function RepeatEvent(enabled: boolean): RepeatEvent; export interface TimeChanged { type: 'transport:time'; time: number; } export declare function TimeChanged(time: number): TimeChanged; export interface BeatChanged { type: 'transport:beat'; beat: string; } export declare function BeatChanged(beat: string): BeatChanged; export interface FramesChanged { type: 'transport:frames'; frames: string; } export declare function FramesChanged(frames: string): FramesChanged; export interface LoopStartChanged { type: 'transport:loopStart'; time: number; } export declare function LoopStartChanged(time: number): LoopStartChanged; export interface LoopEndChanged { type: 'transport:loopEnd'; time: number; } export declare function LoopEndChanged(time: number): LoopEndChanged; export interface TrackMuteEvent { type: 'track:mute'; trackNumber: number; muted: boolean; } export declare function TrackMuteEvent(trackNumber: number, muted: boolean): TrackMuteEvent; export interface TrackSoloEvent { type: 'track:solo'; trackNumber: number; soloed: boolean; } export declare function TrackSoloEvent(trackNumber: number, soloed: boolean): TrackSoloEvent; export interface TrackRecordArmEvent { type: 'track:recordArm'; trackNumber: number; armed: boolean; } export declare function TrackRecordArmEvent(trackNumber: number, armed: boolean): TrackRecordArmEvent; export interface TrackSelectEvent { type: 'track:select'; trackNumber: number; selected: boolean; } export declare function TrackSelectEvent(trackNumber: number, selected: boolean): TrackSelectEvent; export interface TrackNameChanged { type: 'track:name'; trackNumber: number; name: string; } export declare function TrackNameChanged(trackNumber: number, name: string): TrackNameChanged; export interface TrackPanChanged { type: 'track:pan'; trackNumber: number; pan: number; } export declare function TrackPanChanged(trackNumber: number, pan: number): TrackPanChanged; export interface TrackPan2Changed { type: 'track:pan2'; trackNumber: number; pan2: number; } export declare function TrackPan2Changed(trackNumber: number, pan2: number): TrackPan2Changed; export interface TrackPanModeChanged { type: 'track:panMode'; trackNumber: number; panMode: string; } export declare function TrackPanModeChanged(trackNumber: number, panMode: string): TrackPanModeChanged; export interface TrackVolumeChanged { type: 'track:volume'; trackNumber: number; volume: number; } export declare function TrackVolumeChanged(trackNumber: number, volume: number): TrackVolumeChanged; export interface TrackVolumeDbChanged { type: 'track:volumeDb'; trackNumber: number; volumeDb: number; } export declare function TrackVolumeDbChanged(trackNumber: number, volumeDb: number): TrackVolumeDbChanged; export interface TrackVuChanged { type: 'track:vu'; trackNumber: number; vu: number; } export declare function TrackVuChanged(trackNumber: number, vu: number): TrackVuChanged; export interface TrackVuLeftChanged { type: 'track:vuLeft'; trackNumber: number; vuLeft: number; } export declare function TrackVuLeftChanged(trackNumber: number, vuLeft: number): TrackVuLeftChanged; export interface TrackVuRightChanged { type: 'track:vuRight'; trackNumber: number; vuRight: number; } export declare function TrackVuRightChanged(trackNumber: number, vuRight: number): TrackVuRightChanged; export interface TrackMonitoringModeChanged { type: 'track:monitoringMode'; trackNumber: number; mode: RecordMonitoringMode; } export declare function TrackMonitoringModeChanged(trackNumber: number, mode: RecordMonitoringMode): TrackMonitoringModeChanged; export interface TrackFxNameChanged { type: 'track:fx:name'; trackNumber: number; fxNumber: number; name: string; } export declare function TrackFxNameChanged(trackNumber: number, fxNumber: number, name: string): TrackFxNameChanged; export interface TrackFxBypassEvent { type: 'track:fx:bypass'; trackNumber: number; fxNumber: number; bypassed: boolean; } export declare function TrackFxBypassEvent(trackNumber: number, fxNumber: number, bypassed: boolean): TrackFxBypassEvent; export interface TrackFxOpenUiEvent { type: 'track:fx:openUi'; trackNumber: number; fxNumber: number; open: boolean; } export declare function TrackFxOpenUiEvent(trackNumber: number, fxNumber: number, open: boolean): TrackFxOpenUiEvent; export interface TrackFxPresetChanged { type: 'track:fx:preset'; trackNumber: number; fxNumber: number; preset: string; } export declare function TrackFxPresetChanged(trackNumber: number, fxNumber: number, preset: string): TrackFxPresetChanged; export interface SelectedTrackMuteEvent { type: 'selectedTrack:mute'; muted: boolean; } export declare function SelectedTrackMuteEvent(muted: boolean): SelectedTrackMuteEvent; export interface SelectedTrackSoloEvent { type: 'selectedTrack:solo'; soloed: boolean; } export declare function SelectedTrackSoloEvent(soloed: boolean): SelectedTrackSoloEvent; export interface SelectedTrackRecordArmEvent { type: 'selectedTrack:recordArm'; armed: boolean; } export declare function SelectedTrackRecordArmEvent(armed: boolean): SelectedTrackRecordArmEvent; export interface SelectedTrackSelectEvent { type: 'selectedTrack:select'; selected: boolean; } export declare function SelectedTrackSelectEvent(selected: boolean): SelectedTrackSelectEvent; export interface SelectedTrackNameChanged { type: 'selectedTrack:name'; name: string; } export declare function SelectedTrackNameChanged(name: string): SelectedTrackNameChanged; export interface SelectedTrackPanChanged { type: 'selectedTrack:pan'; pan: number; } export declare function SelectedTrackPanChanged(pan: number): SelectedTrackPanChanged; export interface SelectedTrackPan2Changed { type: 'selectedTrack:pan2'; pan2: number; } export declare function SelectedTrackPan2Changed(pan2: number): SelectedTrackPan2Changed; export interface SelectedTrackPanModeChanged { type: 'selectedTrack:panMode'; panMode: string; } export declare function SelectedTrackPanModeChanged(panMode: string): SelectedTrackPanModeChanged; export interface SelectedTrackVolumeChanged { type: 'selectedTrack:volume'; volume: number; } export declare function SelectedTrackVolumeChanged(volume: number): SelectedTrackVolumeChanged; export interface SelectedTrackVolumeDbChanged { type: 'selectedTrack:volumeDb'; volumeDb: number; } export declare function SelectedTrackVolumeDbChanged(volumeDb: number): SelectedTrackVolumeDbChanged; export interface SelectedTrackVuChanged { type: 'selectedTrack:vu'; vu: number; } export declare function SelectedTrackVuChanged(vu: number): SelectedTrackVuChanged; export interface SelectedTrackVuLeftChanged { type: 'selectedTrack:vuLeft'; vuLeft: number; } export declare function SelectedTrackVuLeftChanged(vuLeft: number): SelectedTrackVuLeftChanged; export interface SelectedTrackVuRightChanged { type: 'selectedTrack:vuRight'; vuRight: number; } export declare function SelectedTrackVuRightChanged(vuRight: number): SelectedTrackVuRightChanged; export interface SelectedTrackMonitoringModeChanged { type: 'selectedTrack:monitoringMode'; mode: RecordMonitoringMode; } export declare function SelectedTrackMonitoringModeChanged(mode: RecordMonitoringMode): SelectedTrackMonitoringModeChanged; export interface SelectedTrackFxNameChanged { type: 'selectedTrack:fx:name'; fxNumber: number; name: string; } export declare function SelectedTrackFxNameChanged(fxNumber: number, name: string): SelectedTrackFxNameChanged; export interface SelectedTrackFxBypassEvent { type: 'selectedTrack:fx:bypass'; fxNumber: number; bypassed: boolean; } export declare function SelectedTrackFxBypassEvent(fxNumber: number, bypassed: boolean): SelectedTrackFxBypassEvent; export interface SelectedTrackFxOpenUiEvent { type: 'selectedTrack:fx:openUi'; fxNumber: number; open: boolean; } export declare function SelectedTrackFxOpenUiEvent(fxNumber: number, open: boolean): SelectedTrackFxOpenUiEvent; export interface SelectedTrackFxPresetChanged { type: 'selectedTrack:fx:preset'; fxNumber: number; preset: string; } export declare function SelectedTrackFxPresetChanged(fxNumber: number, preset: string): SelectedTrackFxPresetChanged; export interface SelectedFxNameChanged { type: 'selectedFx:name'; name: string; } export declare function SelectedFxNameChanged(name: string): SelectedFxNameChanged; export interface SelectedFxBypassEvent { type: 'selectedFx:bypass'; bypassed: boolean; } export declare function SelectedFxBypassEvent(bypassed: boolean): SelectedFxBypassEvent; export interface SelectedFxOpenUiEvent { type: 'selectedFx:openUi'; open: boolean; } export declare function SelectedFxOpenUiEvent(open: boolean): SelectedFxOpenUiEvent; export interface SelectedFxPresetChanged { type: 'selectedFx:preset'; preset: string; } export declare function SelectedFxPresetChanged(preset: string): SelectedFxPresetChanged; export interface TrackSendNameChanged { type: 'track:send:name'; trackNumber: number; sendNumber: number; name: string; } export declare function TrackSendNameChanged(trackNumber: number, sendNumber: number, name: string): TrackSendNameChanged; export interface TrackSendVolumeChanged { type: 'track:send:volume'; trackNumber: number; sendNumber: number; volume: number; } export declare function TrackSendVolumeChanged(trackNumber: number, sendNumber: number, volume: number): TrackSendVolumeChanged; export interface TrackSendVolumeStrChanged { type: 'track:send:volumeStr'; trackNumber: number; sendNumber: number; volumeStr: string; } export declare function TrackSendVolumeStrChanged(trackNumber: number, sendNumber: number, volumeStr: string): TrackSendVolumeStrChanged; export interface TrackSendPanChanged { type: 'track:send:pan'; trackNumber: number; sendNumber: number; pan: number; } export declare function TrackSendPanChanged(trackNumber: number, sendNumber: number, pan: number): TrackSendPanChanged; export interface TrackSendPanStrChanged { type: 'track:send:panStr'; trackNumber: number; sendNumber: number; panStr: string; } export declare function TrackSendPanStrChanged(trackNumber: number, sendNumber: number, panStr: string): TrackSendPanStrChanged; export interface TrackReceiveNameChanged { type: 'track:recv:name'; trackNumber: number; receiveNumber: number; name: string; } export declare function TrackReceiveNameChanged(trackNumber: number, receiveNumber: number, name: string): TrackReceiveNameChanged; export interface TrackReceiveVolumeChanged { type: 'track:recv:volume'; trackNumber: number; receiveNumber: number; volume: number; } export declare function TrackReceiveVolumeChanged(trackNumber: number, receiveNumber: number, volume: number): TrackReceiveVolumeChanged; export interface TrackReceiveVolumeStrChanged { type: 'track:recv:volumeStr'; trackNumber: number; receiveNumber: number; volumeStr: string; } export declare function TrackReceiveVolumeStrChanged(trackNumber: number, receiveNumber: number, volumeStr: string): TrackReceiveVolumeStrChanged; export interface TrackReceivePanChanged { type: 'track:recv:pan'; trackNumber: number; receiveNumber: number; pan: number; } export declare function TrackReceivePanChanged(trackNumber: number, receiveNumber: number, pan: number): TrackReceivePanChanged; export interface TrackReceivePanStrChanged { type: 'track:recv:panStr'; trackNumber: number; receiveNumber: number; panStr: string; } export declare function TrackReceivePanStrChanged(trackNumber: number, receiveNumber: number, panStr: string): TrackReceivePanStrChanged; export interface SelectedTrackSendNameChanged { type: 'selectedTrack:send:name'; sendNumber: number; name: string; } export declare function SelectedTrackSendNameChanged(sendNumber: number, name: string): SelectedTrackSendNameChanged; export interface SelectedTrackSendVolumeChanged { type: 'selectedTrack:send:volume'; sendNumber: number; volume: number; } export declare function SelectedTrackSendVolumeChanged(sendNumber: number, volume: number): SelectedTrackSendVolumeChanged; export interface SelectedTrackSendVolumeStrChanged { type: 'selectedTrack:send:volumeStr'; sendNumber: number; volumeStr: string; } export declare function SelectedTrackSendVolumeStrChanged(sendNumber: number, volumeStr: string): SelectedTrackSendVolumeStrChanged; export interface SelectedTrackSendPanChanged { type: 'selectedTrack:send:pan'; sendNumber: number; pan: number; } export declare function SelectedTrackSendPanChanged(sendNumber: number, pan: number): SelectedTrackSendPanChanged; export interface SelectedTrackSendPanStrChanged { type: 'selectedTrack:send:panStr'; sendNumber: number; panStr: string; } export declare function SelectedTrackSendPanStrChanged(sendNumber: number, panStr: string): SelectedTrackSendPanStrChanged; export interface SelectedTrackReceiveNameChanged { type: 'selectedTrack:recv:name'; receiveNumber: number; name: string; } export declare function SelectedTrackReceiveNameChanged(receiveNumber: number, name: string): SelectedTrackReceiveNameChanged; export interface SelectedTrackReceiveVolumeChanged { type: 'selectedTrack:recv:volume'; receiveNumber: number; volume: number; } export declare function SelectedTrackReceiveVolumeChanged(receiveNumber: number, volume: number): SelectedTrackReceiveVolumeChanged; export interface SelectedTrackReceiveVolumeStrChanged { type: 'selectedTrack:recv:volumeStr'; receiveNumber: number; volumeStr: string; } export declare function SelectedTrackReceiveVolumeStrChanged(receiveNumber: number, volumeStr: string): SelectedTrackReceiveVolumeStrChanged; export interface SelectedTrackReceivePanChanged { type: 'selectedTrack:recv:pan'; receiveNumber: number; pan: number; } export declare function SelectedTrackReceivePanChanged(receiveNumber: number, pan: number): SelectedTrackReceivePanChanged; export interface SelectedTrackReceivePanStrChanged { type: 'selectedTrack:recv:panStr'; receiveNumber: number; panStr: string; } export declare function SelectedTrackReceivePanStrChanged(receiveNumber: number, panStr: string): SelectedTrackReceivePanStrChanged; export interface RewindByMarkerEvent { type: 'transport:rewindByMarker'; enabled: boolean; } export declare function RewindByMarkerEvent(enabled: boolean): RewindByMarkerEvent; export interface SetLoopEvent { type: 'transport:setLoop'; enabled: boolean; } export declare function SetLoopEvent(enabled: boolean): SetLoopEvent; export interface MarkerNameChanged { type: 'marker:name'; slotIndex: number; name: string; } export declare function MarkerNameChanged(slotIndex: number, name: string): MarkerNameChanged; export interface MarkerNumberChanged { type: 'marker:number'; slotIndex: number; number: string; } export declare function MarkerNumberChanged(slotIndex: number, number: string): MarkerNumberChanged; export interface MarkerTimeChanged { type: 'marker:time'; slotIndex: number; time: number; } export declare function MarkerTimeChanged(slotIndex: number, time: number): MarkerTimeChanged; export interface RegionNameChanged { type: 'region:name'; slotIndex: number; name: string; } export declare function RegionNameChanged(slotIndex: number, name: string): RegionNameChanged; export interface RegionNumberChanged { type: 'region:number'; slotIndex: number; number: string; } export declare function RegionNumberChanged(slotIndex: number, number: string): RegionNumberChanged; export interface RegionTimeChanged { type: 'region:time'; slotIndex: number; time: number; } export declare function RegionTimeChanged(slotIndex: number, time: number): RegionTimeChanged; export interface RegionLengthChanged { type: 'region:length'; slotIndex: number; length: number; } export declare function RegionLengthChanged(slotIndex: number, length: number): RegionLengthChanged; export interface LastMarkerNameChanged { type: 'lastMarker:name'; name: string; } export declare function LastMarkerNameChanged(name: string): LastMarkerNameChanged; export interface LastMarkerNumberChanged { type: 'lastMarker:number'; number: string; } export declare function LastMarkerNumberChanged(number: string): LastMarkerNumberChanged; export interface LastMarkerTimeChanged { type: 'lastMarker:time'; time: number; } export declare function LastMarkerTimeChanged(time: number): LastMarkerTimeChanged; export interface LastRegionNameChanged { type: 'lastRegion:name'; name: string; } export declare function LastRegionNameChanged(name: string): LastRegionNameChanged; export interface LastRegionNumberChanged { type: 'lastRegion:number'; number: string; } export declare function LastRegionNumberChanged(number: string): LastRegionNumberChanged; export interface LastRegionTimeChanged { type: 'lastRegion:time'; time: number; } export declare function LastRegionTimeChanged(time: number): LastRegionTimeChanged; export interface LastRegionLengthChanged { type: 'lastRegion:length'; length: number; } export declare function LastRegionLengthChanged(length: number): LastRegionLengthChanged; export interface UnknownEvent { type: 'unknown'; message: OscMessage; } export declare type ReaperOscEvent = MetronomeEvent | AutoRecordArmEvent | AnySoloEvent | PlayEvent | StopEvent | PauseEvent | RecordEvent | RewindEvent | FastForwardEvent | RepeatEvent | TimeChanged | BeatChanged | FramesChanged | LoopStartChanged | LoopEndChanged | RewindByMarkerEvent | SetLoopEvent | TrackMuteEvent | TrackSoloEvent | TrackRecordArmEvent | TrackSelectEvent | TrackNameChanged | TrackPanChanged | TrackPan2Changed | TrackPanModeChanged | TrackVolumeChanged | TrackVolumeDbChanged | TrackVuChanged | TrackVuLeftChanged | TrackVuRightChanged | TrackMonitoringModeChanged | TrackFxNameChanged | TrackFxBypassEvent | TrackFxOpenUiEvent | TrackFxPresetChanged | SelectedTrackMuteEvent | SelectedTrackSoloEvent | SelectedTrackRecordArmEvent | SelectedTrackSelectEvent | SelectedTrackNameChanged | SelectedTrackPanChanged | SelectedTrackPan2Changed | SelectedTrackPanModeChanged | SelectedTrackVolumeChanged | SelectedTrackVolumeDbChanged | SelectedTrackVuChanged | SelectedTrackVuLeftChanged | SelectedTrackVuRightChanged | SelectedTrackMonitoringModeChanged | SelectedTrackFxNameChanged | SelectedTrackFxBypassEvent | SelectedTrackFxOpenUiEvent | SelectedTrackFxPresetChanged | SelectedFxNameChanged | SelectedFxBypassEvent | SelectedFxOpenUiEvent | SelectedFxPresetChanged | TrackSendNameChanged | TrackSendVolumeChanged | TrackSendVolumeStrChanged | TrackSendPanChanged | TrackSendPanStrChanged | TrackReceiveNameChanged | TrackReceiveVolumeChanged | TrackReceiveVolumeStrChanged | TrackReceivePanChanged | TrackReceivePanStrChanged | SelectedTrackSendNameChanged | SelectedTrackSendVolumeChanged | SelectedTrackSendVolumeStrChanged | SelectedTrackSendPanChanged | SelectedTrackSendPanStrChanged | SelectedTrackReceiveNameChanged | SelectedTrackReceiveVolumeChanged | SelectedTrackReceiveVolumeStrChanged | SelectedTrackReceivePanChanged | SelectedTrackReceivePanStrChanged | MarkerNameChanged | MarkerNumberChanged | MarkerTimeChanged | RegionNameChanged | RegionNumberChanged | RegionTimeChanged | RegionLengthChanged | LastMarkerNameChanged | LastMarkerNumberChanged | LastMarkerTimeChanged | LastRegionNameChanged | LastRegionNumberChanged | LastRegionTimeChanged | LastRegionLengthChanged | UnknownEvent;