Premik midi v OSC kanal

main
Jurij Podgoršek 2022-05-07 15:30:55 +02:00
parent 6ea1d9e49b
commit 2a5a4d0a15
1 changed files with 11 additions and 22 deletions

View File

@ -5,8 +5,12 @@ const OSCPORT = 57120;
const PORT = 6676
// Do we have a problem, shall we debug?
const DEBUG = true
const DEBUG = {
osc: true,
udp: false
}
// MIDI out
const MIDI = false
@ -26,8 +30,6 @@ const fs = require('fs')
if (MIDI) {
const midi = require('midi')
let midiOn = false
let midiNotes = {}
}
@ -93,7 +95,7 @@ function openSerial() {
// Arduino OSC gre v web
scon.on('message', msg => {
// Debug incoming osc
if (DEBUG) {
if (DEBUG.osc) {
console.log('osc msg', msg)
}
@ -171,7 +173,7 @@ scudp.on('open', () => {
})
scudp.on('message', (msg) => {
if (DEBUG) {
if (DEBUG.udp) {
console.log('got UDP msg', msg);
}
@ -246,22 +248,9 @@ const sendAll = (msg, info, oscWS, osclients) => {
}, info, oscWS, osclients)
}
if (msg.address == '/accel') {
if (MIDI) {
if (msg.args[1] > 2000) {
console.log("SEND MIDI!")
const visina = Math.round((msg.args[1] - 2000) / 100)
midiNotes[visina] = true
mo.send([144, visina, 127])
midiOn = true
}
if (msg.args[1] < 2000 && midiOn) {
Object.keys(midiNotes).forEach(visina => {
mo.send([128, visina, 127])
})
midiOn = false
}
if (MIDI) {
if (msg.address == '/midi') {
mo.send(msg.args)
}
}
@ -273,7 +262,7 @@ const sendAll = (msg, info, oscWS, osclients) => {
})
if (scudp) {
if (DEBUG) {
if (DEBUG.udp) {
console.log("UDP SEND", msg)
}
scudp.send(msg)