diff --git a/lfogui.js b/lfogui.js index 9b34d80..d18133e 100644 --- a/lfogui.js +++ b/lfogui.js @@ -72,9 +72,9 @@ function MasterLfoHandler(){ - const allModArrays = [modVisibleArr, modTypeArr, modInstanceNumArr, shapeArr, noiseTypeArr, djParamArr, freqArr, minArr, maxArr, initPhaseArr]; - const allModSetters = [setModVisibleArr, setModTypeArr, setModInstanceNumArr, setShapeArr, setNoiseTypeArr, setDjParamArr, setFreqArr, setMinArr, setMaxArr, setInitPhaseArr]; - const modBlankVals = [true, '1', SHAPETYPES[0], MODPARAMOPTIONS[0], '1hz', '0', '1', '0']; + const allModArrays = [modVisibleArr, modTypeArr, modInstanceNumArr, shapeArr, noiseTypeArr, djParamArr, freqArr, minArr, maxArr, initPhaseArr, lastPhaseArr, cachedNoiseValueArr]; + const allModSetters = [setModVisibleArr, setModTypeArr, setModInstanceNumArr, setShapeArr, setNoiseTypeArr, setDjParamArr, setFreqArr, setMinArr, setMaxArr, setInitPhaseArr, lastPhaseArr, cachedNoiseValueArr]; + const modBlankVals = [true, 'LFO', '1', SHAPETYPES[0], MODPARAMOPTIONS[0], "Sine Int.", '1hz', '0', '1', '0', 0, [0, 0]]; /// ENUMERATOR ARRAYS @@ -118,7 +118,6 @@ function MasterLfoHandler(){ React.useEffect(() => { function handleLoad(event) { - window.max.getDict(event.detail, (dict) => { for (let i = 0; i { + if (id < MAXLFOS - 1){ + if (modVisibleArr[id + 1]){ let emptyIndex = modVisibleArr.findIndex((item) => !item); @@ -310,6 +311,7 @@ function MasterLfoHandler(){ } } else { + log("adding lfo"); for (var j = 0; j < allModArrays.length; j++){ // no space below, easy. let array = allModArrays[j]; array[id + 1] = modBlankVals[j]; diff --git a/modulators.js b/modulators.js index 1190080..80445aa 100644 --- a/modulators.js +++ b/modulators.js @@ -90,6 +90,7 @@ function operateModulators(visibleArr, typeArr, instanceNumArr, paramNames, cent } let output = 0; + if (typeArr[i] == "LFO") output = operateLFO(center, inst, freqs[i], mins[i], maxs[i], waveTypes[i], phaseArr, i, userDefinedWave, name, currTime, beatsInMeasure, ticks); else @@ -101,7 +102,6 @@ function operateModulators(visibleArr, typeArr, instanceNumArr, paramNames, cent } function operateLFO(center, inst, timeBaseStr, min, max, waveType, phaseArr, phaseIndex, userDefinedWave, name, currTime, beatsInMeasure, maxTicks){ - let amp = parseFloat(max) - parseFloat(min); let phaseType; let timeBase;