radoslav-orlov: add AAC as a download quality option. AAC is more efficient than MP3, so it's useful for Soulseek/torrents (streaming sources pick their own codec; Amazon — the AAC-heavy one — is down). Additive by construction: every quality tier already defaults enabled=false and the waterfall is built only from enabled tiers, so AAC ships OFF and the bucketer routes a not-enabled AAC file to the 'other' bucket EXACTLY as today (where it was silently dropped). Only a user who turns AAC on makes it a first-class tier, ranked above MP3 / below FLAC (priority 1.5, min-kbps gate so junk AAC can't beat a good MP3). - music_database: aac tier (disabled) in the default profile + all 3 presets. - soulseek_client: map .m4a -> 'aac' in both result parsers (was 'unknown' -> dropped); add the 'aac' bucket + a gated branch + a fallback size limit. - settings UI: an 'AAC' tier toggle (unchecked) between FLAC and MP3; save defaults its priority to 1.5 so upgraded profiles rank it right on first save. 7 seam tests pinning the additive guarantee (aac absent/disabled -> dropped as before; FLAC/MP3 selection unchanged; aac on -> selectable, below FLAC, above MP3); 81 quality/soulseek tests pass, ruff clean. quality_upgrade left untouched (its AAC handling is unchanged). |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| music_database.py | ||
| personalized_schema.py | ||