From a855d254cdefed5365de09958136997e6191b8cc Mon Sep 17 00:00:00 2001 From: trian-gles <69212477+trian-gles@users.noreply.github.com> Date: Fri, 11 Oct 2024 15:34:37 +0200 Subject: [PATCH] non musical timing to ms value for input from neural net --- lfogui.js | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/lfogui.js b/lfogui.js index 24281fa..8e3042b 100644 --- a/lfogui.js +++ b/lfogui.js @@ -28,6 +28,30 @@ const MODULATORLABELS = ["inst", "-type-", "---shape---", "-------param-------", const ENUMERATORLABELS = ["inst", "---parameter---", "-# points-"]; +function parseLfoTimeNonMusical(lfoTime){ + if (lfoTime.slice(-2) == "hz"){ + return parseFloat(lfoTime.slice(0, -2)); + } + else if (lfoTime.slice(-2) == "ms"){ + return 1000 / parseFloat(lfoTime.slice(0, -2)); + } + else if (lfoTime.slice(-1) == "s"){ + return 1 / parseFloat(lfoTime.slice(0, -1)); + } + else if ((lfoTime.match(/:/g) || []).length == 2){ + return 1 / moment.duration(lfoTime).asSeconds(); + } + else if ((lfoTime.match(/\./g) || []).length == 2){ + return 0; // ignore musical timings + } + else { + return 0; + } +} + +function nnFreqToHzString(num){ + return `${num}hz`; +} function MasterLfoHandler(){ @@ -216,9 +240,25 @@ function MasterLfoHandler(){ setTicks(event.detail); } + function setNN(event){ + + } + + function dumpNN(event){ + let allNNData = []; + freqArr.forEach(element => { + allNNData.push(parseLfoTimeNonMusical(element)); + }); + allNNData = allNNData.concat(minArr); + allNNData = allNNData.concat(maxArr); + log(allNNData); + } + window.addEventListener('loadDict', handleLoad); window.addEventListener('saveDict', handleSave); + window.addEventListener('dumpNN', dumpNN); + window.addEventListener('setNN', setNN); window.addEventListener('tick', handleTick); window.addEventListener('param', handleParam); window.addEventListener('enum', handleEnum); @@ -229,6 +269,8 @@ function MasterLfoHandler(){ return () => { window.removeEventListener('loadDict', handleLoad); window.removeEventListener('saveDict', handleSave); + window.removeEventListener('dumpNN', dumpNN); + window.removeEventListener('setNN', setNN); window.removeEventListener('tick', handleTick); window.removeEventListener('param', handleParam); window.removeEventListener('enum', handleEnum); @@ -428,6 +470,14 @@ if (!DEBUG){ window.dispatchEvent(new CustomEvent('saveDict', {'detail' : dictId})); }); + window.max.bindInlet("dumpNN", () => { + window.dispatchEvent(new CustomEvent('dumpNN')); + }); + + window.max.bindInlet("setNN", () => { + window.dispatchEvent(new CustomEvent('setNN')); + }); + window.max.bindInlet("param", (inst, paramName, val) => { window.dispatchEvent(new CustomEvent('param', {'detail' : [inst, paramName, val]}));