Now that notify_length_changed() just calls
[ardour.git] / libs / ardour / ardour / export_timespan.h
index 9053ace0f9f34761ff77665a4adc5edd0ad742ed..9273aab6c72cdad82e4704f3614cf17786d11d03 100644 (file)
@@ -23,8 +23,7 @@
 
 #include <map>
 #include <list>
-
-#include <glibmm/ustring.h>
+#include <string>
 
 #include "ardour/export_status.h"
 #include "ardour/export_channel.h"
@@ -43,33 +42,40 @@ class ExportTimespan
 
   private:
        friend class ExportElementFactory;
-       ExportTimespan (ExportStatusPtr status, nframes_t frame_rate);
+       ExportTimespan (ExportStatusPtr status, framecnt_t frame_rate);
 
   public:
        ~ExportTimespan ();
 
-       Glib::ustring name () const { return _name; }
-       void set_name (Glib::ustring name) { _name = name; }
+       std::string name () const { return _name; }
+       void set_name (std::string name) { _name = name; }
+
+       std::string range_id () const { return _range_id; }
+       void set_range_id (std::string range_id) { _range_id = range_id; }
 
-       Glib::ustring range_id () const { return _range_id; }
-       void set_range_id (Glib::ustring range_id) { _range_id = range_id; }
+       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; }
 
-       void set_range (nframes_t start, nframes_t end);
-       nframes_t get_length () const { return end_frame - start_frame; }
-       nframes_t get_start () const { return start_frame; }
-       nframes_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;
 
-       nframes_t      start_frame;
-       nframes_t      end_frame;
-       nframes_t      position;
-       nframes_t      frame_rate;
+       framepos_t      start_frame;
+       framepos_t      end_frame;
+       framepos_t      position;
+       framecnt_t      frame_rate;
 
-       Glib::ustring _name;
-       Glib::ustring _range_id;
+       std::string _name;
+       std::string _range_id;
 
 };