summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-12-06 04:29:06 +0000
committerCarl Hetherington <carl@carlh.net>2010-12-06 04:29:06 +0000
commit3975355a5f7f2d795a369b091972051a50b9f331 (patch)
tree94a1dc604ecb128a50ebc07d603cbc1f9509cb16 /libs
parentbf7b8df028b5eceb227682c668e46a2c5e8b9278 (diff)
Add dialog to allow removal of plugin presets. Should fix #2662.
git-svn-id: svn://localhost/ardour2/branches/3.0@8196 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/plugin.h2
-rw-r--r--libs/ardour/plugin.cc8
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