diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-17 15:44:57 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-11-02 16:32:18 -0600 |
commit | 2cf9ad8f8c21cc445c8eabc6856fd9956926203f (patch) | |
tree | 53227bb8f61f20d669806f2508aa308f6abdd264 /libs/ardour/session_butler.cc | |
parent | 5b92ef435390ee9fbffc4ad964f7497cf46a3d3f (diff) |
refactor SessionEvent and DiskIO so that we pass around boost::shared_ptr<Track> rather than Route
(this the raw pointers used inside SessionEvent)
Diffstat (limited to 'libs/ardour/session_butler.cc')
-rw-r--r-- | libs/ardour/session_butler.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/ardour/session_butler.cc b/libs/ardour/session_butler.cc index 1f472b710b..0dda13cd3e 100644 --- a/libs/ardour/session_butler.cc +++ b/libs/ardour/session_butler.cc @@ -74,28 +74,29 @@ Session::schedule_capture_buffering_adjustment () } void -Session::request_overwrite_buffer (boost::shared_ptr<Route> r) +Session::request_overwrite_buffer (boost::shared_ptr<Track> t) { - boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track> (r); if (!t) { return; } SessionEvent *ev = new SessionEvent (SessionEvent::Overwrite, SessionEvent::Add, SessionEvent::Immediate, 0, 0, 0.0); - ev->set_ptr (t.get()); + ev->set_track (t); queue_event (ev); } /** Process thread. */ void -Session::overwrite_some_buffers (Track* t) +Session::overwrite_some_buffers (boost::shared_ptr<Route> r) { if (actively_recording()) { return; } - if (t) { + if (r) { + boost::shared_ptr<Track> t = boost::dynamic_pointer_cast<Track> (r); + assert (t); t->set_pending_overwrite (); } else { |