diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-01-29 18:59:40 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-06-29 14:18:12 -0400 |
commit | ca09a4a3554ce44edf5a2b751e84ba839e35cd48 (patch) | |
tree | fe3d0ab9be2e30f113f50e27f704d8daac657e56 /libs/ardour/session_state.cc | |
parent | 1caf54ee7f6754181037a6a05a5667acd0b3e9b1 (diff) |
more tweaks for varifill model, and avoid filling playback buffers during session loading
Conflicts:
libs/ardour/diskstream.cc
libs/ardour/session.cc
libs/ardour/session_state.cc
Conflicts:
libs/ardour/session.cc
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r-- | libs/ardour/session_state.cc | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 891c37e04c..7f2e22af1a 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -343,16 +343,36 @@ Session::post_engine_init () Port::set_connecting_blocked (false); DirtyChanged (); /* EMIT SIGNAL */ +} - if (_is_new) { - save_state (""); - } else if (state_was_pending) { - save_state (""); - remove_pending_capture_state (); - state_was_pending = false; - } - - return 0; +void +Session::session_loaded () +{ + SessionLoaded(); + + _state_of_the_state = Clean; + + DirtyChanged (); /* EMIT SIGNAL */ + + if (_is_new) { + save_state (""); + } else if (state_was_pending) { + save_state (""); + remove_pending_capture_state (); + state_was_pending = false; + } + + /* Now, finally, we can fill the playback buffers */ + + BootMessage (_("Filling playback buffers")); + + boost::shared_ptr<RouteList> rl = routes.reader(); + for (RouteList::iterator r = rl->begin(); r != rl->end(); ++r) { + boost::shared_ptr<Track> trk = boost::dynamic_pointer_cast<Track> (*r); + if (trk && !trk->hidden()) { + trk->seek (_transport_frame, true); + } + } } void |