basic receiver.js for 'pan'
This commit is contained in:
parent
64ee2d598b
commit
01fdbdb4c8
3 changed files with 1684 additions and 0 deletions
1494
receiver/package-lock.json
generated
Normal file
1494
receiver/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
21
receiver/package.json
Normal file
21
receiver/package.json
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"name": "scroll-link-server",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"express": "^4.16.3",
|
||||
"fs": "0.0.1-security",
|
||||
"http-proxy": "^1.17.0",
|
||||
"https": "^1.0.0",
|
||||
"osc": "^2.2.3",
|
||||
"socket.io": "^2.1.1",
|
||||
"socket.io-client": "^2.1.1"
|
||||
}
|
||||
}
|
||||
169
receiver/receiver.js
Normal file
169
receiver/receiver.js
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
//// socket.io client
|
||||
var socket = require('socket.io-client')('https://choir.run');
|
||||
//var socket = require('socket.io-client')('http://192.168.1.105:8080');
|
||||
|
||||
//// osc.js configuration (UDP)
|
||||
var osc = require("osc");
|
||||
|
||||
//// NOTE: apps cannot share port.. (pd & sc)
|
||||
|
||||
// --> for puredata
|
||||
// tx: 57000
|
||||
// rx: 57001
|
||||
|
||||
var udp_pd = 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
|
||||
});
|
||||
|
||||
// --> for supercollider
|
||||
// tx: 57120
|
||||
// rx: 57121
|
||||
|
||||
var udp_sc = new osc.UDPPort({
|
||||
localAddress: '0.0.0.0',
|
||||
//NOTE: '127.0.0.1' doesn't work!! for comm. between different machines
|
||||
localPort: 57121,
|
||||
remoteAddress: '0.0.0.0',
|
||||
remotePort: 57120,
|
||||
metadata: true
|
||||
});
|
||||
|
||||
//firstly establish/prepare osc conn. - supercollider & puredata
|
||||
Promise.all([
|
||||
new Promise(function(resolve, reject) {
|
||||
udp_pd.on("ready", function() {
|
||||
resolve(0);
|
||||
console.log('udp_pd ready..');
|
||||
});
|
||||
}),
|
||||
new Promise(function(resolve, reject) {
|
||||
udp_sc.on("ready", function() {
|
||||
resolve(0);
|
||||
console.log('udp_sc ready..');
|
||||
});
|
||||
}),
|
||||
]).then(function(results) {
|
||||
|
||||
//
|
||||
socket.on('connect', function() {
|
||||
console.log("[osc-receiver] i'm connected.");
|
||||
});
|
||||
|
||||
// //
|
||||
// socket.on('sound', function(msg) {
|
||||
//
|
||||
// //DEBUG
|
||||
// //console.log('sound :');
|
||||
// console.log(msg);
|
||||
//
|
||||
// //// simply relaying messages to apps.
|
||||
//
|
||||
// // to puredata
|
||||
// udp_pd.send({
|
||||
// address: "/sound",
|
||||
// args: [{
|
||||
// type: "f",
|
||||
// value: msg.id
|
||||
// }, {
|
||||
// type: "f",
|
||||
// value: msg.key
|
||||
// }]
|
||||
// });
|
||||
//
|
||||
// // to supercollider
|
||||
// udp_sc.send({
|
||||
// address: "/sound",
|
||||
// args: [{
|
||||
// type: "f",
|
||||
// value: msg.id
|
||||
// }, {
|
||||
// type: "f",
|
||||
// value: msg.key
|
||||
// }]
|
||||
// });
|
||||
//
|
||||
// });
|
||||
//
|
||||
//
|
||||
socket.on('pan', function(msg) {
|
||||
|
||||
//DEBUG
|
||||
//console.log('pan :');
|
||||
console.log(msg);
|
||||
|
||||
//// simply relaying messages to apps.
|
||||
|
||||
// to puredata
|
||||
udp_pd.send({
|
||||
address: "/pan",
|
||||
args: [{
|
||||
type: "f",
|
||||
value: msg.width
|
||||
}, {
|
||||
type: "f",
|
||||
value: msg.speed
|
||||
}]
|
||||
});
|
||||
|
||||
// // to supercollider
|
||||
// udp_sc.send({
|
||||
// address: "/pan",
|
||||
// args: [{
|
||||
// type: "f",
|
||||
// value: msg.width
|
||||
// }, {
|
||||
// type: "f",
|
||||
// value: msg.speed
|
||||
// }]
|
||||
// });
|
||||
|
||||
});
|
||||
|
||||
//
|
||||
socket.on('disconnect', function() {
|
||||
console.log("[osc-receiver] i'm disconnected.");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// //message handler
|
||||
// udp_sc.on("message", function(oscmsg, timetag, info) {
|
||||
// console.log("[udp] got osc message:", oscmsg);
|
||||
//
|
||||
// //EX)
|
||||
// // //method [1] : just relay as a whole
|
||||
// // io.emit('osc-msg', oscmsg); //broadcast
|
||||
//
|
||||
// //EX)
|
||||
// // //method [2] : each fields
|
||||
// // io.emit('osc-address', oscmsg.address); //broadcast
|
||||
// // io.emit('osc-type', oscmsg.type); //broadcast
|
||||
// // io.emit('osc-args', oscmsg.args); //broadcast
|
||||
// // io.emit('osc-value0', oscmsg.args[0].value); //broadcast
|
||||
//
|
||||
// //just grab i need.. note!
|
||||
// io.emit('sing-note', oscmsg.address); //broadcast
|
||||
// });
|
||||
|
||||
//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"
|
||||
);
|
||||
});
|
||||
udp_sc.open();
|
||||
udp_sc.on("ready", function() {
|
||||
console.log(
|
||||
"[udp] ready (udp_sc) : \n" +
|
||||
"\tlistening on --> " + udp_sc.options.localAddress + ":" + udp_sc.options.localPort + "\n" +
|
||||
"\tspeaking to -> " + udp_sc.options.remoteAddress + ":" + udp_sc.options.remotePort + "\n"
|
||||
);
|
||||
});
|
||||
Loading…
Reference in a new issue