Experimental patch to ensure playback buffer bounds use minimal beat->frame rounding.
[ardour.git] / libs / ardour / ardour / worker.h
index 4f3ff54bc10782898d32a711e7826f246732cc29..c83f006f72b21e50fc890933ef894714d45cbc67 100644 (file)
 #include <glibmm/threads.h>
 
 #include "pbd/ringbuffer.h"
-#include "pbd/semaphore.h"
+#include "pbd/semutils.h"
+
+#include "ardour/libardour_visibility.h"
 
 namespace ARDOUR {
 
 /**
    An object that needs to schedule non-RT work in the audio thread.
 */
-class Workee {
+class LIBARDOUR_API Workee {
 public:
        virtual ~Workee() {}
 
@@ -50,7 +52,7 @@ public:
 /**
    A worker thread for non-realtime tasks scheduled in the audio thread.
 */
-class Worker
+class LIBARDOUR_API Worker
 {
 public:
        Worker(Workee* workee, uint32_t ring_size);
@@ -90,7 +92,7 @@ private:
        RingBuffer<uint8_t>*   _requests;
        RingBuffer<uint8_t>*   _responses;
        uint8_t*               _response;
-       PBD::Semaphore         _sem;
+       PBD::Semaphore  _sem;
        bool                   _exit;
        Glib::Threads::Thread* _thread;