Add a missing #define to our MSVC project (portaudio_backend)
[ardour.git] / gtk2_ardour / export_channel_selector.h
index 511ccd5b784eeb26f3d3383add501ae8a7c36220..d5607ef30b6567ac8904c8a2ac8e3b8258021f48 100644 (file)
 #include <list>
 
 #include "ardour/export_profile_manager.h"
-#include "ardour/export_channel.h"
+
+#ifdef interface
+#undef interface
+#endif
 
 #include <gtkmm.h>
 #include <sigc++/signal.h>
@@ -123,7 +126,7 @@ class PortExportChannelSelector : public ExportChannelSelector
                typedef Gtk::TreeModelColumn<Glib::RefPtr<Gtk::ListStore> > ComboCol;
                ComboCol                             port_list_col;
 
-               /* Channel struct, that represents the selected port and it's name */
+               /* Channel struct, that represents the selected port and its name */
 
                struct Channel {
                  public:
@@ -233,22 +236,26 @@ class TrackExportChannelSelector : public ExportChannelSelector
 
        virtual void sync_with_manager ();
 
+       bool track_output () const { return track_output_button.get_active(); }
+
   private:
 
        void fill_list();
-       void add_track(ARDOUR::Route * route);
+       void add_track (boost::shared_ptr<ARDOUR::Route> route);
        void update_config();
-
        ChannelConfigList configs;
 
+       Gtk::VBox main_layout;
+
        struct TrackCols : public Gtk::TreeModelColumnRecord
        {
          public:
-               Gtk::TreeModelColumn<ARDOUR::Route *> track;
+               Gtk::TreeModelColumn<boost::shared_ptr<ARDOUR::Route> > route;
                Gtk::TreeModelColumn<std::string>     label;
                Gtk::TreeModelColumn<bool>            selected;
+               Gtk::TreeModelColumn<uint32_t>        order_key;
 
-               TrackCols () { add (track); add(label); add(selected); }
+               TrackCols () { add (route); add(label); add(selected); add(order_key); }
        };
        TrackCols                    track_cols;
 
@@ -257,6 +264,16 @@ class TrackExportChannelSelector : public ExportChannelSelector
 
        Gtk::ScrolledWindow          track_scroller;
 
+       Gtk::HBox                    options_box;
+       Gtk::CheckButton             track_output_button;
+       Gtk::Button                  select_tracks_button;
+       Gtk::Button                  select_busses_button;
+       Gtk::Button                  select_none_button;
+       void select_tracks ();
+       void select_busses ();
+       void select_none ();
+
+       void track_outputs_selected ();
 };
 
 #endif /* __export_channel_selector_h__ */