X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fexport_channel_selector.h;h=e7b2dc11ee0a0785667187e41dd3163b6d3a8caf;hb=314f0d91d39922b6990c28d4f2cbdaef54feee34;hp=cfb71b34f532d884bd6b2735fb6d3be00c7ca1ed;hpb=da8eec7a8311295ee91308eca9fae2146385c512;p=ardour.git diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h index cfb71b34f5..e7b2dc11ee 100644 --- a/gtk2_ardour/export_channel_selector.h +++ b/gtk2_ardour/export_channel_selector.h @@ -47,6 +47,7 @@ class ExportChannelSelector : public Gtk::HBox, public ARDOUR::SessionHandlePtr { protected: typedef boost::shared_ptr ChannelConfigPtr; + typedef std::list ChannelConfigList; typedef boost::shared_ptr ProfileManagerPtr; ProfileManagerPtr manager; @@ -225,4 +226,37 @@ class RegionExportChannelSelector : public ExportChannelSelector Gtk::RadioButton processed_button; }; +class TrackExportChannelSelector : public ExportChannelSelector +{ + public: + TrackExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager); + + virtual void sync_with_manager (); + + private: + + void fill_list(); + void add_track(ARDOUR::Route * route); + void update_config(); + + ChannelConfigList configs; + + struct TrackCols : public Gtk::TreeModelColumnRecord + { + public: + Gtk::TreeModelColumn track; + Gtk::TreeModelColumn label; + Gtk::TreeModelColumn selected; + + TrackCols () { add (track); add(label); add(selected); } + }; + TrackCols track_cols; + + Glib::RefPtr track_list; + Gtk::TreeView track_view; + + Gtk::ScrolledWindow track_scroller; + +}; + #endif /* __export_channel_selector_h__ */