diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-05-16 20:16:57 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-05-16 20:16:57 +0000 |
commit | 99aa8c6338e47b41143f799fdcb35d1699548076 (patch) | |
tree | a61140fd331b49a408894f00dcb8976cbb6543b8 /libs/ardour/session_state.cc | |
parent | 4b848856ebc2856bf7ab10a000cc88bdd3bc4a4a (diff) |
rename join regions op as combine regions; save and restore nested playlists, sources, regions; add undo/redo for combine; fixup peakfile use/discovery
git-svn-id: svn://localhost/ardour2/branches/3.0@9528 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r-- | libs/ardour/session_state.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 604fc4bc52..82c2d5a31c 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -1056,20 +1056,23 @@ Session::state(bool full_state) for (SourceMap::iterator siter = sources.begin(); siter != sources.end(); ++siter) { - /* Don't save information about non-destructive file sources that are empty - and unused by any regions. + /* Don't save information about non-file Sources, or + * about non-destructive file sources that are empty + * and unused by any regions. */ boost::shared_ptr<FileSource> fs; + if ((fs = boost::dynamic_pointer_cast<FileSource> (siter->second)) != 0) { + if (!fs->destructive()) { if (fs->empty() && !fs->used()) { continue; } } + + child->add_child_nocopy (siter->second->get_state()); } - - child->add_child_nocopy (siter->second->get_state()); } } |