Commit Graph

28 Commits

Author SHA1 Message Date
c29f5415ac fix deezer mobile token and launch parity 2026-04-24 15:11:17 +02:00
d5b336ca4e fix tidal lossless quality negotiation and atmos format fallback 2026-04-23 23:53:41 +02:00
c1e89f5876 render manifest ffmpeg progress like standard download bars 2026-04-22 00:40:11 +02:00
50ca5f564b improve search menu preview and artist release details 2026-04-22 00:16:59 +02:00
6bc4b3b319 Refactor: comprehensive cleanup and modularization
- Extracted common JSON parsing helpers into internal/jsonutil
- Removed duplicated helper functions from provider packages
- Removed dead code in internal/app/app.go and downloader.go
- Replaced deprecated strings.Title with jsonutil.TitleCase
- Added graceful shutdown with signal handling in main.go
- Split monolithic cmd/rip/main.go into args.go, helpers.go, lastfm.go, search.go
2026-04-21 23:38:41 +02:00
d65dc182f8 harden ffmpeg pipeline failure handling and stream mapping 2026-04-21 23:07:48 +02:00
beb6ce6cbb improve ffmpeg manifest progress rendering 2026-04-21 22:28:37 +02:00
96348a6a34 harden manifest detection and downloader failure coverage 2026-04-21 20:55:14 +02:00
dfa8095e1d fix lastfm extraction regression and honor no-db 2026-04-21 20:40:28 +02:00
4c7e6f5792 tighten lastfm parsing and locale url handling 2026-04-21 19:21:32 +02:00
ba97fe85fe harden lastfm playlist parsing and url validation 2026-04-21 19:10:50 +02:00
c67be72869 harden search parsing and qobuz refresh validation 2026-04-21 19:04:33 +02:00
de4e561377 harden qobuz and downloader reliability edge cases 2026-04-21 18:54:10 +02:00
0161c01a4c add optional tidal atmos preference with immersive fallback 2026-04-21 18:31:58 +02:00
6dbf6a222d paginate tidal artist album fetches across all pages 2026-04-21 17:33:25 +02:00
654bed17e2 harden deezer auth errors and mixed playlist preflight 2026-04-21 12:19:23 +02:00
1246a24749 map deezer gain to replaygain track metadata 2026-04-21 11:51:17 +02:00
4f86751ff4 paginate artist album fetching for deezer and qobuz 2026-04-21 11:39:04 +02:00
9ebddc8316 harden deezer auth and lyrics tagging behavior 2026-04-21 11:14:57 +02:00
26c9d50fac implement native Deezer download/decrypt pipeline
Replace Deezer yt-dlp usage with native ARL session + media.get_url resolution, add BF_CBC_STRIPE decryption in downloader, and wire cipher-aware Deezer downloads through the main rip pipeline. Includes validation hardening and metadata/source-id improvements used by tagging flows.
2026-04-21 00:48:07 +02:00
0ba8faa943 improve CLI error semantics and soundcloud canonicalization
Auto-upgrade outdated configs on startup, add actionable SSL verification hints in rip error paths, and harden SoundCloud search/metadata with canonical URL handling and richer source IDs.
2026-04-20 15:16:59 +02:00
0748d5a325 improve lastfm playlist parity and fallback resolution
Queue resolved last.fm tracks as playlist media to preserve playlist semantics, and add a robust mirror-based parser fallback for last.fm temporary unavailable responses while keeping track order and duplicates.
2026-04-20 02:01:16 +02:00
47b754a216 harden deezer quality fallback and metadata handling
Improve Deezer full-quality mode behavior by returning explicit errors when yt-dlp mode fails with fallback disabled, parse structured API errors, and correctly map explicit_lyrics booleans into explicit tags.
2026-04-20 01:07:28 +02:00
b5a5368fa8 fix album-level tag consistency for mixed-artist tracks
Use album artist overrides during album ripping so compilation-style tracks do not change album performer tags, and add safer disc-number fallbacks for metadata/path generation when providers omit disc fields.
2026-04-20 00:59:10 +02:00
b2688ce949 add CLI parity flags and expand provider support
This brings the Go CLI closer to upstream behavior with global flag handling and clearer resolve failures, while adding Tidal video downloads plus initial Deezer and SoundCloud no-account flows for broader end-to-end coverage.
2026-04-20 00:56:10 +02:00
4da5114a70 add format-aware tagging and replaygain fallback mapping
Write replaygain gain and peak tags from provider-specific metadata fields, then apply tagging across supported output containers with graceful cover-art fallback so non-FLAC downloads retain metadata.
2026-04-19 22:54:07 +02:00
d4643d877e fix source-aware download tracking and filter/path regressions
Make download dedupe source-specific to prevent cross-provider ID collisions. Also correct non-remaster filtering, avoid FLAC tagging on non-FLAC files, and use album IDs for singles folder templating.
2026-04-19 21:25:04 +02:00
97e8b758b3 initial Go port of streamrip 2026-04-19 21:11:38 +02:00