Commit Graph
6 Commits
Author SHA1 Message Date
Mrixs 923705c7fc Migrate to yandex-music-api-go v0.0.0-20261018120746-dbf9a46bb2e7
CI/CD / docker (push) Successful in 2m37s
CI/CD / test (push) Successful in 48s
CI/CD / build (push) Successful in 56s
Library now provides GetTrackDownloadURL (signed URL via XML download_info_url),
so ym-dl delegates to it instead of reimplementing XML parsing and MD5 signing.
Removed local DownloadTrackXML/DownloadInfoXML and unused crypto/md5, encoding/hex,
encoding/xml, io imports from client.go.

Track.Lyrics replaced by LyricsInfo (availability flags only, no text).
Lyrics text requires separate GetTrackLyrics + GetTrackLyricsText calls —
not implemented yet, lyrics field left empty.
2026-10-18 16:06:17 +03:00
Mrixs 5dcdd92d40 Update yandex-music-api-go and fix Artist.ID JSONID conversion
CI/CD / build (push) Successful in 1m0s
CI/CD / test (push) Successful in 47s
CI/CD / docker (push) Successful in 2m36s
Library updated to v0.0.0-20261018080126-dbb823ade349 which fixes:
- R128 field type changed from float64 to JSONR128 (accepts object or number)
- Artist.ID type changed from string to JSONID (accepts number or string)

Converted Artist.ID usages in storage.go to string() for assignments.
2026-10-18 11:14:39 +03:00
Mrixs 4e6bef40e3 Fix JSONID type conversions for yandex-music-api-go v0.0.0-20261018072517-d0173f795d2a
CI/CD / test (push) Successful in 48s
CI/CD / build (push) Successful in 54s
CI/CD / docker (push) Successful in 2m31s
The new library version uses models.JSONID (custom string type) for ID
fields instead of plain string. Convert to string where IDs are passed
to functions expecting string or compared with string values.

Affected: client.go (GetTrackInfoWithPosition), downloader.go
(track.ID usage), monitor.go (track.ID, album.ID usage), storage.go
(album/track ID assignment).
2026-10-18 10:39:43 +03:00
Mrixs c228e7e2b7 Update yandex-music-api-go library
CI/CD / test (push) Successful in 1m35s
CI/CD / build (push) Successful in 52s
CI/CD / docker (push) Canceled after 13s
Upgrade to v0.0.0-20261018055743-0456ca0665a6 which fixes the
page=0 validation bug in GetArtistTracks/GetArtistAlbums.

The library now returns *ArtistTracks/*ArtistAlbums wrappers
instead of raw slices, so the YandexClient wrapper extracts
the inner slices for backward compatibility.

Reverted page numbering back to 0 in monitor since the API
bug is fixed server-side/library-side.
2026-10-18 09:15:19 +03:00
Mrixs 6ec39da5da Fix SQLite driver for CGO_ENABLED=0 builds
CI/CD / test (push) Successful in 1m33s
CI/CD / docker (push) Successful in 2m30s
CI/CD / build (push) Successful in 1m13s
Replace github.com/mattn/go-sqlite3 (CGO required) with
modernc.org/sqlite (pure Go, works with CGO_ENABLED=0).
Binary built with CGO_ENABLED=0 in Dockerfile can now load
SQLite storage without cgo errors.
2026-10-18 00:52:58 +03:00
Mrixs fe62910311 Initial commit: ym-dl with yandex-music-api-go library migration
Migrate ym-dl from custom oapi-codegen Yandex Music API client to external
gitea.mrixs.me/Mrixs/yandex-music-api-go library with token-only authentication.

Key changes:
- Replace custom Yandex API client with yandexmusic library wrapper
- Token-based OAuth authentication only (no username/password fallback)
- SQLite storage index with JSON index migration path
- Extended ID3 tag support: genre, comment, lyrics, publisher, ISRC, copyright
- High-resolution album covers (1000x1000)
- Fixed album download check (requires all tracks, not just one)
2026-10-17 17:09:42 +03:00