summaryrefslogtreecommitdiff
path: root/libs/ardour/vst_plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/vst_plugin.cc')
-rw-r--r--libs/ardour/vst_plugin.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/vst_plugin.cc b/libs/ardour/vst_plugin.cc
index 30c099be72..6cb412db39 100644
--- a/libs/ardour/vst_plugin.cc
+++ b/libs/ardour/vst_plugin.cc
@@ -260,6 +260,8 @@ VSTPlugin::add_state (XMLNode* root) const
chunk_node->add_content (data);
g_free (data);
+ chunk_node->set_property ("program", (int) _plugin->dispatcher (_plugin, effGetProgram, 0, 0, NULL, 0));
+
root->add_child_nocopy (*chunk_node);
} else {
@@ -287,6 +289,11 @@ VSTPlugin::set_state (const XMLNode& node, int version)
if ((child = find_named_node (node, X_("chunk"))) != 0) {
+ int pgm = -1;
+ if (child->get_property (X_("program"), pgm)) {
+ _plugin->dispatcher (_plugin, effSetProgram, 0, pgm, NULL, 0);
+ };
+
XMLPropertyList::const_iterator i;
XMLNodeList::const_iterator n;