listen for midi binding control range.

This commit is contained in:
Robin E. R. Davies
2025-06-26 10:24:48 -04:00
parent 2974033128
commit 07af383211
20 changed files with 591 additions and 522 deletions
+21 -16
View File
@@ -48,9 +48,8 @@ function ToolTipEx(props: ToolTipExProps) {
setTimeoutInstance(timeoutInstance + 1); // make useeffect run.
}
function stopTimeout() {
if (timeout > 0) {
startTimeout(0);
}
setTimeout(0);
setTimeoutInstance(0);
}
function handleMouseEnter(event: React.MouseEvent<HTMLDivElement>) {
setOpen(false);
@@ -60,6 +59,7 @@ function ToolTipEx(props: ToolTipExProps) {
function handleMouseLeave(event: React.MouseEvent<HTMLDivElement>) {
setOpen(false);
stopTimeout();
setLongPressLeaving(false);
}
function handlePointerDownCapture(event: React.PointerEvent<HTMLDivElement>) {
@@ -81,7 +81,7 @@ function ToolTipEx(props: ToolTipExProps) {
if (valueTooltip === undefined) // no timeout if there's a value tooltip
{
if (t > 0) {
// console.log("ToolTipEx: starting timeout for ", t);
console.log("ToolTipEx: starting timeout for ", t);
handle = window.setTimeout(() => {
setOpen(true);
},t);
@@ -89,7 +89,7 @@ function ToolTipEx(props: ToolTipExProps) {
}
return () => {
if (handle !== null) {
// console.log("ToolTipEx: clearing timeout for ", t);
console.log("ToolTipEx: clearing timeout for ", t);
window.clearTimeout(handle);
}
};
@@ -179,41 +179,46 @@ function ToolTipEx(props: ToolTipExProps) {
stopTimeout(); // Reset hover timeout on click
}
return (
<div
<div style={{ display: 'inline-block' }}
onClickCapture={(e) => {
// console.log("ToolTipEx: onClickCapture");
console.log("ToolTipEx: onClickCapture");
handleClickCapture(e);
setTimeout(0);
setOpen(false);
setIsLongPress(false);
setLongPressLeaving(true);
}}
onMouseEnter={(e)=> {
// console.log("ToolTipEx: onMouseEnter");
handleMouseEnter(e);
console.log("ToolTipEx: onMouseEnter");
if (!longPressLeaving) {// Don't handle mouse enter if we're in a long press leaving state
handleMouseEnter(e);
}
}}
onMouseLeave={(e)=> {
// console.log("ToolTipEx: onMouseLeave");
console.log("ToolTipEx: onMouseLeave");
handleMouseLeave(e);
}}
onPointerCancelCapture={(e) => {
// console.log("ToolTipEx: onPointerCancelCapture");
console.log("ToolTipEx: onPointerCancelCapture");
handlePointerCancel(e);
}}
onContextMenuCapture={(e) => {
// console.log("ToolTipEx: onContextMenuCapture");
console.log("ToolTipEx: onContextMenuCapture");
handleConextMenu(e);
return false;
}}
onPointerDownCapture={(e) => {
// console.log("ToolTipEx: onPointerDownCapture");
console.log("ToolTipEx: onPointerDownCapture");
handlePointerDownCapture(e);
}}
onPointerMoveCapture={(e) => {
// console.log("ToolTipEx: onPointerMoveCapture");
console.log("ToolTipEx: onPointerMoveCapture");
handlePointerMoveCapture(e);
}}
onPointerUpCapture={(e) => {
// console.log("ToolTipEx: onPointerUpCapture");
console.log("ToolTipEx: onPointerUpCapture");
handlePointerUpCapture(e);
}}
>