Skip to content

Add vertical playback auto-scroll and note highlighting#2263

Open
emeraldsingers wants to merge 2 commits into
openutau:masterfrom
emeraldsingers:VerticalScrollNoteHighlight
Open

Add vertical playback auto-scroll and note highlighting#2263
emeraldsingers wants to merge 2 commits into
openutau:masterfrom
emeraldsingers:VerticalScrollNoteHighlight

Conversation

@emeraldsingers

Copy link
Copy Markdown
Contributor

Improve piano roll playback visualization with optional vertical note following
and animated highlighting of the currently playing note

verticalplayback1.mp4

Add optional vertical note following during piano roll playback.

Center the active note vertically using frame-rate-independent exponential smoothing, configurable follow margin and damping, and a per-frame movement limit. Prepare scrolling before upcoming notes and ignore isolated melodic outliers to avoid abrupt jumps.

Add the toggle to the piano roll View menu and expose vertical follow settings in Preferences.
Highlight the active piano roll note during playback with configurable fade-in and fade-out speeds.

Add an opt-in View menu toggle, persist the preference, and avoid repainting NotesCanvas on playback tick updates when highlighting is disabled.
runit-xze added a commit to runit-xze/OpenUtau that referenced this pull request Jul 25, 2026
Merge upstream openutau#2263: Add vertical playback auto-scroll and note highlighting
runit-xze added a commit to runit-xze/OpenUtau that referenced this pull request Jul 25, 2026
…ghlighting

Cherry-picked from openutau#2263: openutau#2263
Conflicts were independent additions colliding at the same insertion points against already-merged features (openutau#2182's DiffSinger phrase boundary rendering, openutau#2230's detach-pianoroll menu item, openutau#2067's metronome preferences UI):
- NotesCanvas.cs: combined the phoneme-error-aware hasError computation (existing) with this PR's playback-highlight blending, using consistent brush constants; kept both private method blocks (phrase boundary rendering + highlight animation) side by side, no actual overlap.
- PianoRoll.axaml / PreferencesDialog.axaml: concatenated both menu items / settings sections, no overlap.
runit-xze added a commit to runit-xze/OpenUtau that referenced this pull request Jul 25, 2026
Merge upstream openutau#2263: Add vertical playback auto-scroll and note highlighting
runit-xze added a commit to runit-xze/OpenUtau that referenced this pull request Jul 25, 2026
…ghlighting

Cherry-picked from openutau#2263: openutau#2263
Conflicts were independent additions colliding at the same insertion points against already-merged features (openutau#2182's DiffSinger phrase boundary rendering, openutau#2230's detach-pianoroll menu item, openutau#2067's metronome preferences UI):
- NotesCanvas.cs: combined the phoneme-error-aware hasError computation (existing) with this PR's playback-highlight blending, using consistent brush constants; kept both private method blocks (phrase boundary rendering + highlight animation) side by side, no actual overlap.
- PianoRoll.axaml / PreferencesDialog.axaml: concatenated both menu items / settings sections, no overlap.
runit-xze added a commit to runit-xze/OpenUtau that referenced this pull request Jul 25, 2026
Merge upstream openutau#2263: Add vertical playback auto-scroll and note highlighting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant