import { useRef, useState, useEffect } from 'react'; import { Select } from '../utils/components'; import { useDispatch, useSelector } from 'react-redux'; import { parameterUpdateTab, parameterUpdated, parameterFromFile, parameterRefreshAll, selectEntities, } from '../editor/parameters/parameterSlice'; // probably temporarily here import { return_store_from_file, return_file_from_store } from '../io'; export default function Menu() { const [file, setFile] = useState(null); const fileRef = useRef(null); const state = useSelector((state) => selectEntities(state)); const activeTab = useSelector((state) => state.parameters.activeTab); console.log(activeTab); const dispatch = useDispatch(); const reader = new FileReader(); const loadFile = (f) => { reader.onloadend = (e) => { setFile(new Uint8Array(e.target.result)); }; reader.readAsArrayBuffer(f); }; useEffect(() => { if (file) { dispatch(parameterFromFile(return_store_from_file(file))); } }, [file, dispatch]); useEffect(() => { if (state.patch.mode === 'Vocoder') { dispatch(parameterUpdateTab('Vocoder')); } if (state.patch.mode === 'Single' || state.patch.mode === 'Multiple') { dispatch(parameterUpdateTab('Timbre1')); } }, [state.patch.mode, dispatch]); return (
{ dispatch( parameterUpdated({ id: 'Patch', changes: { name: e.target.value }, }) ); }} />
{ loadFile(e.target.files[0]); }} />