summaryrefslogtreecommitdiff
path: root/gtk2_ardour/export_channel_selector.cc
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.cc
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.cc')
-rw-r--r--gtk2_ardour/export_channel_selector.cc24
1 files changed, 13 insertions, 11 deletions
diff --git a/gtk2_ardour/export_channel_selector.cc b/gtk2_ardour/export_channel_selector.cc
index 509f465b7b..5700aaa929 100644
--- a/gtk2_ardour/export_channel_selector.cc
+++ b/gtk2_ardour/export_channel_selector.cc
@@ -40,13 +40,13 @@
using namespace ARDOUR;
using namespace PBD;
-PortExportChannelSelector::PortExportChannelSelector () :
+PortExportChannelSelector::PortExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager) :
+ ExportChannelSelector (session, manager),
channels_label (_("Channels:"), Gtk::ALIGN_LEFT),
split_checkbox (_("Split to mono files")),
max_channels (20),
channel_view (max_channels)
{
-
channels_hbox.pack_start (channels_label, false, false, 0);
channels_hbox.pack_end (channels_spinbutton, false, false, 0);
@@ -78,6 +78,7 @@ PortExportChannelSelector::PortExportChannelSelector () :
/* Finalize */
+ sync_with_manager();
show_all_children ();
}
@@ -90,10 +91,9 @@ PortExportChannelSelector::~PortExportChannelSelector ()
}
void
-PortExportChannelSelector::set_state (ARDOUR::ExportProfileManager::ChannelConfigStatePtr const state_, ARDOUR::Session * session_)
+PortExportChannelSelector::sync_with_manager ()
{
- state = state_;
- session = session_;
+ state = manager->get_channel_configs().front();
split_checkbox.set_active (state->config->get_split());
channels_spinbutton.set_value (state->config->get_n_chans());
@@ -433,8 +433,11 @@ PortExportChannelSelector::ChannelTreeView::update_selection_text (Glib::ustring
update_config ();
}
-RegionExportChannelSelector::RegionExportChannelSelector (ARDOUR::AudioRegion const & region, ARDOUR::AudioTrack & track) :
- session (0),
+RegionExportChannelSelector::RegionExportChannelSelector (ARDOUR::Session * session,
+ ProfileManagerPtr manager,
+ ARDOUR::AudioRegion const & region,
+ ARDOUR::AudioTrack & track) :
+ ExportChannelSelector (session, manager),
region (region),
track (track),
region_chans (region.n_channels()),
@@ -458,16 +461,15 @@ RegionExportChannelSelector::RegionExportChannelSelector (ARDOUR::AudioRegion co
processed_button.signal_toggled ().connect (sigc::mem_fun (*this, &RegionExportChannelSelector::handle_selection));
vbox.pack_start (processed_button);
+ sync_with_manager();
vbox.show_all_children ();
show_all_children ();
}
void
-RegionExportChannelSelector::set_state (ARDOUR::ExportProfileManager::ChannelConfigStatePtr const state_, ARDOUR::Session * session_)
+RegionExportChannelSelector::sync_with_manager ()
{
- state = state_;
- session = session_;
-
+ state = manager->get_channel_configs().front();
handle_selection ();
}