Skip to content

Add per-show playback control to shows create#43

Open
aboullaite wants to merge 1 commit into
mainfrom
add-playback-control
Open

Add per-show playback control to shows create#43
aboullaite wants to merge 1 commit into
mainfrom
add-playback-control

Conversation

@aboullaite

Copy link
Copy Markdown
Collaborator

What

Shows can now opt into chapter-skip playback at creation time: the player's skip forward/back buttons jump between chapters instead of seeking 15 seconds.

save-to-spotify --json shows create --title "My Show" --playback-control chapter-skip

How

  • shows create gains --playback-control <mode>. Modes live in a small registry (CLI name → API value), so future modes are one map entry. Unknown modes are rejected at parse time, before any network call — the backend silently drops values it doesn't recognize, so a typo passed through would create a default-controls show with no error.
  • The mode is sent as an optional playback_control field on the existing show-create request; omitted entirely when unset, so normal creates are unchanged.
  • The create response echoes playback_control only when the backend applied the setting. The CLI surfaces that server-confirmed value (mapped back to the CLI mode name) and prints a warning when the setting was requested but not confirmed; in --json mode the field's absence is the machine-readable signal.
  • New configure-chapter-skip skill owns when to enable the setting (explicit user request only) and the workflow; the main skill and CLI reference point to it.

Testing

  • Unit + integration tests cover flag parsing, wire format (present/omitted), the confirmed echo, and the not-confirmed case.
  • Verified end to end against the live API: created shows with and without the flag, confirmed the response echo, and validated playback on real episodes with chapters.

Shows can opt into chapter-skip playback at creation time via
--playback-control chapter-skip. The CLI validates the mode before the
request, sends it as playback_control on the create call, and surfaces
the server-confirmed value in the output; when the backend does not
confirm the setting, the field is omitted and a warning is printed.

Ships a configure-chapter-skip skill that owns when to enable the
setting, plus documentation in the main skill and CLI reference.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant