summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorColin Fletcher <colin.m.fletcher@googlemail.com>2014-10-02 21:00:33 +0100
committerColin Fletcher <colin.m.fletcher@googlemail.com>2014-10-02 21:00:33 +0100
commitc2fc7f04a7854d99e8a040ebdf52a6330bd4fe8f (patch)
treea66c3c2a33b540d96ae49988a7c7d8d1103a55be /gtk2_ardour
parent1d790355ca4a67ebb7afdcd6c6ab8084c71630dc (diff)
Don't select newly created regions after splitting selected regions (except on Mixbus)
I can't see a reason to select the newly-created regions after splitting selected regions: I can't think of any case where you'd want the next operation to apply to both the regions, and it makes it very easy (in my experience) to trim/move/&c. both regions afterwards by mistake. However, this behaviour is desired for Mixbus, so make the selection of regions after a split of selected regions dependent on Profile->get_mixbus() for now.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_ops.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 6d20b7aaf0..6824087136 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -47,6 +47,7 @@
#include "ardour/midi_track.h"
#include "ardour/operations.h"
#include "ardour/playlist_factory.h"
+#include "ardour/profile.h"
#include "ardour/quantize.h"
#include "ardour/region_factory.h"
#include "ardour/reverse.h"
@@ -136,7 +137,7 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions)
RegionSelection pre_selected_regions = selection->regions;
bool working_on_selection = !pre_selected_regions.empty();
-
+
list<boost::shared_ptr<Playlist> > used_playlists;
list<RouteTimeAxisView*> used_trackviews;
@@ -236,14 +237,15 @@ Editor::split_regions_at (framepos_t where, RegionSelection& regions)
EditorThaw(); /* Emit Signal */
}
- //IFF we were working on selected regions, try to reinstate the other region selections that existed before the freeze/thaw.
- _ignore_follow_edits = true; //a split will change the region selection in mysterious ways; its not practical or wanted to follow this edit
- if( working_on_selection ) {
- selection->add ( pre_selected_regions );
- selection->add (latest_regionviews); //these are the new regions created after the split
+ if (ARDOUR::Profile->get_mixbus()) {
+ //IFF we were working on selected regions, try to reinstate the other region selections that existed before the freeze/thaw.
+ _ignore_follow_edits = true; //a split will change the region selection in mysterious ways; its not practical or wanted to follow this edit
+ if( working_on_selection ) {
+ selection->add ( pre_selected_regions );
+ selection->add (latest_regionviews); //these are the new regions created after the split
+ }
+ _ignore_follow_edits = false;
}
- _ignore_follow_edits = false;
-
}
/** Move one extreme of the current range selection. If more than one range is selected,