# HG changeset patch # User Chris Cannam # Date 1539158300 -3600 # Node ID 4db75d584e5a76e385f219e900523d25ada5c89b # Parent d70122abd746b60d92bdabb28ddf95ea3d4a37bd# Parent 337d16097516b32599ecc0c06d851c4825e847b2 Merge from branch zoom diff -r d70122abd746 -r 4db75d584e5a main/MainWindow.cpp --- a/main/MainWindow.cpp Wed Oct 03 15:46:18 2018 +0100 +++ b/main/MainWindow.cpp Wed Oct 10 08:58:20 2018 +0100 @@ -3867,7 +3867,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 d70122abd746 -r 4db75d584e5a main/OSCHandler.cpp --- a/main/OSCHandler.cpp Wed Oct 03 15:46:18 2018 +0100 +++ b/main/OSCHandler.cpp Wed Oct 10 08:58:20 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 d70122abd746 -r 4db75d584e5a main/main.cpp --- a/main/main.cpp Wed Oct 03 15:46:18 2018 +0100 +++ b/main/main.cpp Wed Oct 10 08:58:20 2018 +0100 @@ -349,8 +349,9 @@ // splash screen. PluginScan::getInstance()->scan(); - // Permit size_t and PropertyName to be used as args in queued signal calls + // Permit these types to be used as args in queued signal calls qRegisterMetaType("PropertyContainer::PropertyName"); + qRegisterMetaType("ZoomLevel"); MainWindow::SoundOptions options = MainWindow::WithEverything; if (!audioOutput) options = 0; diff -r d70122abd746 -r 4db75d584e5a repoint-lock.json --- a/repoint-lock.json Wed Oct 03 15:46:18 2018 +0100 +++ b/repoint-lock.json Wed Oct 10 08:58:20 2018 +0100 @@ -4,13 +4,13 @@ "pin": "da86fb0bccb3" }, "svcore": { - "pin": "51d6551d5244" + "pin": "4de4284d0596" }, "svgui": { - "pin": "9fb7133dd818" + "pin": "86429ff00f05" }, "svapp": { - "pin": "9e15607531b2" + "pin": "b936872faff2" }, "checker": { "pin": "51a8fe0a03cf" @@ -31,10 +31,10 @@ "pin": "a766fe47501b" }, "bqresample": { - "pin": "a9a5555d9b6d" + "pin": "f5dee7d40378" }, "bqaudioio": { - "pin": "138a7a8b546b" + "pin": "b5e34fdc1716" }, "sv-dependency-builds": { "pin": "f1a9b270e043"