summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-12-25 22:38:48 +0100
committerRobin Gareus <robin@gareus.org>2015-12-25 22:38:48 +0100
commit81a3ae985d3059e26d5af2e933a7eca0ecdd29fd (patch)
tree87413e20aa42b61197930cad513badb79975d144 /libs/ardour/ardour/plugin.h
parente6cb65a171e9455a94fb9e43409c9d178759d431 (diff)
Keep plugin presets in sync across plugin-instances.
Diffstat (limited to 'libs/ardour/ardour/plugin.h')
-rw-r--r--libs/ardour/ardour/plugin.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index 72eda4c2fd..0351f5d751 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -207,6 +207,9 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
PBD::Signal0<void> PresetAdded;
PBD::Signal0<void> PresetRemoved;
+ /** Emitted when any preset has been changed */
+ static PBD::Signal2<void, std::string, Plugin*> PresetsChanged;
+
/** Emitted when a preset has been loaded */
PBD::Signal0<void> PresetLoaded;
@@ -312,6 +315,8 @@ private:
/** Fill _presets with our presets */
virtual void find_presets () = 0;
+ void update_presets (std::string src_unique_id, Plugin* src );
+
/** Add state to an existing XMLNode */
virtual void add_state (XMLNode *) const = 0;
@@ -322,6 +327,8 @@ private:
PresetRecord _last_preset;
bool _parameter_changed_since_last_preset;
+ PBD::ScopedConnection _preset_connection;
+
void resolve_midi ();
};