40 lines
1 KiB
JavaScript
40 lines
1 KiB
JavaScript
var osc = require("osc");
|
|
|
|
var execFile = require("child_process").execFile;
|
|
var stream = require("stream");
|
|
|
|
var udp_pd = new osc.UDPPort({
|
|
localAddress: '127.0.0.1',
|
|
localPort: 5001,
|
|
remoteAddress: '127.0.0.1',
|
|
remotePort: 5000,
|
|
metadata: true
|
|
});
|
|
|
|
//message handler
|
|
udp_pd.on("message", function(oscmsg, timetag, info) {
|
|
// console.log("[udp] got osc message:", oscmsg);
|
|
console.log(oscmsg.args[0].value);
|
|
|
|
var child = execFile('/usr/bin/minimodem', ['--tx', 'tdd'], function(err, stdout, stderr){
|
|
console.log(err);
|
|
console.log(stdout);
|
|
console.log(stderr);
|
|
})
|
|
var stdinStream = new stream.Readable();
|
|
stdinStream.push(oscmsg.args[0].value);
|
|
stdinStream.push(null);
|
|
stdinStream.pipe(child.stdin);
|
|
|
|
});
|
|
|
|
//osc.js - start service
|
|
udp_pd.open();
|
|
udp_pd.on("ready", function() {
|
|
console.log(
|
|
"[udp] ready (udp_pd) : \n" +
|
|
"\tlistening on --> " + udp_pd.options.localAddress + ":" + udp_pd.options.localPort + "\n" +
|
|
"\tspeaking to -> " + udp_pd.options.remoteAddress + ":" + udp_pd.options.remotePort + "\n"
|
|
);
|
|
});
|