diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-10-09 11:27:22 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-10-09 11:27:22 +0000 |
commit | a5a18d21736026ea5b1fe082ae2e5c43fad64db5 (patch) | |
tree | 818985eb9f589e9bc21535ed11a98b8db9cd4725 /libs/ardour/session_state.cc | |
parent | 6f6e2000385a323c3aa140f317ed3fbf4baf0d77 (diff) |
fix reload & use of MIDI port configuration, so that per-session setup is actually used
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3894 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r-- | libs/ardour/session_state.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index f14eaaefcb..e1ed93918a 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -859,6 +859,12 @@ Session::load_options (const XMLNode& node) Config->set_variables (node, ConfigVariableBase::Session); + /* now reset MIDI ports because the session can have its own + MIDI configuration. + */ + + setup_midi (); + if ((child = find_named_node (node, "end-marker-is-free")) != 0) { if ((prop = child->property ("val")) != 0) { _end_location_is_free = (prop->value() == "yes"); @@ -1188,10 +1194,10 @@ Session::set_state (const XMLNode& node) /* Object loading order: - MIDI Path extra Options/Config + MIDI <= relies on data from Options/Config Locations Sources AudioRegions @@ -1204,9 +1210,6 @@ Session::set_state (const XMLNode& node) ControlProtocols */ - if (use_config_midi_ports ()) { - } - if ((child = find_named_node (node, "extra")) != 0) { _extra_xml = new XMLNode (*child); } @@ -1219,6 +1222,9 @@ Session::set_state (const XMLNode& node) error << _("Session: XML state has no options section") << endmsg; } + if (use_config_midi_ports ()) { + } + if ((child = find_named_node (node, "Locations")) == 0) { error << _("Session: XML state has no locations section") << endmsg; goto out; |