UNPKG

node-osc

Version:

pyOSC inspired library for sending and receiving OSC messages

66 lines 2.25 kB
/** * Encode an OSC message or bundle to a Buffer. * * This low-level function converts OSC messages and bundles into binary format * for transmission or storage. Useful for sending OSC over custom transports * (WebSocket, TCP, HTTP), storing to files, or implementing custom OSC routers. * * @param {Object} message - OSC message or bundle object with oscType property * @returns {Buffer} The encoded OSC data ready for transmission * * @example * // Encode a message * import { Message, encode } from 'node-osc'; * * const message = new Message('/oscillator/frequency', 440); * const buffer = encode(message); * console.log('Encoded bytes:', buffer.length); * * @example * // Encode a bundle * import { Bundle, encode } from 'node-osc'; * * const bundle = new Bundle(['/one', 1], ['/two', 2]); * const buffer = encode(bundle); * * @example * // Send over WebSocket * const buffer = encode(message); * websocket.send(buffer); */ export function encode(message: any): Buffer; /** * Decode a Buffer containing OSC data into a message or bundle object. * * This low-level function parses binary OSC data back into JavaScript objects. * Useful for receiving OSC over custom transports, reading from files, * or implementing custom OSC routers. * * @param {Buffer} buffer - The Buffer containing OSC data * @returns {Object} The decoded OSC message or bundle. Messages have * {oscType: 'message', address: string, args: Array}, bundles have * {oscType: 'bundle', timetag: number, elements: Array} * @throws {Error} If the buffer contains malformed OSC data * * @example * // Decode received data * import { decode } from 'node-osc'; * * const decoded = decode(buffer); * if (decoded.oscType === 'message') { * console.log('Address:', decoded.address); * console.log('Arguments:', decoded.args); * } * * @example * // Round-trip encode/decode * import { Message, encode, decode } from 'node-osc'; * * const original = new Message('/test', 42, 'hello'); * const buffer = encode(original); * const decoded = decode(buffer); * console.log(decoded.address); // '/test' */ export function decode(buffer: Buffer): any; import { Buffer } from 'node:buffer'; //# sourceMappingURL=osc.d.mts.map