# HG changeset patch # User Chris Cannam # Date 1537440355 -3600 # Node ID b184e71f880de252484a02b79fc2279e1e0dfda8 # Parent b1e091bb126ccb7874958cf0e6d4ab53ac330274 ZoomLevel fixes diff -r b1e091bb126c -r b184e71f880d main/MainWindow.cpp --- a/main/MainWindow.cpp Thu Sep 20 10:46:01 2018 +0100 +++ b/main/MainWindow.cpp Thu Sep 20 11:45:55 2018 +0100 @@ -3866,7 +3866,7 @@ if (configuration.layer == LayerFactory::Spectrum) { pane->setPlaybackFollow(PlaybackScrollContinuous); pane->setFollowGlobalZoom(false); - pane->setZoomLevel(512); + pane->setZoomLevel(ZoomLevel(ZoomLevel::FramesPerPixel, 512)); } if (configuration.layer != LayerFactory::TimeRuler && diff -r b1e091bb126c -r b184e71f880d main/OSCHandler.cpp --- a/main/OSCHandler.cpp Thu Sep 20 10:46:01 2018 +0100 +++ b/main/OSCHandler.cpp Thu Sep 20 11:45:55 2018 +0100 @@ -497,8 +497,17 @@ } else if (message.getArg(0).canConvert(QVariant::Double)) { double level = message.getArg(0).toDouble(); Pane *currentPane = m_paneStack->getCurrentPane(); - if (level < 1.0) level = 1.0; - if (currentPane) currentPane->setZoomLevel(int(lrint(level))); + ZoomLevel zoomLevel; + if (level >= 0.66) { + zoomLevel = ZoomLevel(ZoomLevel::FramesPerPixel, + int(round(level))); + } else { + zoomLevel = ZoomLevel(ZoomLevel::PixelsPerFrame, + int(round(1.0 / level))); + } + if (currentPane) { + currentPane->setZoomLevel(zoomLevel); + } } } diff -r b1e091bb126c -r b184e71f880d repoint-lock.json --- a/repoint-lock.json Thu Sep 20 10:46:01 2018 +0100 +++ b/repoint-lock.json Thu Sep 20 11:45:55 2018 +0100 @@ -4,13 +4,13 @@ "pin": "da86fb0bccb3" }, "svcore": { - "pin": "53073777e591" + "pin": "8f9e9cff141d" }, "svgui": { - "pin": "97c68bffbda6" + "pin": "646e713a4632" }, "svapp": { - "pin": "9e15607531b2" + "pin": "15a566f26114" }, "checker": { "pin": "2e8a5f665a07"