pd-to-minicom/server.js
2023-06-04 23:54:36 +09:00

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"
);
});