diff options
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r-- | libs/ardour/session_state.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 267eaa0928..eca01cbe99 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -355,6 +355,36 @@ Session::post_engine_init () 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); + } + } +} + string Session::raid_path () const { |