diff options
author | Jesse Chappell <jesse@essej.net> | 2007-01-18 06:39:22 +0000 |
---|---|---|
committer | Jesse Chappell <jesse@essej.net> | 2007-01-18 06:39:22 +0000 |
commit | 851d1fa76a4b9a67b5890ea36380029eaa1fb45f (patch) | |
tree | 8b56815d56cbc1f030d2b0e65303e86e075c7a0e /libs/ardour/route.cc | |
parent | f7d48b79f1fa28ce1e8f8862ad0d599d497c1ec6 (diff) |
Fixed midi controllable state saving/loading
git-svn-id: svn://localhost/ardour2/trunk@1356 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index a322c10068..d3097dd776 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1687,13 +1687,19 @@ Route::_set_state (const XMLNode& node, bool call_base) _comment = cmt->content(); } else if (child->name() == X_("extra")) { + _extra_xml = new XMLNode (*child); - } else if (child->name() == X_("solo")) { - _solo_control.set_state (*child); - _session.add_controllable (&_solo_control); - } else if (child->name() == X_("mute")) { - _mute_control.set_state (*child); - _session.add_controllable (&_mute_control); + + } else if (child->name() == X_("controllable") && (prop = child->property("name")) != 0) { + + if (prop->value() == "solo") { + _solo_control.set_state (*child); + _session.add_controllable (&_solo_control); + } + else if (prop->value() == "mute") { + _mute_control.set_state (*child); + _session.add_controllable (&_mute_control); + } } } |