Restart keys flash when their thing is down; Ableton reopens its last set
- A Restart page key flashes red "HOLD TO FIX" while any check that its fix (or a fix/connection in its "watch") covers is down, e.g. DVS TRACKS when DANTE misses NA-Tracks. - Ableton's start and restart reopen the set Live last opened (read from its Log.txt before quitting; templates skipped) instead of the default template. Tested live: ABLETON and TRANSLATE restart keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -660,6 +660,29 @@ class TestFixes(unittest.TestCase):
|
||||
open(os.path.join(os.path.dirname(os.path.abspath(sp.__file__)), "remote-access", "mac-dvs-helper.sh")).read())
|
||||
self.assertIn("open -g /Applications/ProdCom.app", CONFIG["fixes"]["dvs_ingest"]["run"]) # ProdCom after DVS
|
||||
|
||||
def test_restart_keys_flash_when_their_thing_is_down(self):
|
||||
devices = json.loads(self.snap.vars[("audinate-dantecontroller", "devices")])
|
||||
devices.remove("NA-Tracks") # DVS on the Tracks Mac gone
|
||||
self.snap.vars[("audinate-dantecontroller", "devices")] = json.dumps(devices)
|
||||
self.snap.remote["tracks\0pgrep -xq Live"] = False # Ableton not running
|
||||
self.snap.conns["tascam"]["category"] = "error"
|
||||
tiles, _ = run_steps(self.engine, self.snap, SUNDAY, 4)
|
||||
flashing = {k for k, v in tiles.items() if k.startswith("rs_") and level(v) == "err"}
|
||||
self.assertEqual(flashing, {"rs_dvs_tracks", "rs_ableton", "rs_tascam"})
|
||||
self.assertEqual(tiles["rs_dvs_tracks"]["x"], "DVS TRACKS\nHOLD TO FIX")
|
||||
self.assertEqual(level(tiles["rs_prodcom"]), "idle")
|
||||
self.engine.ack("all") # acked on the status page:
|
||||
tiles = self.engine.step(self.snap, SUNDAY + 5) # still shows what to hold
|
||||
self.assertEqual(level(tiles["rs_ableton"]), "err")
|
||||
|
||||
def test_ableton_reopens_the_set_it_had_open(self):
|
||||
for fix_id in ("ableton", "ableton_restart"):
|
||||
run = CONFIG["fixes"][fix_id]["run"]
|
||||
self.assertIn("Log.txt", run)
|
||||
self.assertIn("grep -v '/Templates/'", run)
|
||||
self.assertIn('open -a \'Ableton Live 11 Suite\' "$S"', run)
|
||||
self.assertTrue(CONFIG["fixes"]["ableton"]["run"].startswith("pgrep -xq Live || {"))
|
||||
|
||||
def test_tascam_hold_always_reconnects(self):
|
||||
ran = []
|
||||
self.engine.executor = lambda cfg, fix_id, chk: ran.append(fix_id) or "HUNG - POWER\nCYCLE IT"
|
||||
|
||||
Reference in New Issue
Block a user