Reduce coupling between Plugin and PluginInsert.

This commit is contained in:
David Robillard 2014-11-03 13:40:50 -05:00
parent 68507badd9
commit 7204702c3f
8 changed files with 11 additions and 8 deletions

View 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

View 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);

View 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);

View 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"

View 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"

View 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

View 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

View 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"