Commit Graph
81 Commits
Author SHA1 Message Date
Mathis Maquenne f8b301e24c style: rename accessors to idiomatic names 2026-08-05 11:47:53 +02:00
Mathis Maquenne 88319ebb3c refactor: rename updater package to update 2026-08-05 11:46:34 +02:00
Mathis Maquenne 5c95554855 refactor: consolidate download domain into download package 2026-08-05 11:46:10 +02:00
Mathis Maquenne dbb808f371 refactor: replace fileutil with fsutil and local hashing 2026-08-05 11:42:35 +02:00
Mathis Maquenne 12dbbb5e10 refactor: move resource info rendering into downloader 2026-08-05 11:41:24 +02:00
Mathis Maquenne dbd7837b17 refactor: fold auth and crypto into deezer domain 2026-08-05 11:40:14 +02:00
Mathis Maquenne 16c71c8688 refactor: decouple tag writers from deezer models 2026-08-05 11:37:59 +02:00
Mathis Maquenne 0ab25addd5 refactor: open track store explicitly and remove global state 2026-08-05 11:34:27 +02:00
Mathis Maquenne 714d567603 refactor: introduce typed resource kind 2026-08-05 11:33:13 +02:00
Mathis Maquenne 3ec258b876 refactor: remove dead logger package and unused fields 2026-08-05 11:31:17 +02:00
Mathis Maquenne 1fbbd60106 refactor: use track terminology instead of song 2026-07-30 12:53:03 +02:00
Mathis Maquenne eb93d01c19 feat: add updater package for in-place self-update 2026-07-30 11:30:08 +02:00
Mathis Maquenne 785bb58cb5 feat: add buildinfo package for version information 2026-07-30 11:30:08 +02:00
Mathis Maquenne c2f60be18e refactor: use ARL initialism casing 2026-07-30 11:13:13 +02:00
Mathis Maquenne 09fa93f1e4 refactor: no longer require DEEZER_ARL at startup 2026-07-29 11:33:50 +02:00
Mathis Maquenne f45ae6aee6 feat: retry with credential-based login when the ARL is invalid 2026-07-29 11:33:50 +02:00
Mathis Maquenne 56b0f404d6 feat: add internal/auth package for credential-based login 2026-07-29 11:33:50 +02:00
Mathis Maquenne 465f54e466 refactor: disambiguate blowfish crypto helper names 2026-07-29 11:28:39 +02:00
Mathis Maquenne 163fa18845 feat: add AES-ECB crypto helpers for email/password login 2026-07-29 11:28:39 +02:00
Mathis Maquenne d50945a7ef fix: zero-pad track numbers and show warning count in summary 2026-03-01 22:29:38 +01:00
Mathis Maquenne 08160b0290 refactor: drop config.toml and Viper, use DEEZER_ARL env var 2026-03-01 22:19:14 +01:00
Mathis Maquenne cf699834f6 refactor: hardcode secret key in crypto package 2026-03-01 21:57:38 +01:00
Mathis Maquenne 650d578b80 refactor: remove disabled watcher feature 2026-03-01 21:56:54 +01:00
Mathis Maquenne 08b608ec80 refactor: simplify codebase (-209 lines) 2026-03-01 21:55:42 +01:00
Mathis Maquenne cd45c3f40a perf(downloader): fetch metadata concurrently with stream download 2026-03-01 21:29:02 +01:00
Mathis Maquenne 0a8da3d0e7 feat(tags): filter genres to avoid unusual tags 2025-09-12 14:41:29 +02:00
Mathis Maquenne e4c421ff00 feat: add CTA after download and mention it in README 2025-09-11 00:32:42 +02:00
Mathis Maquenne 9d87f635d0 refactor(downloader): improve structure and readability 2025-09-11 00:05:17 +02:00
Mathis Maquenne 8c9b327b2c feat(tags): fetch genre and add it to file tags with --genre 2025-09-10 16:05:53 +02:00
Mathis Maquenne 0493866141 refactor: move BPM fetching logic into provider package 2025-09-10 15:09:24 +02:00
Mathis Maquenne 523b562ed0 Merge branch 'feature/download-track' into dev 2025-09-10 11:11:40 +02:00
Mathis Maquenne c2b4fcfa11 feat(cli): simplify output for individual songs 2025-09-10 11:10:52 +02:00
Felipe Marinho 9b23e3a8d9 feat: download single tracks (#5)
Introduces the `godeez download track <ID>` command, allowing users to download individual songs directly.

Single tracks are saved into a "Singles" folder by default to keep them organized. The README has been updated with documentation and examples for this new functionality.
2025-09-10 10:26:58 +02:00
Mathis Maquenne cf7f76948b chore(tags): add the version of a track to the title tag 2025-09-09 23:47:33 +02:00
Mathis Maquenne 4b2c9c92b8 chore(tags): add copyright tag 2025-09-09 10:37:56 +02:00
Mathis Maquenne 22ddb2408b fix(media): handle empty media 2025-09-09 10:05:42 +02:00
Mathis Maquenne 3022e226ce fix(build): comment out unfinished autostart implementation 2025-08-18 11:29:02 +02:00
Mathis Maquenne 283c5d76e9 feat(cli): add --strict flag to fail track download if quality is unavailable 2025-08-09 19:17:29 +02:00
Mathis Maquenne 7154c15cc3 refactor(cli): remove --quality=best flag since fallback is now automatic 2025-08-06 22:28:58 +02:00
Mathis Maquenne 50fde9dfa9 feat(media): fallback to lower quality if requested format is unavailable 2025-08-06 22:09:06 +02:00
Mathis Maquenne b4f69396af fix(song): handle empty SNG_CONTRIBUTORS array during unmarshal 2025-08-06 20:45:27 +02:00
Mathis Maquenne ef018b38ad fix(logger): initialize downloader with nil logger to avoid error 2025-06-23 21:03:27 -04:00
Mathis Maquenne 33e774d078 refactor: simplify homeDir and appConfig usage 2025-06-23 20:58:08 -04:00
Mathis Maquenne a619b37922 feat(watcher): add macOS autostart support via launchd 2025-06-23 20:03:56 -04:00
Mathis Maquenne b19c92f227 feat: watch playlists and download newly added tracks 2025-06-22 17:35:16 -04:00
Mathis Maquenne 99bdc22a25 fix(cli): restrict --limit option to download artist command 2025-06-21 16:22:16 -04:00
Mathis Maquenne 67b4fe404e feat: download artist's top tracks with --limit flag 2025-06-20 20:00:59 -04:00
Mathis Maquenne 327d55cff5 fix: allow downloads without premium account 2025-06-16 16:36:14 -04:00
Mathis Maquenne ce1690137e fix: adjust stream timeout and filename spacing 2025-05-19 22:53:11 +02:00
Mathis Maquenne 68f22ce571 refactor: rework output directory handling 2025-05-19 15:38:18 +02:00