diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-10-15 19:36:48 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-10-15 19:36:48 +0000 |
commit | 1aca200a6ac28599e68fd86cb5cc62a60f867af3 (patch) | |
tree | 62db55045919cae6e5a6f67fb159392c8f7ee0c0 /libs/ardour | |
parent | 8713667ec1a6cc9ba56c07f763e5a422cc47fbef (diff) |
more set_state() tweaks to get a 2.X session to load without aborting
git-svn-id: svn://localhost/ardour2/branches/3.0@5788 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/region_factory.cc | 2 | ||||
-rw-r--r-- | libs/ardour/session.cc | 14 |
2 files changed, 12 insertions, 4 deletions
diff --git a/libs/ardour/region_factory.cc b/libs/ardour/region_factory.cc index 6ff4ae2dc1..8b2d30d511 100644 --- a/libs/ardour/region_factory.cc +++ b/libs/ardour/region_factory.cc @@ -133,9 +133,9 @@ boost::shared_ptr<Region> RegionFactory::create (Session& session, XMLNode& node, bool yn) { boost::shared_ptr<Region> r = session.XMLRegionFactory (node, yn); - r->unlock_property_changes (); if (r) { + r->unlock_property_changes (); CheckNewRegion (r); } diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index d8c5639902..641155869d 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -550,17 +550,25 @@ Session::when_engine_running () if (state_tree && (child = find_named_node (*state_tree->root(), "Click")) != 0) { /* existing state for Click */ + int c; - if (_click_io->set_state (*child->children().front(), Stateful::loading_state_version) == 0) { + if (Stateful::loading_state_version < 3000) { + c = _click_io->set_state_2X (*child->children().front(), Stateful::loading_state_version, false); + } else { + c = _click_io->set_state (*child->children().front(), Stateful::loading_state_version); + } + + if (c == 0) { _clicking = Config->get_clicking (); - + } else { - + error << _("could not setup Click I/O") << endmsg; _clicking = false; } + } else { /* default state for Click: dual-mono to first 2 physical outputs */ |