sound-parade/puredata/nodejs/sender.js
2022-01-26 00:21:21 +09:00

59 lines
1.6 KiB
JavaScript

const osc = require("osc");
const udp = new osc.UDPPort({
localAddress: '0.0.0.0', //<-- NOTE: '127.0.0.1' doesn't work!! for comm. between different machines
localPort: 57001, remoteAddress: '0.0.0.0', remotePort: 57000, metadata: true
});
//firstly establish/prepare osc conn.
Promise.all([
new Promise((resolve, reject) => udp.on("ready", () => resolve('resolve: udp ready.'))),
]).then(results => {
console.log(results[0]);
const io = require('socket.io-client');
const socket = io('https://walkingtowardstheflow.xyz');
socket.on('connect', () => {
console.log("[osc-receiver] i'm connected.");
socket.emit("room", 1, (res) => console.log(res));
});
socket.on('disconnect', () => console.log("[osc-receiver] i'm disconnected."));
// (puredata)
// socket.on('key', k => {
// if (k.value == 1)
// udp.send({
// address: "/voice",
// args: [{type: "f", value: k.seat}, {type: "f", value: k.id + 1}]
// });
// });
//
socket.on('post', p => {
console.log('post', p);
});
//
socket.on('flow', f => {
console.log('flow', f);
});
//
udp.on("message", function (m) {
console.log("osc(pd)", m);
if (m.address == '/flow') {
console.log(m.args[0].value);
socket.emit('flow', m.args[0].value)
}
});
});
//osc.js - start service
udp.open();
udp.on("ready", () => console.log(
"[udp] ready (udp) : \n" +
"\tlistening on --> " + udp.options.localAddress + ":" + udp.options.localPort + "\n" +
"\tspeaking to -> " + udp.options.remoteAddress + ":" + udp.options.remotePort + "\n"
));