# HG changeset patch # User Chris Cannam # Date 1539339256 -3600 # Node ID d5296c91a0ffb15a0d7858290b107d8f914b2ead # Parent 262c656ec78f3b3d7c60aaa69ba1f5673b39b87d# Parent d70122abd746b60d92bdabb28ddf95ea3d4a37bd Merge from default branch diff -r d70122abd746 -r d5296c91a0ff main/MainWindow.cpp --- a/main/MainWindow.cpp Wed Oct 03 15:46:18 2018 +0100 +++ b/main/MainWindow.cpp Fri Oct 12 11:14:16 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 d5296c91a0ff main/OSCHandler.cpp --- a/main/OSCHandler.cpp Wed Oct 03 15:46:18 2018 +0100 +++ b/main/OSCHandler.cpp Fri Oct 12 11:14:16 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 d5296c91a0ff main/main.cpp --- a/main/main.cpp Wed Oct 03 15:46:18 2018 +0100 +++ b/main/main.cpp Fri Oct 12 11:14:16 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 d5296c91a0ff repoint-lock.json --- a/repoint-lock.json Wed Oct 03 15:46:18 2018 +0100 +++ b/repoint-lock.json Fri Oct 12 11:14:16 2018 +0100 @@ -4,13 +4,13 @@ "pin": "da86fb0bccb3" }, "svcore": { - "pin": "51d6551d5244" + "pin": "2fec0d9bd7ac" }, "svgui": { - "pin": "9fb7133dd818" + "pin": "e848ea0850fe" }, "svapp": { - "pin": "9e15607531b2" + "pin": "15a566f26114" }, "checker": { "pin": "51a8fe0a03cf" diff -r d70122abd746 -r d5296c91a0ff repoint-project.json --- a/repoint-project.json Wed Oct 03 15:46:18 2018 +0100 +++ b/repoint-project.json Fri Oct 12 11:14:16 2018 +0100 @@ -16,15 +16,18 @@ }, "svcore": { "vcs": "hg", - "service": "soundsoftware" + "service": "soundsoftware", + "branch": "zoom" }, "svgui": { "vcs": "hg", - "service": "soundsoftware" + "service": "soundsoftware", + "branch": "zoom" }, "svapp": { "vcs": "hg", - "service": "soundsoftware" + "service": "soundsoftware", + "branch": "zoom" }, "checker": { "vcs": "hg",