From e8ff82619d2d098a8fc6aab64991604767ff12c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Tue, 20 Aug 2019 14:38:49 +0200 Subject: [PATCH] JUCE544 compat Gbp-Pq: Name 03-JUCE544-compat.patch --- src/core/plugin.cpp | 12 ++++++------ src/core/plugin.h | 6 +++--- src/core/pluginManager.cpp | 14 +++++++------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/core/plugin.cpp b/src/core/plugin.cpp index aa30bc3..2ad3760 100644 --- a/src/core/plugin.cpp +++ b/src/core/plugin.cpp @@ -54,11 +54,11 @@ Plugin::Plugin(ID id, const std::string& UID) /* -------------------------------------------------------------------------- */ -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_bypass (false) { /* Initialize midiInParams vector, where midiInParams.size == number of @@ -87,12 +87,12 @@ Plugin::Plugin(ID id, juce::AudioPluginInstance* plugin, double samplerate, /* -------------------------------------------------------------------------- */ -Plugin::Plugin(const Plugin& o) +Plugin::Plugin(Plugin& o) : id (o.id), + midiInParams(o.midiInParams), valid (o.valid), - m_plugin (o.m_plugin), - m_bypass (o.m_bypass.load()), - midiInParams(o.midiInParams) + m_plugin (std::move(o.m_plugin)), + m_bypass (o.m_bypass.load()) { } diff --git a/src/core/plugin.h b/src/core/plugin.h index 898ea2d..e2cae43 100644 --- a/src/core/plugin.h +++ b/src/core/plugin.h @@ -45,8 +45,8 @@ class Plugin public: Plugin(ID id, const std::string& UID); - Plugin(ID id, juce::AudioPluginInstance* p, double samplerate, int buffersize); - Plugin(const Plugin& o); + Plugin(ID id, std::unique_ptr p, double samplerate, int buffersize); + Plugin(Plugin& o); ~Plugin(); /* getUniqueId @@ -117,7 +117,7 @@ private: int countMainOutChannels() const; - juce::AudioPluginInstance* m_plugin; + std::unique_ptr m_plugin; juce::AudioBuffer m_buffer; std::atomic m_bypass; diff --git a/src/core/pluginManager.cpp b/src/core/pluginManager.cpp index 9746da9..3f9729e 100644 --- a/src/core/pluginManager.cpp +++ b/src/core/pluginManager.cpp @@ -105,14 +105,14 @@ VSTs: their ID is based on the plug-in file location. E.g.: The following function simply drops the first hash code during comparison. */ -const juce::PluginDescription* findPluginDescription_(const std::string& id) +std::unique_ptr findPluginDescription_(const std::string& id) { std::vector idParts = splitPluginDescription_(id); - for (const juce::PluginDescription* pd : knownPluginList_) { + for (auto pd : knownPluginList_) { 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; } @@ -184,7 +184,7 @@ int saveList(const std::string& filepath) int loadList(const std::string& filepath) { - 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 @@ std::unique_ptr makePlugin(const std::string& fid, ID id) pluginId_.set(id); - const juce::PluginDescription* pd = findPluginDescription_(fid); + auto pd = findPluginDescription_(fid); if (pd == nullptr) { u::log::print("[pluginManager::makePlugin] no plugin found with fid=%s!\n", fid.c_str()); missingPlugins_ = true; @@ -210,7 +210,7 @@ std::unique_ptr makePlugin(const std::string& fid, ID id) 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 == nullptr) { u::log::print("[pluginManager::makePlugin] unable to create instance with fid=%s!\n", fid.c_str()); missingPlugins_ = true; @@ -219,7 +219,7 @@ std::unique_ptr makePlugin(const std::string& fid, ID id) } u::log::print("[pluginManager::makePlugin] plugin instance with fid=%s created\n", fid.c_str()); - return std::make_unique(pluginId_.get(id), pi, samplerate_, buffersize_); + return std::make_unique(pluginId_.get(id), std::move(pi), samplerate_, buffersize_); } -- 2.30.2