summaryrefslogtreecommitdiff
path: root/gtk2_ardour/export_channel_selector.h
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2009-03-08 10:56:40 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2009-03-08 10:56:40 +0000
commitab47be7b5a99e34b7f125b16556d2295e480553b (patch)
tree7a82263b8364f95dcc3a745d5534d68ad1dd8aff /gtk2_ardour/export_channel_selector.h
parentb669de1e9706148d1a1386050c9f14e620e69fba (diff)
Some preparations for allowing multiple channel configurations in export channel configurations.
Also unified the timespan selector interface... git-svn-id: svn://localhost/ardour2/branches/3.0@4748 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/export_channel_selector.h')
-rw-r--r--gtk2_ardour/export_channel_selector.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h
index 9f1217c53d..14b614d5a9 100644
--- a/gtk2_ardour/export_channel_selector.h
+++ b/gtk2_ardour/export_channel_selector.h
@@ -47,12 +47,21 @@ class ExportChannelSelector : public Gtk::HBox
{
protected:
typedef boost::shared_ptr<ARDOUR::ExportChannelConfiguration> ChannelConfigPtr;
- typedef boost::shared_ptr<ARDOUR::ExportHandler> HandlerPtr;
+ typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ProfileManagerPtr;
+
+ ARDOUR::Session * session;
+ ProfileManagerPtr manager;
public:
+ ExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager)
+ : session (session)
+ , manager (manager)
+ {}
+
virtual ~ExportChannelSelector () {}
- virtual void set_state (ARDOUR::ExportProfileManager::ChannelConfigStatePtr const state_, ARDOUR::Session * session_) = 0;
+ virtual void sync_with_manager () = 0;
+
sigc::signal<void> CriticalSelectionChanged;
};
@@ -61,10 +70,10 @@ class PortExportChannelSelector : public ExportChannelSelector
public:
- PortExportChannelSelector ();
+ PortExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager);
~PortExportChannelSelector ();
- void set_state (ARDOUR::ExportProfileManager::ChannelConfigStatePtr const state_, ARDOUR::Session * session_);
+ void sync_with_manager ();
private:
@@ -74,7 +83,6 @@ class PortExportChannelSelector : public ExportChannelSelector
typedef std::list<ARDOUR::ExportChannelPtr> CahnnelList;
- ARDOUR::Session * session;
ARDOUR::ExportProfileManager::ChannelConfigStatePtr state;
/*** GUI stuff ***/
@@ -189,15 +197,17 @@ class PortExportChannelSelector : public ExportChannelSelector
class RegionExportChannelSelector : public ExportChannelSelector
{
public:
- RegionExportChannelSelector (ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track);
+ RegionExportChannelSelector (ARDOUR::Session * session,
+ ProfileManagerPtr manager,
+ ARDOUR::AudioRegion const & region,
+ ARDOUR::AudioTrack & track);
- virtual void set_state (ARDOUR::ExportProfileManager::ChannelConfigStatePtr const state_, ARDOUR::Session * session_);
+ virtual void sync_with_manager ();
private:
void handle_selection ();
- ARDOUR::Session * session;
ARDOUR::ExportProfileManager::ChannelConfigStatePtr state;
boost::shared_ptr<ARDOUR::RegionExportChannelFactory> factory;
ARDOUR::AudioRegion const & region;