summaryrefslogtreecommitdiff
path: root/libs/ardour/control_protocol_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/control_protocol_manager.cc')
-rw-r--r--libs/ardour/control_protocol_manager.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc
index c1c595ebb2..048ff3f7d5 100644
--- a/libs/ardour/control_protocol_manager.cc
+++ b/libs/ardour/control_protocol_manager.cc
@@ -452,7 +452,7 @@ ControlProtocolManager::cpi_by_name (string name)
}
int
-ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
+ControlProtocolManager::set_state (const XMLNode& node, int session_specific_state /* here: not version */)
{
XMLNodeList clist;
XMLNodeConstIterator citer;
@@ -483,6 +483,7 @@ ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
if (active) {
delete cpi->state;
cpi->state = new XMLNode (**citer);
+ cpi->state->set_property (X_("session-state"), session_specific_state ? true : false);
if (_session) {
instantiate (*cpi);
} else {
@@ -492,6 +493,7 @@ ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
if (!cpi->state) {
cpi->state = new XMLNode (**citer);
cpi->state->set_property (X_("active"), false);
+ cpi->state->set_property (X_("session-state"), session_specific_state ? true : false);
}
cpi->requested = false;
if (_session) {