import React from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { selectById, parameterUpdated } from './parameterSlice.js'; import { Slider, SelectList, Checkbox } from '../../helpers/Helpers'; const ArpeggA = (props) => { const parameters = useSelector((state) => selectById(state, props.id)); const dispatch = useDispatch(); return (
Arpeggio A.
Tempo dispatch( parameterUpdated({ id: props.id, changes: { tempo: value }, }) ) } /> Resolution dispatch( parameterUpdated({ id: props.id, changes: { resolution: value }, }) ) } /> Gate dispatch( parameterUpdated({ id: props.id, changes: { gate: value }, }) ) } />
Type dispatch( parameterUpdated({ id: props.id, changes: { type: value }, }) ) } /> Range `${v.value} Oct`} value={parameters.range} list={[{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }]} onChange={(value) => dispatch( parameterUpdated({ id: props.id, changes: { range: value }, }) ) } />
); }; const ArpeggB = (props) => { const parameters = useSelector((state) => selectById(state, props.id)); const dispatch = useDispatch(); return (
Arpeggio B.
dispatch( parameterUpdated({ id: props.id, changes: { latch: value }, }) ) } /> Swing dispatch( parameterUpdated({ id: props.id, changes: { swing: value }, }) ) } /> dispatch( parameterUpdated({ id: props.id, changes: { keySync: value }, }) ) } />
Last Step `Step ${v.value}`} value={parameters.lastStep} list={[ { value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }, { value: 5 }, { value: 6 }, { value: 7 }, { value: 8 }, ]} onChange={(value) => dispatch( parameterUpdated({ id: props.id, changes: { lastStep: value }, }) ) } /> Target Timbre dispatch( parameterUpdated({ id: props.id, changes: { target: value }, }) ) } />
); }; export { ArpeggA, ArpeggB };