From b7d6077af5eaabf18689a63ef707d5e642d19808 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Fri, 30 Jun 2017 01:09:34 -0700 Subject: [PATCH] Implement Shift+Right-click for full extent on the note track VRuler --- .../notetrack/ui/NoteTrackVRulerControls.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.cpp b/src/tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.cpp index 2ffc44956..b86277187 100644 --- a/src/tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.cpp +++ b/src/tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.cpp @@ -161,14 +161,23 @@ UIHandle::Result NoteTrackVZoomHandle::Release pTrack->ZoomTo(evt.rect, mZoomStart, mZoomEnd); } else if (event.ShiftDown() || event.RightUp()) { - pTrack->ZoomOut(evt.rect, mZoomEnd); + if (event.ShiftDown() && event.RightUp()) { + // Zoom out completely + pTrack->SetBottomNote(0); + auto octavePadding = 2 * 10; // 10 octaves times 2 single-pixel seperations per pixel + auto availableHeight = evt.rect.height - octavePadding; + auto numNotes = 128; + auto spacePerNote = availableHeight / numNotes; + pTrack->SetPitchHeight(std::max(spacePerNote, 1)); + } else { + // Zoom out + pTrack->ZoomOut(evt.rect, mZoomEnd); + } } else { pTrack->ZoomIn(evt.rect, mZoomEnd); } - // TODO: shift-right click as in audio track? - mZoomEnd = mZoomStart = 0; pProject->ModifyState(true);