From 7041be052004b5d231d880432000608121469455 Mon Sep 17 00:00:00 2001 From: ed Date: Thu, 29 Aug 2019 14:37:02 +0100 Subject: [PATCH] Save and restore plug-in DPI awareness in AudioPluginHost --- .../Source/Plugins/PluginGraph.cpp | 17 ++++++++++++----- .../Source/UI/GraphEditorPanel.cpp | 2 ++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/extras/AudioPluginHost/Source/Plugins/PluginGraph.cpp b/extras/AudioPluginHost/Source/Plugins/PluginGraph.cpp index 0eeb43cdd5..082911e504 100644 --- a/extras/AudioPluginHost/Source/Plugins/PluginGraph.cpp +++ b/extras/AudioPluginHost/Source/Plugins/PluginGraph.cpp @@ -325,9 +325,13 @@ static XmlElement* createNodeXml (AudioProcessorGraph::Node* const node) noexcep if (auto* plugin = dynamic_cast (node->getProcessor())) { auto e = new XmlElement ("FILTER"); - e->setAttribute ("uid", (int) node->nodeID.uid); - e->setAttribute ("x", node->properties ["x"].toString()); - e->setAttribute ("y", node->properties ["y"].toString()); + + e->setAttribute ("uid", (int) node->nodeID.uid); + e->setAttribute ("x", node->properties ["x"].toString()); + e->setAttribute ("y", node->properties ["y"].toString()); + #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE + e->setAttribute ("DPIAware", node->properties["DPIAware"].toString()); + #endif for (int i = 0; i < (int) PluginWindow::Type::numTypes; ++i) { @@ -401,8 +405,11 @@ void PluginGraph::createNodeFromXml (const XmlElement& xml) node->getProcessor()->setStateInformation (m.getData(), (int) m.getSize()); } - node->properties.set ("x", xml.getDoubleAttribute ("x")); - node->properties.set ("y", xml.getDoubleAttribute ("y")); + node->properties.set ("x", xml.getDoubleAttribute ("x")); + node->properties.set ("y", xml.getDoubleAttribute ("y")); + #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE + node->properties.set ("DPIAware", xml.getDoubleAttribute ("DPIAware")); + #endif for (int i = 0; i < (int) PluginWindow::Type::numTypes; ++i) { diff --git a/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp b/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp index bea2b67bb6..a74497f6d9 100644 --- a/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp +++ b/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp @@ -442,12 +442,14 @@ struct GraphEditorPanel::PluginComponent : public Component, case 10: showWindow (PluginWindow::Type::normal); break; case 11: showWindow (PluginWindow::Type::programs); break; case 12: showWindow (PluginWindow::Type::generic) ; break; + #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE case 13: { if (auto* node = graph.graph.getNodeForId (pluginID)) node->properties.set ("DPIAware", ! node->properties ["DPIAware"]); break; } + #endif case 14: showWindow (PluginWindow::Type::debug); break; case 20: showWindow (PluginWindow::Type::audioIO); break; case 21: testStateSaveLoad(); break;