get Delivery to disconnect from any signals it is connected to relatively early in...
[ardour.git] / libs / ardour / session_butler.cc
index 7cbbd194aebd04c0a30cfc56aeb3ddb02c3a8f9c..c92c0604c7d5af9adbc43229ff378402aa3bd5aa 100644 (file)
@@ -66,6 +66,36 @@ static inline uint32_t next_power_of_two (uint32_t n)
  BUTLER THREAD
  ---------------------------------------------------------------------------*/
 
+void
+Session::adjust_playback_buffering ()
+{
+        request_stop (false, false);
+       SessionEvent *ev = new SessionEvent (SessionEvent::AdjustPlaybackBuffering, SessionEvent::Add, SessionEvent::Immediate, 0, 0, 0.0);
+       queue_event (ev);
+}
+
+void
+Session::adjust_capture_buffering ()
+{
+        request_stop (false, false);
+       SessionEvent *ev = new SessionEvent (SessionEvent::AdjustCaptureBuffering, SessionEvent::Add, SessionEvent::Immediate, 0, 0, 0.0);
+       queue_event (ev);
+}
+
+void
+Session::schedule_playback_buffering_adjustment ()
+{
+       add_post_transport_work (PostTransportAdjustPlaybackBuffering);
+       _butler->schedule_transport_work ();
+}
+
+void
+Session::schedule_capture_buffering_adjustment ()
+{
+       add_post_transport_work (PostTransportAdjustCaptureBuffering);
+       _butler->schedule_transport_work ();
+}
+
 void
 Session::schedule_curve_reallocation ()
 {