[Blue sky] Bridge Auto-Tune → Scripted: an "escape hatch" from a generated channel into a custom script #565

Open
opened 2026-07-22 20:04:59 +02:00 by timothy · 0 comments
Owner

Idea (far future — no concrete plans)

Auto-Tune (#69) and Scripted scheduling sit at opposite ends of the fork's "effortless ↔ maximally-flexible" spectrum, with no bridge between them today. Auto-Tune persists a generated channel as a live SmartCollection; Scripted is a user-authored external program that drives the scheduling engine over the documented HTTP API (ScriptedScheduleController). A user who wants "Auto-Tune, but with one custom twist" currently has to abandon the generated channel and hand-write a script from scratch.

The blue-sky move: let a user "eject" an Auto-Tuned channel into an editable Scripted definition — i.e. generate a starter script (or a scripted-schedule stub) that reproduces the Auto-Tune result, which they can then tweak. Auto-Tune becomes the on-ramp; Scripted becomes the overflow valve for the one weird requirement the UI can't express.

Why file it

Captured from a session discussion (2026-07-22) while tidying Scripted test coverage/duplication (#381/#395). It's a genuine product direction thought, not a plan — filing so it isn't lost. Related: #69 (auto-tune foundation), #425 (per-source weights), the Scripted engine (ErsatzTV.Core/Scheduling/Engine/SchedulingEngine.cs).

Status

Blue-sky / far future. No design, no commitment. Low priority; pick up only if the fork deliberately invests in converging the two scheduling ends.

## Idea (far future — no concrete plans) Auto-Tune (#69) and Scripted scheduling sit at opposite ends of the fork's "effortless ↔ maximally-flexible" spectrum, with **no bridge between them today**. Auto-Tune persists a generated channel as a live SmartCollection; Scripted is a user-authored external program that drives the scheduling engine over the documented HTTP API (`ScriptedScheduleController`). A user who wants "Auto-Tune, but with one custom twist" currently has to abandon the generated channel and hand-write a script from scratch. **The blue-sky move:** let a user "eject" an Auto-Tuned channel into an editable Scripted definition — i.e. generate a starter script (or a scripted-schedule stub) that reproduces the Auto-Tune result, which they can then tweak. Auto-Tune becomes the on-ramp; Scripted becomes the overflow valve for the one weird requirement the UI can't express. ## Why file it Captured from a session discussion (2026-07-22) while tidying Scripted test coverage/duplication (#381/#395). It's a genuine product direction thought, not a plan — filing so it isn't lost. Related: #69 (auto-tune foundation), #425 (per-source weights), the Scripted engine (`ErsatzTV.Core/Scheduling/Engine/SchedulingEngine.cs`). ## Status Blue-sky / far future. No design, no commitment. Low priority; pick up only if the fork deliberately invests in converging the two scheduling ends.
timothy added the enhancementcontentpriority: low labels 2026-07-22 20:04:59 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: timothy/ersatztv#565