Include stripped down libsmf code internally.
[ardour.git] / libs / evoral / evoral / types.hpp
index e078a69a03e6ddb5e6436e6ba9d94c358b5d0352..f602c7b56fcbed9d451670d41525183a41becdad 100644 (file)
 #ifndef EVORAL_TYPES_HPP
 #define EVORAL_TYPES_HPP
 
+#include <stdint.h>
+#include <list>
+
+namespace Evoral {
+
 /** Frame count (i.e. length of time in audio frames) */
-typedef uint32_t nframes_t;
+typedef uint32_t FrameTime;
 
 /** Time-stamp of an event */
 typedef double timestamp_t;
@@ -28,4 +33,21 @@ typedef double timestamp_t;
 /** Duration of time in timestamp_t units */
 typedef timestamp_t timedur_t;
 
+/** Time stamp of an event */
+typedef double EventLength;
+
+/** Type of an event (opaque, mapped by application) */
+typedef uint32_t EventType;
+
+/** Type to describe the movement of a time range */   
+template<typename T>
+struct RangeMove {
+       RangeMove (T f, FrameTime l, T t) : from (f), length (l), to (t) {}
+       T         from;   ///< start of the range
+       FrameTime length; ///< length of the range
+       T         to;     ///< new start of the range
+};
+
+} // namespace Evoral
+
 #endif // EVORAL_TYPES_HPP