summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_export_audio.cc
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2008-10-11 10:14:51 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2008-10-11 10:14:51 +0000
commit98389f7da420ee205f6827b7df4db3ea0802f751 (patch)
tree28a28cf591b3d90a7eb60f422eee95e5ebfed6dc /gtk2_ardour/editor_export_audio.cc
parent01b1790c98f9ee6739681f1dc8fe529c3ca7160a (diff)
Region export dialog: Make export channel and -selector polymorphic, add the region related classes and a dialog specialization
git-svn-id: svn://localhost/ardour2/branches/3.0@3915 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_export_audio.cc')
-rw-r--r--gtk2_ardour/editor_export_audio.cc30
1 files changed, 19 insertions, 11 deletions
diff --git a/gtk2_ardour/editor_export_audio.cc b/gtk2_ardour/editor_export_audio.cc
index b382200d38..621482f0f1 100644
--- a/gtk2_ardour/editor_export_audio.cc
+++ b/gtk2_ardour/editor_export_audio.cc
@@ -91,17 +91,25 @@ Editor::export_range ()
void
Editor::export_region ()
{
-// if (selection->regions.empty()) {
-// return;
-// }
-//
-// boost::shared_ptr<Region> r = selection->regions.front()->region();
-//
-// ExportDialog* dialog = new ExportRegionDialog (*this, r);
-//
-// dialog->connect_to_session (session);
-// dialog->set_range (clicked_regionview->region()->first_frame(), clicked_regionview->region()->last_frame());
-// dialog->start_export();
+ if (selection->regions.empty()) {
+ return;
+ }
+
+ try {
+ boost::shared_ptr<Region> r = selection->regions.front()->region();
+ AudioRegion & region (dynamic_cast<AudioRegion &> (*r));
+
+ RouteTimeAxisView & rtv (dynamic_cast<RouteTimeAxisView &> (selection->regions.front()->get_time_axis_view()));
+ AudioTrack & track (dynamic_cast<AudioTrack &> (*rtv.route()));
+
+ ExportRegionDialog dialog (*this, region, track);
+ dialog.set_session (session);
+ dialog.run();
+
+ } catch (std::bad_cast & e) {
+ error << "Exporting Region failed!" << endmsg;
+ return;
+ }
}
int