UNPKG

reaper-osc

Version:
79 lines (78 loc) 2.57 kB
export interface ISendOscMessage { (message: OscMessage): void; } export declare enum OscArgumentType { /** 32-bit Integer */ INT = "i", /** 64-bit Integer */ LONG = "h", /** 32-bit Floating Point */ FLOAT = "f", /** 64-bit Floating Point */ DOUBLE = "d", /** String */ STRING = "s", /** Single Character */ CHAR = "c", /** Binary blob */ BLOB = "b", /** True. No bytes are allocated in the argument data */ TRUE = "T", /** False. No bytes are allocated in the argument data */ FALSE = "F", /** Null. No bytes are allocated in the argument data */ NULL = "N", /** Impulse aka bang. Used for event triggers. No bytes are allocated in the argument data */ IMPULSE = "I", COLOR = "r", MIDI = "m" } export interface OscArgument<T> { readonly type: OscArgumentType; value: T; } export declare type SomeOscArgument = StringArgument | IntArgument | FloatArgument; export interface StringArgument extends OscArgument<string> { type: OscArgumentType.STRING; readonly value: string; } export interface IntArgument extends OscArgument<number> { type: OscArgumentType.INT; readonly value: number; } export interface FloatArgument extends OscArgument<number> { type: OscArgumentType.FLOAT; readonly value: number; } export declare const StringArgument: (value: string) => StringArgument; export declare const IntArgument: (value: number) => IntArgument; export declare const FloatArgument: (value: number) => FloatArgument; export declare const BoolArgument: (value: boolean) => IntArgument; export declare type RawOscMessage = { readonly address: string; readonly args?: SomeOscArgument[]; }; export declare class OscMessage { readonly address: string; readonly addressParts: string[]; readonly args: SomeOscArgument[]; constructor(address: string, args?: SomeOscArgument[]); } export declare class StringMessage extends OscMessage { constructor(address: string, value: string); } export declare class BooleanMessage extends OscMessage { constructor(address: string, value: boolean); } export declare class ActionMessage extends OscMessage { constructor(commandId: string | number, value?: number | null); } export declare class ToggleMessage extends OscMessage { constructor(address: string); } export declare class IntegerMessage extends OscMessage { constructor(address: string, value: number); } export declare class FloatMessage extends OscMessage { constructor(address: string, value: number); }