Thanks @anton , Iโm gonna check it tomorrow and Iโll let you know how it works ![]()
PS: btw, itโs necesary to run both scripts everytime is needed to?
Thanks @anton , Iโm gonna check it tomorrow and Iโll let you know how it works ![]()
PS: btw, itโs necesary to run both scripts everytime is needed to?
Hey, good day/night
With latest changes that I made, you just need to run the setup once, and then just use run every time that you need to use the proxy.
Previous issues were tied to how one of the components was being configured and used in setup and run (respectively), so recent changes were aimed to fix that
Nonetheless, please let me know if you have any issues.
Regards.
Hi @anton, tomorrow Iโll be testing the scripts, Iโve been dealing with a massive crash and data loss in my computer (corrupted HDD
). Best regards!
Oh no! Thatโs awful mate
Iโm so sorry, and hope that you can recover most, if not all of lost data.
Luckily, I could fully recover all my data, only the OS partition was damaged so it was a close call. Anyway, Iโll have to buy an SSD to upgrade my 10-year HDD hahaha
I tried the new script, but it gave me this error:
I tried both with VPN and without VPN, and the result it was the same. Any clue?
Best regards.
A very close one indeedโฆ I know that youโve upgraded your old HDD (and almost as old as a couple that I have since at least 2007 / 2012 lol), but maybe you would like to consider get a 2nd HDD/SSD for your data (or backup). That strategy has saved me a couple of times heh
Ok, letโs go to the topic at hand
QQ: When running the proxy does it show a message that says:
Proxy MA with Playwright available at http://localhost:5000
or
Success! Preload completed in XXX seconds (XXX can be any number)?
I saw that message a couple of times when I ran MP3Tag and proxy wasnโt working (by whatever reason).
Hi again! Well, I made my tests. Using the cmd file the script finally worked, for some reason the python file it didnโt for me, but anyway:
โSearch by bandโ, โSearch by albumโ and โSearch band + albumโ scripts gave this error:
If this was reported earlier by you, my bad, it didnโt know.
In the other hand, the remaining scripts are working smooth and fine.
For me, this is a banger!
PS: is it a way for โcustomizeโ the script like the old one using the "setโ command like?
I detected a bug: the function โThis album on The metal archivesโ it redirects to a different page:
Hi,
Let me go issue by issue:
These are the โproxyโ versions (that have โ(Proxy)โ on their name), or the regular ones?
Could you please expand more about these? I am not quite following you at the moment (I blame how my day was at office lol).
Ah, the proxy version gave that error. At least for me, only 2 scripts are working.
The second issue, is just a recalling with a function present in the code of the older scripts, when you write SET โfieldโ to let out from the query that field. But Iโve digging in the code, and well, the same result it can achieved with deleting the โunwantedโ fields for the user.
The third issue is the link in the lower left aside with the โUtilsโ button: in the older script, that link redirects directly into the page album in MA; in the new script, it shows a page like the one I sent early in the screenshot.
Thatโs for the moment.
Ah, one more thing, the new script it doesnโt call a list with all the versions of the release, like the old โSearch by band + album (advanced)โ and โSearch by band + album (advanced by format)โ, maybe in a future release it can be added?
Thatโs for now, if I find something else, Iโll report it. And congratulations again, youโve made a great work with this upgraded version of an nearly 20-years script ![]()
Weird, Iโll check if not today, before Saturday (long weekend for me and Iโll be offline).
Maybe I am wrong, but I believe that maybe youโre thinking on โoutputto" and "sayrest" functions, as "SET" is/was only used while getting the Disc Number. Those are also used on Proxy versions, although logic if quite different with code in-between those two (thanks to JSON).
Ok, you got me with that one lol
Being honest, in all those years using MP3Tag (you can see when my first post here was, and go back a year or so lol) Iโve never noticed, nor used that link ![]()
But yeah, as far as I can tell, that link uses the source from where the data is coming from, and considering that data is coming from Proxy, thatโs what is being shown.
Honestly, I donโt know if that can be changed/configured, but I could take a look at it.
Thatโs something that Iโve in my mind/my goals since the beginning, but I want to make sure that current implementation works as expected before going into that task - specially since advanced search works a little bit different than the regular search.
Moreover, next weeks will be very annoying due to โend of yearโ activities on my workplace, as well holidays and what not, so I canโt compromise with having those scripts doneโฆ Yetโฆ Nonetheless, once I figure out whatโs going on with your case Iโll take a look at โadvanced searchโ scripts whenever I have a chance.
Thank you for the kind words, although I like to think that it has been a team effort (starting with dano, and including all of you)
nonetheless, I appreciate your words ![]()
I have created an extension to the Metal Archives web source to capture artist genres, along with some additional artist data.
The original script retrieves data from the album page, which prevents it from fetching the band's genre. This script scrapes the artist page directly to capture the genre along with other specific band details.
Captured Metadata
The following data points are scraped and saved to their own custom metadata fields:
METAL ARCHIVES GENRE
METAL ARCHIVES FORMED IN
METAL ARCHIVES STATUS
METAL ARCHIVES LOCATION
METAL ARCHIVES COUNTRY
METAL ARCHIVES THEMES
METAL ARCHIVES BAND URL
Configurable Settings
The script includes a built-in settings page to adjust the output format:
Keep era descriptions: Toggle historical era brackets in the genre list (e.g., '(early)', '(mid)').
Deduplicate genre list: Toggle the removal of repeating genres.
Genre Separator: Select the character used to separate multiple genres (Options: ; , /, /, , , \\).
Write dedicated band tags: Toggle writing the band info to the specific custom fields listed above.
Write band info to Comment tag: Toggle writing the Country, Location, Status, Formed In, and Themes directly into the standard Comment field.
Custom Genre Replacements
The script code includes a CUSTOM GENRE REPLACEMENTS section. The current replacements reflect my personal tagging preferences. You can add, edit, or remove these lines to match your own standards using the format replace "Original Text" "Replacement Text".
Let me know if anyone is interested in testing this or integrating it into the main script.
Script - Metallum Genres#S - Metallum Genres.src
# โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
#โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค W E B S O U R C E โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
#โ โฐโโโโฎ โขโโโโ ๎ฉฆ โโโโโข โญโโโโฏ โ
#โ โขโโโโโโโโขโโโโโโโโขโโโโโโโโข โ M P 3 T A G โ โขโโโโโโโโขโโโโโโโโขโโโโโโโโข โ
#โ โฐโโโโโโโโโโโโโโโโโโโโฏ โ
#โ โ
#โ โโโโ โโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโ โโโ โโโ โโโโโโโ โโโโ โ
#โ โโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโ โโโโโ โ
#โ โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โ
#โ โโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โ
#โ โโโ โโโ โโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โ
#โ โโโ โโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโ โโโ โโโ โ
#โ โโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
#โ โโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
#โ โโโ โโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโ โ
#โ โโโ โโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโ โ
#โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
#โ โโโโโโโ โโโโโโโโโโโ โโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
#โ โ
#โ https://github.com/deathrashed/mp3tag โ
#โ โ
#โ Native Metal Archives genre tagging script for Mp3tag โ
#โ โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข โ
#โ custom replacements โข deduplication โข era descriptions โข band info โข comment tags โ
#โ โ
#โ โญโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ
#โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค L A S T U P D A T E D โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
# โฐโโโโโโโโโโโโโกโโโโโโโโโโโโฏ
# July 18, 2026
# Mp3tag Web Source for Metal Archives band genres.
# Uses Metal Archives directly; no local server required.
[Name]=Metallum Genres
[BasedOn]=www.metal-archives.com
[IndexUrl]=https://www.metal-archives.com/search/ajax-band-search/?field=name&query=%s
[AlbumUrl]=
[WordSeperator]=+
[IndexFormat]=%_url%|%Artist%|%Genre%|%Metal Archives Country%
[SearchBy]=%artist%
[Encoding]=utf-8
[Settings]=Metallum Genres#Settingsโฆ.settings
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# INDEX PARSER
# - Searches Metal Archives for bands matching the artist name.
# - Returns: Band URL, Artist, Genre, Country
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
[ParserScriptIndex]=...
findline "<a href=\\\""
do
# Band URL
findinline "<a href=\\\""
sayuntil "\\\""
say "|"
# Artist
findinline "\\\">"
sayuntil "<"
say "|"
# Genre
moveline 1
replace "\"" ""
replace "," ""
IfVar "keepEraDescriptions" "false"
regexpreplace "\s*\([^)]*\)" ""
EndIf
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# ๎ซ CUSTOM GENRE REPLACEMENTS
# - Customize genre mappings by adding, editing, or removing "replace" lines below.
# - Format: replace "Original Text" "Replacement Text"
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
replace "Progressive Death/Thrash Metal" "Progressive Death/Thrash; Progressive Metal; Death Metal; Thrash Metal"
replace "Blackened Death/Thrash Metal" "Blackened Death/Thrash; Black Metal; Death Metal; Thrash Metal"
replace "Death/Thrash Metal" "Death/Thrash; Death Metal; Thrash Metal"
replace "Thrash/Death Metal" "Thrash/Death; Thrash Metal; Death Metal"
replace "Black/Death Metal" "Black/Death; Black Metal; Death Metal"
replace "Death/Black Metal" "Death/Black; Death Metal; Black Metal"
replace "Black/Thrash Metal" "Black/Thrash; Black Metal; Thrash Metal"
replace "Thrash/Black Metal" "Thrash/Black; Thrash Metal; Black Metal"
replace "Death/Doom Metal" "Death/Doom; Death Metal; Doom Metal"
replace "Doom/Death Metal" "Doom/Death; Doom Metal; Death Metal"
replace "Death/Grind Metal" "Deathgrind; Death Metal; Grindcore"
replace "Death/Grind" "Deathgrind; Death Metal; Grindcore"
replace "Grind/Death Metal" "Deathgrind; Grindcore; Death Metal"
replace "Grind/Death" "Deathgrind; Grindcore; Death Metal"
replace "Death Metal/Grindcore" "Deathgrind; Death Metal; Grindcore"
replace "Grindcore/Death Metal" "Deathgrind; Grindcore; Death Metal"
replace "Death/Hardcore" "Deathcore; Death Metal; Hardcore"
replace "Black/Grind" "Blackgrind; Black Metal; Grindcore"
replace "Heavy/Power Metal" "Heavy Metal; Power Metal"
replace "Power/Heavy Metal" "Power Metal; Heavy Metal"
replace "Heavy/Thrash Metal" "Heavy Metal; Thrash Metal"
replace "Thrash/Heavy Metal" "Thrash Metal; Heavy Metal"
replace "Speed/Thrash Metal" "Speed Metal; Thrash Metal"
replace "Thrash/Speed Metal" "Thrash Metal; Speed Metal"
replace "Raw Black Metal" "Black Metal"
replace "Epic Doom Metal" "Doom Metal"
replace "Avant-Garde" "Avantgarde"
replace "/" "; "
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# GENRE PROCESSING & DEDUPLICATION
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
IfVar "deduplicateGenres" "true"
regexpreplace "(?i)\b([^;]+);\s*\1\b" "$1"
regexpreplace "(?i)\b([^;]+);\s*([^;]+(;\s*[^;]+)*);\s*\1\b" "$1; $2"
regexpreplace "(?i)\b([^;]+);\s*\1\b" "$1"
regexpreplace "(?i)\b([^;]+);\s*([^;]+(;\s*[^;]+)*);\s*\1\b" "$1; $2"
regexpreplace "^\s*;\s*|\s*;\s*$" ""
regexpreplace "\s*;\s*" "; "
EndIf
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# GENRE SEPARATOR
# - Controls how multiple genres are joined in the output field.
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
IfVar "genreSeparator" "/"
replace "; " "/"
EndIf
IfVar "genreSeparator" " / "
replace "; " " / "
EndIf
IfVar "genreSeparator" ", "
replace "; " ", "
EndIf
IfVar "genreSeparator" "\\"
replace "; " "\\"
EndIf
sayrest
say "|"
# Country
moveline 1
replace "\"" ""
replace "," ""
sayrest
saynewline
findline "<a href=\\\"" 1 1
unspace
while "\"<a href" 500
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# ALBUM PARSER
# - Fetches the full band page for a selected result.
# - Returns: Artist, Genre, Composer, dedicated tags, Comment, Publisher
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
[ParserScriptAlbum]=...
findline "id=\"band_stats\""
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# ARTIST
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
outputto "Artist"
gotoline 1
findline "<h1 class=\"band_name\">"
regexpreplace "<[^>]+>" ""
sayrest
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# GENRE
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
outputto "Genre"
findline "<dt>Genre:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
IfVar "keepEraDescriptions" "false"
regexpreplace "\s*\([^)]*\)" ""
EndIf
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# CUSTOM GENRE REPLACEMENTS
# - Customize genre mappings by adding, editing, or removing "replace" lines below.
# - Format: replace "Original Text" "Replacement Text"
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
replace "Progressive Death/Thrash Metal" "Progressive Death/Thrash; Progressive Metal; Death Metal; Thrash Metal"
replace "Blackened Death/Thrash Metal" "Blackened Death/Thrash; Black Metal; Death Metal; Thrash Metal"
replace "Death/Thrash Metal" "Death/Thrash; Death Metal; Thrash Metal"
replace "Thrash/Death Metal" "Thrash/Death; Thrash Metal; Death Metal"
replace "Black/Death Metal" "Black/Death; Black Metal; Death Metal"
replace "Death/Black Metal" "Death/Black; Death Metal; Black Metal"
replace "Black/Thrash Metal" "Black/Thrash; Black Metal; Thrash Metal"
replace "Thrash/Black Metal" "Thrash/Black; Thrash Metal; Black Metal"
replace "Death/Doom Metal" "Death/Doom; Death Metal; Doom Metal"
replace "Doom/Death Metal" "Doom/Death; Doom Metal; Death Metal"
replace "Death/Grind Metal" "Deathgrind; Death Metal; Grindcore"
replace "Death/Grind" "Deathgrind; Death Metal; Grindcore"
replace "Grind/Death Metal" "Deathgrind; Grindcore; Death Metal"
replace "Grind/Death" "Deathgrind; Grindcore; Death Metal"
replace "Death Metal/Grindcore" "Deathgrind; Death Metal; Grindcore"
replace "Grindcore/Death Metal" "Deathgrind; Grindcore; Death Metal"
replace "Death/Hardcore" "Deathcore; Death Metal; Hardcore"
replace "Black/Grind" "Blackgrind; Black Metal; Grindcore"
replace "Heavy/Power Metal" "Heavy Metal; Power Metal"
replace "Power/Heavy Metal" "Power Metal; Heavy Metal"
replace "Heavy/Thrash Metal" "Heavy Metal; Thrash Metal"
replace "Thrash/Heavy Metal" "Thrash Metal; Heavy Metal"
replace "Speed/Thrash Metal" "Speed Metal; Thrash Metal"
replace "Thrash/Speed Metal" "Thrash Metal; Speed Metal"
replace "Raw Black Metal" "Black Metal"
replace "Epic Doom Metal" "Doom Metal"
replace "Avant-Garde" "Avantgarde"
replace "/" "; "
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# GENRE PROCESSING & DEDUPLICATION
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
regexpreplace "\s*;\s*" "; "
IfVar "deduplicateGenres" "true"
regexpreplace "(?i)\b([^;]+);\s*\1\b" "$1"
regexpreplace "(?i)\b([^;]+);\s*([^;]+(;\s*[^;]+)*);\s*\1\b" "$1; $2"
regexpreplace "(?i)\b([^;]+);\s*\1\b" "$1"
regexpreplace "(?i)\b([^;]+);\s*([^;]+(;\s*[^;]+)*);\s*\1\b" "$1; $2"
regexpreplace "^\s*;\s*|\s*;\s*$" ""
regexpreplace "\s*;\s*" "; "
EndIf
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# GENRE SEPARATOR
# - Controls how multiple genres are joined in the output field.
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
IfVar "genreSeparator" "/"
replace "; " "/"
EndIf
IfVar "genreSeparator" " / "
replace "; " " / "
EndIf
IfVar "genreSeparator" ", "
replace "; " ", "
EndIf
IfVar "genreSeparator" "\\"
replace "; " "\\"
EndIf
sayrest
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# COMPOSER (current lineup)
# - Writes "Name - Role" pairs separated by semicolons.
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# Current lineup -> Composer
outputto "Composer"
gotoline 1
findline "id=\"band_tab_members_current\"" 1 1
if "id=\"band_tab_members_current\""
findline "class=\"lineupRow\"" 1 1
do
findline "class=\"bold\"" 1 1
regexpreplace "<[^>]+>" ""
regexpreplace "\s+" " "
sayrest
say " - "
findline "<td>" 1 1
moveline 1 1
replace " " " "
regexpreplace "<[^>]+>" ""
regexpreplace "\s+" " "
sayrest
findline "class=\"lineupRow\"" 1 1
if "class=\"lineupRow\""
say "; "
endif
while "class=\"lineupRow\"" 20
endif
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# DEDICATED TAGS (Country, Location, Status, Formed, Themes, Band URL)
# - Toggle with "Write dedicated Metal Archives tags" in Settings.
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
IfVar "writeDedicatedTags" "true"
# Country
outputto "Metal Archives Country"
gotoline 1
findline "<dt>Country of origin:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
sayrest
# Location
outputto "Metal Archives Location"
gotoline 1
findline "<dt>Location:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
sayrest
# Status
outputto "Metal Archives Status"
gotoline 1
findline "<dt>Status:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
sayrest
# Formed in
outputto "Metal Archives Formed"
gotoline 1
findline "<dt>Formed in:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
sayrest
# Themes
outputto "Metal Archives Themes"
gotoline 1
findline "<dt>Themes:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
sayrest
# Band URL
outputto "METAL ARCHIVES BAND URL"
sayoutput "CurrentUrl"
EndIf
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# COMMENT FIELD
# - Toggle with "Write band info to Comment tag" in Settings.
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
IfVar "writeCommentField" "true"
outputto "Comment"
gotoline 1
findline "<dt>Country of origin:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
say "Country: "
sayrest
saynewline
findline "<dt>Location:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
say "Location: "
sayrest
saynewline
findline "<dt>Status:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
say "Status: "
sayrest
saynewline
findline "<dt>Formed in:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
say "Formed in: "
sayrest
saynewline
findline "<dt>Themes:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
say "Themes: "
sayrest
saynewline
say "Metal Archives Band URL: "
sayoutput "CurrentUrl"
EndIf
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# PUBLISHER (record label โ always written)
#โขโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโข
# Publisher (always write, standard tag)
outputto "Publisher"
gotoline 1
findline "label:</dt>"
moveline 1 1
regexpreplace "<[^>]+>" ""
sayrest
Settings - Metallum Genres#Settingsโฆ.settings
{
"key": "metallumgenres",
"title": "Metallum Genres Settings",
"settings": [
{
"type": "bool",
"key": "keepEraDescriptions",
"title": "Keep era descriptions (e.g. '(early)', '(mid)')",
"description": "If enabled, historical era brackets will be preserved in the genre list.",
"default": false
},
{
"type": "bool",
"key": "deduplicateGenres",
"title": "Deduplicate genre list",
"description": "Remove repeating genres from the list.",
"default": true
},
{
"type": "string",
"key": "genreSeparator",
"title": "Genre Separator",
"description": "Character used to separate multiple genres.",
"choices": [
"; ",
"/",
" / ",
", ",
"\\\\"
],
"default": "; "
},
{
"type": "bool",
"key": "writeCommentField",
"title": "Write band info to Comment tag",
"description": "Write Country, Location, Status, Formed In, and Themes into the Comment field.",
"default": true
},
{
"type": "bool",
"key": "writeDedicatedTags",
"title": "Write dedicated band tags",
"description": "Write Country, Location, Status, Formed In, and Themes into separate tags.",
"default": true
}
]
}
Hi!
Let me say that this is awesome! It's impressive and I really love how you structured/developed it.
I'll give a try, and specially I'll take a deep dive into the settings file as it is something that I am still don't know how it works.
That being said, life has been kinda unforgiving in the last year, so I don't think that I'll get back to you soon enough (maybe next week or so), but be sure that I'll come back with some doubts lol.
Once again that's a impressive piece of work, hats off, and thank you so much for such contribution to the community.
Best regards!
EDIT: Forgot to mention but I REALLY, REALLY LOVE the ASCII ART on it, it brings memories back from my learning days on MS-DOS