+++ /dev/null
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <zmoelnig@umlautS.umlaeute.mur.at>
-Date: Tue, 20 Aug 2019 14:38:49 +0200
-Subject: JUCE544 compat
-
----
- src/core/plugin.cpp | 6 +++---
- src/core/plugin.h | 4 ++--
- src/core/pluginManager.cpp | 18 ++++++++----------
- 3 files changed, 13 insertions(+), 15 deletions(-)
-
---- giada.orig/src/core/plugin.cpp
-+++ giada/src/core/plugin.cpp
-@@ -54,11 +54,11 @@
- /* -------------------------------------------------------------------------- */
-
-
--Plugin::Plugin(ID id, juce::AudioPluginInstance* plugin, double samplerate,
-+Plugin::Plugin(ID id, std::unique_ptr<juce::AudioPluginInstance> 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(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())
- {
- }
-
---- giada.orig/src/core/plugin.h
-+++ giada/src/core/plugin.h
-@@ -45,8 +45,8 @@
- 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<juce::AudioPluginInstance> p, double samplerate, int buffersize);
-+ Plugin(Plugin& o);
- ~Plugin();
-
- /* getUniqueId
-@@ -117,7 +117,7 @@
-
- int countMainOutChannels() const;
-
-- juce::AudioPluginInstance* m_plugin;
-+ std::unique_ptr<juce::AudioPluginInstance> m_plugin;
- juce::AudioBuffer<float> m_buffer;
-
- std::atomic<bool> 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 std::string& id)
-+std::unique_ptr<juce::PluginDescription> findPluginDescription_(const std::string& id)
- {
- std::vector<std::string> idParts = splitPluginDescription_(id);
-
-- for (const juce::PluginDescription* pd : knownPluginList_) {
-+ for (auto pd : knownPluginList_) {
- std::vector<std::string> tmpIdParts = splitPluginDescription_(pd->createIdentifierString().toStdString());
- if (idParts[0] == tmpIdParts[0] && idParts[2] == tmpIdParts[2])
-- return pd;
-+ return std::unique_ptr<juce::PluginDescription> (pd);
- }
- return nullptr;
- }
-@@ -184,7 +184,7 @@
-
- int loadList(const std::string& filepath)
- {
-- std::unique_ptr<juce::XmlElement> 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) {
- 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<Plugin>(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 @@
- }
- u::log::print("[pluginManager::makePlugin] plugin instance with fid=%s created\n", fid.c_str());
-
-- return std::make_unique<Plugin>(pluginId_.get(id), pi, samplerate_, buffersize_);
-+ return std::make_unique<Plugin>(pluginId_.get(id), std::move(pi), samplerate_, buffersize_);
- }
-
-