summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-01-26 03:54:12 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-01-26 03:54:12 +0000
commitfccc2229ea0c31675949b4ad5648c27b841e4d2a (patch)
treecc7a350bba03b20ca15c7c28ffa930388d1b04cd /gtk2_ardour/editor_ops.cc
parent5ee3e58718f65ef9eb62a1b90d424dac68e770ff (diff)
fix "make mono regions", mostly
git-svn-id: svn://localhost/ardour2/trunk@1392 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index d7ed790c7f..52e470f1f5 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -1950,17 +1950,22 @@ Editor::create_region_from_selection (vector<boost::shared_ptr<AudioRegion> >& n
void
Editor::split_multichannel_region ()
{
- vector<AudioRegion*> v;
-
- AudioRegionView* clicked_arv = dynamic_cast<AudioRegionView*>(clicked_regionview);
-
- if (!clicked_arv || clicked_arv->audio_region()->n_channels() < 2) {
+ if (selection->regions.empty()) {
return;
}
- clicked_arv->audio_region()->separate_by_channel (*session, v);
+ vector<boost::shared_ptr<AudioRegion> > v;
- /* nothing else to do, really */
+ for (list<RegionView*>::iterator x = selection->regions.begin(); x != selection->regions.end(); ++x) {
+
+ AudioRegionView* arv = dynamic_cast<AudioRegionView*>(*x);
+
+ if (!arv || arv->audio_region()->n_channels() < 2) {
+ continue;
+ }
+
+ (arv)->audio_region()->separate_by_channel (*session, v);
+ }
}
void