visualize port connections in mixer/processor when in < out
[ardour.git] / libs / ardour / session_butler.cc
index 1aa061313d00fe4e72c3668c3b96c7a8ebbc79e9..1d235b051aad98888c70b9b35a15c59a2893ac1e 100644 (file)
 #include <fcntl.h>
 #include <poll.h>
 
-#include <glibmm/thread.h>
+#include <glibmm/threads.h>
 
 #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 +62,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 +145,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);
-}
-