#ifndef __ardour_export_timespan_h__
#define __ardour_export_timespan_h__
-#include <map>
-#include <list>
#include <string>
-#include "ardour/export_status.h"
-#include "ardour/export_channel.h"
-#include "ardour/ardour.h"
+#include <boost/shared_ptr.hpp>
+
+#include "ardour/libardour_visibility.h"
+#include "ardour/types.h"
namespace ARDOUR
{
+class ExportStatus;
class ExportChannel;
class ExportTempFile;
-class ExportTimespan
+class LIBARDOUR_API ExportTimespan
{
private:
typedef boost::shared_ptr<ExportStatus> ExportStatusPtr;
std::string range_id () const { return _range_id; }
void set_range_id (std::string range_id) { _range_id = range_id; }
+ bool realtime () const { return _realtime; }
+ void set_realtime (bool rt) { _realtime = rt; }
+
void set_range (framepos_t start, framepos_t end);
framecnt_t get_length () const { return end_frame - start_frame; }
framepos_t get_start () const { return start_frame; }
framepos_t get_end () const { return end_frame; }
+ /// Primarily compare start time, then end time
+ bool operator< (ExportTimespan const & other) {
+ if (start_frame < other.start_frame) { return true; }
+ if (start_frame > other.start_frame) { return false; }
+ return end_frame < other.end_frame;
+ }
+
private:
ExportStatusPtr status;
std::string _name;
std::string _range_id;
+ bool _realtime;
};