Commit 4144a35
committed
Suppress loop-record playhead setup when cursor sits past loop end
performPlay already treats cursor-past-loop as a non-looping session
(matches the user's expectation that playback continues forward without
jumping back to a loop region the cursor has already passed). performRecord
was missing the equivalent: it called setLoopTimes(true, lr) and
setRollInToLoop(prerollStart) unconditionally on looping=true, and
PlayHead::setRollInToLoop clamps positions to loopEnd, so a record start
with the cursor past the loop ended up rolling at the loop boundary
instead of the cursor.
Compute effectivelyLooping the same way performPlay does, and use it to
gate the looped playhead branch.1 parent b60b9be commit 4144a35
1 file changed
Lines changed: 14 additions & 1 deletion
Lines changed: 14 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1477 | 1477 | | |
1478 | 1478 | | |
1479 | 1479 | | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
1480 | 1488 | | |
1481 | 1489 | | |
1482 | 1490 | | |
| |||
1495 | 1503 | | |
1496 | 1504 | | |
1497 | 1505 | | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
1498 | 1511 | | |
1499 | 1512 | | |
1500 | 1513 | | |
| |||
1542 | 1555 | | |
1543 | 1556 | | |
1544 | 1557 | | |
1545 | | - | |
| 1558 | + | |
1546 | 1559 | | |
1547 | 1560 | | |
1548 | 1561 | | |
| |||
0 commit comments