#include "automation_line.h"
#include "control_point.h"
#include "editor_regions.h"
+#include "editor_cursors.h"
+#include "midi_region_view.h"
#include "i18n.h"
void
Editor::sensitize_the_right_region_actions ()
{
+ if ((mouse_mode == MouseRange) || (mouse_mode != MouseObject && _join_object_range_state == JOIN_OBJECT_RANGE_RANGE)) {
+ sensitize_all_region_actions (false);
+ if (!selection->time.empty()) {
+ _region_actions->get_action("split-region")->set_sensitive (true);
+ }
+
+ return;
+
+ } else if (mouse_mode != MouseObject) {
+ sensitize_all_region_actions (false);
+ return;
+ }
+
+ /* We get here if we are in Object mode */
+
RegionSelection rs = get_regions_from_selection_and_entered ();
sensitize_all_region_actions (!rs.empty ());
}
}
+void
+Editor::select_all_internal_edit (Selection::Operation op)
+{
+ /* currently limited to MIDI only */
+
+ for (MidiRegionSelection::iterator i = selection->midi_regions.begin(); i != selection->midi_regions.end(); ++i) {
+ MidiRegionView* mrv = *i;
+ mrv->select_all_notes ();
+ }
+}
+
void
Editor::select_all (Selection::Operation op)
{
list<Selectable *> touched;
+ if (_internal_editing) {
+ select_all_internal_edit (op);
+ return;
+ }
+
for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
if ((*iter)->hidden()) {
continue;
* @param preserve_if_selected true to leave the current selection alone if we're adding to the selection and all of the selectables
* within the region are already selected.
*/
-bool
+void
Editor::select_all_within (
framepos_t start, framepos_t end, double top, double bot, const TrackViewList& tracklist, Selection::Operation op, bool preserve_if_selected
)
}
if (found.empty()) {
- return false;
+ return;
}
if (preserve_if_selected && op != Selection::Toggle) {
}
if (i == found.end()) {
- return false;
+ return;
}
}
}
commit_reversible_command ();
-
- return !found.empty();
}
void
if (after) {
begin_reversible_command (_("select all after cursor"));
- start = cursor->current_frame ;
+ start = cursor->current_frame;
end = _session->current_end_frame();
} else {
if (cursor->current_frame > 0) {