diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/plugin.h | 2 | ||||
-rw-r--r-- | libs/ardour/plugin.cc | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h index 4a2153c6e0..170fb03e6c 100644 --- a/libs/ardour/ardour/plugin.h +++ b/libs/ardour/ardour/plugin.h @@ -148,6 +148,8 @@ class Plugin : public PBD::StatefulDestructible, public Latent virtual bool has_editor() const = 0; + PBD::Signal0<void> PresetAdded; + PBD::Signal0<void> PresetRemoved; PBD::Signal2<void,uint32_t,float> ParameterChanged; /* NOTE: this block of virtual methods looks like the interface diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index 4fe51141f6..3bfb9e883f 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -221,6 +221,8 @@ Plugin::remove_preset (string name, string domain) presets.erase (p->uri); write_preset_file (envvar, domain); + + PresetRemoved (); /* EMIT SIGNAL */ } string @@ -309,7 +311,11 @@ Plugin::save_preset (string name, string domain) presets.insert (make_pair (uri, PresetRecord (uri, name))); free (uri); - return write_preset_file (envvar, domain); + bool const r = write_preset_file (envvar, domain); + + PresetAdded (); /* EMIT SIGNAL */ + + return r; } PluginPtr |