move ARDOUR::Configuration and ARDOUR::ConfigVariable into libpbd
[ardour.git] / libs / ardour / ardour / butler.h
index 97020bed66e710308b935cb00df1aae0a1ddb65f..949668dab3d1f4d82c991861cf92511d1384d548 100644 (file)
 
 #include <glibmm/threads.h>
 
-#ifdef WIN32
+#ifdef PLATFORM_WINDOWS
 #include "pbd/glib_semaphore.h"
 #endif
 
 #include "pbd/ringbuffer.h"
 #include "pbd/pool.h"
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/session_handle.h"
 
@@ -44,7 +45,7 @@ namespace ARDOUR {
  *  are empty they are deleted.
  */
 
-class Butler : public SessionHandleRef
+class LIBARDOUR_API Butler : public SessionHandleRef
 {
   public:
        Butler (Session& session);
@@ -75,6 +76,7 @@ class Butler : public SessionHandleRef
        };
 
        pthread_t    thread;
+       bool         have_thread;
        Glib::Threads::Mutex  request_lock;
         Glib::Threads::Cond   paused;
        bool         should_run;
@@ -84,7 +86,7 @@ class Butler : public SessionHandleRef
        uint32_t     midi_dstream_buffer_size;
        RingBuffer<CrossThreadPool*> pool_trash;
 
-#ifdef WIN32
+#ifdef PLATFORM_WINDOWS
        PBD::atomic_counter m_request_state;
        PBD::GlibSemaphore   m_request_sem;
 #else
@@ -95,7 +97,7 @@ private:
        void empty_pool_trash ();
        void config_changed (std::string);
 
-#ifndef WIN32
+#ifndef PLATFORM_WINDOWS
        int setup_request_pipe ();
 #endif