Merge branch 'nn-communication' into main
This commit is contained in:
commit
2d81a832af
50
lfogui.js
50
lfogui.js
@ -33,6 +33,30 @@ const MODULATORLABELS = ["inst", "-type-", "---shape---", "-------param-------",
|
|||||||
const ENUMERATORLABELS = ["inst", "---parameter---", "-# points-"];
|
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(){
|
function MasterLfoHandler(){
|
||||||
@ -234,9 +258,25 @@ function MasterLfoHandler(){
|
|||||||
setTicks(event.detail);
|
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('loadDict', handleLoad);
|
||||||
window.addEventListener('saveDict', handleSave);
|
window.addEventListener('saveDict', handleSave);
|
||||||
|
window.addEventListener('dumpNN', dumpNN);
|
||||||
|
window.addEventListener('setNN', setNN);
|
||||||
window.addEventListener('tick', handleTick);
|
window.addEventListener('tick', handleTick);
|
||||||
window.addEventListener('param', handleParam);
|
window.addEventListener('param', handleParam);
|
||||||
window.addEventListener('enum', handleEnum);
|
window.addEventListener('enum', handleEnum);
|
||||||
@ -247,6 +287,8 @@ function MasterLfoHandler(){
|
|||||||
return () => {
|
return () => {
|
||||||
window.removeEventListener('loadDict', handleLoad);
|
window.removeEventListener('loadDict', handleLoad);
|
||||||
window.removeEventListener('saveDict', handleSave);
|
window.removeEventListener('saveDict', handleSave);
|
||||||
|
window.removeEventListener('dumpNN', dumpNN);
|
||||||
|
window.removeEventListener('setNN', setNN);
|
||||||
window.removeEventListener('tick', handleTick);
|
window.removeEventListener('tick', handleTick);
|
||||||
window.removeEventListener('param', handleParam);
|
window.removeEventListener('param', handleParam);
|
||||||
window.removeEventListener('enum', handleEnum);
|
window.removeEventListener('enum', handleEnum);
|
||||||
@ -467,6 +509,14 @@ if (!DEBUG){
|
|||||||
window.dispatchEvent(new CustomEvent('saveDict', {'detail' : dictId}));
|
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.max.bindInlet("param", (inst, paramName, val) => {
|
||||||
|
|
||||||
window.dispatchEvent(new CustomEvent('param', {'detail' : [inst, paramName, val]}));
|
window.dispatchEvent(new CustomEvent('param', {'detail' : [inst, paramName, val]}));
|
||||||
|
Loading…
Reference in New Issue
Block a user