Skip to content

Playlist generator: remove the Inserts step - #42

Open
epell-development wants to merge 3 commits into
mainfrom
claude/project-thread-1szfys
Open

epell-development wants to merge 3 commits into
mainfrom
claude/project-thread-1szfys

Conversation

@epell-development

Copy link
Copy Markdown
Owner

Requested by epell · project thread

Why

Step "4. Inserts" in the playlist generator put jingles, adverts, talk and time announcements into the generated playlist on their own schedule. The advertisement scheduler's rules also fire while that playlist plays, so the same breaks went in twice.

What changed

  • Generator window: the Inserts section (and its Add jingles / Add time announcement / Add insert buttons) is gone. "Preview and generate" follows "Times of day".
  • Web portal (server mode): the template dialog's Markers section is gone too, so the desktop app, Connect to Server and the portal all match.
  • Generator core: generate() now returns plain tracks; Gen, TIME_SOURCE, next_due and the insert loop are removed. source_combo no longer offers a time announcement.
  • Config: Marker and Template::markers are removed. Settings saved with inserts still load (serde ignores the old field; new test templates_saved_with_inserts_still_load), and the field drops off at the next save.
  • Docs: the generator guide's Inserts section is replaced by a short pointer to the advertisement scheduler (and the event scheduler's hourly time announcement); README updated; lang/template.json regenerated.

Checks

  • cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test (all pass, run three times)
  • tools/smoke_server.sh target/debug/RadioMaster-Server passed
  • tools/build_site.py + tools/check_site.py: all links resolve

No CHANGELOG entry yet; it can go in with the next release prep.


Generated by Claude Code

Generator inserts (jingles, adverts, talk and time announcements on their own
schedule) doubled up with the advertisement scheduler's rules, which already
fire while a generated playlist plays. The Inserts section is gone from the
generator window and the web portal, generate() returns plain tracks, and
"Preview and generate" is now step 4.

Templates saved with inserts still load: the old "markers" field is ignored
(new test), and is dropped the next time settings are saved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016m2QHVXdQJrUq7pCLfKSXk
@epell-development epell-development self-assigned this Nov 1, 2026

@mergeguards mergeguards Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MergeGuard review
Risk: 🟠 35/100 — moderate
Findings: 🟠 1 medium
Open Files changed for 1 inline review thread on the diff.

💡 Use the Fix All MergeGuard Findings checkbox comment on this PR to apply auto-fixes in batch, or reply @mergeguards fix on any inline finding.


Reviewed by MergeGuard AI

Comment thread src/playout.rs Resolved
@mergeguards

mergeguards Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

MergeGuard agent actions

Fix all findings

All issues (1)
  • medium · src/playout.rs:2817 — Removed chain of markers from sources collection. The line previously included tpl.markers.iter().map(|m| &m.category) but markers struct has been deleted. Verify that all rule references that we…

Apply auto-fixes for the findings above on this branch:

  • Fix All MergeGuard Findings

Or reply with @mergeguards fix-all on this pull request.

…e.json)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016m2QHVXdQJrUq7pCLfKSXk

@mergeguards mergeguards Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ MergeGuard — new commits are on this pull request.

Re-scan the latest diff: paste this line by itself (copy/paste is fine) — either on the Conversation tab (Add a comment) or on Files changed as a comment on the diff:

@mergeguard-followup

@mergeguards mergeguards Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MergeGuard review
Risk: 🔴 60/100 — risky
Findings: 🔴 1 high
Open Files changed for 1 inline review thread on the diff.

💡 Use the Fix All MergeGuard Findings checkbox comment on this PR to apply auto-fixes in batch, or reply @mergeguards fix on any inline finding.

⚠️ This PR may benefit from a deep scan — consider triggering @mergeguards deep-scan.


Reviewed by MergeGuard AI

Comment thread src/playout.rs Resolved
…e.json)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016m2QHVXdQJrUq7pCLfKSXk

@mergeguards mergeguards Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ MergeGuard — new commits are on this pull request.

Re-scan the latest diff: paste this line by itself (copy/paste is fine) — either on the Conversation tab (Add a comment) or on Files changed as a comment on the diff:

@mergeguard-followup

@mergeguards mergeguards Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MergeGuard review
Risk: 🟠 35/100 — moderate
Findings: 🟠 1 medium
Open Files changed for 1 inline review thread on the diff.

💡 Use the Fix All MergeGuard Findings checkbox comment on this PR to apply auto-fixes in batch, or reply @mergeguards fix on any inline finding.


Reviewed by MergeGuard AI

Comment thread src/playout.rs Resolved

This branch has not been deployed

No deployments
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.

2 participants