node-osc
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/node-osc package

    6.1.10 • Public • Published

    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.

    Keywords

    Install

    npm i node-osc

    DownloadsWeekly Downloads

    209

    Version

    6.1.10

    License

    LGPL-2.1

    Unpacked Size

    72 kB

    Total Files

    39

    Last publish

    Collaborators

    • mylesborins