void set_selected_track (TimeAxisView&, Selection::Operation op = Selection::Set, bool no_remove=false);
void select_all_tracks ();
- void select_all_internal_edit (Selection::Operation);
+ bool select_all_internal_edit (Selection::Operation);
bool set_selected_control_point_from_click (bool press, Selection::Operation op = Selection::Set);
void set_selected_track_from_click (bool press, Selection::Operation op = Selection::Set, bool no_remove=false);
}
}
-void
+bool
Editor::select_all_internal_edit (Selection::Operation)
{
+ bool selected = false;
+
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*i);
if (mrv) {
mrv->select_all_notes ();
+ selected = true;
}
}
+
+ MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(entered_regionview);
+ if (mrv) {
+ mrv->select_all_notes ();
+ selected = true;
+ }
+
+ return selected;
}
void
TrackViewList ts = track_views;
- if (internal_editing()) {
-
- bool midi_selected = false;
-
- for (TrackViewList::iterator iter = ts.begin(); iter != ts.end(); ++iter) {
- if ((*iter)->hidden()) {
- continue;
- }
-
- RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (*iter);
-
- if (rtav && rtav->is_midi_track()) {
- midi_selected = true;
- break;
- }
- }
-
- if (midi_selected) {
- select_all_internal_edit (op);
- return;
- }
+ if (internal_editing() && select_all_internal_edit(op)) {
+ return; // Selected notes
}
for (TrackViewList::iterator iter = ts.begin(); iter != ts.end(); ++iter) {