reaper-osc
Version:
Controls Cockos Reaper using OSC
537 lines (536 loc) • 21.9 kB
TypeScript
/**
* 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;