From 63d0ddaea955a0bc93517a771d042acc575dd245 Mon Sep 17 00:00:00 2001 From: "Robin E.R. Davies" Date: Tue, 2 Jun 2026 01:15:59 -0400 Subject: [PATCH] Revert "Add units to MIDI range control" This reverts commit 8b1f52eca98cae4e3d05e8456a0dc6ec45864f63. --- vite/src/pipedal/MidiBindingView.tsx | 73 +++---------------------- vite/src/pipedal/MidiBindingsDialog.tsx | 2 - 2 files changed, 9 insertions(+), 66 deletions(-) diff --git a/vite/src/pipedal/MidiBindingView.tsx b/vite/src/pipedal/MidiBindingView.tsx index 1fc1c1c..cda8cda 100644 --- a/vite/src/pipedal/MidiBindingView.tsx +++ b/vite/src/pipedal/MidiBindingView.tsx @@ -25,7 +25,7 @@ import { withStyles } from "tss-react/mui"; import { createStyles } from './WithStyles'; import Snackbar from '@mui/material/Snackbar'; -import { UiPlugin, UiControl } from './Lv2Plugin'; +import { UiPlugin } from './Lv2Plugin'; import MenuItem from '@mui/material/MenuItem'; import Select from '@mui/material/Select'; @@ -96,7 +96,6 @@ interface MidiBindingViewProps extends WithStyles { midiBinding: MidiBinding; midiControlType: MidiControlType; canDoTapTempo: boolean; - uiControl?: UiControl; onChange: (instanceId: number, newBinding: MidiBinding) => void; } @@ -190,53 +189,14 @@ const MidiBindingView = } handleMinChange(value: number): void { let newBinding = this.props.midiBinding.clone(); - newBinding.minValue = this.realToMidi(value); + newBinding.minValue = value; this.props.onChange(this.props.instanceId, newBinding); } handleMaxChange(value: number): void { let newBinding = this.props.midiBinding.clone(); - newBinding.maxValue = this.realToMidi(value); + newBinding.maxValue = value; this.props.onChange(this.props.instanceId, newBinding); } - private realToMidi(realValue: number): number { - let control = this.props.uiControl; - if (!control) return realValue; - let range = control.max_value - control.min_value; - if (range === 0) return 0; - return (realValue - control.min_value) / range; - } - private midiToReal(midiValue: number): number { - let control = this.props.uiControl; - if (!control) return midiValue; - return midiValue * (control.max_value - control.min_value) + control.min_value; - } - private getDisplayUnit(): string { - let control = this.props.uiControl; - if (!control) return ""; - if (control.custom_units !== "") { - return control.custom_units.replace("%f", ""); - } - switch (control.units) { - case "bar": return " bar"; - case "beat": return " beats"; - case "bpm": return " bpm"; - case "cent": return " cents"; - case "cm": return " cm"; - case "db": return " dB"; - case "hz": return " Hz"; - case "khz": return " kHz"; - case "km": return " km"; - case "m": return " m"; - case "mhz": return " MHz"; - case "midiNote": return "MIDI note"; - case "min": return " min"; - case "ms": return " ms"; - case "pc": return " %"; - case "s": return " s"; - case "semitone12TET": return " st"; - default: return ""; - } - } handleCtlMinChange(value: number): void { let newBinding = this.props.midiBinding.clone(); newBinding.minControlValue = Math.round(value); @@ -678,36 +638,21 @@ const MidiBindingView = ) } { - showLinearRange && (() => { - let uiControl = this.props.uiControl; - let displayMin = uiControl ? uiControl.min_value : 0; - let displayMax = uiControl ? uiControl.max_value : 1; - let unit = this.getDisplayUnit(); - let isInteger = uiControl?.integer_property ?? false; - return ( + showLinearRange && (
Min Val:  - { this.handleMinChange(value); }} + { this.handleMinChange(value); }} /> - {unit !== "" && ( -  {unit.trim()} - )}
Max Val:  - { this.handleMaxChange(value); }} /> - {unit !== "" && ( -  {unit.trim()} - )} + { this.handleMaxChange(value); }} />
- ); - })() + ) } { canRotaryScale && ( diff --git a/vite/src/pipedal/MidiBindingsDialog.tsx b/vite/src/pipedal/MidiBindingsDialog.tsx index 5bc2ac7..9492e50 100644 --- a/vite/src/pipedal/MidiBindingsDialog.tsx +++ b/vite/src/pipedal/MidiBindingsDialog.tsx @@ -214,7 +214,6 @@ export const MidiBindingDialog = midiControlType={ getMidiControlType(plugin, "__bypass") } canDoTapTempo={false } - uiControl={plugin.getControl("__bypass")} onChange={(instanceId: number, newItem: MidiBinding) => this.handleItemChanged(instanceId, newItem)} /> @@ -259,7 +258,6 @@ export const MidiBindingDialog = midiControlType={getMidiControlType(plugin, symbol)} midiBinding={item.getMidiBinding(symbol)} canDoTapTempo={canDoTapTempo(plugin, symbol)} - uiControl={control} onChange={(instanceId: number, newItem: MidiBinding) => this.handleItemChanged(instanceId, newItem)} />