if (!regions.empty()) {
regions.clear_all ();
RegionsChanged();
- if (Config->get_link_region_and_track_selection()) {
- clear_tracks ();
- }
}
}
for (vector<RegionView*>::iterator i = v.begin(); i != v.end(); ++i) {
if (find (regions.begin(), regions.end(), (*i)) == regions.end()) {
changed = regions.add ((*i));
- if (Config->get_link_region_and_track_selection() && changed) {
- add (&(*i)->get_time_axis_view());
- }
}
}
for (RegionSelection::const_iterator i = rs.begin(); i != rs.end(); ++i) {
if (find (regions.begin(), regions.end(), (*i)) == regions.end()) {
changed = regions.add ((*i));
- if (Config->get_link_region_and_track_selection() && changed) {
- add (&(*i)->get_time_axis_view());
- }
}
}
if (find (regions.begin(), regions.end(), r) == regions.end()) {
bool changed = regions.add (r);
- if (Config->get_link_region_and_track_selection() && changed) {
- add (&r->get_time_axis_view());
- }
- if (changed) {
- RegionsChanged ();
- }
+ if (changed) {
+ RegionsChanged ();
+ }
}
}
if (find (midi_regions.begin(), midi_regions.end(), mrv) == midi_regions.end()) {
midi_regions.push_back (mrv);
/* XXX should we do this? */
-#if 0
- if (Config->get_link_region_and_track_selection()) {
- add (&mrv->get_time_axis_view());
- }
-#endif
MidiRegionsChanged ();
}
}
if (regions.remove (r)) {
RegionsChanged ();
}
-
- if (Config->get_link_region_and_track_selection() && !regions.involves (r->get_time_axis_view())) {
- remove (&r->get_time_axis_view());
- }
}
void
midi_regions.erase (x);
MidiRegionsChanged ();
}
-
-#if 0
- /* XXX fix this up ? */
- if (Config->get_link_region_and_track_selection() && !regions.involves (r->get_time_axis_view())) {
- remove (&r->get_time_axis_view());
- }
-#endif
}
}
void
-Selection::set (RegionView* r, bool also_clear_tracks)
+Selection::set (RegionView* r, bool /*also_clear_tracks*/)
{
clear_time(); //enforce region/object exclusivity
clear_tracks(); //enforce object/track exclusivity
clear_objects ();
- if (also_clear_tracks && !Config->get_link_region_and_track_selection()) {
- /* clear_regions() will have done this if the link preference
- * is enabled
- */
- clear_tracks ();
- }
add (r);
}
void
Selection::set (vector<RegionView*>& v)
{
- bool had_regions = !regions.empty();
-
clear_time(); //enforce region/object exclusivity
clear_tracks(); //enforce object/track exclusivity
clear_objects();
- if (Config->get_link_region_and_track_selection()) {
- if (had_regions) {
- /* there were regions before, so we're changing the
- * region selection (likely), thus link region/track
- * selection. relevant tracks will get selected
- * as we ::add() below.
- */
- clear_tracks ();
- // make sure to deselect any automation selections
- clear_points();
- }
- }
add (v);
}
Selection::set (framepos_t start, framepos_t end)
{
clear_objects(); //enforce region/object exclusivity
- clear_tracks(); //enforce object/track exclusivity
clear_time();
if ((start == 0 && end == 0) || end < start) {
clear_tracks(); //enforce object/track exclusivity
clear_objects ();
- if (Config->get_link_region_and_track_selection ()) {
- clear_tracks ();
- }
-
add (selectables);
}