summaryrefslogtreecommitdiff
path: root/libs/ardour/session_butler.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-10-17 15:44:57 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-11-02 16:32:18 -0600
commit2cf9ad8f8c21cc445c8eabc6856fd9956926203f (patch)
tree53227bb8f61f20d669806f2508aa308f6abdd264 /libs/ardour/session_butler.cc
parent5b92ef435390ee9fbffc4ad964f7497cf46a3d3f (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.cc11
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 {