add second VCO and more state

This commit is contained in:
[poww10s]
2020-11-18 02:17:25 -05:00
parent 813b00a79d
commit 7cf5b4c423
5 changed files with 94 additions and 41 deletions
@@ -0,0 +1,80 @@
import { createSlice, createEntityAdapter } from '@reduxjs/toolkit';
const parametersAdapter = createEntityAdapter({});
const parametersSlice = createSlice({
name: 'parameters',
initialState: parametersAdapter.getInitialState({
ids: [
'vco1',
'vco2',
'mixer1',
'timbre1',
'filter1',
'eg1',
'amp1',
'eg2',
'lfo1',
'lfo2',
'patches1',
],
entities: {
'vco1': {
id: 'vco1',
waveform: 'Saw',
dwgsOrModType: 0,
waveMod: 0,
lfoMod: 0,
},
'vco2': {
id: 'vco2',
waveform: 'Saw',
dwgsOrModType: 0,
waveMod: 0,
lfoMod: 0,
},
'mixer1': {
id: 'mixer1',
vol1: 127,
vol2: 0,
vol3: 0,
},
'timbre1': {
id: 'timbre1',
},
'filter1': {
id: 'filter1',
},
'eg1': {
id: 'eg1',
},
'amp1': {
id: 'amp1',
},
'eg2': {
id: 'eg2',
},
'lfo1': {
id: 'lfo1',
},
'lfo2': {
id: 'lfo2',
},
},
}),
reducers: {
parameterAdded: parametersAdapter.addOne,
parameterUpdated: parametersAdapter.updateOne,
},
});
export const {
selectById,
selectAll,
selectEntities,
selectIds,
} = parametersAdapter.getSelectors((state) => state.parameters);
export const { parameterAdded, parameterUpdated } = parametersSlice.actions;
export default parametersSlice.reducer;