diff --git a/deemix/app/default.json b/deemix/app/default.json index 2c59d4d..51114d0 100644 --- a/deemix/app/default.json +++ b/deemix/app/default.json @@ -29,6 +29,7 @@ "coverImageTemplate": "cover", "saveArtworkArtist": false, "artistImageTemplate": "folder", + "PNGcovers": false, "multitagSeparator": "default", "dateFormat": "YMD", "savePlaylistAsCompilation": false, diff --git a/deemix/app/downloader.py b/deemix/app/downloader.py index 51bc4a0..d9a9275 100644 --- a/deemix/app/downloader.py +++ b/deemix/app/downloader.py @@ -253,14 +253,14 @@ def downloadTrackObj(trackAPI, settings, overwriteBitrate=False, extraTrack=None track['selectedFormat'] = format track['selectedFilesize'] = filesize track['album']['bitrate'] = format - track['album']['picUrl'] = "http://e-cdn-images.deezer.com/images/cover/{}/{}x{}-000000-80-0-0.jpg".format(track['album']['pic'], settings['embeddedArtworkSize'], settings['embeddedArtworkSize']) + track['album']['picUrl'] = "http://e-cdn-images.deezer.com/images/cover/{}/{}x{}-000000-80-0-0.{}".format(track['album']['pic'], settings['embeddedArtworkSize'], settings['embeddedArtworkSize'], 'png' if settings['PNGcovers'] else 'jpg') # Generate filename and filepath from metadata filename = generateFilename(track, trackAPI, settings) + extensions[track['selectedFormat']] (filepath, artistPath, coverPath, extrasPath) = generateFilepath(track, trackAPI, settings) # Download and cache coverart - track['album']['picPath'] = os.path.join(TEMPDIR, f"alb{track['album']['id']}_{settings['embeddedArtworkSize']}.jpg") + track['album']['picPath'] = os.path.join(TEMPDIR, f"alb{track['album']['id']}_{settings['embeddedArtworkSize']}.{'png' if settings['PNGcovers'] else 'jpg'}") if not os.path.isfile(track['album']['picPath']): with open(track['album']['picPath'], 'wb') as f: try: diff --git a/deemix/utils/taggers.py b/deemix/utils/taggers.py index c9ab758..9a9dd0c 100644 --- a/deemix/utils/taggers.py +++ b/deemix/utils/taggers.py @@ -56,7 +56,7 @@ def tagID3(stream, track, save): tag.add(TCOP(text=track['copyright'])) if save['cover'] and track['album']['picPath']: with open(track['album']['picPath'], 'rb') as f: - tag.add(APIC(3, 'image/jpeg', 3, data=f.read())) + tag.add(APIC(3, 'image/jpeg' if track['album']['picPath'].endswith('jpg') else 'image/png', 3, data=f.read())) tag.save(stream, v1=2, v2_version=3, v23_sep=None) @@ -114,7 +114,7 @@ def tagFLAC(stream, track, save): if save['cover'] and track['album']['picPath']: image = Picture() image.type = 3 - image.mime = 'image/jpeg' + image.mime = 'image/jpeg' if track['album']['picPath'].endswith('jpg') else 'image/png' with open(track['album']['picPath'], 'rb') as f: image.data = f.read() tag.add_picture(image)