diff --git a/danijela.js b/danijela.js index d737d2e..efcda29 100644 --- a/danijela.js +++ b/danijela.js @@ -28,6 +28,8 @@ let eulerRotacijaGlave = [0, 0, 0] let senzorGlaveCC = 64 let senzorRokeCC = 64 +let staroVrtenjeZmidi = 0; + // Midi controller input const mi = new midi.Input() mi.openVirtualPort("danijela-midi") @@ -43,7 +45,7 @@ mi.on('message', (deltaTime, msg) => { console.log(`senzor roke CC ${senzorRokeCC}`) } - //console.log(`midi in: ${msg} d: ${deltaTime}`); + // console.log(`midi in: ${msg} d: ${deltaTime}`); if (senzorGlaveCC === 0 && senzorRokeCC === 0) { console.log('===== KALIBRACIJA! =====') @@ -135,7 +137,7 @@ oscWS.on('message', ({ address, args }) => { } if (addr == 'quaternion') { - console.log('IDX', index) + //console.log('IDX', index) // Izracunaj spremembo rotacije const novQGlave = new Quat({w: args[0], x: args[1], y: args[2], z: args[3]}) const novQGlaveC = novQGlave.mul(izhodisceQGlave) @@ -162,8 +164,15 @@ oscWS.on('message', ({ address, args }) => { // Vrtenje levo/desno (stegnjena roka) //console.log(eulerRotacijaGlave) const vrtenjeZ = normSin(eulerRotacijaGlave[2]) - console.log('vrtenjeZ', vrtenjeZ) - posljiMidi(182, 20, Math.round(vrtenjeZ * 127)); + const vrtenjeZmidi = Math.round(vrtenjeZ * 127); + + //console.log('vrtenjeZ', vrtenjeZmidi) + //console.log('cmp', vrtenjeZmidi, staroVrtenjeZmidi); + if ((vrtenjeZmidi !== staroVrtenjeZmidi) + && (senzorRokeCC !== 0)) { + posljiMidi(182, 20, vrtenjeZmidi); + staroVrtenjeZmidi = vrtenjeZmidi; + } //console.log('VRTENJE', euler.map(x => x.toFixed(3)));