Load the tempo map before the locations so that locations

can compute their BBT positions correctly (#4276).


git-svn-id: svn://localhost/ardour2/branches/3.0@10081 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-09-14 17:16:54 +00:00
parent 69da82a021
commit 8f39701908

View file

@ -1271,6 +1271,24 @@ Session::set_state (const XMLNode& node, int version)
}
}
if ((child = find_named_node (node, X_("Speakers"))) != 0) {
_speakers->set_state (*child, version);
}
if ((child = find_named_node (node, "Sources")) == 0) {
error << _("Session: XML state has no sources section") << endmsg;
goto out;
} else if (load_sources (*child)) {
goto out;
}
if ((child = find_named_node (node, "TempoMap")) == 0) {
error << _("Session: XML state has no Tempo Map section") << endmsg;
goto out;
} else if (_tempo_map->set_state (*child, version)) {
goto out;
}
if ((child = find_named_node (node, "Locations")) == 0) {
error << _("Session: XML state has no locations section") << endmsg;
goto out;
@ -1278,10 +1296,6 @@ Session::set_state (const XMLNode& node, int version)
goto out;
}
if ((child = find_named_node (node, X_("Speakers"))) != 0) {
_speakers->set_state (*child, version);
}
Location* location;
if ((location = _locations->auto_loop_location()) != 0) {
@ -1301,20 +1315,6 @@ Session::set_state (const XMLNode& node, int version)
AudioFileSource::set_header_position_offset (_session_range_location->start());
}
if ((child = find_named_node (node, "Sources")) == 0) {
error << _("Session: XML state has no sources section") << endmsg;
goto out;
} else if (load_sources (*child)) {
goto out;
}
if ((child = find_named_node (node, "TempoMap")) == 0) {
error << _("Session: XML state has no Tempo Map section") << endmsg;
goto out;
} else if (_tempo_map->set_state (*child, version)) {
goto out;
}
if ((child = find_named_node (node, "Regions")) == 0) {
error << _("Session: XML state has no Regions section") << endmsg;
goto out;