READY: LIGHT TIMING (flash and FX cues against the drum hits); auto-fix on for testing

- LIGHT TIMING: every blinder flash / FX cue is timed against the Drums (Live) stem under it
  (deactivated clips count) on the Tracks Mac; cues a strong hit is more than 25 ms away from are named
  with song and bar
- Settings Overview: "Auto-fix on for testing" for 15 min to 2 h, outside the hours and over a pause;
  the AUTO-FIX key says TESTING, and it goes back to the hours by itself

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-22 10:18:46 -04:00
co-authored by Claude Opus 5.5
parent f179df59f1
commit d4e4092a9d
9 changed files with 300 additions and 19 deletions
+20
View File
@@ -2521,6 +2521,26 @@ class TestSwitches(unittest.TestCase):
self.assertTrue(any("Auto-fix is the AUTO-FIX key" in n for n in notes))
self.assertTrue(any("pause auto-fix" in n for n in notes))
def test_auto_fix_on_for_testing(self):
ran = []
self.engine.executor = lambda cfg, fix_id, chk: ran.append(fix_id) or True
self.snap.remote["tracks\0pgrep -xq Live"] = False # Ableton closed
thursday = SUNDAY - 3 * 86400 # outside the hours
run_steps(self.engine, self.snap, thursday, 25)
self.assertEqual(self.engine.auto_fix(self.snap, mock_comp(), thursday + 30), [])
sp.handle_commands("autofix test 30", self.engine, mock_comp(), self.snap, thursday + 31)
tiles = self.engine.step(self.snap, thursday + 32)
self.assertEqual(tiles["autofix"]["x"], "AUTO-FIX\nTESTING\nTIL 8:30AM")
self.engine.auto_fix(self.snap, mock_comp(), thursday + 40)
time.sleep(0.2)
self.assertEqual(ran, ["ableton"]) # fixed by itself on a Thursday
self.assertTrue(self.new_engine().autofix.test) # survives a restart
self.assertFalse(self.engine.autofix.on(thursday + 31 + 30 * 60)) # half an hour later: back to the hours
self.assertEqual(self.engine.step(self.snap, thursday + 31 + 30 * 60 + 1)["autofix"]["x"], "AUTO-FIX\nOFF\nON SUN 6:30AM")
sp.handle_commands("autofix test 30", self.engine, mock_comp(), self.snap, thursday + 4000)
sp.handle_commands("autofix resume", self.engine, mock_comp(), self.snap, thursday + 4060) # Stop testing
self.assertFalse(self.engine.autofix.on(thursday + 4061))
def test_a_hold_from_north_attleboro_flips_a_switch(self):
self.engine.run_fixes("autofix", self.snap, mock_comp(), SUNDAY)
self.assertTrue(self.engine.autofix.paused)