#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:
+ framepos_t start;
+ framecnt_t duration;
+ framecnt_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 (framepos_t s, framecnt_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; }
};