| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | music: keep preparation out of the guild lock and requeue failed connects | salmonik | 5 days | 1 | -99/+119 |
| | | |||||
| * | music: reject live streams on the yt-dlp path | salmonik | 5 days | 1 | -0/+7 |
| | | |||||
| * | music: decode compressed playback without a temp file | salmonik | 5 days | 1 | -8/+2 |
| | | |||||
| * | music: announce a directly started track once | salmonik | 5 days | 1 | -8/+10 |
| | | |||||
| * | cron: keep scheduled audio silent | salmonik | 6 days | 1 | -3/+10 |
| | | | | | | | | Add a per-track silent flag. Cron already uses play_now (interrupt the current track), but play_next_locked still announced the track to the last known text channel; suppress playing and failure announcements for silent tracks, including when a cron track fails to prepare. | ||||
| * | music: add per-guild queue with now/next/last, skip and queue | salmonik | 12 days | 1 | -0/+602 |
| Tracks are queued in memory per guild, defaulting to append (last). Playback auto-advances on TrackEvent::End/Error with a per-track token so manual stops and skips cannot double-advance. /music queue shows the current track followed by pending items. /stop clears the queue. Cron audio now goes through the same MusicState instead of poking the track-handle map directly. | |||||
