v0.36.0: a playlist link says so before it downloads
Pasting a song from a YouTube Mix (watch?v=…&list=RD…) imported song after song: yt-dlp takes the whole list by default, and a Mix runs to thousands of rows and loops back on itself, so the linked song came in again and again with nothing on screen saying why. Now anything but a plain song link is listed first (--flat-playlist, streamed into the dialog). One song goes straight through. Several become a checklist: a song-in-a-list link ticks only its song and offers Just This Song without waiting, and a playlist link ticks everything. Rows are de-duplicated by id. The chosen songs download by their own pages, never the list link, and more than one gets a per-song progress window (Hide keeps downloading; the status-bar line brings it back). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -351,6 +351,20 @@ persistence) → GUI (Qt widgets that read the manager and connect to its signal
|
||||
Firefox first), and a browser that worked is saved as
|
||||
`ytdlp_cookies_browser` in **`config.json`**, not preferences — which
|
||||
browser holds a YouTube login is this machine's business (Round 59).
|
||||
**A link is listed before it downloads** (Round 75): trav pasted a song
|
||||
from a YouTube Mix (`watch?v=…&list=RD…`), yt-dlp took the whole list,
|
||||
and songs kept arriving with no word why. `link_kind` (URL alone) lets
|
||||
only a plain song link skip the listing; everything else goes through
|
||||
`PlaylistProbe` (`--flat-playlist`, one `LTENTRY` line per song, streamed
|
||||
into the dialog's checklist). A song-in-a-list ticks only its song (plus a
|
||||
**Just This Song** button that doesn't wait), a playlist link ticks all.
|
||||
Measured on the real Mix: ~36 s to the first row, 2,967 rows, the linked
|
||||
song **8 times** (a Mix loops), so rows are de-duplicated by id. Chosen
|
||||
songs download by **their own page URLs**, never the list link or
|
||||
`--playlist-items`, since a Mix reshuffles on every listing. Several songs
|
||||
get `gui/url_import_progress.py`, a non-modal per-song list (Hide keeps
|
||||
downloading; clicking the status-bar line reopens it). `LTSTART` carries
|
||||
the id, and `ERROR: [site] <id>: …` lines become `item_failed`.
|
||||
|
||||
- **`lintunes/mpris.py`** — registers `org.mpris.MediaPlayer2.lintunes` over D-Bus
|
||||
so the desktop's media keys / now-playing popup control playback. Spacebar and
|
||||
|
||||
Reference in New Issue
Block a user