node-osc v9.1.4
node-osc
A no frills Open Sound Control client and server. Heavily inspired by pyOSC.
Install using npm
npm install node-osc
Written using ESM supports CJS
Supports the latest versions of Node.js 12, 14, and 16 in both ESM + CJS
Example
Sending OSC messages:
import { Client } from 'node-osc';
const client = new Client('127.0.0.1', 3333);
client.send('/oscAddress', 200, () => {
client.close();
});
Listening for OSC messages:
import { Server } from 'node-osc';
var oscServer = new Server(3333, '0.0.0.0', () => {
console.log('OSC Server is listening');
});
oscServer.on('message', function (msg) {
console.log(`Message: ${msg}`);
oscServer.close();
});
Sending OSC bundles:
import { Bundle, Client } from 'node-osc';
// a bundle without an explicit time tag
const bundle = new Bundle(['/one', 1], ['/two', 2], ['/three', 3]);
// a bundle with a timetag of 10
bundle.append(new Bundle(10, ['/four', 4]));
const client = new Client('127.0.0.1', 3333);
client.send(bundle));
Listening for OSC bundles:
WARNING: Bundle support is Experimental and subject to change at any point.
import { Server } from 'node-osc';
var oscServer = new Server(3333, '0.0.0.0', () => {
console.log('OSC Server is listening');
});
oscServer.on('bundle', function (bundle) {
bundle.elements.forEach((element, i) => {
console.log(`Timestamp: ${bundle.timetag[i]}`);
console.log(`Message: ${element}`);
});
oscServer.close();
});
CJS API
This just works due to conditional exports, isn't that cool!
const { Client, Server } = require('node-osc');
const client = new Client('127.0.0.1', 3333);
var server = new Server(3333, '0.0.0.0');
server.on('listening', () => {
console.log('OSC Server is listening.');
})
server.on('message', (msg) => {
console.log(`Message: ${msg}`);
server.close();
});
client.send('/hello', 'world', (err) => {
if (err) console.error(err);
client.close();
});
Typescript
To install type definitions for node-osc:
npm install --save @types/node-osc
or yarn add @types/node-osc
The types should then be automatically included by the compiler.
License
LGPL. Please see the file lesser.txt for details.
8 months ago
12 months ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
12 years ago
12 years ago
12 years ago
13 years ago
13 years ago
13 years ago