This commit is contained in:
+59
-42
@@ -119,8 +119,12 @@ export default function Menu(props) {
|
|||||||
}, [state.patch.mode, dispatch]);
|
}, [state.patch.mode, dispatch]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
<div className="h-screen col-span-1 flex flex-col justify-between border-solid border-r border-gray-300 bg-white px-2 py-2 text-xs">
|
<div className="h-screen col-span-1 flex flex-col justify-between border-solid border-r border-gray-300 bg-white px-2 py-2 text-xs">
|
||||||
<div className="menu-patch-container">
|
<div className="menu-patch-container">
|
||||||
|
|
||||||
|
{/* BLOC Patch Name */}
|
||||||
|
|
||||||
<div className="patch-name">
|
<div className="patch-name">
|
||||||
<input
|
<input
|
||||||
className="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50"
|
className="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50"
|
||||||
@@ -140,6 +144,7 @@ export default function Menu(props) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* BLOC DOUBLE SÉLECTEUR MIDI */}
|
{/* BLOC DOUBLE SÉLECTEUR MIDI */}
|
||||||
|
|
||||||
<div className="my-1 flex flex-col space-y-3 bg-gray-100 p-2 rounded border border-gray-300">
|
<div className="my-1 flex flex-col space-y-3 bg-gray-100 p-2 rounded border border-gray-300">
|
||||||
<div className="flex flex-col space-y-1">
|
<div className="flex flex-col space-y-1">
|
||||||
<label htmlFor="midi-out-select" className="text-xs font-bold text-gray-500 uppercase">
|
<label htmlFor="midi-out-select" className="text-xs font-bold text-gray-500 uppercase">
|
||||||
@@ -183,6 +188,7 @@ export default function Menu(props) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* CONTENEUR DES BOUTONS D'ACTIONS */}
|
{/* CONTENEUR DES BOUTONS D'ACTIONS */}
|
||||||
|
|
||||||
<div className="my-1 flex flex-col items-center space-y-2">
|
<div className="my-1 flex flex-col items-center space-y-2">
|
||||||
<button
|
<button
|
||||||
className="btn bg-indigo-600 text-white hover:bg-indigo-700 w-full font-semibold"
|
className="btn bg-indigo-600 text-white hover:bg-indigo-700 w-full font-semibold"
|
||||||
@@ -192,49 +198,55 @@ export default function Menu(props) {
|
|||||||
>
|
>
|
||||||
📥 Import from KORG
|
📥 Import from KORG
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
|
||||||
className="btn w-full"
|
|
||||||
onClick={() => {
|
|
||||||
dispatch(parameterRefreshAll());
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
New Patch
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
className="btn w-full"
|
|
||||||
onClick={() => {
|
|
||||||
fileRef.current.click();
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Load Patch
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
className="btn w-full"
|
|
||||||
onClick={() => {
|
|
||||||
download(
|
|
||||||
return_file_from_store(state),
|
|
||||||
'microKORG_patch.syx',
|
|
||||||
'application/octet-binary'
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Save Patch
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<input
|
|
||||||
className="hidden"
|
|
||||||
type="file"
|
|
||||||
accept=".syx"
|
|
||||||
ref={fileRef}
|
|
||||||
onChange={(e) => {
|
|
||||||
loadFile(e.target.files[0]);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* CONTENEUR DES BOUTONS D'ACTIONS */}
|
||||||
|
|
||||||
|
<div className="my-1">
|
||||||
|
<div className="text-xs font-semibold text-gray-500 uppercase mb-1">
|
||||||
|
Patch
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="grid grid-cols-3 gap-1">
|
||||||
|
<button
|
||||||
|
className="btn w-full"
|
||||||
|
onClick={() => dispatch(parameterRefreshAll())}
|
||||||
|
>
|
||||||
|
New
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
className="btn w-full"
|
||||||
|
onClick={() => fileRef.current.click()}
|
||||||
|
>
|
||||||
|
Load
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
className="btn w-full"
|
||||||
|
onClick={() => {
|
||||||
|
download(
|
||||||
|
return_file_from_store(state),
|
||||||
|
'microKORG_patch.syx',
|
||||||
|
'application/octet-binary'
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Save
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input
|
||||||
|
className="hidden"
|
||||||
|
type="file"
|
||||||
|
accept=".syx"
|
||||||
|
ref={fileRef}
|
||||||
|
onChange={(e) => loadFile(e.target.files[0])}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* liste single,multiple,vocoder */}
|
||||||
|
|
||||||
<div className="patch-settings">
|
<div className="patch-settings">
|
||||||
<Select
|
<Select
|
||||||
className="w-full select"
|
className="w-full select"
|
||||||
@@ -256,6 +268,8 @@ export default function Menu(props) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* 2 boutons Editor / Memory */}
|
||||||
|
|
||||||
<div className="my-1 flex gap-1 w-full">
|
<div className="my-1 flex gap-1 w-full">
|
||||||
<button
|
<button
|
||||||
className={props.page === 'editor' ? 'btn btn-active w-1/2' : 'btn w-1/2'}
|
className={props.page === 'editor' ? 'btn btn-active w-1/2' : 'btn w-1/2'}
|
||||||
@@ -272,6 +286,8 @@ export default function Menu(props) {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Choix Timbre 1, Timbre 2, Vocoder, Arp/FX */}
|
||||||
|
|
||||||
<div className="my-2 flex flex-col items-center space-y-2">
|
<div className="my-2 flex flex-col items-center space-y-2">
|
||||||
<button
|
<button
|
||||||
disabled={state.patch.mode === 'Vocoder'}
|
disabled={state.patch.mode === 'Vocoder'}
|
||||||
@@ -311,6 +327,7 @@ export default function Menu(props) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* LA PETITE CONSOLE DU MONITEUR MIDI HEXADÉCIMAL */}
|
{/* LA PETITE CONSOLE DU MONITEUR MIDI HEXADÉCIMAL */}
|
||||||
|
|
||||||
<div className="my-1 flex flex-col flex-grow h-32 w-full bg-black text-gray-300 font-mono text-[10px] p-2 rounded overflow-y-auto border border-gray-700 shadow-inner">
|
<div className="my-1 flex flex-col flex-grow h-32 w-full bg-black text-gray-300 font-mono text-[10px] p-2 rounded overflow-y-auto border border-gray-700 shadow-inner">
|
||||||
<div className="text-gray-500 font-bold border-b border-gray-800 pb-1 mb-1 sticky top-0 bg-black uppercase tracking-wider text-[9px]">
|
<div className="text-gray-500 font-bold border-b border-gray-800 pb-1 mb-1 sticky top-0 bg-black uppercase tracking-wider text-[9px]">
|
||||||
Moniteur MIDI Activity
|
Moniteur MIDI Activity
|
||||||
|
|||||||
Reference in New Issue
Block a user