diff --git a/src/features/editor/Vocoder.js b/src/features/editor/Vocoder.js
index 9f79232..dbf93c5 100644
--- a/src/features/editor/Vocoder.js
+++ b/src/features/editor/Vocoder.js
@@ -4,7 +4,7 @@ import { selectById } from './timbreSlice';
import VCO, { AudioIn } from './parameters/VCO';
import Mixer from './parameters/Mixer';
import Pitch from './parameters/Pitch';
-import EG from './parameters/EG';
+import { VocoderEG } from './parameters/EG';
import LFO from './parameters/LFO';
import { VocoderFilter, FCMod } from './parameters/Filter';
import { VocoderAmp } from './parameters/Amp';
@@ -14,8 +14,9 @@ import Pans from './parameters/Pans';
export default function Vocoder(props) {
const ids = useSelector((state) => selectById(state, props.id));
return (
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
);
}
diff --git a/src/features/editor/parameters/Amp.js b/src/features/editor/parameters/Amp.js
index 2826042..7e68086 100644
--- a/src/features/editor/parameters/Amp.js
+++ b/src/features/editor/parameters/Amp.js
@@ -84,59 +84,71 @@ export const VocoderAmp = (props) => {
const dispatch = useDispatch();
return (
-
- {`${props.name}`}
- Amp Level
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { ampLevel: value },
- })
- )
- }
- />
- Direct Level
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { directLevel: value },
- })
- )
- }
- />
- Amp Keyboard Tracking
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { ampTrack: value },
- })
- )
- }
- />
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { distortion: value },
- })
- )
- }
- />
-
+
+
+
+
Amp Level
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { ampLevel: value },
+ })
+ )
+ }
+ />
+
+
+
Direct Level
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { directLevel: value },
+ })
+ )
+ }
+ />
+
+
+
+
+
Keyboard Track
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { ampTrack: value },
+ })
+ )
+ }
+ />
+
+
+
Distortion
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { distortion: value },
+ })
+ )
+ }
+ />
+
+
+
);
};
diff --git a/src/features/editor/parameters/EG.js b/src/features/editor/parameters/EG.js
index 787ac3f..9063e13 100644
--- a/src/features/editor/parameters/EG.js
+++ b/src/features/editor/parameters/EG.js
@@ -168,3 +168,90 @@ export default function EG(props) {
);
}
+
+export function VocoderEG(props) {
+ const parameters_eg_1 = useSelector((state) => selectById(state, props.id1));
+ const dispatch = useDispatch();
+
+ return (
+
+
+
+
Attack
+
+ dispatch(
+ parameterUpdated({
+ id: props.id1,
+ changes: { attack: value },
+ })
+ )
+ }
+ />
+
+
+
Decay
+
+ dispatch(
+ parameterUpdated({
+ id: props.id1,
+ changes: { decay: value },
+ })
+ )
+ }
+ />
+
+
+
Sustain
+
+ dispatch(
+ parameterUpdated({
+ id: props.id1,
+ changes: { sustain: value },
+ })
+ )
+ }
+ />
+
+
+
Release
+
+ dispatch(
+ parameterUpdated({
+ id: props.id1,
+ changes: { release: value },
+ })
+ )
+ }
+ />
+
+
+
+
EG Reset
+
+ dispatch(
+ parameterUpdated({
+ id: props.id1,
+ changes: { egReset: value },
+ })
+ )
+ }
+ />
+
+
+ );
+}
diff --git a/src/features/editor/parameters/Filter.js b/src/features/editor/parameters/Filter.js
index 326bcb5..2a89a69 100644
--- a/src/features/editor/parameters/Filter.js
+++ b/src/features/editor/parameters/Filter.js
@@ -3,7 +3,7 @@ import Card from '../card';
import { Select, Knob } from '../../utils/components';
import { useSelector, useDispatch } from 'react-redux';
import { selectById, parameterUpdated } from './parameterSlice.js';
-import { Slider, SelectList } from '../../helpers/Helpers';
+import { Slider } from '../../helpers/Helpers';
export default function Filter(props) {
const parameters = useSelector((state) => selectById(state, props.id));
@@ -38,7 +38,7 @@ export default function Filter(props) {
Cutoff
dispatch(
parameterUpdated({
@@ -74,7 +74,7 @@ export default function Filter(props) {
dispatch(
parameterUpdated({
@@ -113,51 +113,55 @@ export const VocoderFilter = (props) => {
const parameters = useSelector((state) => selectById(state, props.id));
const dispatch = useDispatch();
return (
-
- {`${props.name}`}
- Cutoff
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { cutoff: value },
- })
- )
- }
- />
- Resonance
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { resonance: value },
- })
- )
- }
- />
- EF Sense
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { efSense: value },
- })
- )
- }
- />
-
+
+
+
+
Cutoff
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { cutoff: value },
+ })
+ )
+ }
+ />
+
+
+
Resonance
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { resonance: value },
+ })
+ )
+ }
+ />
+
+
+
EF Sense
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { efSense: value },
+ })
+ )
+ }
+ />
+
+
+
);
};
@@ -165,43 +169,48 @@ export const FCMod = (props) => {
const parameters = useSelector((state) => selectById(state, props.id));
const dispatch = useDispatch();
return (
-
- {`${props.name}`}
- Source
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { source: value },
- })
- )
- }
- />
- Intensity
-
- dispatch(
- parameterUpdated({
- id: props.id,
- changes: { intensity: value },
- })
- )
- }
- />
-
+
+
+
+
Source
+
+
+
Intensity
+
+ dispatch(
+ parameterUpdated({
+ id: props.id,
+ changes: { intensity: value },
+ })
+ )
+ }
+ />
+
+
+
);
};
diff --git a/src/features/editor/parameters/LFO.js b/src/features/editor/parameters/LFO.js
index 83041a3..639ebed 100644
--- a/src/features/editor/parameters/LFO.js
+++ b/src/features/editor/parameters/LFO.js
@@ -88,7 +88,7 @@ export default function LFO(props) {
/>
-