Beatport.com WSS by stevehero [Release, Single Track & Artwork tagging]


#321

how converting all my track, from 'beatport date' - YYYY-MM-DD to 'normal' - DD-MM-YYYY


#322

The principal proceedings are described in this thread:
/t/16471/1

If you ever want to sort by the date, you should leave it as it is. Because otherwise you get all tracks from the first of each month first, then the ones from the second and so on. Sorting by year, then by month and then by day does not work in the format DD-MM-YYYY.


#323

Hello, I'm new to this forum. First off thank you for allowing me to post my comments. Big thanks to stevehero for his amazing job. Regarding this I want to mention that I also encountered this problem with the musical key in the latest version of the scripts. Problem is I can not go back to the previous version. I accidently deleted it and can't recover it. Any chance of getting the previous version or maybe solving the issue with the musical keys, I'll appreciate it! Sorry if that's already fixed or if there is a way to fix it!

Regards!



#324

Hi,

I am getting following error with the beatport script. I am pretty sure the error is on my side, but I cannot figure it out. I get this with every release.
Can someone please help me?




#325

Hello stevehero, love the script thanks so much!!
I do however agree with bmfholland on the use of albumartist. I would like the option as he specifies below. Maybe bmfholland can share it with us? :slight_smile:

Obviously I would want to use VA for VA, but I don't want MIXARTISTS as part of ALBUMARTIST. :slight_smile:
http://classic.beatport.com/release/highlife-ep/169999 is a good example of errors in ALBUMARTIST.

Hopefully you can help.


#326

I don't have time to amend the script to other users needs at the minute. I'm sorry. Maybe some small fix here and there.

What you want is impossible to do anyway and the error is beatports in that link. My script has not got a brain of it's own unfortunately otherwise it would be working in beatport HQ sorting it out.

PS. Thanks for the comments
PPS. Sarcasm is just my current mood :stuck_out_tongue:


#327

no problem, I understand your point. :slight_smile:
Maybe bmfholland can help me figure out what needs to be changed!


#328

Well, I rewrote the whole script so I guess they don't merge very well. I just checked the HIGHLIFE EP with my own and it outputs like this:


#329

Could you please mail or pm me a link to your version to compare what it does differently?
Your output for ALBUMARTIST is what I seem to be searching for. :slight_smile:

I sadly can't send you a pm, my email is :smiley:


#330

Ok, I did some quick modifications on stevehero's v4.2#RELEASE Search by (Album)Artist + &Release.src script.

Comment out this section:

# ALBUMARTIST
#    outputto "ALBUMARTIST"
#    gotochar 1
#    findinline "larger block txt-uppercase\">" 1 1
#    if " VARIOUS ARTISTS"
#    say "VA"
#    outputto "COMPILATION"
#    say "1"
#    else
#    outputto "ALBUMARTIST"
#    findinline "alt=\"" -1 1
#    sayregexp "(?<=alt=\").+?(?= - )" "" "\" width"
#    outputto "COMPILATION"
#    say ""
#    endif

Then replace this section:

#
# ALBUM ARTIST
    outputto "ALBUM ARTIST"
    sayoutput "ALBUMARTIST"

With this new magic :slight_smile:

# ARTIST / ALBUMARTIST / VARIOUS ARTISTS
   outputto "ALBUMARTIST"
   gotoline 1
   findline "data-json" 1 1
   joinuntil "pageBottom clear"
   replace "\/" "/"
   replace "\\\\t" ""
   replace "&amp;" "&"
   replace "\\\\"\"" "'"
   regexpreplace "(?<=txt-grey\"> )(\d)(?!\d)" "0$1"
   regexpreplace "(?<=txt-grey\"> )(\d*)" "<<<###>>>"
   regexpreplace "\"id\":\d*,|\"slug\":\"[^,]*," ""
   regexpreplace "(?:(?<=\"artists\":\[\{\"name\":\")|(?<=\},\{\"name\":\"))([^\"]*)(?:(?=\",\"type\":\"artist\"))" "<<<$1,>>>"
   regexpreplace "(?:\A.*?<<<)|(?:>>>.*?<<<)|(?:>>.*(?!<<<))" ""
   regexpreplace "\###" "\r\n"
   regexpreplace "^(.*)(?:\r?\n|\r)(?=[\s\S]*^\1$)" ""
   regexpreplace ",$" "" 
   #replace "," ", "
   regexpreplace ",| & " ", "
   unspace
   regexpreplace "\r\n" "<>"
   findinline "<" 1 1
   ifnot ">"
     set "ARTIST"
     outputto "Artist"
     gotochar 1
     regexpreplace "\,(?=[^,]*$)" " &"
     sayrest
     outputto "ALBUMARTIST"
     say " "
   else
     replace ", " "<>"
     gotochar 1
     findinline "<" 3 1
     if ">"
       say "Various Artists"
       outputto "COMPILATION"
       say "1"
     else
       regexpreplace ", |<>" "\r\n"
       regexpreplace "^(.*)(?:\r?\n|\r)(?=[\s\S]*^\1$)" ""
       regexpreplace "\r\n" "<>"
       gotochar 1
       findinline "<" 2 1
       if ">"
         #[artists = 3 output: Artist1, Artist2 & Artist3]
         gotochar 1
         replace "<>" ", "
         regexpreplace "\,(?=[^,]*$)" " &"
         sayrest
       else
         #[artists = 2 output: Artist1 & Artist2]
         gotochar 1
         findinline "<" 1 1   
         if ">"
           gotochar 1
           replace "<>" ", "
           regexpreplace "\,(?=[^,]*$)" " &"      
           sayrest
         endif
       endif
     endif
   endif
   outputto "ALBUM ARTIST"
   sayoutput "ALBUMARTIST"

There is one little problem with this code. When there are to many artists on an album de regex engine overflows when trying to find unique artist entries. In that case ALBUMARTIST will contain value:

"Regular expression The complexity of matching the regular expression exceeded predefined bounds. Try refactoring the regular expression to make each choice made by the state machine unambiguous. This exception is thrown to prevent "eternal" matches that take an indefinite period time to locate.Various Artists"

I currently fix it with an "Action" that renames is to Various Artists. Havn't had time to clean up the code. Good luck


#331

Wow, thanks so much!!
I'm going to incorporate this straight away :smiley:


#332

I refactored your code a bit and changed some stuff.

There were a few issues for me I ran into with the old code.

  • If an artist has an & in the artist name already it gets edited out in the ID3 tag.
    For example Above & Beyond feat. Zoe Johnston -> Above, Beyond & Zoe Johnston or Chase & Status feat. George the Poet -> Chase, Status & George the Poet

Caveat is that it will use & multiple times in those instances:
Above & Beyond & Zoe Johnston
Chase & Status & George the Poet

  • I wanted to use the Various Artists-check made by stevehero

  • I wanted to get rid of the "Regular expression The complexity of matching the regular expression exceeded predefined bounds."-error.

  • I wanted to remove the part where you write " " to the ALBUMARTIST tag if you only use the ARTIST tag.

  • I removed the unique artist criteria because of the new Various Artists-check. It will handle more artists this way.

This is what I came up with, thanks for giving me the ideas stevehero & bmfholland.
As explained above by bmfholland comment out the first section and replace the second section with the code below.

# ARTIST / ALBUMARTIST / VARIOUS ARTISTS
    outputto "ALBUMARTIST"
    gotochar 1
    findinline "larger block txt-uppercase\">" 1 1
    if " VARIOUS ARTISTS"
      say "Various Artists"                      # You can change this to VA, V.A. or whatever you like
      outputto "COMPILATION"
      say "1"
    else
      gotoline 1
      findline "data-json" 1 1
      joinuntil "pageBottom clear"
      replace "\/" "/"
      replace "\\\\t" ""
      replace "&amp;" "&"
      replace "\\\\"\"" "'"
      regexpreplace "(?<=txt-grey\"> )(\d)(?!\d)" "0$1"
      regexpreplace "(?<=txt-grey\"> )(\d*)" "<<<###>>>"
      regexpreplace "\"id\":\d*,|\"slug\":\"[^,]*," ""
      regexpreplace "(?:(?<=\"artists\":\[\{\"name\":\")|(?<=\},\{\"name\":\"))([^\"]*)(?:(?=\",\"type\":\"artist\"))" "<<<$1,>>>"
      regexpreplace "(?:\A.*?<<<)|(?:>>>.*?<<<)|(?:>>.*(?!<<<))" ""
      regexpreplace "\###" "\r\n"
      regexpreplace "^(.*)(?:\r?\n|\r)(?=[\s\S]*^\1$)" ""
      regexpreplace ",$" ""
      #regexpreplace ",| & " ", "                # Removed the match for & to keep artists with & intact (Above & Beyond, Chase & Status).
      regexpreplace "," ", "                     # This regex instead for previous line.
      unspace
      regexpreplace "\r\n" "<>"
      findinline "<" 1 1
      ifnot ">"
        set "ARTIST"
        outputto "ARTIST"
        gotochar 1
        regexpreplace "(.*)," "$1 &"             # Comment this out if you dont want the last comma to be replaced with an &.
        sayrest
      else
        replace ", " "<>"
        gotochar 1
        regexpreplace ", |<>" "\r\n"
        regexpreplace "^(.*)(?:\r?\n|\r)(?=[\s\S]*^\1$)" ""
        regexpreplace "\r\n" "<>"
        gotochar 1
        replace "<>" ", "
        regexpreplace "(.*)," "$1 &"             # Comment this out if you dont want the last comma to be replaced with an &.
        sayrest
      endif
    endif
    outputto "ALBUM ARTIST"
    sayoutput "ALBUMARTIST"

Sometimes shitty tags still come through though. :slight_smile:
For example "Damian Lazarus & Damian Lazarus & The Ancient Moons"

Let me know what you think! :smiley:







#333

Hi Super,

It's great to see some improvements on the code. For me personally the Various Artists check in the new code is not enough, but it could be combined with the old code. If Beatports says is Various Artists it should output it (without complex regex matching). But there are releases where I would like to see Various Artists while Beatport uses 5 or more Artists, like this one: WTD 001 THE POWER OF CHOICE EP. The new code outputs it as: Train, Cordsen, Terawatt, Evar, Alessio Pesenti & Flaminia which is not what I want. It's all about personal preference I guess.


#334

I agree that anything above 5 artists seems a bit excessive to me as well. I think the code could easily be edited towards that end taking your old approach in mind. I will take another look at it. :slight_smile:

[edit]I took another look :slight_smile:[/edit]
I think the code should be more to your liking like this.

# ARTIST / ALBUMARTIST / VARIOUS ARTISTS
    outputto "ALBUMARTIST"
    gotochar 1
    findinline "larger block txt-uppercase\">" 1 1
    if " VARIOUS ARTISTS"
      say "Various Artists"                      # You can change this to VA, V.A. or whatever you like.
      outputto "COMPILATION"
      say "1"
    else
      gotoline 1
      findline "data-json" 1 1
      joinuntil "pageBottom clear"
      replace "\/" "/"
      replace "\\\\t" ""
      replace "&amp;" "&"
      replace "\\\\"\"" "'"
      regexpreplace "(?<=txt-grey\"> )(\d)(?!\d)" "0$1"
      regexpreplace "(?<=txt-grey\"> )(\d*)" "<<<###>>>"
      regexpreplace "\"id\":\d*,|\"slug\":\"[^,]*," ""
      regexpreplace "(?:(?<=\"artists\":\[\{\"name\":\")|(?<=\},\{\"name\":\"))([^\"]*)(?:(?=\",\"type\":\"artist\"))" "<<<$1,>>>"
      regexpreplace "(?:\A.*?<<<)|(?:>>>.*?<<<)|(?:>>.*(?!<<<))" ""
      regexpreplace "\###" "\r\n"
      regexpreplace "^(.*)(?:\r?\n|\r)(?=[\s\S]*^\1$)" ""
      regexpreplace ",$" ""
      #regexpreplace ",| & " ", "                # Removed the match for & to keep artists with & intact (Above & Beyond, Chase & Status).
      regexpreplace "," ", "                     # This regex instead for previous line.
      unspace
      regexpreplace "\r\n" "<>"
      findinline "<" 1 1
      ifnot ">"
        set "ARTIST"
        outputto "ARTIST"
        gotochar 1
        regexpreplace "(.*)," "$1 &"             # Comment this out if you dont want the last comma to be replaced with an &.
        sayrest
      else
        gotochar 1
        findinline "<" 4 1                       # Change 4 to the max number of artists before it should be a Various Artists release.
        if ">"
          say "Various Artists"                  # You can change this to VA, V.A. or whatever you like.
          outputto "COMPILATION"
          say "1"
        else
          replace ", " "<>"
          gotochar 1
          regexpreplace ", |<>" "\r\n"
          regexpreplace "^(.*)(?:\r?\n|\r)(?=[\s\S]*^\1$)" ""
          regexpreplace "\r\n" "<>"
          gotochar 1
          replace "<>" ", "
          regexpreplace "(.*)," "$1 &"           # Comment this out if you dont want the last comma to be replaced with an &.
          sayrest
        endif
      endif
    endif
    outputto "ALBUM ARTIST"
    sayoutput "ALBUMARTIST"

#335

Yes, that's more like it. The possibility of a regex error should now be reduced to a minimum. I still don't understand why it gives this error. I tested it with other applications and it just functions normally. Maybe the mp3tag developer can give more insight into why this happens. Anyway, enjoy your new script and thanks for the improvements you made :slight_smile:


#336

How do I delete the old labels and let only the steve?


#337

What do you mean by "old labels" and which steve do you want to "let"?

In the Menu Action>Actions you get a dialogue that lets you delete from the currently available actions
To delete a web source, look for the Mp3tag\data\sources folder and delete the unwanted scripts there.


#338

Thanks for this incredibly useful script! I love it!

There seems to be a small issue however, the INITIALKEY is not saved. Looking through the script I find that it is included. Doesn't this work (anymore)?


#339

The INITIALKEY definitely works here. :slight_smile:


#340

Look for line in script/s and make sure that

   set "INITIALKEY"

is like

#   set "INITIALKEY"