Hello,
Peut-on envoyer des messages udp avec open Stage control ?
Si oui comment ? Sinon pas grave
Hello,
Peut-on envoyer des messages udp avec open Stage control ?
Si oui comment ? Sinon pas grave
Par défaut les messages osc sont envoyés via le protocole UDP. Si tu parles d’envoyer des paquets UDP sans le sans formatage osc, alors la réponse est non.
Dommage, ca sera trés usible pour moi (excuse mon français rudimentaire) :)! Est-ce que ça sera trés difficile d'implementer?
Merci,
Freddy
Here is a starting point for a custom module that would allow it.
// First part is copied from node's documentation
// except we use nativeRequire instead of require
// https://nodejs.org/api/dgram.html#udpdatagram-sockets
const dgram = nativeRequire('node:dgram')
const server = dgram.createSocket('udp4')
server.on('error', (err)=>{
console.error(`udp server error:\n${err.stack}`)
server.close()
});
server.on('message', (msg, rinfo) => {
console.log(`udp server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
});
server.on('listening', () => {
const address = server.address();
console.log(`udp server listening ${address.address}:${address.port}`);
});
server.bind(41234);
// That's the open-stage-control part
// https://openstagecontrol.ammd.net/docs/custom-module/custom-module/
module.exports = {
oscOutFilter: (data)=>{
// let's say we have a widget that sends osc messages on this address
if (data.address == '/udp_test') {
// catch the message and..
// maybe send some raw udp with server.send()
// https://nodejs.org/api/dgram.html#socketsendmsg-offset-length-port-address-callback
return // empty return -> original osc message bypassed
}
return data
},
unload: ()=>{
// close server when custom module hotreloads
server.close()
}
}
en fait je ne me souvenais plus pourquoi j'avais posé cette question en septembre 2019
j'ai retrouvé c'était pour tester avec Orca (~rabbits/orca-examples: basics/_udp.orca - sourcehut git)
VoilĂ voilĂ