| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A Node.js module to spawn and communicate with Pure Data (aka Pd).
var port = require('port');
port({
'read': 8004,
'write': 8005,
'basepath': __dirname,
'flags': {
'nogui': true,
'stderr': true,
'send': 'pd dsp 1, dsp 0',
'path': 'relative/to/basepath',
'open': 'patch.pd'
}
})
.on('connect', function(){
this.write('Hello [netreceive]!;\n');
})
.on('data', function(data){
console.log('data receiving from [netsend]', data);
})
.on('stderr', function(buffer){
console.log(buffer.toString());
})
.create();npm install portvar Port = require('port');
var pd = new Port(options);The new keyword is optional.
Each of the 3 steps are individually executed depending on the configuration.
pd.create();Kills the Pd process and ends all open connections.
pd.destroy();Sends a packet containing one or many messages to Pd's [netreceive].
WARNING: write does not check if the write socket is ready and may error!
pd.write('Hello Pd!;\n');Reconfigure an instance, changes only take effect after destroy and create methods have been called.
pd.setOptions({
'read': 12345,
'write': 12346,
'basepath': __dirname,
'flags': {
'noprefs': true,
'nogui': true,
'stderr': true,
'path': 'relatvie/path/to/dir',
'open': 'patch.pd'
}
});Returns true when the instance is connected and it is safe to send data with the write method.
Internal method, eventually useful for debugging. Turns flags object into an array. Adds dash prefix, omits flags that are falsy, supports path array, ensures -path and -open to be at the last position.
Port is an event emitter see also nodejs.org/api/events.html
Fires if the read port is specified and after Port.create is called. At this point Port is waiting for an incoming TCP connection from Pd's [netsend].
pd.on('listening', function(){ });Fires when Pd connects and the read port is specified.
pd.on('connection', function(socket){ });Fires when Port connects to Pd on the write port.
pd.on('connect', function(socket){ });Fires when Pd sends a message with [netsend].
pd.on('data', function(data){ });Fires on every message that is written to the console the [print] object or anything else. This event is only available with -stderr or -nogui flag.
pd.on('stderr', function(buffer){ });Fires after the destroy method is called.
pd.on('destroy', function(){ });If tests fail, the child process may be manually terminated with killall pd.
make testSome examples are only proof of concept and are not optimized for best performance.
node examples/testing/division.js
node examples/manipulation/server.js| Back | FazBrowse Home | New Git URL |