set ARDOUR_SURFACES_PATH for a bundle, just like ARDOUR_PANNER_PATH
[ardour.git] / gtk2_ardour / export_timespan_selector.h
index ad57aac344767cef330528c80d080a827e85a174..688971554d134d68442782933b24627539f0b2db 100644 (file)
 #include <boost/shared_ptr.hpp>
 
 #include "ardour/types.h"
+#include "ardour/session_handle.h"
 #include "ardour/export_profile_manager.h"
 
 namespace ARDOUR {
        class Location;
        class ExportTimespan;
        class ExportHandler;
-       class Session;
 }
 
 using ARDOUR::CDMarkerFormat;
 
 /// Timespan Selector base
-class ExportTimespanSelector : public Gtk::VBox {
+class ExportTimespanSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
+{
   protected:
        typedef std::list<ARDOUR::Location *> LocationList;
        typedef boost::shared_ptr<ARDOUR::ExportHandler> HandlerPtr;
@@ -65,7 +66,6 @@ class ExportTimespanSelector : public Gtk::VBox {
 
   protected:
 
-       ARDOUR::Session * session;
        ProfileManagerPtr manager;
        TimespanStatePtr  state;
 
@@ -76,12 +76,13 @@ class ExportTimespanSelector : public Gtk::VBox {
 
        void change_time_format ();
 
-       Glib::ustring construct_label (ARDOUR::Location const * location) const;
-       Glib::ustring bbt_str (nframes_t frames) const;
-       Glib::ustring timecode_str (nframes_t frames) const;
-       Glib::ustring ms_str (nframes_t frames) const;
+       std::string construct_label (ARDOUR::Location const * location) const;
+       std::string construct_length (ARDOUR::Location const * location) const;
+       std::string bbt_str (framepos_t frames) const;
+       std::string timecode_str (framecnt_t frames) const;
+       std::string ms_str (framecnt_t frames) const;
 
-       void update_range_name (Glib::ustring const & path, Glib::ustring const & new_text);
+       void update_range_name (std::string const & path, std::string const & new_text);
 
        /*** GUI components ***/
 
@@ -96,7 +97,7 @@ class ExportTimespanSelector : public Gtk::VBox {
        {
          public:
                Gtk::TreeModelColumn<TimeFormat>      format;
-               Gtk::TreeModelColumn<Glib::ustring>   label;
+               Gtk::TreeModelColumn<std::string>   label;
 
                TimeFormatCols () { add(format); add(label); }
        };
@@ -110,11 +111,12 @@ class ExportTimespanSelector : public Gtk::VBox {
        {
          public:
                Gtk::TreeModelColumn<ARDOUR::Location *>  location;
-               Gtk::TreeModelColumn<Glib::ustring>       label;
-               Gtk::TreeModelColumn<bool>                selected;
-               Gtk::TreeModelColumn<Glib::ustring>       name;
+               Gtk::TreeModelColumn<std::string>       label;
+               Gtk::TreeModelColumn<bool>              selected;
+               Gtk::TreeModelColumn<std::string>       name;
+               Gtk::TreeModelColumn<std::string>       length;
 
-               RangeCols () { add (location); add(label); add(selected); add(name); }
+               RangeCols () { add (location); add(label); add(selected); add(name); add(length); }
        };
        RangeCols                    range_cols;
 
@@ -143,13 +145,13 @@ class ExportTimespanSelectorMultiple : public ExportTimespanSelector
 class ExportTimespanSelectorSingle : public ExportTimespanSelector
 {
   public:
-       ExportTimespanSelectorSingle (ARDOUR::Session * session, ProfileManagerPtr manager, Glib::ustring range_id);
+       ExportTimespanSelectorSingle (ARDOUR::Session * session, ProfileManagerPtr manager, std::string range_id);
 
   private:
 
        virtual void fill_range_list ();
 
-       Glib::ustring range_id;
+       std::string range_id;
 
 };