[Summary] loop range must not be activated/deactivated when clicking outside it

This commit is contained in:
GZharun 2015-02-06 14:54:07 +02:00
parent d10f698197
commit 5e89a0d704
2 changed files with 17 additions and 5 deletions

View file

@ -4640,11 +4640,11 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
break;
}
case CreateMarker:
case CreateMarker:
case CreateTransportMarker:
break;
case CreateLoopMarker:
case CreateLoopMarker:
/* Ardour used to offer a menu to choose between setting loop + autopunch range here */
_editor->set_loop_range (_editor->temp_location->start(), _editor->temp_location->end(), _("set loop range"));
break;
@ -4660,9 +4660,19 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
break;
case CreateLoopMarker:
{
// toggle loop playback, leave rolling if already rolling
_editor->session()->request_play_loop (!_editor->session()->get_play_loop(), false);
break;
Location* loop = _editor->session()->locations()->auto_loop_location();
if (loop) {
framepos_t start = loop->start ();
framepos_t end = loop->end ();
framepos_t const pf = adjusted_current_frame (event);
if (start <= pf && pf <= end) {
// toggle loop playback, leave rolling if already rolling
_editor->session()->request_play_loop (!_editor->session()->get_play_loop(), false);
break;
}
}
}
}
}

View file

@ -237,6 +237,8 @@ protected:
double current_pointer_x () const;
double current_pointer_y () const;
bool first_move_occured () { return _starting_point_passed; }
boost::shared_ptr<ARDOUR::Region> add_midi_region (MidiTimeAxisView*);
void show_verbose_cursor_time (framepos_t) const;