UNPKG

reaper-osc

Version:
93 lines 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FloatMessage = exports.IntegerMessage = exports.ToggleMessage = exports.ActionMessage = exports.BooleanMessage = exports.StringMessage = exports.OscMessage = exports.BoolArgument = exports.FloatArgument = exports.IntArgument = exports.StringArgument = exports.OscArgumentType = void 0; var OscArgumentType; (function (OscArgumentType) { /** 32-bit Integer */ OscArgumentType["INT"] = "i"; /** 64-bit Integer */ OscArgumentType["LONG"] = "h"; /** 32-bit Floating Point */ OscArgumentType["FLOAT"] = "f"; /** 64-bit Floating Point */ OscArgumentType["DOUBLE"] = "d"; /** String */ OscArgumentType["STRING"] = "s"; /** Single Character */ OscArgumentType["CHAR"] = "c"; /** Binary blob */ OscArgumentType["BLOB"] = "b"; /** True. No bytes are allocated in the argument data */ OscArgumentType["TRUE"] = "T"; /** False. No bytes are allocated in the argument data */ OscArgumentType["FALSE"] = "F"; /** Null. No bytes are allocated in the argument data */ OscArgumentType["NULL"] = "N"; /** Impulse aka bang. Used for event triggers. No bytes are allocated in the argument data */ OscArgumentType["IMPULSE"] = "I"; OscArgumentType["COLOR"] = "r"; OscArgumentType["MIDI"] = "m"; })(OscArgumentType = exports.OscArgumentType || (exports.OscArgumentType = {})); const StringArgument = (value) => ({ type: OscArgumentType.STRING, value: value }); exports.StringArgument = StringArgument; const IntArgument = (value) => ({ type: OscArgumentType.INT, value: value }); exports.IntArgument = IntArgument; const FloatArgument = (value) => ({ type: OscArgumentType.FLOAT, value: value }); exports.FloatArgument = FloatArgument; const BoolArgument = (value) => ({ type: OscArgumentType.INT, value: value ? 1 : 0 }); exports.BoolArgument = BoolArgument; class OscMessage { constructor(address, args) { this.address = address; this.args = args !== null && args !== void 0 ? args : []; this.addressParts = address.split('/').slice(1); } } exports.OscMessage = OscMessage; class StringMessage extends OscMessage { constructor(address, value) { super(address, [exports.StringArgument(value)]); } } exports.StringMessage = StringMessage; class BooleanMessage extends OscMessage { constructor(address, value) { const args = [exports.BoolArgument(value)]; super(address, args); } } exports.BooleanMessage = BooleanMessage; class ActionMessage extends OscMessage { constructor(commandId, value = null) { if (typeof commandId === 'number') { commandId = commandId.toString(); } const args = [exports.StringArgument(commandId)]; if (value !== null) { args.push(exports.FloatArgument(value)); } super('/action/str', args); } } exports.ActionMessage = ActionMessage; class ToggleMessage extends OscMessage { constructor(address) { super(address + '/toggle'); } } exports.ToggleMessage = ToggleMessage; class IntegerMessage extends OscMessage { constructor(address, value) { const args = [exports.IntArgument(value)]; super(address, args); } } exports.IntegerMessage = IntegerMessage; class FloatMessage extends OscMessage { constructor(address, value) { const args = [exports.FloatArgument(value)]; super(address, args); } } exports.FloatMessage = FloatMessage; //# sourceMappingURL=Messages.js.map