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 |
|
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
|
c4329431b5
|
docs: update for v1.2.0
|
2025-08-18 11:20:29 +02:00 |
|
Mathis Maquenne
|
be40910480
|
chore(deps): update all dependencies
|
2025-08-18 10:49:42 +02:00 |
|
Mathis Maquenne
|
1813a16bb7
|
feat(cli): change default download quality from flac to mp3_320
|
2025-08-09 19:40:06 +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
|
fe3491e16d
|
chore(watcher): disable feature due to known DB concurrency issues
|
2025-08-06 18:18:17 +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
|
31d8a3b04f
|
feat(watch): add command to remove a playlist from the watch list
|
2025-06-22 17:51:17 -04:00 |
|
Mathis Maquenne
|
95c81a2a67
|
feat(watch): add command to list watched playlists
|
2025-06-22 17:47:54 -04:00 |
|
Mathis Maquenne
|
498f7c8d3f
|
feat(watch): add command to register a playlist to the watch list
|
2025-06-22 17:47:05 -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
|
0680d8c8e7
|
chore(deps): update golang.org/x/crypto and golang.org/x/net to patch security vulnerabilities
|
2025-06-20 20:07:51 -04:00 |
|
Mathis Maquenne
|
67b4fe404e
|
feat: download artist's top tracks with --limit flag
|
2025-06-20 20:00:59 -04:00 |
|
Mathis Maquenne
|
1fdd0e8c19
|
docs(readme): clarify quality limitation for free accounts
|
2025-06-16 16:47:00 -04:00 |
|
Mathis Maquenne
|
b4e00e9306
|
docs(changelog): update for v1.1.1
|
2025-06-16 16:44:42 -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
|
7daee4dab6
|
docs: add changelog
|
2025-05-19 17:12:22 +02:00 |
|
Mathis Maquenne
|
5951e13abe
|
chore(cli): update descriptions
|
2025-05-19 16:41:08 +02:00 |
|
Mathis Maquenne
|
56e3e894ab
|
docs: update README
|
2025-05-19 16:38:36 +02:00 |
|
Mathis Maquenne
|
68f22ce571
|
refactor: rework output directory handling
|
2025-05-19 15:38:18 +02:00 |
|
Mathis Maquenne
|
674eb99ffd
|
feat(cli): add bpm flag to enable BPM and key tagging
|
2025-05-19 14:24:22 +02:00 |
|
Mathis Maquenne
|
adfd71204d
|
refactor(cli): remove multi-download support for albums/playlists
|
2025-05-19 13:59:01 +02:00 |
|
Mathis Maquenne
|
e50395ae1d
|
refactor: change output file name
|
2025-05-19 13:41:25 +02:00 |
|
Mathis Maquenne
|
0a9e6c9a4d
|
refactor(cli): improve output display
|
2025-05-19 13:35:06 +02:00 |
|
Mathis Maquenne
|
5d18ab2088
|
fix(context): ignore cancellation errors triggered by user
|
2025-05-18 22:14:18 +02:00 |
|
Mathis Maquenne
|
ebfb312718
|
refactor(crypto): use IV as a constant
|
2025-05-07 20:57:12 +02:00 |
|
Mathis Maquenne
|
67af80403b
|
feat(cli): add timeout flag
|
2025-05-01 20:45:27 +02:00 |
|
Mathis Maquenne
|
0bae78a1ff
|
refactor: major project restructure
|
2025-05-01 20:30:56 +02:00 |
|
Mathis Maquenne
|
c74531b36c
|
perf: download music and retrieve data in parallel
|
2025-04-26 18:30:48 +02:00 |
|
Mathis Maquenne
|
917ac5f6c2
|
feat: retrieve modified file paths using hashes
|
2025-04-26 14:10:27 +02:00 |
|
Mathis Maquenne
|
6d3935c744
|
feat: delete file if download fails
|
2025-04-26 13:17:03 +02:00 |
|
Mathis Maquenne
|
f931cad746
|
feat: add local DB to save downloads
|
2025-04-26 13:09:59 +02:00 |
|
Mathis Maquenne
|
6675834842
|
refactor: change default output directory
|
2025-04-26 00:49:56 +02:00 |
|
Mathis Maquenne
|
7302685e34
|
feat(tags): differentiate between minor and major keys
|
2025-04-26 00:01:35 +02:00 |
|
Mathis Maquenne
|
ddc8240da8
|
refactor: use a better API to download playlists with more than 40 tracks
|
2025-04-26 00:01:27 +02:00 |
|
Mathis Maquenne
|
d0599f654e
|
feat(tags): add tempo and key
|
2025-04-26 00:01:19 +02:00 |
|
Mathis Maquenne
|
6b8b17aacb
|
refactor: update some stuff
|
2024-10-15 02:27:37 +02:00 |
|
Mathis Maquenne
|
2d136a9486
|
docs: add README
|
2024-10-15 01:55:26 +02:00 |
|
Mathis Maquenne
|
b3bc661888
|
chore: add MIT license
|
2024-10-14 23:55:41 +02:00 |
|
Mathis Maquenne
|
67107a5190
|
refactor(tags): use comma to join contributors
|
2024-10-14 16:40:49 +02:00 |
|
Mathis Maquenne
|
cc16b17b88
|
fix(media): handle some errors
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
6d660e3f51
|
feat(playlist): download private playlists with arl cookie
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
d38a2c4f7b
|
fix: replace forbidden chars in output file name
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
f247a0f71e
|
feat: download playlists
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
cfa53da6ae
|
feat(song): add FLAC tags
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
68f0b5c3e4
|
refactor: change output file name
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
38fd68a471
|
feat(song): add cover image
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
83ad1fd283
|
feat(song): add ID3v2 tags
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
7b67152fda
|
refactor: improve logs
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
ab9eaaf339
|
feat(cli): add quality flag
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
a1d7e3b560
|
feat(media): check if a source exists
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
d2a9d93577
|
feat(cli): add output flag
|
2024-10-14 16:22:44 +02:00 |
|
Mathis Maquenne
|
b49334a810
|
feat(cli): add config flag
|
2024-10-14 16:22:39 +02:00 |
|
Mathis Maquenne
|
05e7f56d4e
|
feat: add logs to download cmd
|
2024-10-14 16:21:29 +02:00 |
|
Mathis Maquenne
|
b700b6483c
|
feat(media): download and decrypt media
|
2024-10-14 16:21:21 +02:00 |
|
Mathis Maquenne
|
142dcfa30a
|
refactor: use methods instead of functions
|
2024-10-14 16:21:21 +02:00 |
|
Mathis Maquenne
|
ea9fcead7e
|
feat: update download cmd to use new functions
|
2024-10-14 16:21:13 +02:00 |
|
Mathis Maquenne
|
258671004f
|
feat(song): get media data
|
2024-10-09 17:13:57 +02:00 |
|
Mathis Maquenne
|
47ebaf143b
|
feat(album): get data by ID
|
2024-10-08 01:35:53 +02:00 |
|
Mathis Maquenne
|
4f82007a49
|
chore: init
|
2024-10-07 23:06:14 +02:00 |
|