diff --git a/webapp/src/components/app/timeline/PianoRoll/PianoGrid.vue b/webapp/src/components/app/timeline/PianoRoll/PianoGrid.vue index 2ca7fef..54ee2c2 100644 --- a/webapp/src/components/app/timeline/PianoRoll/PianoGrid.vue +++ b/webapp/src/components/app/timeline/PianoRoll/PianoGrid.vue @@ -59,6 +59,7 @@ const { removeFromSelection, cleanup: cleanupSelection, } = usePianoGridSelection( + null, () => props.notes, () => props.colWidth, () => gridWidth.value, diff --git a/webapp/src/components/app/timeline/PianoRoll/PianoGridCanvas.vue b/webapp/src/components/app/timeline/PianoRoll/PianoGridCanvas.vue new file mode 100644 index 0000000..dac4d7b --- /dev/null +++ b/webapp/src/components/app/timeline/PianoRoll/PianoGridCanvas.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/webapp/src/components/app/timeline/PianoRoll/PianoKeysCanvas.vue b/webapp/src/components/app/timeline/PianoRoll/PianoKeysCanvas.vue new file mode 100644 index 0000000..0542053 --- /dev/null +++ b/webapp/src/components/app/timeline/PianoRoll/PianoKeysCanvas.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/webapp/src/components/app/timeline/PianoRoll/PianoRoll.vue b/webapp/src/components/app/timeline/PianoRoll/PianoRoll.vue index 6d915b1..45590ff 100644 --- a/webapp/src/components/app/timeline/PianoRoll/PianoRoll.vue +++ b/webapp/src/components/app/timeline/PianoRoll/PianoRoll.vue @@ -10,7 +10,11 @@ import { noteIndexToName, } from "../../../../lib/audio/pianoRollConstants"; import PianoKeys from "./PianoKeys.vue"; +import PianoKeysCanvas from "./PianoKeysCanvas.vue"; import PianoGrid from "./PianoGrid.vue"; +import PianoGridCanvas from "./PianoGridCanvas.vue"; + +const USE_CANVAS = true; const props = defineProps<{ track: Track; @@ -143,14 +147,16 @@ onBeforeUnmount(() => {