reaper-osc
Version:
Controls Cockos Reaper using OSC
63 lines (62 loc) • 2.41 kB
TypeScript
import { OscMessage } from './Messages';
import { Track } from './Tracks';
import { Transport } from './Transport';
import { TrackFx } from './Fx';
/** An OSC message handler */
export interface IMessageHandler {
/**
* Handle an OSC message
* @param message The message to handle
*/
handle(message: OscMessage): boolean;
}
/**
* Routes messages to the appropriate track
* @param trackSelector A function that can be used to get a track
* */
export declare class TrackMessageHandler implements IMessageHandler {
private readonly trackSelector;
constructor(trackSelector: (trackNumber: number) => Track | null);
handle(message: OscMessage): boolean;
}
/** Routes messages to the transport */
export declare class TransportMessageHandler implements IMessageHandler {
private readonly transport;
constructor(transport: Transport);
handle(message: OscMessage): boolean;
}
/** Routes messages to the appropriate track fx */
export declare class TrackFxMessageHandler implements IMessageHandler {
private readonly fxSelector;
constructor(fxSelector: (fxNumber: number) => TrackFx | null);
handle(message: OscMessage): boolean;
}
/**
* Handles an OSC message containing a single boolean value (0 or 1)
* @param address The address of the message to handle
* @param callback The callback to be called when a message with the specified OSC address is received
*/
export declare class BooleanMessageHandler implements IMessageHandler {
readonly address: string;
private readonly _callback;
constructor(address: string, callback: (value: boolean) => void);
handle(message: OscMessage): boolean;
}
export declare class IntegerMessageHandler implements IMessageHandler {
readonly address: string;
private readonly _callback;
constructor(address: string, callback: (value: number) => void);
handle(message: OscMessage): boolean;
}
export declare class StringMessageHandler implements IMessageHandler {
readonly address: string;
private readonly _callback;
constructor(address: string, callback: (value: string) => void);
handle(message: OscMessage): boolean;
}
export declare class FloatMessageHandler implements IMessageHandler {
readonly address: string;
private readonly _callback;
constructor(address: string, callback: (value: number) => void);
handle(message: OscMessage): boolean;
}