Joren
80bfbe0ecb
feat: infer beatport release artist
2026-07-11 16:40:04 +02:00
Joren
3413de1daa
feat: format multi-artist credits
2026-07-11 04:44:54 +02:00
Joren
d2fa098d69
feat: add configurable artist separator
2026-07-11 01:21:40 +02:00
Joren
537959b6ec
feat: add beatport provider
2026-07-10 19:21:14 +02:00
Joren
2a7d259e9f
Merge branch 'feat/yandex-music'
...
# Conflicts:
# internal/audio/tag/tagger.go
# internal/audio/tag/tagger_test.go
# internal/urlparse/parse_test.go
2026-07-10 18:18:04 +02:00
Joren
b65edb4cce
yes
2026-06-15 17:18:47 +02:00
Joren
0ae8c7e008
feat yandex desktop downloads
2026-06-10 12:58:04 +02:00
Joren
db26a40415
fix qobuz interpreter artist urls
2026-06-10 12:34:37 +02:00
Joren
fa39582849
fix tidal playlist metadata and retries
2026-05-21 23:03:27 +02:00
lb-a
3bc965db77
Merge branch 'feat/verbose'
2026-05-07 23:56:42 +02:00
lb-a
3909ba5113
feat: implement second level of verbosity
2026-05-07 18:45:36 +02:00
lb-a
04cc56040b
feat: add log hooks
2026-05-07 18:45:05 +02:00
lb-a
ef741434cb
feat: ad verbose package
2026-05-07 18:42:24 +02:00
Joren
ef72aad14e
Merge branch 'fix/qobuz-mobile-fallback-eof'
2026-05-05 21:51:19 +02:00
Joren
59b476034e
fix qobuz EOF downloads with mobile fallback flow
2026-05-01 17:23:52 +02:00
lb-a
9618108f2a
performance: exclude lyrics if they are not enabled
2026-04-30 12:00:58 +02:00
lb-a
7a27845e75
performance: change I/O buffer size
2026-04-29 23:56:05 +02:00
lb-a
945695cea7
performance: tune shared HTTP transport for concurrent CDN downloads
2026-04-29 23:53:51 +02:00
Joren
9e27ba842f
fix deezer track pagination and decryption track id resolution
2026-04-26 22:23:23 +02:00
Joren
63e1f20e04
fix tidal lyrics fetch host and synced lyric tagging
2026-04-25 01:24:11 +02:00
Joren
5a6d7926ff
Merge remote-tracking branch 'origin/master' into fix/resolved-audio-folder-naming
2026-04-24 18:37:30 +02:00
Joren
a06e3fa996
clarify provider quality ladders in config example
2026-04-24 18:36:01 +02:00
Joren
b63889f559
refactor deezer session and pipe graphql flow
2026-04-24 15:19:47 +02:00
Joren
c29f5415ac
fix deezer mobile token and launch parity
2026-04-24 15:11:17 +02:00
Joren
6f6cca19b3
adjust atmos folder bit depth to match delivered stream
2026-04-24 00:45:53 +02:00
Joren
232901f3eb
unify folder naming with resolved audio profiles across providers
2026-04-24 00:35:38 +02:00
Joren
d5b336ca4e
fix tidal lossless quality negotiation and atmos format fallback
2026-04-23 23:53:41 +02:00
Joren
c1e89f5876
render manifest ffmpeg progress like standard download bars
2026-04-22 00:40:11 +02:00
Joren
50ca5f564b
improve search menu preview and artist release details
2026-04-22 00:16:59 +02:00
Joren
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
Joren
d65dc182f8
harden ffmpeg pipeline failure handling and stream mapping
2026-04-21 23:07:48 +02:00
Joren
beb6ce6cbb
improve ffmpeg manifest progress rendering
2026-04-21 22:28:37 +02:00
Joren
96348a6a34
harden manifest detection and downloader failure coverage
2026-04-21 20:55:14 +02:00
Joren
dfa8095e1d
fix lastfm extraction regression and honor no-db
2026-04-21 20:40:28 +02:00
Joren
4c7e6f5792
tighten lastfm parsing and locale url handling
2026-04-21 19:21:32 +02:00
Joren
ba97fe85fe
harden lastfm playlist parsing and url validation
2026-04-21 19:10:50 +02:00
Joren
c67be72869
harden search parsing and qobuz refresh validation
2026-04-21 19:04:33 +02:00
Joren
de4e561377
harden qobuz and downloader reliability edge cases
2026-04-21 18:54:10 +02:00
Joren
0161c01a4c
add optional tidal atmos preference with immersive fallback
2026-04-21 18:31:58 +02:00
Joren
6dbf6a222d
paginate tidal artist album fetches across all pages
2026-04-21 17:33:25 +02:00
Joren
654bed17e2
harden deezer auth errors and mixed playlist preflight
2026-04-21 12:19:23 +02:00
Joren
1246a24749
map deezer gain to replaygain track metadata
2026-04-21 11:51:17 +02:00
Joren
4f86751ff4
paginate artist album fetching for deezer and qobuz
2026-04-21 11:39:04 +02:00
Joren
9ebddc8316
harden deezer auth and lyrics tagging behavior
2026-04-21 11:14:57 +02:00
Joren
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
Joren
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
Joren
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
Joren
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
Joren
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
Joren
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