mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-04 14:25:08 +00:00
A request naming a *_live mode (football-scoreboard / ncaa_fb_live with 15 college games on) answered 200 and showed nfl_recent. The session's mode list kept live modes only when has_live_content() said so, which is the live-priority question and is answered for favourite teams only. A mode the request names now leads the session; display() decides whether it has anything to draw, and an empty one moves on to the plugin's next mode as any empty on-demand mode does. The name is saved in display_on_demand_config (named_mode) so a restart resumes on it. A bare plugin-id request still skips quiet live modes, as before. A restart during a session whose plugin then failed to load (clock-simple failed config validation after a crash on ledpi) left the session active with no modes and its cached request in place. It now ends at startup with status error / restore-failed, and the cached request is dropped; likewise when the plugin system fails to start. Golden traces: two new scenarios (on_demand_named_live, on_demand_restore_failed); every existing trace is unchanged. The harness's restore_on_demand takes named_mode and logs a failed restore. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
30 lines
1.2 KiB
JSON
30 lines
1.2 KiB
JSON
{
|
|
"screens": [
|
|
[0.0, "clock", 5.0, "on-demand-start", 6, false],
|
|
[5.0, "sports_live", 15.0, "duration", 15, true],
|
|
[20.0, "sports_recent", 15.0, "duration", 15, true],
|
|
[35.0, "sports_upcoming", 5.0, "on-demand-requested-stop", 6, true],
|
|
[40.0, "clock", 20.0, "duration", 20, true],
|
|
[60.0, "sports_live", 15.0, "display-false", 11, true],
|
|
[75.0, "sports_recent", 15.0, "duration", 15, true],
|
|
[90.0, "sports_upcoming", 10.0, "on-demand-start", 11, true],
|
|
[100.0, "sports_live", 0.0, "empty", 1, true],
|
|
[100.0, "sports_recent", 15.0, "duration", 15, true],
|
|
[115.0, "sports_upcoming", 15.0, "duration", 15, true],
|
|
[130.0, "sports_live", 0.0, "empty", 1, true],
|
|
[130.0, "sports_recent", 10.0, "on-demand-requested-stop", 11, true],
|
|
[140.0, "sports_upcoming", 15.0, "duration", 15, true],
|
|
[155.0, "clock", 5.0, "horizon", 5, true]
|
|
],
|
|
"events": [
|
|
[5.0, "request", "start:n1"],
|
|
[5.0, "on-demand-start", "sports"],
|
|
[40.0, "request", "stop:n2"],
|
|
[40.0, "on-demand-requested-stop"],
|
|
[100.0, "request", "start:n3"],
|
|
[100.0, "on-demand-start", "sports"],
|
|
[140.0, "request", "stop:n4"],
|
|
[140.0, "on-demand-requested-stop"]
|
|
]
|
|
}
|