Implement quality profile system #31

Open
opened 2026-03-17 16:46:53 -04:00 by connor · 0 comments
Owner

Add a quality profile system that lets users define their preferred audio quality and format, similar to Lidarr's quality profiles. This guides the download system in choosing the best available source.

  1. Quality profiles — define named profiles like:

    • "Lossless" — prefer FLAC > ALAC > WAV, minimum bitrate 800kbps
    • "High Quality" — prefer FLAC > MP3 320 > OPUS 256
    • "Standard" — MP3 320 > MP3 V0 > OPUS 128
    • "Any" — accept anything
  2. Per-item quality assignment — watchlist items can be assigned a quality profile (default to a global setting)

  3. Download source scoring — when multiple download sources are available, score them against the quality profile and pick the best match

  4. Upgrade detection — if a user has an MP3 version but their profile prefers FLAC, flag it as "upgradeable"

Acceptance Criteria

  • Quality profiles can be defined with format and bitrate preferences
  • Profiles can be assigned to watchlist items
  • Download source selection respects the quality profile
  • Upgrade detection works (lower quality → can be upgraded)
  • Default profile is configurable
  • At least 3 built-in profiles exist

Dependencies

  • Issue #6 (watchlist)
  • Issue #7 (downloading)
Add a quality profile system that lets users define their preferred audio quality and format, similar to Lidarr's quality profiles. This guides the download system in choosing the best available source. 1. **Quality profiles** — define named profiles like: - "Lossless" — prefer FLAC > ALAC > WAV, minimum bitrate 800kbps - "High Quality" — prefer FLAC > MP3 320 > OPUS 256 - "Standard" — MP3 320 > MP3 V0 > OPUS 128 - "Any" — accept anything 2. **Per-item quality assignment** — watchlist items can be assigned a quality profile (default to a global setting) 3. **Download source scoring** — when multiple download sources are available, score them against the quality profile and pick the best match 4. **Upgrade detection** — if a user has an MP3 version but their profile prefers FLAC, flag it as "upgradeable" ### Acceptance Criteria - [ ] Quality profiles can be defined with format and bitrate preferences - [ ] Profiles can be assigned to watchlist items - [ ] Download source selection respects the quality profile - [ ] Upgrade detection works (lower quality → can be upgraded) - [ ] Default profile is configurable - [ ] At least 3 built-in profiles exist ### Dependencies - Issue #6 (watchlist) - Issue #7 (downloading)
connor added the LowPriority label 2026-03-19 12:31:07 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Shanty/Main#31