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
This commit is contained in:
Paul Davis 2009-11-08 03:31:55 +00:00
parent 1d453d5f5d
commit 141e023666
2 changed files with 10 additions and 21 deletions

View file

@ -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 ();

View file

@ -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);