This is a web source script for Deezer, a popular music streaming service.
It is particularly useful when looking to get information about the people involved in the music creation process of an album and its tracks, such as composers, lyricists, producers, engineers, and the like. Specifically, these are the tag fields parsed by the script:
Because I like to have the discnumber in the track too, I prefer tracknumber-formats like
101/11 (for the first track of the first disk),
201/11 (for the first track of the secornd disk)
Could you tell me how to change your script to achieve this? Otherwise I have to work over this manually after using the script.
Another point:
Would it be possible to display the number of tracks of an album in the overview where you choose the album?
Thanks for this great script. It is a pity that so many scripts are abandoned by their authors by some time (i.e. Spotify). So I am glad about every new script.
I'll take a look into it, but these minor modifications involving numbers are harder to implement than it sounds because of the limitations of the Web Sources Framework.
I understand you, as I also like tuning my scripts to my liking so their output follows my preferred tag fields structure, but creating a lot of scripts with these kind of minor changes makes future updates to the script a bit of a nightmare. The best way to go in these situations is an Action, you shouldn't have to do it manually.
Unfortunately, this is not possible as Deezer's search results web page doesn't include this information so the script can't parse it.
Unfortunately, this is not possible as Deezer doesn't provide the genre information for any album so the script can't parse it. It's not a script error.
I've marked the modified sections using comments starting with this string: ### Poster mod
As I told you, when these scripts have to deal with number formatting it's not as simple as a one-liner change . There are several changes scattered through the code.
Great work vikaesar
Just a quick request please, is it possible to add the following (so it matches more closely the tags you get on flac from deezer?):
ARTISTS
BARCODE
COPYRIGHT
EXPLICIT
LABEL
LENGTH
MEDIA
SOURCE
SOURCEID
Yes, I can write a modified version of the script to output some of those tags, which are commonly used with audio file formats using Vorbis comments for tagging purposes such as FLAC, instead of the ones currently used.
I don't know if Deezer provides all of them, though. What are SOURCE and SOURCEID used for? Also, why a LENGTH tag?
Can you give me an example that shows how they would be filled for a sample album?
################################################################################
# Mp3tag Tag Source for Deezer v1.0 #
# #
# Created by vikaesar #
# Modified by stevehero 2020.04.08 #
# #
# KNOWN ISSUES: Genre information can't be parsed as it is not provided #
# by Deezer. #
# #
# When parsing multi-disc albums with more than 20 discs #
# then the total tracks for every disc past the twentieth #
# one aren't parsed, so their %track% field won't follow #
# this pattern: "track number/total tracks", it will just #
# show the track number. #
# #
# INSTRUCTIONS: This file needs to be stored in Mp3tag's tag sources #
# directory: #
# %APPDATA%\Mp3tag\data\sources #
# #
# CHANGELOG #
# #
# [2019-05-25] v1.00 Initial release #
# [2020-04-08] v1.00a Artwork only 1200px #
################################################################################
[Name]=Deezer
[BasedOn]=www.deezer.com
[IndexUrl]=https://www.deezer.com/search/%s
[AlbumUrl]=https://www.deezer.com/en/album/
[WordSeparator]=%20
[IndexFormat]=%_url%|%Album%|%Artist%|%Year%
[SearchBy]=%Artist% %Album%
[Encoding]=url-utf-8
################################################################################
# LIST OF SEARCH RESULTS DIALOG #
################################################################################
[ParserScriptIndex]=...
## Comment/uncomment for debugging purposes:
# DebugWriteInput "C:\Users\your_username\Desktop\mp3tag-deezer-ws-index-debug.out.html"
# Debug "ON" "C:\Users\your_username\Desktop\mp3tag-deezer-ws-index-debug.txt"
FindLine "<script>window.__DZR_APP_STATE__"
RegexpReplace ".+<script>.+ = " ""
RegexpReplace "</script>.+</div>" ""
json "ON" "current"
## First, check if we've found anything
json_select_object "ALBUM"
json_select "count"
## Then iterate over all releases
ifnot "0"
json_foreach "data"
# URL
json_select "ALB_ID"
SayRest
Say "|"
# Album
json_select "ALB_TITLE"
SayRest
Say "|"
# Artist
json_select "ART_NAME"
SayRest
Say "|"
# Year
json_select "PHYSICAL_RELEASE_DATE"
SayRest
SayNewline
json_foreach_end
endif
################################################################################
# ADJUST TAG INFORMATION DIALOG #
################################################################################
[ParserScriptAlbum]=...
## Comment/uncomment for debugging purposes:
# DebugWriteInput "C:\Users\your_username\Desktop\mp3tag-deezer-ws-album-debug.out.html"
# Debug "ON" "C:\Users\your_username\Desktop\mp3tag-deezer-ws-album-debug.txt"
FindLine "<script>window.__DZR_APP_STATE__"
RegexpReplace ".+<script>.+ = " ""
RegexpReplace "</script>.*" ""
json "ON" "current"
## First, parse album data
json_select_object "DATA"
# Cover
OutputTo "COVERURL"
json_select "ALB_PICTURE"
Say "https://e-cdns-images.dzcdn.net/images/cover/"
SayRest
## You can choose the cover resolution here, up to 1200px x 1200px
Say "/1200x1200.jpg"
# Say "/512x512.jpg"
Been using MP3Tag for awhile now and just discovered that more sources can be added. I downloaded the above SRC and put it into the ~Mp3tag\data\sources~ folder but it is not showing up in my sources when i open a fresh process of the application. Am I doing something incorrectly or not doing everything completely? Thanks for your time.
I didn't look at the script just the source of a url. I searched for ISRC and there's nothing for it. Strange, how the script can get it. It must be under some other html tag.
You can use the set function to set all other tags written apart from the ISRC at the bottom. Or delete all other outputto functions below the [ParserScriptAlbum] part. You will probably need the title there too so can line the correct track up with the left side in the info tag panel.
The scripts will need a complete rewrite for searching for the tracks individually so the above is something as a workaround.