Revert "fix LXVST support for plugins that make audioMaster callbacks from
[ardour.git] / libs / ardour / ardour / butler.h
index e3760a8c530d50d2b03ada693b5e8395d0b5a60a..cdd48c3e3a2c655a89718b5320e65ff675eeb8ab 100644 (file)
@@ -20,7 +20,7 @@
 #ifndef __ardour_butler_h__
 #define __ardour_butler_h__
 
-#include <glibmm/thread.h>
+#include <glibmm/threads.h>
 
 #include "pbd/ringbuffer.h"
 #include "pbd/pool.h"
@@ -41,7 +41,7 @@ class Butler : public SessionHandleRef
   public:
        Butler (Session& session);
        ~Butler();
-       
+
        int  start_thread();
        void terminate_thread();
        void schedule_transport_work();
@@ -51,10 +51,8 @@ class Butler : public SessionHandleRef
        bool transport_work_requested() const;
        void drop_references ();
 
-       float read_data_rate() const; ///< in usec
-       float write_data_rate() const;
-
-       uint32_t audio_diskstream_buffer_size() const { return audio_dstream_buffer_size; }
+       framecnt_t audio_diskstream_capture_buffer_size() const { return audio_dstream_capture_buffer_size; }
+       framecnt_t audio_diskstream_playback_buffer_size() const { return audio_dstream_playback_buffer_size; }
        uint32_t midi_diskstream_buffer_size()  const { return midi_dstream_buffer_size; }
 
        static void* _thread_work(void *arg);
@@ -62,7 +60,6 @@ class Butler : public SessionHandleRef
 
        struct Request {
                enum Type {
-                       Wake,
                        Run,
                        Pause,
                        Quit
@@ -70,17 +67,19 @@ class Butler : public SessionHandleRef
        };
 
        pthread_t    thread;
-       Glib::Mutex  request_lock;
-       Glib::Cond   paused;
+       Glib::Threads::Mutex  request_lock;
+        Glib::Threads::Cond   paused;
        bool         should_run;
        mutable gint should_do_transport_work;
        int          request_pipe[2];
-       uint32_t     audio_dstream_buffer_size;
+       framecnt_t   audio_dstream_capture_buffer_size;
+       framecnt_t   audio_dstream_playback_buffer_size;
        uint32_t     midi_dstream_buffer_size;
        RingBuffer<CrossThreadPool*> pool_trash;
 
 private:
        void empty_pool_trash ();
+       void config_changed (std::string);
 };
 
 } // namespace ARDOUR