https://github.com/2bbb/node-2bit-osc
repository of @2bit/osc
https://github.com/2bbb/node-2bit-osc
Last synced: 5 months ago
JSON representation
repository of @2bit/osc
- Host: GitHub
- URL: https://github.com/2bbb/node-2bit-osc
- Owner: 2bbb
- Created: 2021-03-29T20:42:29.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-28T07:39:10.000Z (over 2 years ago)
- Last Synced: 2025-09-26T16:22:06.308Z (9 months ago)
- Language: TypeScript
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# @2bit/osc
osc client/server written by typescript
* depends on [osc-min](https://www.npmjs.com/package/osc-min)
* influened by [node-osc](https://www.npmjs.com/package/node-osc)
* **this package is in development phase**
## install
```
npm i @2bit/osc
```
## How to use
```typescript
import * as Osc from '../index';
const server = new Osc.Server(33333, {
host: '0.0.0.0',
});
server.on('/test1', (args) => {
console.log(... args);
});
server.on('/test2', (args) => {
console.log(... args);
});
server.on('message', (address, args) => {
console.log(address, ... args); // /test1 and /test2 will be emit
});
server.on('leaked', (address, args) => {
console.log(address, ... args); // /test2 will be emit
});
const client = new Osc.Client('localhost', 33333);
client.send('/test1', 1, 2, false, 'hoge');
client.send('/test2', 2.3, true, 'hoge');
```
## API
### Client
* `constructor(host: string, port: uint16, options?: { maxMspCompatible?: boolean = false, recognitionInt?: boolean = false })`
if set `maxMspCompatible` true, then floating point number will be float, else be double.
if set `recognitionInt` false, then all number will be float or double (depends `maxMspCompatible`.)
* `async send(message: Osc.MessageInterface): Promise`
* `async send(message: Osc.BundleInterface): Promise`
* `async send(address: string, args: Osc.ArgumentLike[]): Promise`
* `async send(address: string, ... args: Osc.ArgumentLike[]): Promise`
returns bytes is size of sent packet.
### Server
* `constructor(public readonly port: number, options?: { host?: string = '0.0.0.0', strict_mode?: boolean = true })`
* `on(event: 'bind', callback: (with_reuseAddr: boolean) => void): this`
* `on(event: 'listening', callback: () => void): this`
* `on(event: 'error', callback: (err: Error) => void): this`
* `on(event: 'message', listener: (address: string, args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this`
* `on(event: 'leaked', listener: (address: string, args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this`
* `on(event: 'bundle', listener: (bundle: Osc.BundleInterface, rinfo: dgram.RemoteInfo) => void): this`
* `on(event: 'parse_error', listener: (err: Error, buffer: Buffer, rinfo: dgram.RemoteInfo) => void): this`
* `on(event: string, listener: (args: ArgumentArray, rinfo: dgram.RemoteInfo) => void): this`
### Message
TODO
### Bundle
TODO