Input moves from per-key gestures to one octave-level multi-touch handler in PianoOctave, so a finger can slide across keys and each note retriggers as it crosses a key boundary (black keys win in their upper region via geometry-aware hit-testing); multiple fingers still play independently for chords. Out-of-scale keys are skipped mid-slide. onNoteOn carries a `slid` flag so the tracker punch-in keyboard records only the initial press (a slide auditions a glide without spraying a run of notes into the pattern), while the toolbox / editor audition keyboards play every key crossed. StackedKeyboard and SlotAuditionKeyboard both migrate to the new callback API; PianoOctave now renders the keys itself. Verified on-device: a slow slide lights each in-scale key as the finger reaches it and skips out-of-scale keys. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.1 KiB
5.1 KiB