X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsession_butler.cc;h=3e7c2226ccb4d9c56b5cbf9e78e742b365f98291;hb=5b4c3aa226dc95f33dc3ffae6669a24f5e8b8fe0;hp=1aa061313d00fe4e72c3668c3b96c7a8ebbc79e9;hpb=061a85191c301ac18f2e8ca59d43127a4499ba96;p=ardour.git diff --git a/libs/ardour/session_butler.cc b/libs/ardour/session_butler.cc index 1aa061313d..3e7c2226cc 100644 --- a/libs/ardour/session_butler.cc +++ b/libs/ardour/session_butler.cc @@ -17,30 +17,16 @@ */ -#include -#include -#include -#include -#include -#include -#include - -#include - #include "pbd/error.h" #include "pbd/pthread_utils.h" #include "pbd/stacktrace.h" -#include "ardour/audio_diskstream.h" -#include "ardour/audioengine.h" #include "ardour/butler.h" -#include "ardour/configuration.h" -#include "ardour/crossfade.h" -#include "ardour/io.h" -#include "ardour/midi_diskstream.h" +#include "ardour/route.h" #include "ardour/session.h" -#include "ardour/timestamps.h" +#include "ardour/session_event.h" #include "ardour/track.h" +#include "ardour/types.h" #include "i18n.h" @@ -66,6 +52,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 () { @@ -119,28 +135,3 @@ Session::capture_load () { return (uint32_t) g_atomic_int_get (&_capture_load); } - -uint32_t -Session::playback_load_min () -{ - return (uint32_t) g_atomic_int_get (&_playback_load_min); -} - -uint32_t -Session::capture_load_min () -{ - return (uint32_t) g_atomic_int_get (&_capture_load_min); -} - -void -Session::reset_capture_load_min () -{ - g_atomic_int_set (&_capture_load_min, 100); -} - -void -Session::reset_playback_load_min () -{ - g_atomic_int_set (&_playback_load_min, 100); -} -