From 7204702c3ffbd3a1c6747511104d9c6af1b9c93d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 3 Nov 2014 13:40:50 -0500 Subject: Reduce coupling between Plugin and PluginInsert. --- gtk2_ardour/vst_plugin_ui.cc | 1 + libs/ardour/ardour/lv2_plugin.h | 2 +- libs/ardour/ardour/plugin.h | 7 +++---- libs/ardour/auditioner.cc | 1 + libs/ardour/instrument_info.cc | 1 + libs/ardour/lv2_plugin.cc | 4 ++-- libs/ardour/plugin_insert.cc | 2 +- libs/surfaces/osc/osc.cc | 1 + 8 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gtk2_ardour/vst_plugin_ui.cc b/gtk2_ardour/vst_plugin_ui.cc index 6ed5b9af03..a35df5df07 100644 --- a/gtk2_ardour/vst_plugin_ui.cc +++ b/gtk2_ardour/vst_plugin_ui.cc @@ -20,6 +20,7 @@ #include #include "ardour/vst_plugin.h" #include "ardour/vst_types.h" +#include "ardour/plugin_insert.h" #include "vst_plugin_ui.h" #ifdef PLATFORM_WINDOWS 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 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 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->set_insert_info (this); + plugin->set_insert_id (this->id()); if (_plugins.empty()) { /* first (and probably only) plugin instance - connect to relevant signals diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index 1e53b895b2..bde519aa52 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -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" -- cgit v1.2.3