UNPKG

osc-min

Version:

Simple utilities for open sound control in node.js

161 lines (160 loc) 4.57 kB
export type TypedBufferLike = { buffer: ArrayBufferLike; byteOffset: number; byteLength: number; }; export type BufferInput = ArrayBuffer | TypedBufferLike; export declare const toOscString: (str: string) => ArrayBuffer; export declare const splitOscString: (bufferInput: BufferInput) => { value: string; rest: DataView; }; export type TimeTag = [number, number]; export declare const splitInteger: (bufferInput: BufferInput) => { value: number; rest: DataView; }; export declare const splitTimetag: (bufferInput: BufferInput) => { value: TimeTag; rest: DataView; }; export declare const dateToTimetag: (date: Date) => TimeTag; export declare const timetagToDate: ([seconds, fractional]: TimeTag) => Date; export declare const toTimetagBuffer: (timetag: Date | TimeTag) => ArrayBuffer; export declare const toIntegerBuffer: (number: number) => ArrayBuffer; export type OscTypeCode = "s" | "i" | "t" | "f" | "d" | "b" | "T" | "F" | "N" | "I" | "S" | "c" | "r" | "m" | "h"; export type OscMidiPacket = [number, number, number, number]; export type OscArgOutput = { type: "string"; value: string; } | { type: "symbol"; value: string; } | { type: "integer"; value: number; } | { type: "bigint"; value: bigint; } | { type: "timetag"; value: TimeTag; } | { type: "float"; value: number; } | { type: "double"; value: number; } | { type: "blob"; value: DataView; } | { type: "midi"; value: OscMidiPacket; } | { type: "color"; value: OscColor; } | { type: "true"; value: true; } | { type: "false"; value: false; } | { type: "null"; value: null; } | { type: "bang"; value: "bang"; } | { type: "character"; value: string; }; export type OscArgOutputOrArray = OscArgOutput | { type: "array"; value: OscArgOutputOrArray[]; }; export type OscColor = { red: number; green: number; blue: number; alpha: number; }; export type OscArgWithType = { type: "string"; value: string; } | { type: "symbol"; value: string; } | { type: "integer"; value: number; } | { type: "bigint"; value: bigint; } | { type: "timetag"; value: TimeTag | Date; } | { type: "float"; value: number; } | { type: "double"; value: number; } | { type: "blob"; value: ArrayBuffer | TypedBufferLike; } | { type: "character"; value: string; } | { type: "color"; value: OscColor; } | { type: "midi"; value: OscMidiPacket; } | { type: "true"; } | { type: "false"; } | { type: "null"; } | { type: "bang"; }; export type OscArgInput = OscArgWithType | string | number | bigint | Date | OscColor | ArrayBuffer | TypedBufferLike | true | false | "bang" | null; export type OscArgOrArrayInput = OscArgInput | OscArgOrArrayInput[] | { type: "array"; value: OscArgOrArrayInput[]; }; export type OscMessageOutput = { address: string; args: OscArgOutputOrArray[]; oscType: "message"; }; export declare const fromOscMessage: (buffer: BufferInput) => OscMessageOutput; export type OscBundleOutput = { timetag: TimeTag; elements: OscPacketOutput[]; oscType: "bundle"; }; export type OscPacketOutput = OscMessageOutput | OscBundleOutput; export declare const fromOscBundle: (buffer: BufferInput) => OscBundleOutput; export declare const fromOscPacket: (buffer: BufferInput) => OscPacketOutput; export declare const concat: (buffers: BufferInput[]) => ArrayBuffer; export type OscMessageInput = string | { address: string; args?: OscArgOrArrayInput[] | OscArgInput; }; export declare const toOscMessage: (message: OscMessageInput) => DataView; export type OscBundleInput = { timetag: TimeTag | Date; elements?: OscPacketInput[] | OscPacketInput; }; export type OscPacketInput = OscBundleInput | OscMessageInput; export declare const toOscBundle: (bundle: OscBundleInput) => DataView; export declare const toOscPacket: (packet: OscPacketInput) => DataView; export declare const applyMessageTranformerToBundle: (transform: (buffer: DataView) => DataView) => (buffer: DataView) => DataView; export declare const applyTransform: (buffer: BufferInput, mTransform: (buffer: DataView) => DataView, bundleTransform?: (buffer: DataView) => DataView) => DataView; export declare const addressTransform: (transform: (string: string) => string) => (buffer: DataView) => DataView; export declare const messageTransform: (transform: (message: OscMessageOutput) => OscMessageOutput) => (buffer: DataView) => DataView;