feat(playlist): exact-format-per-item selection
Each video row in the playlist panel gets an exact-format button that lazily probes just that entry's URL (reusing the existing single-video probe IPC, no new main-process code) and shows a native Select of its real formats. The choice flows through addMany -> formatId per queue item. Probing is on-demand per row, never all up front, since a playlist can hold thousands of entries and per-entry probes are rate-limited. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+8
-2
@@ -363,8 +363,14 @@ per-item `options`) but not the surfaces. typecheck + test + `npm run build` cle
|
||||
- [x] **Per-playlist-item editing.** *Done: the playlist panel in `DownloadBar.tsx` gained a
|
||||
per-row video/audio toggle + **All video** / **All audio** batch buttons; `addPlaylist`
|
||||
enqueues via `addMany` with each entry's own kind (quality falls back to that kind's
|
||||
default). Per-item exact-format selection (needs probing each entry) left as a further
|
||||
extension.*
|
||||
default).*
|
||||
- [x] **Per-playlist exact-format-per-item.** *Done: each video row in the playlist panel has an
|
||||
**exact-format** button that lazily probes just that entry's URL (reusing the single-video
|
||||
`probe` IPC — no new main code) and reveals a native `<Select>` of that entry's real formats;
|
||||
the pick is carried as a `ChosenFormat` and flows through `addMany` → `formatId` per queue
|
||||
item. Probing is on-demand per row (never all up front — playlists can be huge / rate-limited).
|
||||
Flipping a row to audio drops its format. Pure mapping in `downloadBar/playlistEntries.ts`,
|
||||
unit-tested (`test/playlistEntries.test.ts`); verified end-to-end in the preview harness.*
|
||||
- [x] **Weighted format sorting ("format aspect importance").** *Done: a `formatSort` field on
|
||||
`DownloadOptions` (raw yt-dlp `-S` string); when set it emits `-S <value>`, overriding the
|
||||
codec tiebreaker (`buildArgs.ts`); an "advanced" input in `DownloadOptionsForm`. Unit-tested.*
|
||||
|
||||
Reference in New Issue
Block a user