Commit da1c7c73 by PLN (Algolia)

fix(lcxl3): lap 1 starts at first track load, not process construction

The OLED's track clock resets 'a new track is a new lap' — but skipped the
FIRST load, so lap 1 inherited the constructor's zero. Invisible while the
driver restarted with every session; under the persistent unit (log 039) it
counted the idle hours before the first load: 24:27 on a fresh rose_rouge.
parent 0d30a73a
...@@ -720,8 +720,13 @@ class Driver: ...@@ -720,8 +720,13 @@ class Driver:
f"{len(track_ccs)} controls, orbits {sorted(orbits)}, " f"{len(track_ccs)} controls, orbits {sorted(orbits)}, "
f"{len(self.ctx)} labels{tempo_note}" f"{len(self.ctx)} labels{tempo_note}"
f"{', eval=cycle 0' if self.resets else ''}") f"{', eval=cycle 0' if self.resets else ''}")
if changed:
# A new track is a new lap — INCLUDING the first. Since the driver
# became a persistent unit (log 039) it can idle for hours before a
# track loads; lap 1 used to keep the construction-time zero and
# showed 24:27 on a freshly loaded rose_rouge (2026-09-05).
self.track_started = time.time()
if changed and not first: if changed and not first:
self.track_started = time.time() # a new track is a new lap
self.carry_values(old_tempo) self.carry_values(old_tempo)
# Anchor on the evals ALREADY logged for this file, so a load mid-track # Anchor on the evals ALREADY logged for this file, so a load mid-track
# does not re-fire an hour-old anchor as if it just happened. # does not re-fire an hour-old anchor as if it just happened.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment