X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_channel_selector.h;h=1be8ec3547e3776c8277f7386b3da08c0be3ffba;hb=0268489c7853780a91f289a409ec00c6e561526c;hp=aa9999a9b61099aadfd9141e9fcaff1bf372b281;hpb=8b3c729f2647b78bad4f8c2852de08a8f1a09bab;p=ardour.git diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h index aa9999a9b6..1be8ec3547 100644 --- a/gtk2_ardour/export_channel_selector.h +++ b/gtk2_ardour/export_channel_selector.h @@ -29,10 +29,20 @@ #undef interface #endif -#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + namespace ARDOUR { class Session; class ExportChannelConfiguration; @@ -48,14 +58,14 @@ class XMLNode; class ExportChannelSelector : public Gtk::HBox, public ARDOUR::SessionHandlePtr { - protected: +protected: typedef boost::shared_ptr ChannelConfigPtr; typedef std::list ChannelConfigList; typedef boost::shared_ptr ProfileManagerPtr; ProfileManagerPtr manager; - public: +public: ExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager) : SessionHandlePtr (session) , manager (manager) @@ -70,15 +80,14 @@ class ExportChannelSelector : public Gtk::HBox, public ARDOUR::SessionHandlePtr class PortExportChannelSelector : public ExportChannelSelector { - - public: +public: PortExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager); ~PortExportChannelSelector (); void sync_with_manager (); - private: +private: void fill_route_list (); void update_channel_count (); @@ -101,12 +110,12 @@ class PortExportChannelSelector : public ExportChannelSelector class RouteCols : public Gtk::TreeModelColumnRecord { - public: + public: struct Channel; RouteCols () : n_channels (0) - { add (selected); add (name); add (io); add (port_list_col); } + { add (selected); add (name); add (io); add (port_list_col); } void add_channels (uint32_t chans); uint32_t n_channels; @@ -129,7 +138,7 @@ class PortExportChannelSelector : public ExportChannelSelector /* Channel struct, that represents the selected port and its name */ struct Channel { - public: + public: Channel (RouteCols & cols) { cols.add (port); cols.add (label); } Gtk::TreeModelColumn > port; @@ -146,7 +155,7 @@ class PortExportChannelSelector : public ExportChannelSelector class PortCols : public Gtk::TreeModel::ColumnRecord { - public: + public: PortCols () { add(selected); add(port); add(label); } Gtk::TreeModelColumn selected; // not used ATM @@ -158,8 +167,9 @@ class PortExportChannelSelector : public ExportChannelSelector /* Channels view */ - class ChannelTreeView : public Gtk::TreeView { - public: + class ChannelTreeView : public Gtk::TreeView + { + public: ChannelTreeView (uint32_t max_channels); void set_config (ChannelConfigPtr c); @@ -172,7 +182,7 @@ class PortExportChannelSelector : public ExportChannelSelector sigc::signal CriticalSelectionChanged; - private: + private: ChannelConfigPtr config; void update_config (); @@ -199,7 +209,7 @@ class PortExportChannelSelector : public ExportChannelSelector class RegionExportChannelSelector : public ExportChannelSelector { - public: +public: RegionExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager, ARDOUR::AudioRegion const & region, @@ -207,7 +217,7 @@ class RegionExportChannelSelector : public ExportChannelSelector virtual void sync_with_manager (); - private: +private: void handle_selection (); @@ -236,6 +246,8 @@ class TrackExportChannelSelector : public ExportChannelSelector virtual void sync_with_manager (); + bool track_output () const { return track_output_button.get_active(); } + private: void fill_list(); @@ -263,15 +275,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__ */