* introduced dependency: libsmf-1.2
[ardour.git] / libs / evoral / src / Event.cpp
index 99a94e0215e22def0b655e2f3478190e4451df3e..532b8b498a1ed598505a1cd6cbb60f56b34380f6 100644 (file)
  * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include <evoral/Event.hpp>
+#include "evoral/Event.hpp"
 
 namespace Evoral {
 
 #ifdef EVORAL_EVENT_ALLOC
 
-Event::Event(uint32_t tid, EventTime t, uint32_t s, uint8_t* b, bool owns_buffer)
-       : _type(tid)
-       , _time(t)
-       , _size(s)
-       , _buffer(b)
-       , _owns_buffer(owns_buffer)
+template<typename Timestamp>
+Event<Timestamp>::Event(EventType type, Timestamp timestamp, uint32_t size, uint8_t* buffer, bool alloc)
+       : _type(type)
+       , _time(timestamp)
+       , _size(size)
+       , _buf(buffer)
+       , _owns_buf(alloc)
 {
-       if (owns_buffer) {
-               _buffer = (uint8_t*)malloc(_size);
-               if (b) {
-                       memcpy(_buffer, b, _size);
+       if (alloc) {
+               _buf = (uint8_t*)malloc(_size);
+               if (buffer) {
+                       memcpy(_buf, buffer, _size);
                } else {
-                       memset(_buffer, 0, _size);
+                       memset(_buf, 0, _size);
                }
        }
 }
 
-Event::Event(const Event& copy, bool owns_buffer)
+template<typename Timestamp>
+Event<Timestamp>::Event(const Event& copy, bool owns_buf)
        : _type(copy._type)
        , _time(copy._time)
        , _size(copy._size)
-       , _buffer(copy._buffer)
-       , _owns_buffer(owns_buffer)
+       , _buf(copy._buf)
+       , _owns_buf(owns_buf)
 {
-       if (owns_buffer) {
-               _buffer = (uint8_t*)malloc(_size);
-               if (copy._buffer) {
-                       memcpy(_buffer, copy._buffer, _size);
+       if (owns_buf) {
+               _buf = (uint8_t*)malloc(_size);
+               if (copy._buf) {
+                       memcpy(_buf, copy._buf, _size);
                } else {
-                       memset(_buffer, 0, _size);
+                       memset(_buf, 0, _size);
                }
        }
 }
 
-Event::~Event() {
-       if (_owns_buffer) {
-               free(_buffer);
+template<typename Timestamp>
+Event<Timestamp>::~Event() {
+       if (_owns_buf) {
+               free(_buf);
        }
 }
 
 #endif // EVORAL_EVENT_ALLOC
 
-} // namespace MIDI
+template class Event<double>;
+
+} // namespace Evoral