From: IOhannes m zmölnig Date: Wed, 29 Jan 2020 10:22:02 +0000 (+0100) Subject: Refresh JUCE patch X-Git-Tag: archive/raspbian/0.16.2.2+ds1-1+rpi1^2~17 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6debf71d14ba0694e8f4394a8fe2591cd6255912;p=giada.git Refresh JUCE patch --- diff --git a/debian/patches/0003-JUCE544-compat.patch b/debian/patches/0003-JUCE544-compat.patch index 9ac236b..f7c2106 100644 --- a/debian/patches/0003-JUCE544-compat.patch +++ b/debian/patches/0003-JUCE544-compat.patch @@ -8,116 +8,86 @@ Subject: JUCE544 compat src/core/pluginManager.cpp | 18 ++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) -diff --git a/src/core/plugin.cpp b/src/core/plugin.cpp -index 32e9b88..26108ca 100644 ---- a/src/core/plugin.cpp -+++ b/src/core/plugin.cpp -@@ -48,9 +48,9 @@ int Plugin::m_idGenerator = 1; +--- giada.orig/src/core/plugin.cpp ++++ giada/src/core/plugin.cpp +@@ -54,11 +54,11 @@ /* -------------------------------------------------------------------------- */ --Plugin::Plugin(juce::AudioPluginInstance* plugin, double samplerate, int buffersize) -+Plugin::Plugin(std::unique_ptr plugin, double samplerate, int buffersize) - : m_ui (nullptr), +-Plugin::Plugin(ID id, juce::AudioPluginInstance* plugin, double samplerate, ++Plugin::Plugin(ID id, std::unique_ptr plugin, double samplerate, + int buffersize) + : id (id), + valid (true), - m_plugin(plugin), + m_plugin(std::move(plugin)), - m_id (m_idGenerator++), m_bypass(false) { -@@ -59,7 +59,7 @@ Plugin::Plugin(juce::AudioPluginInstance* plugin, double samplerate, int buffers /* Init midiInParams. All values are empty (0x0): they will be filled during - midi learning process. */ - -- const OwnedArray& params = m_plugin->getParameters(); -+ auto params = m_plugin->getParameters(); - for (int i=0; i p, double samplerate, int buffersize); + Plugin(ID id, const std::string& UID); +- Plugin(ID id, juce::AudioPluginInstance* p, double samplerate, int buffersize); ++ Plugin(ID id, std::unique_ptr p, double samplerate, int buffersize); + Plugin(const Plugin& o); ~Plugin(); - /* getUniqueId -@@ -102,7 +102,7 @@ private: - static int m_idGenerator; +@@ -119,7 +119,7 @@ - juce::AudioProcessorEditor* m_ui; // gui -- juce::AudioPluginInstance* m_plugin; // core -+ std::unique_ptr m_plugin; // core - juce::AudioBuffer m_buffer; + int countMainOutChannels() const; - int m_id; -diff --git a/src/core/pluginManager.cpp b/src/core/pluginManager.cpp -index 4b6d1a1..53a6186 100644 ---- a/src/core/pluginManager.cpp -+++ b/src/core/pluginManager.cpp -@@ -104,14 +104,14 @@ VSTs: their ID is based on the plug-in file location. E.g.: +- juce::AudioPluginInstance* m_plugin; ++ std::unique_ptr m_plugin; + juce::AudioBuffer m_buffer; + + std::atomic m_bypass; +--- giada.orig/src/core/pluginManager.cpp ++++ giada/src/core/pluginManager.cpp +@@ -105,14 +105,14 @@ The following function simply drops the first hash code during comparison. */ --const juce::PluginDescription* findPluginDescription_(const string& id) -+std::unique_ptr findPluginDescription_(const string& id) +-const juce::PluginDescription* findPluginDescription_(const std::string& id) ++std::unique_ptr findPluginDescription_(const std::string& id) { - vector idParts = splitPluginDescription_(id); + std::vector idParts = splitPluginDescription_(id); - for (const juce::PluginDescription* pd : knownPluginList_) { + for (auto pd : knownPluginList_) { - vector tmpIdParts = splitPluginDescription_(pd->createIdentifierString().toStdString()); + std::vector tmpIdParts = splitPluginDescription_(pd->createIdentifierString().toStdString()); if (idParts[0] == tmpIdParts[0] && idParts[2] == tmpIdParts[2]) - return pd; + return std::unique_ptr (pd); } return nullptr; } -@@ -181,10 +181,9 @@ int saveList(const string& filepath) +@@ -184,7 +184,7 @@ - int loadList(const string& filepath) + int loadList(const std::string& filepath) { -- juce::XmlElement* elem = juce::XmlDocument::parse(juce::File(filepath)); -+ std::unique_ptr elem = juce::XmlDocument::parse(juce::File(filepath)); - if (elem != nullptr) { - knownPluginList_.recreateFromXml(*elem); -- delete elem; - return 1; - } - return 0; -@@ -199,11 +198,11 @@ std::unique_ptr makePlugin(const string& fid) - /* Initialize plugin. The default mode uses getTypeForIdentifierString, - falling back to getTypeForFile (deprecated) for old patches (< 0.14.4). */ +- std::unique_ptr elem(juce::XmlDocument::parse(juce::File(filepath))); ++ auto elem(juce::XmlDocument::parse(juce::File(filepath))); + if (elem == nullptr) + return 0; + knownPluginList_.recreateFromXml(*elem); +@@ -202,7 +202,7 @@ + + pluginId_.set(id); - const juce::PluginDescription* pd = findPluginDescription_(fid); + auto pd = findPluginDescription_(fid); if (pd == nullptr) { - gu_log("[pluginManager::makePlugin] no plugin found with fid=%s! Trying with " - "deprecated mode...\n", fid.c_str()); -- pd = knownPluginList_.getTypeForFile(fid); -+ pd = std::move(knownPluginList_.getTypeForFile(fid)); - if (pd == nullptr) { - gu_log("[pluginManager::makePlugin] still nothing to do, returning unknown plugin\n"); - missingPlugins_ = true; -@@ -212,15 +211,14 @@ std::unique_ptr makePlugin(const string& fid) - } + u::log::print("[pluginManager::makePlugin] no plugin found with fid=%s!\n", fid.c_str()); + missingPlugins_ = true; +@@ -210,7 +210,7 @@ + return std::make_unique(pluginId_.get(id), fid); // Invalid plug-in } - juce::AudioPluginInstance* pi = pluginFormat_.createInstanceFromDescription(*pd, samplerate_, buffersize_); + auto pi = pluginFormat_.createInstanceFromDescription(*pd, samplerate_, buffersize_); - if (!pi) { - gu_log("[pluginManager::makePlugin] unable to create instance with fid=%s!\n", fid.c_str()); + if (pi == nullptr) { + u::log::print("[pluginManager::makePlugin] unable to create instance with fid=%s!\n", fid.c_str()); missingPlugins_ = true; - return {}; - } - gu_log("[pluginManager::makePlugin] plugin instance with fid=%s created\n", fid.c_str()); -- -- return std::make_unique(pi, samplerate_, buffersize_); -+ return std::make_unique(std::move(pi), samplerate_, buffersize_); - } - -