From 4cd18275a39d522343731cdfb35caa7bcc5af344 Mon Sep 17 00:00:00 2001 From: Aoife Date: Sat, 21 Nov 2020 20:00:36 -0500 Subject: [PATCH] update slice actions --- .../timbre/parameters/parameterSlice.js | 751 +++++++++--------- 1 file changed, 378 insertions(+), 373 deletions(-) diff --git a/src/features/timbre/parameters/parameterSlice.js b/src/features/timbre/parameters/parameterSlice.js index d8a68d3..0092645 100644 --- a/src/features/timbre/parameters/parameterSlice.js +++ b/src/features/timbre/parameters/parameterSlice.js @@ -1,385 +1,390 @@ import { createSlice, createEntityAdapter } from '@reduxjs/toolkit'; +const defaultState = { + ids: [ + 'vco1', + 'vco2', + 'mixer1', + 'pitch1', + 'filter1', + 'eg1', + 'amp1', + 'eg2', + 'lfo1', + 'lfo2', + 'patches1', + 'vco3', + 'vco4', + 'mixer2', + 'pitch2', + 'filter2', + 'eg3', + 'amp2', + 'eg4', + 'lfo3', + 'lfo4', + 'patches2', + 'vco5', + 'audioIn', + 'mixer3', + 'pitch3', + 'filter3', + 'fcMod', + 'eg4', + 'amp3', + 'lfo5', + 'lfo6', + 'levels', + 'pans', + 'modfx', + 'delay', + 'eq', + 'arpeggA', + 'arpeggB', + ], + entities: { + vco1: { + id: 'vco1', + waveform: 'Saw', + dwgsOrModType: 'SynWave1', + waveMod: 0, + lfoMod: 0, + }, + vco2: { + id: 'vco2', + waveform: 'Saw', + dwgsOrModType: 'Off', + waveMod: 0, + lfoMod: 0, + }, + vco3: { + id: 'vco3', + waveform: 'Saw', + dwgsOrModType: 'SynWave1', + waveMod: 0, + lfoMod: 0, + }, + vco4: { + id: 'vco4', + waveform: 'Saw', + dwgsOrModType: 'Off', + waveMod: 0, + lfoMod: 0, + }, + vco5: { + id: 'vco5', + waveform: 'Saw', + dwgsOrModType: 'SynWave1', + waveMod: 0, + lfoMod: 0, + }, + audioIn: { + id: 'audioIn', + gate: 0, + threshold: 0, + hpfLevel: 0, + hpfGate: false, + }, + mixer1: { + id: 'mixer1', + vol1: 127, + vol2: 0, + vol3: 0, + }, + mixer2: { + id: 'mixer2', + vol1: 127, + vol2: 0, + vol3: 0, + }, + mixer3: { + id: 'mixer3', + vol1: 127, + vol2: 0, + vol3: 0, + }, + pitch1: { + id: 'pitch1', + voiceAssign: 'Mono', + triggerMode: 'Single', + transpose: 0, + tune: 0, + unisonDetune: 0, + portamento: 0, + bendRange: 0, + vibratoIntensity: 0, + }, + pitch2: { + id: 'pitch2', + voiceAssign: 'Mono', + triggerMode: 'Single', + transpose: 0, + tune: 0, + unisonDetune: 0, + portamento: 0, + bendRange: 0, + vibratoIntensity: 0, + }, + pitch3: { + id: 'pitch3', + voiceAssign: 'Mono', + triggerMode: 'Single', + transpose: 0, + tune: 0, + unisonDetune: 0, + portamento: 0, + bendRange: 0, + vibratoIntensity: 0, + }, + filter1: { + id: 'filter1', + filterType: '-24db Low Pass', + cutoff: 0, + resonance: 0, + egIntensity: 0, + keyboardTrack: 0, + }, + filter2: { + id: 'filter2', + filterType: '-24db Low Pass', + cutoff: 0, + resonance: 0, + egIntensity: 0, + keyboardTrack: 0, + }, + filter3: { + id: 'filter3', + cutoff: 0, + resonance: 0, + efSense: 0, + }, + fcMod: { + id: 'fcMod', + source: 'Amp EG', + intensity: 0, + }, + eg1: { + id: 'eg1', + attack: 0, + decay: 0, + sustain: 127, + release: 0, + egReset: false, + }, + amp1: { + id: 'amp1', + ampLevel: 127, + panpot: 0, + ampTrack: 0, + distortion: false, + }, + eg2: { + id: 'eg2', + attack: 0, + decay: 0, + sustain: 127, + release: 0, + egReset: false, + }, + eg3: { + id: 'eg3', + attack: 0, + decay: 0, + sustain: 127, + release: 0, + egReset: false, + }, + amp2: { + id: 'amp2', + ampLevel: 127, + panpot: 0, + ampTrack: 0, + distortion: false, + }, + eg4: { + id: 'eg4', + attack: 0, + decay: 0, + sustain: 127, + release: 0, + egReset: false, + }, + eg5: { + id: 'eg5', + attack: 0, + decay: 0, + sustain: 127, + release: 0, + egReset: false, + }, + amp3: { + id: 'amp3', + ampLevel: 127, + directLevel: 0, + ampTrack: 0, + distortion: false, + }, + lfo1: { + id: 'lfo1', + waveform: 'Saw', + keySync: 'Off', + tempoSync: false, + frequency: 0, + }, + lfo2: { + id: 'lfo2', + waveform: 'Saw', + keySync: 'Off', + tempoSync: false, + frequency: 0, + }, + lfo3: { + id: 'lfo3', + waveform: 'Saw', + keySync: 'Off', + tempoSync: false, + frequency: 0, + }, + lfo4: { + id: 'lfo4', + waveform: 'Saw', + keySync: 'Off', + tempoSync: false, + frequency: 0, + }, + lfo5: { + id: 'lfo5', + waveform: 'Saw', + keySync: 'Off', + tempoSync: false, + frequency: 0, + }, + lfo6: { + id: 'lfo6', + waveform: 'Saw', + keySync: 'Off', + tempoSync: false, + frequency: 0, + }, + patches1: { + id: 'patches1', + patch1: { + source: 'Filter EG', + destination: 'Pitch', + modIntensity: 0, + }, + patch2: { + source: 'Filter EG', + destination: 'Pitch', + modIntensity: 0, + }, + patch3: { + source: 'LFO 1', + destination: 'Pitch', + modIntensity: 0, + }, + patch4: { + source: 'LFO 2', + destination: 'Pitch', + modIntensity: 0, + }, + }, + patches2: { + id: 'patches2', + patch1: { + source: 'Filter EG', + destination: 'Pitch', + modIntensity: 0, + }, + patch2: { + source: 'Filter EG', + destination: 'Pitch', + modIntensity: 0, + }, + patch3: { + source: 'LFO 1', + destination: 'Pitch', + modIntensity: 0, + }, + patch4: { + source: 'LFO 2', + destination: 'Pitch', + modIntensity: 0, + }, + }, + levels: { + id: 'levels', + level1: 0, + level2: 0, + level3: 0, + level4: 0, + level5: 0, + level6: 0, + level7: 0, + level8: 0, + }, + pans: { + id: 'pans', + pan1: 0, + pan2: 0, + pan3: 0, + pan4: 0, + pan5: 0, + pan6: 0, + pan7: 0, + pan8: 0, + }, + modfx: { + id: 'modfx', + type: 'Flanger/Chorus', + lfoSpeed: 0, + effectDepth: 0, + }, + delay: { + id: 'delay', + type: 'Stereo Delay', + tempoSync: false, + syncNote: '1/32', + delayTime: 0, + delayDepth: 0, + }, + eq: { + id: 'eq', + lowFrequency: 40, + lowGain: 0, + highFrequency: 1.0, + highGain: 0, + }, + arpeggA: { + id: 'arpeggA', + tempo: 20, + resolution: '1/24', + gate: 0, + type: 'Up', + range: 1, + }, + arpeggB: { + id: 'arpeggB', + latch: false, + swing: 0, + keySync: false, + lastStep: 1, + target: 'Both', + }, + }, +}; + const parametersAdapter = createEntityAdapter({}); const parametersSlice = createSlice({ name: 'parameters', - initialState: parametersAdapter.getInitialState({ - ids: [ - 'vco1', - 'vco2', - 'mixer1', - 'pitch1', - 'filter1', - 'eg1', - 'amp1', - 'eg2', - 'lfo1', - 'lfo2', - 'patches1', - 'vco3', - 'vco4', - 'mixer2', - 'pitch2', - 'filter2', - 'eg3', - 'amp2', - 'eg4', - 'lfo3', - 'lfo4', - 'patches2', - 'vco5', - 'audioIn', - 'mixer3', - 'pitch3', - 'filter3', - 'fcMod', - 'eg4', - 'amp3', - 'lfo5', - 'lfo6', - 'levels', - 'pans', - 'modfx', - 'delay', - 'eq', - 'arpeggA', - 'arpeggB', - ], - entities: { - vco1: { - id: 'vco1', - waveform: 'Saw', - dwgsOrModType: 'SynWave1', - waveMod: 0, - lfoMod: 0, - }, - vco2: { - id: 'vco2', - waveform: 'Saw', - dwgsOrModType: 'Off', - waveMod: 0, - lfoMod: 0, - }, - vco3: { - id: 'vco3', - waveform: 'Saw', - dwgsOrModType: 'SynWave1', - waveMod: 0, - lfoMod: 0, - }, - vco4: { - id: 'vco4', - waveform: 'Saw', - dwgsOrModType: 'Off', - waveMod: 0, - lfoMod: 0, - }, - vco5: { - id: 'vco5', - waveform: 'Saw', - dwgsOrModType: 'SynWave1', - waveMod: 0, - lfoMod: 0, - }, - audioIn: { - id: 'audioIn', - gate: 0, - threshold: 0, - hpfLevel: 0, - hpfGate: false, - }, - mixer1: { - id: 'mixer1', - vol1: 127, - vol2: 0, - vol3: 0, - }, - mixer2: { - id: 'mixer2', - vol1: 127, - vol2: 0, - vol3: 0, - }, - mixer3: { - id: 'mixer3', - vol1: 127, - vol2: 0, - vol3: 0, - }, - pitch1: { - id: 'pitch1', - voiceAssign: 'Mono', - triggerMode: 'Single', - transpose: 0, - tune: 0, - unisonDetune: 0, - portamento: 0, - bendRange: 0, - vibratoIntensity: 0, - }, - pitch2: { - id: 'pitch2', - voiceAssign: 'Mono', - triggerMode: 'Single', - transpose: 0, - tune: 0, - unisonDetune: 0, - portamento: 0, - bendRange: 0, - vibratoIntensity: 0, - }, - pitch3: { - id: 'pitch3', - voiceAssign: 'Mono', - triggerMode: 'Single', - transpose: 0, - tune: 0, - unisonDetune: 0, - portamento: 0, - bendRange: 0, - vibratoIntensity: 0, - }, - filter1: { - id: 'filter1', - filterType: '-24db Low Pass', - cutoff: 0, - resonance: 0, - egIntensity: 0, - keyboardTrack: 0, - }, - filter2: { - id: 'filter2', - filterType: '-24db Low Pass', - cutoff: 0, - resonance: 0, - egIntensity: 0, - keyboardTrack: 0, - }, - filter3: { - id: 'filter3', - cutoff: 0, - resonance: 0, - efSense: 0, - }, - fcMod: { - id: 'fcMod', - source: 'Amp EG', - intensity: 0, - }, - eg1: { - id: 'eg1', - attack: 0, - decay: 0, - sustain: 127, - release: 0, - egReset: false, - }, - amp1: { - id: 'amp1', - ampLevel: 127, - panpot: 0, - ampTrack: 0, - distortion: false, - }, - eg2: { - id: 'eg2', - attack: 0, - decay: 0, - sustain: 127, - release: 0, - egReset: false, - }, - eg3: { - id: 'eg3', - attack: 0, - decay: 0, - sustain: 127, - release: 0, - egReset: false, - }, - amp2: { - id: 'amp2', - ampLevel: 127, - panpot: 0, - ampTrack: 0, - distortion: false, - }, - eg4: { - id: 'eg4', - attack: 0, - decay: 0, - sustain: 127, - release: 0, - egReset: false, - }, - eg5: { - id: 'eg5', - attack: 0, - decay: 0, - sustain: 127, - release: 0, - egReset: false, - }, - amp3: { - id: 'amp3', - ampLevel: 127, - directLevel: 0, - ampTrack: 0, - distortion: false, - }, - lfo1: { - id: 'lfo1', - waveform: 'Saw', - keySync: 'Off', - tempoSync: false, - frequency: 0, - }, - lfo2: { - id: 'lfo2', - waveform: 'Saw', - keySync: 'Off', - tempoSync: false, - frequency: 0, - }, - lfo3: { - id: 'lfo3', - waveform: 'Saw', - keySync: 'Off', - tempoSync: false, - frequency: 0, - }, - lfo4: { - id: 'lfo4', - waveform: 'Saw', - keySync: 'Off', - tempoSync: false, - frequency: 0, - }, - lfo5: { - id: 'lfo5', - waveform: 'Saw', - keySync: 'Off', - tempoSync: false, - frequency: 0, - }, - lfo6: { - id: 'lfo6', - waveform: 'Saw', - keySync: 'Off', - tempoSync: false, - frequency: 0, - }, - patches1: { - id: 'patches1', - patch1: { - source: 'Filter EG', - destination: 'Pitch', - modIntensity: 0, - }, - patch2: { - source: 'Filter EG', - destination: 'Pitch', - modIntensity: 0, - }, - patch3: { - source: 'LFO 1', - destination: 'Pitch', - modIntensity: 0, - }, - patch4: { - source: 'LFO 2', - destination: 'Pitch', - modIntensity: 0, - }, - }, - patches2: { - id: 'patches2', - patch1: { - source: 'Filter EG', - destination: 'Pitch', - modIntensity: 0, - }, - patch2: { - source: 'Filter EG', - destination: 'Pitch', - modIntensity: 0, - }, - patch3: { - source: 'LFO 1', - destination: 'Pitch', - modIntensity: 0, - }, - patch4: { - source: 'LFO 2', - destination: 'Pitch', - modIntensity: 0, - }, - }, - levels: { - id: 'levels', - level1: 0, - level2: 0, - level3: 0, - level4: 0, - level5: 0, - level6: 0, - level7: 0, - level8: 0, - }, - pans: { - id: 'pans', - pan1: 0, - pan2: 0, - pan3: 0, - pan4: 0, - pan5: 0, - pan6: 0, - pan7: 0, - pan8: 0, - }, - modfx: { - id: 'modfx', - type: 'Flanger/Chorus', - lfoSpeed: 0, - effectDepth: 0, - }, - delay: { - id: 'delay', - type: 'Stereo Delay', - tempoSync: false, - syncNote: '1/32', - delayTime: 0, - delayDepth: 0, - }, - eq: { - id: 'eq', - lowFrequency: 40, - lowGain: 0, - highFrequency: 1.0, - highGain: 0, - }, - arpeggA: { - id: 'arpeggA', - tempo: 20, - resolution: '1/24', - gate: 0, - type: 'Up', - range: 1, - }, - arpeggB: { - id: 'arpeggB', - latch: false, - swing: 0, - keySync: false, - lastStep: 1, - target: 'Both', - }, - }, - }), + initialState: parametersAdapter.getInitialState(defaultState), reducers: { parameterAdded: parametersAdapter.addOne, parameterUpdated: parametersAdapter.updateOne, + parameterRefreshAll(state) { + parametersAdapter.setAll(state, defaultState); + }, }, });