UNPKG

@2bit/osc

Version:

osc client/server written by typescript

85 lines 5.77 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Osc = __importStar(require("./module/types")); const osc_min_1 = __importDefault(require("osc-min")); const dgram_1 = __importDefault(require("dgram")); class Client { constructor(host, port, options = {}) { var _a, _b; this.host = host; this.port = port; this.options = { maxMspCompatible: (_a = options.maxMspCompatible) !== null && _a !== void 0 ? _a : false, recognitionInt: (_b = options.recognitionInt) !== null && _b !== void 0 ? _b : true }; this.socket = dgram_1.default.createSocket({ type: 'udp4', reuseAddr: true }); } async send(message_or_address, arg, ...args) { if (typeof message_or_address == 'string') { const address = message_or_address; const osc_args = arg ? Array.isArray(arg) ? arg : [arg, ...args] : []; return this.sendMessage({ address, args: osc_args.map(arg => Osc.Convert.toArgument(arg, this.options)), oscType: 'message' }); } else { if (message_or_address.oscType == 'message') { return this.sendMessage(message_or_address); } else { return this.sendBundle(message_or_address); } } } async sendMessage(message) { return this.sendBuffer(osc_min_1.default.toBuffer(message, true)); } async sendBundle(bundle) { return this.sendBuffer(osc_min_1.default.toBuffer(bundle, true)); } async sendBuffer(buffer) { return new Promise((resolve, reject) => { this.socket.send(buffer, this.port, this.host, (err, bytes) => { if (err) return reject(err); resolve(bytes); }); }); } async close() { return new Promise(resolve => this.socket.close(resolve)); } } exports.default = Client; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBc0M7QUFDdEMsc0RBQTZCO0FBRTdCLGtEQUEwQjtBQU0xQixNQUFxQixNQUFNO0lBR3ZCLFlBQTRCLElBQVksRUFDWixJQUFZLEVBQzVCLFVBQW1DLEVBQUU7O1FBRnJCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBR3BDLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDWCxnQkFBZ0IsRUFBRSxNQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsbUNBQUksS0FBSztZQUNuRCxjQUFjLEVBQUUsTUFBQSxPQUFPLENBQUMsY0FBYyxtQ0FBSSxJQUFJO1NBQ2pELENBQUE7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUM7WUFDN0IsSUFBSSxFQUFFLE1BQU07WUFDWixTQUFTLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBdUUsRUFDMUUsR0FBMkMsRUFDM0MsR0FBSSxJQUF3QjtRQUVoQyxJQUFHLE9BQU8sa0JBQWtCLElBQUksUUFBUSxFQUFFO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUF1QixHQUFHO2dCQUNwQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxHQUF5QjtvQkFDM0IsQ0FBQyxDQUFDLENBQUMsR0FBdUIsRUFBRSxHQUFJLElBQUksQ0FBQztnQkFDekMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDcEIsT0FBTztnQkFDUCxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3BFLE9BQU8sRUFBRSxTQUFTO2FBQ3JCLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFHLGtCQUFrQixDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUU7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQy9DO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQzlDO1NBQ0o7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUE2QjtRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFUyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDckMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMxRCxJQUFHLEdBQUc7b0JBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1AsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNKO0FBcEVELHlCQW9FQyJ9