diff --git a/gtk2_ardour/editing_context.cc b/gtk2_ardour/editing_context.cc index a6f75ed6b5..db9691c0f6 100644 --- a/gtk2_ardour/editing_context.cc +++ b/gtk2_ardour/editing_context.cc @@ -3339,3 +3339,8 @@ EditingContext::set_loop_range (timepos_t const & start, timepos_t const & end, commit_reversible_command (); } +bool +EditingContext::allow_trim_cursors () const +{ + return mouse_mode == MouseContent || mouse_mode == MouseTimeFX || mouse_mode == MouseDraw; +} diff --git a/gtk2_ardour/editing_context.h b/gtk2_ardour/editing_context.h index bce45c0fae..e74d4a2ce4 100644 --- a/gtk2_ardour/editing_context.h +++ b/gtk2_ardour/editing_context.h @@ -479,6 +479,8 @@ class EditingContext : public ARDOUR::SessionHandlePtr, public AxisViewProvider, void set_loop_range (Temporal::timepos_t const & start, Temporal::timepos_t const & end, std::string cmd); + virtual bool allow_trim_cursors () const; + protected: std::string _name; bool within_track_canvas; diff --git a/gtk2_ardour/midi_view.cc b/gtk2_ardour/midi_view.cc index 0d4aae7bff..7b64d40828 100644 --- a/gtk2_ardour/midi_view.cc +++ b/gtk2_ardour/midi_view.cc @@ -3977,7 +3977,7 @@ void MidiView::note_mouse_position (float x_fraction, float /*y_fraction*/, bool can_set_cursor) { Editing::MouseMode mm = _editing_context.current_mouse_mode(); - bool trimmable = (mm == MouseContent || mm == MouseTimeFX || mm == MouseDraw); + bool trimmable = _editing_context.allow_trim_cursors (); if (can_set_cursor) { if (trimmable && x_fraction > 0.0 && x_fraction < 0.2) { diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index 7c843e29a1..c6ebd83fba 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -2776,3 +2776,9 @@ Pianoroll::map_transport_state () } } } + +bool +Pianoroll::allow_trim_cursors () const +{ + return mouse_mode == Editing::MouseContent || mouse_mode == Editing::MouseTimeFX; +} diff --git a/gtk2_ardour/pianoroll.h b/gtk2_ardour/pianoroll.h index 4289c8f997..d9aad339ef 100644 --- a/gtk2_ardour/pianoroll.h +++ b/gtk2_ardour/pianoroll.h @@ -140,6 +140,7 @@ class Pianoroll : public CueEditor PianorollMidiView* midi_view() const { return view; } void set_session (ARDOUR::Session*); + bool allow_trim_cursors () const; protected: void load_bindings ();