Add personal monitor sends
[ardour.git] / libs / ardour / ardour / click.h
index 5ee1d5019410ef2e6c99dce77e5d7f71a91a7742..498a18219d9f018492de6e9e28d90b17494a92ae 100644 (file)
 #include <list>
 
 #include "pbd/pool.h"
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/io.h"
 
 namespace ARDOUR {
 
-struct Click {
-    nframes_t start;
-    nframes_t duration;
-    nframes_t offset;
-    const Sample *data;
+class LIBARDOUR_API Click {
+public:
+       samplepos_t start;
+       samplecnt_t duration;
+       samplecnt_t offset;
+       const Sample *data;
 
-    Click (nframes_t s, nframes_t d, const Sample *b) : start (s), duration (d), offset (0), data (b) {}
-    
-    void *operator new (size_t) {
-           return pool.alloc ();
+       Click (samplepos_t s, samplecnt_t d, const Sample *b) : start (s), duration (d), offset (0), data (b) {}
+
+       void *operator new (size_t) {
+               return pool.alloc ();
     };
-    
-    void operator delete(void *ptr, size_t /*size*/) {
-           pool.release (ptr);
-    }
-    
+
+       void operator delete(void *ptr, size_t /*size*/) {
+               pool.release (ptr);
+       }
+
 private:
-    static Pool pool;
+       static Pool pool;
 };
 
-typedef std::list<Click*> Clicks;
-
-class ClickIO : public IO
+class LIBARDOUR_API ClickIO : public IO
 {
-  public:
+public:
        ClickIO (Session& s, const std::string& name) : IO (s, name, IO::Output) {}
        ~ClickIO() {}
-       
-  protected:
+
+protected:
        uint32_t pans_required () const { return 1; }
 };