many changes, large and small, related to smart mode editing, range/region selection...
[ardour.git] / libs / ardour / ardour / butler.h
index e3760a8c530d50d2b03ada693b5e8395d0b5a60a..061c94d910a754690163cad2d0932584d1ecfcc5 100644 (file)
@@ -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
@@ -75,12 +72,14 @@ class Butler : public SessionHandleRef
        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