diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-10-11 10:14:51 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-10-11 10:14:51 +0000 |
commit | 98389f7da420ee205f6827b7df4db3ea0802f751 (patch) | |
tree | 28a28cf591b3d90a7eb60f422eee95e5ebfed6dc /gtk2_ardour/editor_export_audio.cc | |
parent | 01b1790c98f9ee6739681f1dc8fe529c3ca7160a (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.cc | 30 |
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 |