diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-05-27 01:04:56 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-05-27 01:04:56 +0000 |
commit | f87baef1e73e21fb4f82558dbd4b5450b237b732 (patch) | |
tree | 44d76bf56925f0767bc70a95a01e6e66ded5062b /gtk2_ardour/editor_export_audio.cc | |
parent | e4a92029267dfc2f3e5ceac069f32aed3c133233 (diff) |
somewhat illogical and temporary workaround to the problems with consolidate & bounceable. it turns out that region bouncing never replaces the in-place region, so bounceable() doesn't matter; range bouncing only needs to check bounceable() if we're going to replace material in place and the op is with-processing. reword the error dialog too
git-svn-id: svn://localhost/ardour2/branches/3.0@9606 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_export_audio.cc')
-rw-r--r-- | gtk2_ardour/editor_export_audio.cc | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/gtk2_ardour/editor_export_audio.cc b/gtk2_ardour/editor_export_audio.cc index 2eff80614e..3fb4a4b327 100644 --- a/gtk2_ardour/editor_export_audio.cc +++ b/gtk2_ardour/editor_export_audio.cc @@ -145,23 +145,11 @@ Editor::write_region_selection (RegionSelection& regions) } void -Editor::bounce_region_selection () +Editor::bounce_region_selection (bool with_processing) { - for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { - - RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (&(*i)->get_time_axis_view()); - boost::shared_ptr<Track> track = boost::dynamic_pointer_cast<Track> (rtv->route()); - - if (!track->bounceable()) { - MessageDialog d ( - _("One or more of the selected regions' tracks cannot be bounced because it has more outputs than inputs. " - "You can fix this by increasing the number of inputs on that track.") - ); - d.set_title (_("Cannot bounce")); - d.run (); - return; - } - } + /* no need to check for bounceable() because this operation never puts + * its results back in the playlist (only in the region list). + */ for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { @@ -171,12 +159,7 @@ Editor::bounce_region_selection () InterThreadInfo itt; - boost::shared_ptr<Region> r = track->bounce_range (region->position(), region->position() + region->length(), itt); - cerr << "Result of bounce of " - << region->name() << " len = " << region->length() - << " was " - << r->name() << " len = " << r->length() - << endl; + boost::shared_ptr<Region> r = track->bounce_range (region->position(), region->position() + region->length(), itt, with_processing); } } |