feat(dl): add metadata, lyrics, and cover art tagging

Introduce metadata handling for online downloads:
- Embed cover art and lyrics (synced/unsynced) into MP3 files
- Save cover art to album folders and .lrc lyric files as sidecars
- Fetch and parse album/track metadata and lyrics from Deezer API
- Add user settings for artwork and lyrics embedding, LRC export, and cover quality
- Refactor queue manager to run continuously in background
This commit is contained in:
2025-10-02 10:57:27 -04:00
parent d1edc8b7f7
commit 36c0bc7dc7
11 changed files with 568 additions and 15 deletions

View File

@@ -317,6 +317,16 @@ export class DeezerAPI {
}
}
// Get album data
async getAlbumData(albumId: string): Promise<any> {
return this.apiCall('album.getData', { alb_id: albumId });
}
// Get track lyrics
async getLyrics(trackId: string): Promise<any> {
return this.apiCall('song.getLyrics', { sng_id: trackId });
}
// Get track download URL
async getTrackDownloadUrl(trackToken: string, format: string, licenseToken: string, retryCount: number = 0): Promise<string | null> {
console.log('[DEBUG] Getting track download URL...', { trackToken, format, licenseToken });