summaryrefslogtreecommitdiff
path: root/gtk2_ardour/export_channel_selector.h
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2011-01-06 16:55:19 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2011-01-06 16:55:19 +0000
commit8e35583358e7df6f0f950463612740b2a8cdffb1 (patch)
treef576a405fd8717b0fa50543cfd35bd760e8c4cd1 /gtk2_ardour/export_channel_selector.h
parent9a400114bb2a79d503be6c6b6f95cd1572c95927 (diff)
Add stem export dialog and make all different export dialogs save their config to a different node in instant.xml
git-svn-id: svn://localhost/ardour2/branches/3.0@8465 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/export_channel_selector.h')
-rw-r--r--gtk2_ardour/export_channel_selector.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h
index cfb71b34f5..63af76e77d 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<ARDOUR::ExportChannelConfiguration> ChannelConfigPtr;
+ typedef std::list<ChannelConfigPtr> ChannelConfigList;
typedef boost::shared_ptr<ARDOUR::ExportProfileManager> 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::IO * io);
+ void update_config();
+
+ ChannelConfigList configs;
+
+ struct TrackCols : public Gtk::TreeModelColumnRecord
+ {
+ public:
+ Gtk::TreeModelColumn<ARDOUR::IO *> track;
+ Gtk::TreeModelColumn<std::string> label;
+ Gtk::TreeModelColumn<bool> selected;
+
+ TrackCols () { add (track); add(label); add(selected); }
+ };
+ TrackCols track_cols;
+
+ Glib::RefPtr<Gtk::ListStore> track_list;
+ Gtk::TreeView track_view;
+
+ Gtk::ScrolledWindow track_scroller;
+
+};
+
#endif /* __export_channel_selector_h__ */