diff --git a/common.js b/common.js index 4d3f4f4..973b959 100644 --- a/common.js +++ b/common.js @@ -43,15 +43,19 @@ function Switch(props){ e('span', {className: 'slider round'}, null)) } +function SendSaveEvent(){ + setTimeout(() => { + window.dispatchEvent(new CustomEvent('saveDict', {'detail' : "localStorage"})); + }, 50) +} + function CreateParamChanger(arr, setArr, index, postCB=() => {}, preCB=(val) => val){ return (event) => { let newArr = arr.slice(); newArr[index] = preCB(event.target.value); setArr(newArr); postCB(); - setTimeout(() => { - window.dispatchEvent(new CustomEvent('saveDict', {'detail' : "localStorage"})); - }, 50) + SendSaveEvent(); log(`${index} ${event.target.value}`); } @@ -64,9 +68,7 @@ function CreateMatrixParamChanger(matrix, setMatrix, i, j){ }); newMatrix[i][j] = event.target.value; setMatrix(newMatrix); - setTimeout(() => { - window.dispatchEvent(new CustomEvent('saveDict', {'detail' : "localStorage"})); - }, 50) + SendSaveEvent(); log(`${i}, ${j} ${event.target.value}`); } diff --git a/lfogui.js b/lfogui.js index fe2cca7..8336c70 100644 --- a/lfogui.js +++ b/lfogui.js @@ -445,6 +445,7 @@ function MasterLfoHandler() { allModSetters[j](array); } } + SendSaveEvent(); rerender(!render); } @@ -454,6 +455,7 @@ function MasterLfoHandler() { let newArr = modVisibleArr.slice(); newArr[id] = false; setModVisibleArr(newArr); + SendSaveEvent(); } } @@ -477,9 +479,15 @@ function MasterLfoHandler() { enumItems: enumItemCounts[i], setEnumItemCounts: CreateParamChanger(enumItemCounts, setEnumItemCounts, i), enumBreakPoints: enumBreakPoints, - setEnumBreakPoints: setEnumBreakPoints, + setEnumBreakPoints: (val) => { + setEnumBreakPoints(val); + SendSaveEvent + }, enumNames: enumNames, - setEnumNames: setEnumNames, + setEnumNames: (val) => { + setEnumNames(val); + SendSaveEvent + }, visible: enumVisibleArr[i], djParam: enumDjParamArr[i], setDjParam: CreateParamChanger(enumDjParamArr, setEnumDjParamArr, i), @@ -525,6 +533,7 @@ function MasterLfoHandler() { } } rerender(!render); + SendSaveEvent(); } }, removeEnum: () => { @@ -532,6 +541,7 @@ function MasterLfoHandler() { let newArr = enumVisibleArr.slice(); newArr[id] = false; setEnumVisibleArr(newArr); + SendSaveEvent(); } } }, null)