#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;
/** 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