summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-11-03 13:40:50 -0500
committerDavid Robillard <d@drobilla.net>2014-11-03 13:40:50 -0500
commit7204702c3ffbd3a1c6747511104d9c6af1b9c93d (patch)
tree0a193bd988a2d5008b432b457bd98f53772b3001 /libs/ardour
parent68507badd9cee4bcba42e4d8350f1df2f3abb6d3 (diff)
Reduce coupling between Plugin and PluginInsert.
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/lv2_plugin.h2
-rw-r--r--libs/ardour/ardour/plugin.h7
-rw-r--r--libs/ardour/auditioner.cc1
-rw-r--r--libs/ardour/instrument_info.cc1
-rw-r--r--libs/ardour/lv2_plugin.cc4
-rw-r--r--libs/ardour/plugin_insert.cc2
6 files changed, 9 insertions, 8 deletions
diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h
index 9696784f01..21b7fde1d1 100644
--- a/libs/ardour/ardour/lv2_plugin.h
+++ b/libs/ardour/ardour/lv2_plugin.h
@@ -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);
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index be109885d7..480b64dc53 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -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);
diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc
index 4a1449a750..e9d5eda02a 100644
--- a/libs/ardour/auditioner.cc
+++ b/libs/ardour/auditioner.cc
@@ -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"
diff --git a/libs/ardour/instrument_info.cc b/libs/ardour/instrument_info.cc
index d6c18ebd4d..d64554f458 100644
--- a/libs/ardour/instrument_info.cc
+++ b/libs/ardour/instrument_info.cc
@@ -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"
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index e14a7a5884..f78d018082 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -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
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index 3bc2d18b7b..edc24661d9 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -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