quick checks on empty control lists, to avoid unnecessary work
[ardour.git] / gtk2_ardour / export_channel_selector.h
index 734aa8e57b0104c88caa83aed75830a7d78ca24e..6dd770cbb3a424772938905e1f4700b1e4ca24e9 100644 (file)
 
 #include "ardour/export_profile_manager.h"
 
+#ifdef interface
+#undef interface
+#endif
+
 #include <gtkmm.h>
 #include <sigc++/signal.h>
 #include <boost/shared_ptr.hpp>
@@ -237,7 +241,6 @@ class TrackExportChannelSelector : public ExportChannelSelector
        void fill_list();
        void add_track (boost::shared_ptr<ARDOUR::Route> route);
        void update_config();
-
        ChannelConfigList configs;
 
        Gtk::VBox main_layout;
@@ -248,8 +251,9 @@ class TrackExportChannelSelector : public ExportChannelSelector
                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 (route); add(label); add(selected); }
+               TrackCols () { add (route); add(label); add(selected); add(order_key); }
        };
        TrackCols                    track_cols;
 
@@ -259,9 +263,15 @@ class TrackExportChannelSelector : public ExportChannelSelector
        Gtk::ScrolledWindow          track_scroller;
 
        Gtk::HBox                    options_box;
-       Gtk::RadioButton::Group      source_group;
-       Gtk::RadioButton             region_contents_button;
-       Gtk::RadioButton             track_output_button;
+       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__ */