attempt to prevent dropping into record if rolling in reverse (should fix #4254)
git-svn-id: svn://localhost/ardour2/branches/3.0@9971 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
6e280d5cfc
commit
db78ba19ff
@ -985,13 +985,18 @@ Session::handle_locations_changed (Locations::LocationList& locations)
|
||||
void
|
||||
Session::enable_record ()
|
||||
{
|
||||
if (_transport_speed < 0.0) {
|
||||
/* no recording in reverse */
|
||||
return;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
RecordState rs = (RecordState) g_atomic_int_get (&_record_status);
|
||||
|
||||
if (rs == Recording) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (g_atomic_int_compare_and_exchange (&_record_status, rs, Recording)) {
|
||||
|
||||
_last_record_location = _transport_frame;
|
||||
|
@ -958,6 +958,11 @@ Session::set_transport_speed (double speed, bool abort, bool clear_state)
|
||||
return;
|
||||
}
|
||||
|
||||
if (actively_recording() && speed < 0.0) {
|
||||
/* no reverse during recording */
|
||||
return;
|
||||
}
|
||||
|
||||
_target_transport_speed = fabs(speed);
|
||||
|
||||
/* 8.0 max speed is somewhat arbitrary but based on guestimates regarding disk i/o capability
|
||||
|
Loading…
Reference in New Issue
Block a user