From 141e02366698cb25adc3e2248c37eecd472faaed Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 8 Nov 2009 03:31:55 +0000 Subject: [PATCH] what chris asks for, chris gets. don't ask me why : if in range mode and range is cleared, stop transport but only if doing range play (almost) git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6033 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_mouse.cc | 14 ++++++++++---- libs/ardour/session_transport.cc | 17 ----------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 8e748e7bb7..980f3709cb 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -4647,6 +4647,13 @@ Editor::end_selection_op (ArdourCanvas::Item* item, GdkEvent* event) selection->TimeChanged (); } commit_reversible_command (); + + + /* XXX what if its a music time selection? */ + if (Config->get_auto_play() || (session->get_play_range() && session->transport_rolling())) { + session->request_play_range (&selection->time, true); + } + } else { /* just a click, no pointer movement.*/ @@ -4655,11 +4662,10 @@ Editor::end_selection_op (ArdourCanvas::Item* item, GdkEvent* event) selection->clear_time(); } - } - /* XXX what if its a music time selection? */ - if (Config->get_auto_play() || (session->get_play_range() && session->transport_rolling())) { - session->request_play_range (&selection->time, true); + if (session->get_play_range () && session->transport_rolling()) { + session->request_stop (false, false); + } } stop_canvas_autoscroll (); diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 2f05d329de..462f334182 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -505,23 +505,6 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished) deliver_mmc (MIDI::MachineControl::cmdStop, 0); deliver_mmc (MIDI::MachineControl::cmdLocate, _transport_frame); - if (did_record) { - - /* XXX its a little odd that we're doing this here - when realtime_stop(), which has already executed, - will have done this. - JLC - so let's not because it seems unnecessary and breaks loop record - */ -#if 0 - if (!Config->get_latched_record_enable()) { - g_atomic_int_set (&_record_status, Disabled); - } else { - g_atomic_int_set (&_record_status, Enabled); - } - RecordStateChanged (); /* emit signal */ -#endif - } - if ((post_transport_work & PostTransportLocate) && get_record_enabled()) { /* capture start has been changed, so save pending state */ save_state ("", true);