Reduce coupling between Plugin and PluginInsert.
authorDavid Robillard <d@drobilla.net>
Mon, 3 Nov 2014 18:40:50 +0000 (13:40 -0500)
committerDavid Robillard <d@drobilla.net>
Mon, 3 Nov 2014 18:40:50 +0000 (13:40 -0500)
gtk2_ardour/vst_plugin_ui.cc
libs/ardour/ardour/lv2_plugin.h
libs/ardour/ardour/plugin.h
libs/ardour/auditioner.cc
libs/ardour/instrument_info.cc
libs/ardour/lv2_plugin.cc
libs/ardour/plugin_insert.cc
libs/surfaces/osc/osc.cc

index 6ed5b9af03241932bb41fcda45440c4f58bddeee..a35df5df0743a65f725d447df711beefbe68cf0a 100644 (file)
@@ -20,6 +20,7 @@
 #include <gtkmm.h>
 #include "ardour/vst_plugin.h"
 #include "ardour/vst_types.h"
+#include "ardour/plugin_insert.h"
 #include "vst_plugin_ui.h"
 
 #ifdef PLATFORM_WINDOWS
index 9696784f010a83d679a835e62dabf2091ddd208d..21b7fde1d1b1d9ea8a66f7b8465f7689a9f1f5a9 100644 (file)
@@ -119,7 +119,7 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
        boost::shared_ptr<ScalePoints>
        get_scale_points(uint32_t port_index) const;
 
-       void set_insert_info(const PluginInsert* insert);
+       void set_insert_id(PBD::ID id);
 
        int      set_state (const XMLNode& node, int version);
        bool     save_preset (std::string uri);
index be109885d7c5912fa993fe36bd9e8e113cfc0f76..480b64dc5312f7f82bb9def492498862f9784d43 100644 (file)
@@ -26,6 +26,7 @@
 #include "pbd/statefuldestructible.h"
 #include "pbd/controllable.h"
 
+#include "ardour/buffer_set.h"
 #include "ardour/chan_count.h"
 #include "ardour/chan_mapping.h"
 #include "ardour/cycles.h"
@@ -33,7 +34,6 @@
 #include "ardour/libardour_visibility.h"
 #include "ardour/midi_state_tracker.h"
 #include "ardour/parameter_descriptor.h"
-#include "ardour/plugin_insert.h"
 #include "ardour/types.h"
 #include "ardour/variant.h"
 
@@ -46,7 +46,7 @@ namespace ARDOUR {
 class AudioEngine;
 class Session;
 class BufferSet;
-
+class PluginInsert;
 class Plugin;
 
 typedef boost::shared_ptr<Plugin> PluginPtr;
@@ -99,7 +99,7 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
        XMLNode& get_state ();
        virtual int set_state (const XMLNode &, int version);
 
-       virtual void set_insert_info (const PluginInsert*) {}
+       virtual void set_insert_id (PBD::ID id) {}
 
        virtual std::string unique_id() const = 0;
        virtual const char * label() const = 0;
@@ -272,7 +272,6 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
 protected:
 
        friend class PluginInsert;
-       friend struct PluginInsert::PluginControl;
 
        virtual void set_parameter (uint32_t which, float val);
 
index 4a1449a750d00b42cb494bffaf9a32f62f2043df..e9d5eda02a797be8029ed05ac47ec695c42ca185 100644 (file)
@@ -30,6 +30,7 @@
 #include "ardour/data_type.h"
 #include "ardour/delivery.h"
 #include "ardour/plugin.h"
+#include "ardour/plugin_insert.h"
 #include "ardour/region_factory.h"
 #include "ardour/route.h"
 #include "ardour/session.h"
index d6c18ebd4dd83a7624997309686618978216a43a..d64554f4584ccd206d8b67ffd092cd5024e1e814 100644 (file)
@@ -26,6 +26,7 @@
 #include "ardour/midi_patch_manager.h"
 #include "ardour/processor.h"
 #include "ardour/plugin.h"
+#include "ardour/plugin_insert.h"
 #include "ardour/rc_configuration.h"
 
 #include "i18n.h"
index e14a7a5884b7ac965d5ae15079bb832489e77ac0..f78d018082398b3ced20e55d8c5c9300e05de47e 100644 (file)
@@ -1506,9 +1506,9 @@ LV2Plugin::work_response(uint32_t size, const void* data)
 }
 
 void
-LV2Plugin::set_insert_info(const PluginInsert* insert)
+LV2Plugin::set_insert_id(PBD::ID id)
 {
-       _insert_id = insert->id();
+       _insert_id = id;
 }
 
 int
index 3bc2d18b7b708785fc625c3c3e9dbf1de0c016ee..edc24661d9bb3d06157599bdf157bbf412e75a60 100644 (file)
@@ -1376,7 +1376,7 @@ PluginInsert::collect_signal_for_analysis (framecnt_t nframes)
 void
 PluginInsert::add_plugin (boost::shared_ptr<Plugin> plugin)
 {
-       plugin->set_insert_info (this);
+       plugin->set_insert_id (this->id());
        
        if (_plugins.empty()) {
                 /* first (and probably only) plugin instance - connect to relevant signals 
index 1e53b895b2990f21d6c8e8c09cc52aa420e578ce..bde519aa52a2c7af81e753a8f37097d4549f8709 100644 (file)
@@ -44,6 +44,7 @@
 #include "ardour/filesystem_paths.h"
 #include "ardour/panner.h"
 #include "ardour/plugin.h"
+#include "ardour/plugin_insert.h"
 #include "ardour/send.h"
 
 #include "osc.h"