Printable Version of Topic

Click here to view this topic in its original format

Mp3tag Forums _ Web Sources Scripts _ beatport.com scripts by stevehero (search & direct) - jaimz mod

Posted by: stevehero Oct 5 2011, 00:07

.

http://www.beatport.com

https://www.facebook.com/sharer.php?app_id=113869198637480&sdk=joey&u=http%3A%2F%2Fforums.mp3tag.de%2Findex.php%3Fshowtopic%3D14479&display=popup

**V4.2 OUT NOW**

12.02.16

 beatport_by_stevehero_v4.2_Scripts.zip ( 67.93K ) : 16265
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=V38UNH6MYLFWA


INFO PANELS + TAG EXAMPLES:


RELEASE PARSING: (http://www.beatport.com/release/hit-it!/1039677)
Use scripts for this type below:
- RELEASE Direct by BEATPORT_RELEASE_ID (SHORT-CUT ALT>S>S>B)
- RELEASE Direct by WWW(URL) (SHORT-CUT ALT>S>S>W)
- RELEASE Direct by WWW(URL) Without Genre + Comment Tag (SHORT-CUT NONE)
- RELEASE Search by Artist (SHORT-CUT ALT>S>S>A)
- RELEASE Search by (Album)Artist + Release (SHORT-CUT ALT>S>S>R)
- RELEASE Search by (Album)Artist + Title (SHORT-CUT ALT>S>S>T)
- RELEASE Search by Release (SHORT-CUT ALT>S>S>S)
- RELEASE Search by Title (SHORT-CUT ALT>S>S>E)

NB. These are for full releases only. Albums, EP's etc. Not single tracks on full releases.

SINGLE TRACK PARSING: (https://pro.beatport.com/track/hit-it!-original-mix/4144389)
Use scripts for this type below:
- SINGLE TRACK Direct by BEATPORT_TRACK_ID (SHORT-CUT NONE)
- SINGLE TRACK Direct by BEATPORT_TRACK_URL (SHORT-CUT NONE)
- SINGLE TRACK Direct by WWW(URL) (SHORT-CUT NONE)
- SINGLE TRACK Direct by WWW(URL) Without Genre + Comment Tag (SHORT-CUT NONE)
- SINGLE TRACK Search by (Album)Artist + Title (SHORT-CUT NONE)
- SINGLE TRACK Search by Title (SHORT-CUT NONE)

NB. Using these scripts to search a release will not work. To be used where you only download a song or songs from a particular release.

UPDATE HISTORY:
CODE
# v4.2
FIX: Problem with parsing the index URL (Thanks Florian: https://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=88315)
FIX: Problem ' Remix (Original Mix)'. http://btprt.dj/1HgeAs6
FIX: Problem on INITIALKEY on ( http://classic.beatport.com/release/treasured-soul-the-remixes/1520130 ) where name contained Amin.
FIX: WWW(URL) Scripts fix
FIX: When | (verticalbar) appeared in BPs listings
FIX: Minor fixes in formattings. EP,feat
# ---------------------------------------------------------------
# v4.3
FIX: BP Classic update: Various scripts that use the URL parsing method
FIX: BP Classic update: Camelot Key conversion wasn't working with the new beatport classic URL
# ----------
ADDED: 2 scripts with both Genre + Comment Tag not parsed from beatport, handy when retagging mp3's
FIX: Various other bugs: & to & | (( & )) to ( & )
FIX: Bug when COMPILATION was set
FIX: ALBUMARTIST field when they contain '-' (http://www.beatport.com/release/defjam/359225)
FIX: Small bug in index search UI when Remixer appeared 'Cedric Gervais ● x' is now just 'Cedric Gervais'
FIX: Small bug in index single track search when a "quote" appeared in the release
FIX: "(Origninal)" to "(OM)" bug fix when it appeared in a release
# ---------------------------------------------------------------
# for v3.1 downwards please read 'Beatport by &stevehero v4.0#Version History + Readme (View In Notepad ++).src'


HOW TO USE THE SCRIPTS: **PLEASE READ CAREFULLY**
1. Download the "beatport_by_stevehero_vX.X.zip" file & extract it to "%appdata%\mp3tag\data\sources" directory. See this http://bit.ly/nMIf7k for more info.

2. Click ▼ to have the choice of parsing beatport.com:
- RELEASE Direct by BEATPORT_RELEASE_ID (SHORT-CUT ALT>S>S>B)
- RELEASE Direct by WWW(URL) (SHORT-CUT ALT>S>S>W)
- RELEASE Search by Artist (SHORT-CUT ALT>S>S>A)
- RELEASE Search by (Album)Artist + Release (SHORT-CUT ALT>S>S>R)
- RELEASE Search by (Album)Artist + Title (SHORT-CUT ALT>S>S>T)
- RELEASE Search by Release (SHORT-CUT ALT>S>S>S)
- RELEASE Search by Title (SHORT-CUT ALT>S>S>E)
- SINGLE TRACK Direct by BEATPORT_TRACK_ID (SHORT-CUT NONE)
- SINGLE TRACK Direct by BEATPORT_TRACK_URL (SHORT-CUT NONE)
- SINGLE TRACK Direct by WWW(URL) (SHORT-CUT NONE)
- SINGLE TRACK Search by (Album)Artist + Title (SHORT-CUT NONE)
- SINGLE TRACK Search by Title (SHORT-CUT NONE)

2a. or Ctrl + I to use the same script as before.

WHAT IS OUTPUTTED WITH THE SCRIPT: **PLEASE READ CAREFULLY**
_TIME CHECK OUTPUTS length to this field as _LENGTH does not show when only one track in tag adjust window (See action in post)
ALBUM OUTPUTS release to album.
ALBUMARTIST OUTPUTS "VA" if beatport says so, which is 99% correct.
ALBUM ARTIST OUTPUTS ALBUMARTIST like above.
ALBUM [CATALOG #] APPENDS album/release with catalog no. to "ALBUM [CATALOG #]".
ARTIST OUTPUTS artist/s.
BEATPORT_ARTIST_URL OUTPUTS beatports URL of artist/s (This is a multi-field)
BEATPORT_ITEM_TYPE OUTPUTS beatports type (Track mostly)
BEATPORT_LABEL_URL OUTPUTS beatports URL of label.
BEATPORT_RELEASE_ID OUTPUTS ID of release you see at the end of the beatports url e.g. "438196".
BEATPORT_TRACK_ID OUTPUTS beatports track ID of each track.
BEATPORT_TRACK_URL OUTPUTS beatports track URL of each track.
BPM OUTPUTS bpm of each track.
CATALOG # OUTPUTS release catalog number.
COMMENT OUTPUTS INITIAL KEY field to it.
COMPILATION OUTPUTS "1" if ALBUMARTIST is 'VA'
COVERURL OUTPUTS release cover art @ 500x500px (if 500px cannot be found, it gets 60px version).
COUNTRY No longer available.
DATE OUTPUTS year to DATE in MMDD format.
DISCNUMBER USER DEFINED FIELD.
GENRE OUTPUTS genre and changes "Deep House" to "House Deep". (See options throughout scripts).
INITIAL KEY OUTPUTS key of each track.
^^^ TO CAMELOT NOTATION CHANGES values of INITIAL KEY to camelot notation . e.g. 'D#min' becomes '1A' (Delete between the headings if not needed)
ISRC No longer available.
MEDIATYPE USER DEFINED FIELD.
MIXARTIST OUTPUTS mixartist/s.
PUBLISHER OUTPUTS record label.
RELEASETIME OUTPUTS year to RELEASETIME in same format as whatever year is.
TRACK OUTPUTS track name/s.
TOTALDISKS USER DEFINED FIELD.
TOTALTRACKS OUTPUTS total amount of tracks on release.
TRACK / TOTALTRACKS OUTPUTS TRACK/TOTALTRACKS to TRACK.
UNSYNCEDLYRICS OUTPUTS release info you sometimes see under artwork e.g. "Time for another Fedde le Grand anthem!...".
WWW OUTPUTS url of release e.g. "www.beatport.com/release/so-much-love/438196".
YEAR OUTPUTS year in YYYY format.


DISABLING COMMANDS:
• See the .:: R E M O V E F I E L D S ::. section at bottom of scripts.

NOTES:
• Add these to your remove fields except action if you have one, to retain custom fields generated by this script: BEATPORT_LABEL_URL;BEATPORT_TRACK_ID;BEATPORT_TRACK_URL;BEATPORT_RELEASE_ID;BEAT
PORT_ARTIST_URL;BEATPORT_ITEM_TYPE


• Removed options for VA as beatports HTML pages now show whether this is so.

_LENGTH is now outputted to _LENGTH CHECK as _LENGTH does not appear when one track is been parsed (See action attached below to remove this field).

• I've tried to have all the options at the top of the script to enable you to modify them easier as the code is not spread out throughout the script but they are clearly label with OPTION. Please download notepad++ http://bit.ly/18i6E6B and use this stylesheet  steveheros_Mp3Tag_Web_Sources_Language_for_Notpad__.zip ( 1.27K ) : 17139
I've created to enable much easier viewing than in normal notepad.

• The only other sections you should be concerned with are both the .:: C U S T O M I Z A T I O N S T A R T S ::. + .:: R E M O V E F I E L D S ::. sections.

CODE
# .:: C U S T O M I Z A T I O N   S T A R T S ::.
# • You can add your own web source scripting here
# • ONLY disable the ALBUM [CATALOG #] here
# • Disable the other fields in the .:: R E M O V E    F I E L D S ::. section below
# • To disable place a "#" in front of each line of code between the headings. e.g.
# ALBUM [CATALOG #]
        # outputto "ALBUM"
        # say " ["
        # sayoutput "CATALOG #"
        # say "]"
        # COMMENT

# .:: R E M O V E    F I E L D S ::.
# • To remove fields from parsing delete the # in front of 'set'
# • Only use this section to remove fields


 beatport_by_stevehero_v4.0_Actions.zip ( 336bytes ) : 17426


A BIG THANK YOU.
To pone for his invaluable help and guidance throughout V1.0 and for the TRACK/TOTALTRACKS fix and to Jaimz for the original code which got me scripting and developing/coding it to where it is now.

LEGACY SCRIPT:  beatport_by_stevehero_v4.0_Scripts.zip ( 56.89K ) : 18708




YOU CAN THANK ME BY DONATING **ANY AMOUNT WILL BE APPRECIATED**


https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=V38UNH6MYLFWA
Also, please feel free to comment

Posted by: pone Oct 5 2011, 00:42

Nice to see the final version.
Good work!

Posted by: stevehero Oct 5 2011, 01:12

QUOTE (pone @ Oct 5 2011, 00:42) *
Nice to see the final version.
Good work!

Thanks pone. Means a lot to hear you say that. :]

Posted by: chodor Oct 11 2011, 21:26

Thanks a lot. Very useful and seems to work flawlessly!

Posted by: dumdidum Oct 17 2011, 18:24

hey,

i just registered to say thanks. great work! it blows my mind what can be done with the web sources scripts API.

Posted by: Stomper Oct 17 2011, 22:03

Any chance of this little beauty pulling the Key information of tracks? Is it offered in the api?

Posted by: stevehero Oct 17 2011, 23:42

EDIT
The script now offers BPM and INITIAL KEY parsing. See http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563.

Posted by: Papo Nov 8 2011, 02:52

For some reason, when I try to tag by URL, it says the following:

"Error connecting to server: http://api.beatport.com"

This is the URL of one of the songs I am trying to tag.

http://www.beatport.com/track/so-much-love-original-club-mix/2439233

Posted by: stevehero Nov 9 2011, 02:06

QUOTE (Papo @ Nov 8 2011, 01:52) *
For some reason, when I try to tag by URL, it says the following:

"Error connecting to server: http://api.beatport.com"

This is the URL of one of the songs I am trying to tag.

http://www.beatport.com/track/so-much-love-original-club-mix/2439233

Your error relates to using the wrong URL to parse beatport.com. Instead of using the track url use the release one such as http://www.beatport.com/release/so-much-love/438196 whereas track is like the url you posted relates to the individual track itself.

The script is not intended for individual tracks. The way I use it if there I have only one track from a release But in is to parse the album it relates too.

But in your case the track you are parsing is the only one on your realease.

Posted by: stevehero Nov 17 2011, 03:06

UPDATE VERSION 1.1 OF 'BEATPORT.COM SCRIPTS BY STEVEHERO'

1. added a search by title script.
2. added leading zeros to track and totaltracks.
3. added output of TRACK / TOTALTRACKS

See http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563 for update.

Posted by: aberger Nov 19 2011, 13:18

QUOTE (Papo @ Nov 8 2011, 02:52) *
For some reason, when I try to tag by URL, it says the following:
"Error connecting to server: http://api.beatport.com"


Had the same problem and could fix it by applying the following changes to the source-files:

Change the line with
[AlbumUrl]=http://api.beatport.com/catalog/releases/detail?v=1.0&format=xml&id=
to
[AlbumUrl]=http://api.beatport.com

and then change
regexpreplace ">\s+<" "><"
findinline "<release"

to
regexpreplace ">\s+<" "><"
say "/catalog/releases/detail?v=1.0&format=xml&id="
findinline "<release"


Hope this helps

adrian

Posted by: The Sheriff Dec 11 2011, 21:02

Firstly thanks stevehero, dano and pone for these fantastics scripts. I only discovered the web sources forum yesterday and I've been tagging using the scripts since.

Ok the problem I'm having is that I'm happy with the existing ARTIST fields of the releases I'm tagging using the Steve's beatport script so I've been trying to customise it slightly so that this field is skipped when it comes to tagging. Not having much look I'm afraid.

Firstly I tried commenting out, using #, the lines below but the script no longer works properly when I do this (attachment 1)

# ARTIST
findline "<performer"
unspace
joinuntil "</track>"
regexpreplace ">\s+<" "><"
regexpreplace "<performer ref=\"([^\"]+)\"[^>]+><name>([^\"]+)</name></performer>" "<$1>$2"
outputto "Artist"
sayregexp "(?<=<Artist>)[^<]+" "\\\\" "</track>"
say "|"
gotochar 1



I've also tried commenting out only the line that says...

outputto "Artist"


... but that doesn't work correctly either (attachment 2). The GENRE field gets muddled up for want of a better word!

It's as if the script requries the artist field to be written. Can anyone help me with this?

Cheers,
Pau.


 

Posted by: pone Dec 11 2011, 21:35

comment-out only the say... parts at the artist section:

QUELLTEXT
#sayregexp "(?<=<Artist>)[^<]+" "\\\\" "</track>"
#say "|"

that should work.


or simply set artist to zero at the end of the script. or almost at the end, but before the "track fix" section, if you get a strange output at track and title.
QUELLTEXT
set "artist"

Posted by: The Sheriff Dec 11 2011, 23:29

QUOTE (pone @ Dec 11 2011, 20:35) *
comment-out only the say... parts at the artist section:
CODE
#sayregexp "(?<=<Artist>)[^<]+" "\\\\" "</track>"
#say "|"

that should work.

or simply set artist to zero at the end of the script. or almost at the end, but before the "track fix" section, if you get a strange output at track and title.
CODE
set "artist"


Thanks pone, that works great. I've also been playing around with the script and made some changes to prevent other fields being written and it's working really well

CODE
set "albumartist"
set "album artist"


Maybe you can help me with the issue I'm having with the DATE field? It's read in the script in the format MMDD whereas all my other previously tagged files are in DDMM format. Pone you helped me with this in http://forums.mp3tag.de/index.php?showtopic=14796&view=findpost&p=59918 topic but I'm lost at how the regular expression you gave me would work otuside the main program and in a script.

Many thanks,
Paul








Posted by: pone Dec 12 2011, 00:26

ZITAT(The Sheriff @ Dec 11 2011, 23:29) *
Maybe you can help me with the issue I'm having with the DATE field? It's read in the script in the format MMDD whereas all my other previously tagged files are in DDMM format. Pone you helped me with this in http://forums.mp3tag.de/index.php?showtopic=14796&view=findpost&p=59918 topic but I'm lost at how the regular expression you gave me would work otuside the main program and in a script.


put this line
QUELLTEXT
regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$3-$2"

after
QUELLTEXT
findline "<dateReleased>"

at the DATE section.


or


change this
QUELLTEXT
indinline "-"
sayuntil "-"
findinline "-"
sayuntil "</"

into this
QUELLTEXT
findinline "-" 2
sayuntil "</"
findinline "-" -1
movechar -1
sayuntil "-"

at the DATE section



@ stevehero:
I hope you don't mind me messing up your script wink.gif

Posted by: stevehero Dec 12 2011, 00:33

QUOTE (The Sheriff @ Dec 11 2011, 22:29) *
Maybe you can help me with the issue I'm having with the DATE field? It's read in the script in the format MMDD......

To format the DATE in the format DDMM

Enter the following:
CODE
# DATE
outputto "date"
gotoline 1
findline "<dateReleased>"
findinline "<dateReleased>"
findinline "-"
findinline "-"
sayuntil "</"
gotochar 1
findline "<dateReleased>"
findinline "<dateReleased>"
findinline "-"
sayuntil "-"

Replacing:
CODE
# DATE
outputto "date"
gotoline 1
findline "<dateReleased>"
findinline "<dateReleased>"
findinline "-"
sayuntil "-"
findinline "-"
sayuntil "</"


**EDIT**
@pone, not one little bit :] Just seen you posted. Its a cleaner method but both things do the same @The Sheriff.

Posted by: The Sheriff Dec 12 2011, 01:43

QUOTE (pone @ Dec 11 2011, 23:26) *
put this line
CODE
regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$3-$2"

after
CODE
findline "<dateReleased>"

at the DATE section.


or


change this
CODE
indinline "-"
sayuntil "-"
findinline "-"
sayuntil "</"

into this
CODE
findinline "-" 2
sayuntil "</"
findinline "-" -1
movechar -1
sayuntil "-"

at the DATE section



@ stevehero:
I hope you don't mind me messing up your script wink.gif



pone, you are a genius. Thanks again.

Posted by: garves Jan 2 2012, 05:02

Beatport are now displaying the bpm and song Key info in the API..

Could you please add these tags into the next update of the script?

I've modified my .src files and I now get the bpm.
but I'm struggling with the song key info. (I'm new to this)

thanks



Posted by: stevehero Jan 2 2012, 10:55

QUOTE (garves @ Jan 2 2012, 04:02) *
Beatport are now displaying the bpm and song Key info in the API..

Could you please add these tags into the next update of the script?

I've modified my .src files and I now get the bpm.
but I'm struggling with the song key info. (I'm new to this)

thanks

I've taken a quick look on my phone there and its seems they do have it in the API smile.gif. This will be included in the next update of the script very soon as its the most requested feature from you guys.

Thanks for pointing that out garves.

Posted by: stevehero Jan 7 2012, 04:54

QUOTE (garves @ Jan 2 2012, 04:02) *
Beatport are now displaying the bpm and song Key info in the API..

Could you please add these tags into the next update of the script?...

I've been very busy (my apologies) so those looking for a quick fix to the BPM and INITIALKEY info. Heres goes.

The INITIALKEY tag is formatted as follows:
C Minor
C♯ Major
A♭ Minor

I have tested the special character '♭' in traktor and it shows up. Any problems for now just find where it says 'replace "1" "♭"' in the code below and change the '♭' to a 'b'.

BTW Any suggestions as to how you would like this formatted please let me know. OR maybe its fine the way it is :]

Just so I can update the next version to how you guys like it


Please place whats in italics between whats in bold in the script, like so:
# _LENGTH
outputto "_length"
findline "<trackLength>"
findinline ">"
sayuntil "</"
say "|"

# BPM
outputto "BPM"
findline "<trackBpm>"
findinline ">"
sayuntil "</"
say "|"
# KEY
outputto "InitialKey"
findline "<trackKey>"
# LETTER
moveline 2
findinline ">"
sayuntil "</"
# SHARP
moveline 1
replace "1" "♯"
findinline ">"
sayuntil "</"
# FLAT
moveline 1
replace "1" "♭"
findinline ">"
sayuntil "</"
# CHORD
moveline 1
replace "minor" "Minor"
replace "major" "Major"
findinline ">"
Say " "
sayuntil "</"
say "|"

# GENRE
outputto "Genre"
findline "<genre"

Posted by: garves Jan 8 2012, 09:10

Thanks stevehero, Key and Bpm are working great! biggrin.gif

Posted by: stevehero Jan 9 2012, 21:23

Uploaded now is the latest version of 'beatport by stevehero v1.2' scripts (see first post http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563 for full details)

Its includes the BPM and INITIALKEY fields all you you wanted. Along with an action to change the key to the Camelot notation found in the http://www.mixedinkey.com/ application. e.g. 'A♭ Minor' would be '1A'. This makes it much easier visually to see what tracks go with what. For all you DJs check the website on how to use this method of mixing.


Posted by: pinknoise Jan 26 2012, 07:00

Incredible update smile.gif

Registered to say thank you!

are you planning on eventually integrating the Camelot scale into the Main source script? I was trying to figure it out all day but couldn't figure out how to output the formated Key (A Minor) as a temporary value so that I could then run a couple replace actions (replace "A Minor" "8A") and then set that to the InitialKey

Any help would be appreciated!

Posted by: chriswike Jan 28 2012, 02:28

Damn stevehero, this last update made my favorite Script even better....

I purchased http://www.mixedinkey.com/ around a year ago and very quickly learned the importance of harmonic mixing. I stuck the Camelot wheel to the top of my controllers flight-case and after a few mixing sessions harmonic mixing was as natural as beat-matching. If there are any other DJ types here give it a shot, stevehero already did the hard part for you biggrin.gif


One Issue I'm having with the action script - the Camelot scale doesn't have a number for G# Minor, A# Minor, or C# Minor, like it does on the http://en.wikipedia.org/wiki/Circle_of_fifths, so when I use the action script on say, http://www.beatport.com/track/who-is-it-bladerunner-dirty-bass-remix/3136756 it doesn't change.

The correct way to label these on a Camelot wheel is:
A-sharp Minor = B-flat Minor (3A)
G-sharp Minor = A-flat Minor (1A)
C-sharp Minor = D-flat Minor (12A)

I had a look at the Action Script and it looks like I was able to fix it by adding these to it.

CODE
[#25]
T=2
F=INITIALKEY
1=A\u266f Minor
2=3A
3=0|0

[#26]
T=2
F=INITIALKEY
1=C\u266f Minor
2=12A
3=0|0


[#27]
T=5
F=COMMENT
1=%initialkey% - %comment%

[#28]
T=4
F=COMMENT
1=^\\s+-\\s+$|\\s+-\\s+$|\\s+-\\s+\\d{1,2}[A-B]\\s+-\\s+$|\\s+-\\s+\\d{1,2}[A-B]$|^(\\d{1,2}[A-B]\\s+-\\s+)\\d{1,2}[A-B]\\s+-\\s+(\\d{1})
2=$1$2
3=0


I attached my fixed action script as well.

Again, thanks a ton for this awesome script!

 Key_to_Camelot_Notation.zip ( 558bytes ) : 693
 

Posted by: stevehero Feb 1 2012, 04:12

QUOTE (pinknoise @ Jan 26 2012, 06:00) *
Incredible update smile.gif

Registered to say thank you!

are you planning on eventually integrating the Camelot scale into the Main source script? I was trying to figure it out all day but couldn't figure out how to output the formated Key (A Minor) as a temporary value so that I could then run a couple replace actions (replace "A Minor" "8A") and then set that to the InitialKey....

Thank you 'pinknoise'. I am in the process of doing so. :]

But I need a little help first.

What I have is a list of replaces below in the test script.
CODE
# INITIAL KEY TO CAMELOT NOTATION # DO NOT CHANGE VALUES OR DELETE BETWEEN THESE LINES IF NOT NEEDED #
    replace "A♭ Minor" "1A"
    replace "E♭ Minor" "2A"
    replace "B♭ Minor" "3A"
    replace "F Minor" "4A"
    replace "C Minor" "5A"
    replace "G Minor" "6A"
    replace "D Minor" "7A"
    replace "A Minor" "8A"
    replace "E Minor" "9A"
    replace "B Minor" "10A"
    replace "F# Minor" "11A"
    replace "D♭ Minor" "12A"
    replace "B Major" "1B"
    replace "F# Major" "2B"
    replace "D♭ Major" "3B"
    replace "A♭ Major" "4B"
    replace "E♭ Major" "5B"
    replace "B♭ Major" "6B"
    replace "F Major" "7B"
    replace "C Major" "8B"
    replace "G Major" "9B"
    replace "D Major" "10B"
    replace "A Major" "11B"
    replace "E Major" "12B"
### MISSING CAMELOT SCALES ###
    replace "G# Minor" "1A"
    replace "A# Minor" "3A"
    replace "C# Minor" "12A"
# INITIAL KEY TO CAMELOT NOTATION # DO NOT CHANGE VALUES OR DELETE BETWEEN THESE LINES IF NOT NEEDED #

What I need is all the remaining Camelot notations to match the missing scales. So.....
QUOTE (chriswike @ Jan 28 2012, 01:28) *
Damn stevehero, this last update made my favourite Script even better....

One Issue I'm having with the action script - the Camelot scale doesn't have a number for G# Minor, A# Minor, or C# Minor, like it does on the http://en.wikipedia.org/wiki/Circle_of_fifths, so when I use the action script on say, http://www.beatport.com/track/who-is-it-bladerunner-dirty-bass-remix/3136756 it doesn't change.

The correct way to label these on a Camelot wheel is:
A-sharp Minor = B-flat Minor (3A)
G-sharp Minor = A-flat Minor (1A)
C-sharp Minor = D-flat Minor (12A)

Thanks 'chriswike' for pointing that out. I had already noticed that but not gotten round to modifying the action which will no longer be needed once I have the script finished. I have everything working.

I just need to find out:
How you came about these values?
The other values I have noticed missing such as 'D# Minor'?
Are there other values that I should be aware of that are missing?

Posted by: DetlevD Feb 1 2012, 05:35

QUOTE (stevehero @ Feb 1 2012, 04:12) *
... I just need to find out:
How you came about these values? The other values I have noticed missing such as 'D# Minor'?
Are there other values that I should be aware of that are missing?

It sounds that You have to learn some basics of musical theory.
There are many sources to hear and read about, e. g. school lessons and ... wikipedia.

The sharp version ...
http://de.wikipedia.org/wiki/Quintenzirkel
http://en.wikipedia.org/wiki/Circle_of_fifths
Especially understand "Relation with chromatic scale" and "Enharmonics".

The flat version ...
http://www.musicians-place.de/harmonielehre/kurs-1/der-quintenzirkel.html
http://www.musicians-place.com/harmonics/course-1/the-circle-of-fifths.html

DD.20120201.0535.CET

Posted by: chriswike Feb 1 2012, 13:02

QUOTE (stevehero @ Feb 1 2012, 04:12) *
I just need to find out:
How you came about these values?
The other values I have noticed missing such as 'D# Minor'?
Are there other values that I should be aware of that are missing?

CODE
Major
1B      B/H        
2B      F#      
3B      D♭/C#    
4B      A♭/G#      
5B      E♭/D#    
6B      B♭/A#    
7B      F          
8B      C              
9B      G          
10B     D          
11B     A          
12B     E      

Minor
1A      a♭/g#
2A      e♭/d#  
3A      b♭/a#
4A      f
5A      c    
6A      g
7A      d  
8A      a
9A      e  
10A     b/h
11A     f#  
12A     d♭/c#



Basically, notes that sound the same are written differently because they have a different function beyond just sound.

http://en.wikipedia.org/wiki/Enharmonic_change

That should explain some

Please ask any questions you have about

Posted by: stevehero Feb 1 2012, 21:31

QUOTE (DetlevD @ Feb 1 2012, 04:35) *
It sounds that You have to learn some basics of musical theory.
There are many sources to hear and read about, e. g. school lessons and ... wikipedia.

The sharp version ...
http://de.wikipedia.org/wiki/Quintenzirkel
http://en.wikipedia.org/wiki/Circle_of_fifths
Especially understand "Relation with chromatic scale" and "Enharmonics".

The flat version ...
http://www.musicians-place.de/harmonielehre/kurs-1/der-quintenzirkel.html
http://www.musicians-place.com/harmonics/course-1/the-circle-of-fifths.html

DD.20120201.0535.CET

Thanks DetlevD, I have studied music production, only for a 13 weeks on a 1 week basis. Maybe I was asleep during the Music Theory class :] only joking. I got it now its basically the fact that there not listed on the Mixedinkey wheel which threw me slightly.

An example of a beatport lists a track as been in the key
D♯ Minor (Harmonic Scale) = E♭ Minor (Harmonic Scale) = 2A (Camelot Notation)

Its the same root key. Different function. Different name. Its all coming back to me now.

Here is the list I have below in the script (Should be finished tonight 01.02.2012):
replace "A♭ Minor" "1A"
replace "G♯ Minor" "1A" # SAME KEY #
replace "E♭ Minor" "2A"
replace "D♯ Minor" "2A" # SAME KEY #
replace "B♭ Minor" "3A"
replace "A♯ Minor" "3A" # SAME KEY #
replace "F Minor" "4A"
replace "C Minor" "5A"
replace "G Minor" "6A"
replace "D Minor" "7A"
replace "A Minor" "8A"
replace "E Minor" "9A"
replace "B Minor" "10A"
replace "F♯ Minor" "11A"
replace "D♭ Minor" "12A"
replace "C♯ Minor" "12A" # SAME KEY #
replace "B Major" "1B"
replace "F♯ Major" "2B"
replace "D♭ Major" "3B"
replace "C♯ Major" "3B" # SAME KEY #
replace "A♭ Major" "4B"
replace "G♯ Major" "4B" # SAME KEY #
replace "E♭ Major" "5B"
replace "D♯ Major" "5B" # SAME KEY #
replace "B♭ Major" "6B"
replace "A♯ Major" "6B" # SAME KEY #
replace "F Major" "7B"
replace "C Major" "8B"
replace "G Major" "9B"
replace "D Major" "10B"
replace "A Major" "11B"
replace "E Major" "12B"

Posted by: stevehero Feb 1 2012, 21:37

QUOTE (chriswike @ Feb 1 2012, 12:02) *
Basically, notes that sound the same are written differently because they have a different function beyond just sound.

http://en.wikipedia.org/wiki/Enharmonic_change

That should explain some

Please ask any questions you have about

I think my mind had brain freeze. I have studied Electronic music Production. Problem solved. Thanks for your help.

Posted by: lalaland Feb 2 2012, 20:24

QUOTE (stevehero @ Oct 5 2011, 00:07) *
V1.3
ADDED: camelot notation change to INITIAL KEY field. e.g. 'G♯ Minor' becomes '1A'.

Great job, thank you! w00t.gif
But i dont see download link...

Posted by: stevehero Feb 2 2012, 23:38

QUOTE (lalaland @ Feb 2 2012, 19:24) *
Great job, thank you! w00t.gif
But i dont see download link...

Thank you. Link is now available in the starting post http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

Posted by: bmfholland Feb 6 2012, 21:47

Wow, amazing script!

many thanks stevehero w00t.gif

Posted by: stevehero Apr 12 2012, 00:51

v2.0 NOW HERE >>>> http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

Single track parsing of beatport.com

It will grab info much the same as my previous version for releases. See example track page here:
http://www.beatport.com/track/funky-vodka-original-mix/3289193

It will enable single track parsing with:
- SINGLE TRACK Direct by BEATPORT_TRACK_ID
- SINGLE TRACK Direct by WWW(URL)
- SINGLE TRACK Search by (Album)Artist + Title
- SINGLE TRACK Search by Title

Posted by: stevehero May 1 2012, 02:14

Download 'beatport_by_stevehero_v2.0' at http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563.

Posted by: Purpleasbestos May 3 2012, 17:30

thank you for the excellent script! I've been using a couple other ones but nothing works as well for my d&b collection smile.gif

I've been trying to remove the total tracks after the track number and can't seem to figure it out...so I am getting:

Track:
01/04
02/04
03/04
04/04

where I am trying to remove the 04 from each track number, but I have tried adding the # in front of the totaltrack's output and also removing the # at the bottom of the script from the totaltracks, but can't seem to get rid of it without removing the 0's from the front of the number of the single tracks, so the best i can get is

1
2
3
4

but I want to keep the 0's in front of the single tracks...

Hope this makes since...
You've made it so much easier to catalog my music smile.gif Thank you

Posted by: stevehero May 3 2012, 18:53

QUOTE (Purpleasbestos @ May 3 2012, 17:30) *
where I am trying to remove the 04 from each track number, but I have tried adding the # in front of the totaltrack's output and also removing the # at the bottom of the script from the totaltracks, but can't seem to get rid of it without removing the 0's from the front of the number of the single tracks.


If you want TRACK to be 01, 02, 03 etc

See code after # TOTALTRACKS (Delete the lines that are strikedthrough)
# TOTALTRACKS
outputto "totaltracks"
sayregexp "(\d+)$"
# TRACK / TOTALTRACKS
outputto "beatport stevehero track / totaltracks temp"
sayuntil "|"
say "/"
sayregexp "(\d+)$"
if "|"
do
say "|"
movechar 1
sayuntil "|"
say "/"
sayregexp "(\d+)$"
while "|"
endif
unspace
sayregexp "(\d+)$"
say "|"

# TRACK
outputto "beatport stevehero track temp"
sayrest
say "|"
# TRACK FIX: TRACK
outputto "Title"
sayoutput "Tracks"
outputto "Track"
sayoutput "beatport stevehero track temp"
set "beatport stevehero track temp"


If you want to remove the
TOTALTRACKS output simply block out the lines here like:
# TOTALTRACKS
# outputto "totaltracks"
# sayregexp "(\d+)$"

Posted by: stevehero May 8 2012, 15:37

New version up. Problem with release below where there was no track key. Thanks to Pone for spotting it.

V2.1
FIXED: Releases with missing keys (see example http://www.beatport.com/release/you-know-what-its-like/892120%29.

SEE STARTING POST http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

Posted by: lalaland May 10 2012, 18:56

Hello stevehero, thanks again for excellent add on. I have suggestion: can you make the settings like R E M O V E F I E L D S will be global to all scripts (ie. in external file)?

Posted by: stevehero May 10 2012, 20:31

QUOTE (lalaland @ May 10 2012, 18:56) *
Hello stevehero, thanks again for excellent add on. I have suggestion: can you make the settings like R E M O V E F I E L D S will be global to all scripts (ie. in external file)?

You mean like Pones External settings?

My knowledge of doing such a task isn't quite there yet and I think I probably won't end up doing such settings because I think the script works fine without them.

The best I can do is point you in the direction of a very usefull freeware app notepad++. It's like notedpad, but better.

Steps in changing settings quick:
1. Download & Install notepad++ http://notepad-plus-plus.org/news/notepad-6.1-release.html
2. Open all my scripts at the same time.
3. Highlight the line for example '# set "catalog #"'
4. Hit Ctrl+H
5. Type in the 'Replace box' ' set "catalog #"'
6. Click 'Replace All in All Opened Documents'

This will deactivate ALL the CATALOG # fields if you want.

Posted by: lalaland May 12 2012, 19:00

QUOTE (stevehero @ May 10 2012, 21:31) *
[...]

That is okay for me, thanks for tip.

Also, I found a little problem: if genre consist of two words it is stored in tag inversely (ie. "Tech House" becomes "House Tech".

Posted by: stevehero May 12 2012, 20:41

QUOTE (lalaland @ May 12 2012, 19:00) *
That is okay for me, thanks for tip.

Also, I found a little problem: if genre consist of two words it is stored in tag inversely (ie. "Tech House" becomes "House Tech".

That's fully intentional. I prefer it that way because I can have all my housey genres easily sortable within any music software.

But for your needs delete all the replace functions which are striked-through:
# GENRE
outputto "Genre"
findline "</label>" 1 1
moveline 1
unspace
if "<genre "
joinuntil "</genre>"
replace "Deep House" "House Deep"
replace "Electro House" "House Electro"
replace "Minimal" "House Minimal"
replace "Progressive House" "House Prog"
replace "Tech House" "House Tech"
replace "Vocal House" "House Vocal"

findinline "<name>"
sayuntil "</"
endif
say "|"

Posted by: lalaland May 13 2012, 09:59

QUOTE (stevehero @ May 12 2012, 21:41) *
That's fully intentional. I prefer it that way because I can have all my housey genres easily sortable within any music software.
[...]

Oh, I see. Thanks for solution!

Posted by: The Zyc May 23 2012, 20:13

Hello Stevehero...

at first, big thanks for you and a huge praise for the script.

so far I have edited my collection with the discogsscript and changed it for my taste

i had merged the LABEL (First Information) and CATALOG (second information) in the column "CONTENTGROUP" with square brackets

Example: [Strictly Rhythms / STRV06D]

I had trying to change it but unfortunately without success

Please can you help me?

Sorry for my bad english...

Posted by: stevehero May 24 2012, 01:55

QUOTE (The Zyc @ May 23 2012, 20:13) *
at first, big thanks for you and a huge praise for the script...

i had merged the LABEL (First Information) and CATALOG (second information) in the column "CONTENTGROUP" with square brackets

Example: [Strictly Rhythms / STRV06D]

Thank you for your kind words. I can understand your needs okay. Make sure you place the code below between the headings below in the script while keeping the existing lines of code.

CODE
#        .:: C U S T O M I Z A T I O N    S T A R T S ::.        #
# CONTENTGROUP
    outputto "Contentgroup"
    say "["
    sayoutput "publisher"
    say " / "
    sayoutput "catalog #"
    say "]"
#        .:: C U S T O M I Z A T I O N    E N D S ::.            #

You should find this section towards the bottom of the script.

Posted by: The Zyc Jun 3 2012, 13:21

Oh... Thank you, it works, thats perfekt wink.gif

Posted by: mate Jul 18 2012, 21:45

Great script!

I guess I found a little bug: On Beatport the Genre is "Tech House" - but with your script it becomes "House Tech" ... bug or feature?

Posted by: stevehero Jul 19 2012, 00:45

QUOTE (mate @ Jul 18 2012, 21:45) *
Great script!
bug or feature?

Thanks. Feature. I find it much easier to group all the House Genres together. Thats why the House comes before the sub-genre. Makes sense to me anyway. But to change it open all the scripts and find where it says in the script. (Both Release and Single Track Scripts)

joinuntil "</genre>"
replace "Deep House" "House Deep"
replace "Electro House" "House Electro"
replace "Minimal" "House Minimal"
replace "Progressive House" "House Prog"
replace "Tech House" "House Tech"
replace "Vocal House" "House Vocal"

findinline "<name>"
sayuntil "</"
endif
say "|"


Remove the strikeout words from your scripts and your good to go to what beatport displays its genres as.

Posted by: mate Jul 20 2012, 11:04

QUOTE (stevehero @ Jul 19 2012, 00:45) *
Thanks. Feature. I find it much easier to group all the House Genres together.

Never thought about this. Great feature! Thanks

Posted by: djSMIRK Aug 29 2012, 04:48

I can't believe it took me this long to find this script. Its fan-freaking-tastic.

However, I'm noticing a little problem. I have edited the TRACK section because I like having "xxx featuring yyy" to be "xxx ft yyy", but I have noticed that it disregards this config and uses what it pulls from beatport

CODE
# TRACK
outputto "title"
gotoline 1
findline "<name>"
regexpreplace "Feat\s+" "Ft " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
regexpreplace "Feat.\s+" "Ft " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
findinline ">"
sayuntil "</"


What can I do?

Posted by: stevehero Aug 29 2012, 10:05

QUOTE (djSMIRK @ Aug 29 2012, 04:48) *
I can't believe it took me this long to find this script. Its fan-freaking-tastic.

However, I'm noticing a little problem. I have edited the TRACK section because I like having "xxx featuring yyy" to be "xxx ft yyy", but I have noticed that it disregards this config and uses what it pulls from beatport

CODE
# TRACK
outputto "title"
gotoline 1
findline "<name>"
regexpreplace "Feat\s+" "Ft " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
regexpreplace "Feat.\s+" "Ft " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
findinline ">"
sayuntil "</"


What can I do?
You have tampered with the workings of the script because the %title% should be outputted to "tracks". See the examples below of how the #RELEASE version of the script should look with a few small additions to it since my last update (have not uploaded this version yet) as regards the regexpreplaces. What you need to do is copy what is in bold to the script between the same text shown and it should work fine.

_______________________________________________________
set "albumartist", "VA" # CHANGE "VA" TO YOUR LIKING
outputto "compilation" # COMPILATION "1" IF "VA"
say "1"
endif
endif
replace "|" "/"

# TRACKS
findline "<track"
do
outputto "tracks"
findline "<name>"
regexpreplace "ft.\s+" "ft "
regexpreplace "Ft.\s+" "ft "
regexpreplace "Feat\s+" "ft "
regexpreplace "Feat.\s+" "ft "
regexpreplace "\((feat\.\s+.+)\)" "$1"
regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"
findinline ">"
sayuntil "</"

# MIXNAME
findline "<mixName>"

Posted by: djSMIRK Aug 30 2012, 03:12

QUOTE (stevehero @ Aug 29 2012, 05:05) *
You have tampered with the workings of the script because the %title% should be outputted to "tracks". See the examples below of how the #RELEASE version of the script should look with a few small additions to it since my last update (have not uploaded this version yet) as regards the regexpreplaces. What you need to do is copy what is in bold to the script between the same text shown and it should work fine.

_______________________________________________________
set "albumartist", "VA" # CHANGE "VA" TO YOUR LIKING
outputto "compilation" # COMPILATION "1" IF "VA"
say "1"
endif
endif
replace "|" "/"

# TRACKS
findline "<track"
do
outputto "tracks"
findline "<name>"
regexpreplace "ft.\s+" "ft "
regexpreplace "Ft.\s+" "ft "
regexpreplace "Feat\s+" "ft "
regexpreplace "Feat.\s+" "ft "
regexpreplace "\((feat\.\s+.+)\)" "$1"
regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"
findinline ">"
sayuntil "</"

# MIXNAME
findline "<mixName>"


Hi stevehero, thanks for the reply. I don't want to be "that guy" but I didn't tamper with the code. What I posted is your original code. I only changed these lines

CODE
regexpreplace "Feat\s+" "Ft " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
regexpreplace "Feat.\s+" "Ft " # FORMAT THE WAY YOU WANT feat. TO DISPLAY


And just to make sure I'm not making an ass of myself, I just re-downloaded the v2.1 ZIP package and here is the section of code in its original form (this is in "Beatport by &stevehero#SINGLE TRACK Search by Title.src")

CODE
# TRACK
gotoline 1
outputto "title"
findline "<name>"
regexpreplace "Feat\s+" "feat. " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
regexpreplace "Feat.\s+" "feat. " # FORMAT THE WAY YOU WANT feat. TO DISPLAY
findinline ">"
sayuntil "</"


Either way, thank you for creating such an amazing addon to this amazing program.

Posted by: djSMIRK Aug 30 2012, 05:24

QUOTE (stevehero @ Aug 29 2012, 05:05) *
You have tampered with the workings of the script because the %title% should be outputted to "tracks". See the examples below of how the #RELEASE version of the script should look with a few small additions to it since my last update (have not uploaded this version yet) as regards the regexpreplaces. What you need to do is copy what is in bold to the script between the same text shown and it should work fine.

_______________________________________________________
set "albumartist", "VA" # CHANGE "VA" TO YOUR LIKING
outputto "compilation" # COMPILATION "1" IF "VA"
say "1"
endif
endif
replace "|" "/"

# TRACKS
findline "<track"
do
outputto "tracks"
findline "<name>"
regexpreplace "ft.\s+" "ft "
regexpreplace "Ft.\s+" "ft "
regexpreplace "Feat\s+" "ft "
regexpreplace "Feat.\s+" "ft "
regexpreplace "\((feat\.\s+.+)\)" "$1"
regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"
findinline ">"
sayuntil "</"

# MIXNAME
findline "<mixName>"


So this didn't work sad.gif

I am using "single track search by title" and added your suggestion to the #TRACK section in the "album" section

I added a debug print and attached the output. I also attached my current "single track search by title.src" file

What am I doing wrong?

 debug_album_beatport.txt ( 10.53K ) : 1032
 SINGLE_TRACK_Search_by_Title.src ( 10.69K ) : 1184
 

Posted by: stevehero Aug 30 2012, 11:30

QUOTE (djSMIRK @ Aug 30 2012, 05:24) *
So this didn't work sad.gif

I am using "single track search by title" and added your suggestion to the #TRACK section in the "album" section

What am I doing wrong?

You defiantly have changed something in the attached script.

Original #TRACK script (with only some minor additions to the regexpreplaces):
CODE
# ALBUM
                 outputto "album"
                 gotoline 1
                 findline "<release id"
                 moveline 1
                 findinline "<name>"
                 sayuntil "</"
     # TRACK
                 gotoline 1
                 outputto "title"
                 findline "<name>"
                 regexpreplace "ft.\s+" "feat. "                            # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "Ft.\s+" "feat. "                            # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "Feat\s+" "feat. "                        # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "Feat.\s+" "feat. "                        # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "\((feat\.\s+.+)\)" "$1"                # FIX 'Get Involved (feat. Timbaland)' TO 'Get Involved feat. Timbaland'
                 regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"        # FIX 'Get Involved feat. Timbaland feat. Missy Elliot (Yves V Remix)' TO 'Get Involved feat. Timbaland, Missy Elliot (Yves V Remix)'
                 findinline ">"
                 sayuntil "</"
         # MIXNAME
       ...


Your modified (attached):
# ALBUM
outputto "album"
gotoline 1
findline "<release id"
moveline 1
findinline "<name>"
sayuntil "</"

# TRACKS
findline "<track"
do
outputto "tracks"
findline "<name>"
regexpreplace "ft.\s+" "Ft "
regexpreplace "Ft.\s+" "Ft "
regexpreplace "Feat\s+" "Ft "
regexpreplace "Feat.\s+" "Ft "
regexpreplace "\((feat\.\s+.+)\)" "$1"
regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"
findinline ">"
sayuntil "</"


You misunderstood me when I said about the previous 'example'. That was only for the release version of the script. Both scripts work differently from one another. And I'm sorry but yes you have changed something.

Go to line 1 is missing after # TRACK
There is no 'do' command in the singe track version of the scripts
outputto "tracks" is not correct either in the script.

To solve your problem copy my top code from:
# ALBUM
....>>
# MIXNAME

Over the existing wrong code and change all the "feat. " (like example below) to whatever you feel like.

regexpreplace "Feat.\s+" "feat. "

making sure you keep the two "" between whatever text you want.

Posted by: djSMIRK Aug 31 2012, 02:45

QUOTE (stevehero @ Aug 30 2012, 06:30) *
You defiantly have changed something in the attached script.

Original #TRACK script (with only some minor additions to the regexpreplaces):
CODE
# ALBUM
                 outputto "album"
                 gotoline 1
                 findline "<release id"
                 moveline 1
                 findinline "<name>"
                 sayuntil "</"
     # TRACK
                 gotoline 1
                 outputto "title"
                 findline "<name>"
                 regexpreplace "ft.\s+" "feat. "                            # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "Ft.\s+" "feat. "                            # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "Feat\s+" "feat. "                        # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "Feat.\s+" "feat. "                        # FORMAT THE WAY YOU WANT feat. TO DISPLAY
                 regexpreplace "\((feat\.\s+.+)\)" "$1"                # FIX 'Get Involved (feat. Timbaland)' TO 'Get Involved feat. Timbaland'
                 regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"        # FIX 'Get Involved feat. Timbaland feat. Missy Elliot (Yves V Remix)' TO 'Get Involved feat. Timbaland, Missy Elliot (Yves V Remix)'
                 findinline ">"
                 sayuntil "</"
         # MIXNAME
       ...


Your modified (attached):
# ALBUM
outputto "album"
gotoline 1
findline "<release id"
moveline 1
findinline "<name>"
sayuntil "</"

# TRACKS
findline "<track"
do
outputto "tracks"
findline "<name>"
regexpreplace "ft.\s+" "Ft "
regexpreplace "Ft.\s+" "Ft "
regexpreplace "Feat\s+" "Ft "
regexpreplace "Feat.\s+" "Ft "
regexpreplace "\((feat\.\s+.+)\)" "$1"
regexpreplace "(feat\.\s+.+)\s+feat\." "$1,"
findinline ">"
sayuntil "</"


You misunderstood me when I said about the previous 'example'. That was only for the release version of the script. Both scripts work differently from one another. And I'm sorry but yes you have changed something.

Go to line 1 is missing after # TRACK
There is no 'do' command in the singe track version of the scripts
outputto "tracks" is not correct either in the script.

To solve your problem copy my top code from:
# ALBUM
....>>
# MIXNAME

Over the existing wrong code and change all the "feat. " (like example below) to whatever you feel like.

regexpreplace "Feat.\s+" "feat. "

making sure you keep the two "" between whatever text you want.


Thanks! It works like a charm now. I had to add this line as I noticed the word 'feat.' was not matching the regex

CODE

regexpreplace "feat.\s+" "Ft "


Also, is it possible to run this script against a selection of various singles (like a batch) or can it only process one single at a time?

Posted by: stevehero Sep 1 2012, 13:20

QUOTE (djSMIRK @ Aug 31 2012, 02:45) *
Also, is it possible to run this script against a selection of various singles (like a batch) or can it only process one single at a time?

No. One track, one API page at a time.

Posted by: B-FiSH Sep 7 2012, 09:15

Hey Guys,

I'm trying to get the same output as faithfully as possible. All tags should look like a purchased item.
I want to have output in the format DDDD years.
I would also like the original artist name.

Example:

Cassy, Chris Carrier, Eastmen
http://www.beatport.com/track/u-dig-cassy-and-chris-carrier-remix/3531523

Can someone help me?

I changed the following entries already:

# replace "Deep House" "House Deep"
# replace "Electro House" "House Electro"
# replace "Minimal" "House Minimal"
# replace "Progressive House" "House Prog"
# replace "Tech House" "House Tech"
# replace "Vocal House" "House Vocal"

# REMOVE THE '#' BEFORE 'set' FOR FIELDS YOU WANT TO REMOVE FROM PARSING
# set "coverurl"
# set "album"
# set "year"
set "date"
set "catalog #"
# set "publisher" # RECORD LABEL
set "albumartist" # ITUNES USES
# set "track" # NO'S OF TRACKS E.G. 01/06
# set "title" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
# set "tracks" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
# set "compilation"
# set "_length"
# set "BPM"
set "InitialKey"
# set "Genre"
# set "Artist"
# set "Mixartist"
set "unsyncedlyrics"
set "beatport_release_id"
set "www"
set "album artist" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
set "Comment" # EXTRA FIELD
set "mediatype" # EXTRA FIELD
# set "discnumber" # EXTRA FIELD
# set "totaldisks" # EXTRA FIELD
# set "totaltracks" # EXTRA FIELD

# MIXNAME
findline "<mixName>"
regexpreplace "<mixName>\(([^<]+)\)</mixName>" "<mixName>$1</mixName>"
findinline ">"
if "Original Mix"
say " - Original Mix|"
else
say " - "
sayuntil "</"
say "|"
endif

Posted by: stevehero Sep 7 2012, 17:49

QUOTE (B-FiSH @ Sep 7 2012, 09:15) *
I'm trying to get the same output as faithfully as possible. All tags should look like a purchased item.

This is what this does actually bar a few changes to the genre!

QUOTE (B-FiSH @ Sep 7 2012, 09:15) *
I want to have output in the format DDDD years.

No such thing as format DDDDYYYY. You have the option of YYYY-MM-DD and DD-MM-YYYY.

See:
CODE
    regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$2-$3"                # YEAR IN YYYY-MM-DD FORMAT
       #regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$3-$2-$1"            # YEAR IN DD-MM-YYYY FORMAT


QUOTE (B-FiSH @ Sep 7 2012, 09:15) *
I would also like the original artist name.

Example:

Cassy, Chris Carrier, Eastmen
http://www.beatport.com/track/u-dig-cassy-and-chris-carrier-remix/3531523

You will see that the original artist is 'Eastmen' and the remixers are 'Cassy, Chris Carrier' They are put into the tag MIXARTIST and also at the TITLE.

But to change this:
# ARTIST
findline "<performer"
unspace
joinuntil "</track>"
regexpreplace ">\s+<" "><"
regexpreplace "<performer ref=\"([^\"]+)\"[^>]+><name>([^\"]+)</name></performer>" "<$1>$2"
outputto "Artist"
sayregexp "(?<=<Artist>)[^<]+" ", " "</track>"
gotochar 1
# MIXARTIST
outputto "Mixartist"
sayregexp "(?<=<Remixer>)[^<]+" ", " "</track>"
say "|"
moveline 1
unspace
# ARTIST, # MIXARTIST
outputto "Artist"
say ", "
sayoutput "Mixartist"


Add the highlighted bit below where it states.

QUOTE (B-FiSH @ Sep 7 2012, 09:15) *
...
set "date"
set "catalog #"
..
set "albumartist" # ITUNES USES
...
set "InitialKey"
# set "Genre"
...
set "unsyncedlyrics"
set "beatport_release_id"
set "www"
set "album artist" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
set "Comment" # EXTRA FIELD
set "mediatype" # EXTRA FIELD
...

Why do this if you "want the same output as faithfully as possible"? Surely you want to fill as many tags as possible when doing your parsing of beatport?

Posted by: intellion Sep 19 2012, 09:56

It is not directly related to mp3tag but it is related to Beatport and I thought you would be interested. There is now a way to search tracks on beatport.com by key (including the camelot system), BPM, BPM range, genre and so on. Take a look at http://www.katasonov.com/beatport-key-search

Posted by: bueller Sep 29 2012, 12:54

hi stevehero,

first of all, big thank you and shoutout to you, perfect plugin and THANK YOU FOR SHARING!

i have a small, but annoying problem.

new releases are found in the search panel, but if you mark one, and click continue, you will be forwarded to something that looks like a default box.

it's always the BEATPORT_TRACK_ID 8360

12 Inch Thumpers
Don't Cross the Line

is this an known problem?
are there any fixes along with this issue?

Thanks for Helping me out!


Cheers
Bueller

Posted by: stevehero Sep 29 2012, 17:29

QUOTE (bueller @ Sep 29 2012, 12:54) *
it's always the BEATPORT_TRACK_ID 8360

12 Inch Thumpers
Don't Cross the Line

is this an known problem?

Sorry I don't fully get what your problem is? have you a direct url link to the track/album that is the problem and can you explain what you see (by means of a screen-shot if needed) and is it a problem when you are using the SINGLE TRACK or RELEASE type script?

Posted by: lalaland Oct 1 2012, 14:20

QUOTE (bueller @ Sep 29 2012, 13:54) *
it's always the BEATPORT_TRACK_ID 8360

I have this problem too, but it seems to be a problem in Beatport API, not Steveheros script (or api urls have been changed)

Look:

Direct link http://www.beatport.com/track/what-are-you-doing-stefano-noferini-remix/3003427
Id = 3003427 is Wally Lopez - What Are You Doing [Stefano Noferini Remix]

API: http://api.beatport.com/catalog/tracks?id=3003427 (same ID here)
Result: 12 Inch Thumpers - Don't Cross The Line (Id = 8360)

EDIT:
Ok, i found it. In fact, Beatport API Url have been changed (updated?). Now URL begins with "http://api.beatport.com/catalog/3/tracks", ie. http://api.beatport.com/catalog/3/tracks?id=3003427, but it returns data in JSON format only (see: http://api.beatport.com/tracks.html)

Posted by: stevehero Oct 2 2012, 11:45

QUOTE (lalaland @ Oct 1 2012, 14:20) *
EDIT:
Ok, i found it. In fact, Beatport API Url have been changed (updated?). Now URL begins with "http://api.beatport.com/catalog/3/tracks", ie. http://api.beatport.com/catalog/3/tracks?id=3003427, but it returns data in JSON format only (see: http://api.beatport.com/tracks.html)


It may be a couple of days before i get to look at this problem. Seems that BP have changed the API. I'll check it out ASAP.

Posted by: lalaland Oct 2 2012, 13:16

QUOTE (stevehero @ Oct 2 2012, 12:45) *
It may be a couple of days before i get to look at this problem. Seems that BP have changed the API. I'll check it out ASAP.

No prob, thank you for your work!

Posted by: bueller Oct 6 2012, 08:49

QUOTE (lalaland @ Oct 2 2012, 14:16) *
No prob, thank you for your work!


sorry for the delay.

big thank you steve!

i just figured it out the same way!

thanks for helping out!

cheers

Posted by: Irvin Cee Oct 6 2012, 14:34

in v1 u could add the &format=xml parameter, but that doesn't seem to be working in v3.


I reported this (v1 always returning "Don't Cross The Line" to Beatport support.
U suspect something went wrong with v1, while adding/updating v.3.

Posted by: stevehero Oct 7 2012, 22:50

QUOTE (Irvin Cee @ Oct 6 2012, 14:34) *
in v1 u could add the &format=xml parameter, but that doesn't seem to be working in v3.


I reported this (v1 always returning "Don't Cross The Line" to Beatport support.
U suspect something went wrong with v1, while adding/updating v.3.


I've found something here, it looks like they shut down the XML and are only using JSON now.

https://groups.google.com/d/msg/beatport-api/6Pt4cIX0t4k/DB8JzUmXqicJ

Working on it at the moment. Hope to have it up and running again ASAP.

Posted by: Irvin Cee Oct 8 2012, 23:37

I got a reply from beatport support...

QUOTE
"Thank you for contacting us! We are aware of this issue and the problem will be solved in the next release."


No timeframe mentioned :-(

Posted by: stevehero Oct 10 2012, 00:12

QUOTE (Irvin Cee @ Oct 8 2012, 23:37) *
I got a reply from beatport support...

No timeframe mentioned :-(

SHM!! lol... Anyway I've updated one of the scripts such as the one attached for you users to try out and see what you think and see if there are any bugs etc with any releases on beatport prior to uploading the final version. There's an extra little tag ISRC in there because I'm using the JSON API page in beatport. All the rest are there as before.

Now here's where we start to get technical. I've rewrote the script in JSON for the [ParserScriptAlbum]=... and have updated the script to use the sayregexp command. Any failures in the script and it'll keep on going unlike the old scripts.

Thing is I was toying with changing the [ParserScriptIndex]=... to search beatport in the JSON format also seeing as the XML is only there to support the old site, so I may as well update the lot now.

Trouble is I'm using (for single track searches):
[indexurl]=http://api.beatport.com/catalog/search?&v=2.0&perpage=10&format=json&query=%s&returnfacets[]=fieldtype:track

and it's not going to the list of search results but is going to the adjust tag info one instead. Perhaps some users out there like pone, dano etc could help me out here and take a look at the script for me. Seem to have gotten a little stuck. Thanks. Also what's your experience with using JSON instead of XML? Faster/more reliable?

WORKING SCRIPT
 Beatport_by__stevehero_SINGLE_TRACK_Search_by_Title___Index_XML_Album_JSON_TEST.src ( 11.18K ) : 992


PROBLEM SCRIPT
(If any person would like to help a brother out:)
 Beatport_by__stevehero_SINGLE_TRACK_Search_by_Title___Index_JSON_Album_JSON_TEST.src ( 12.24K ) : 970

Posted by: lalaland Oct 27 2012, 10:47

Old script is working again!

Posted by: stevehero Oct 27 2012, 22:06

QUOTE (lalaland @ Oct 27 2012, 10:47) *
Old script is working again!

Thanks for reporting.

I might update all the scripts sometime to the JSON format if I can find the spare time.

Posted by: SB1 Nov 9 2012, 19:21

First of all, MASSIVE work by you Steve. You truly are a hero!

I've tried both the old 2.1 script and the new 3.0

The 3.0 (single track search by title) script works perfect but I'm missing the Catalog # (want the label catalog like in the release script v2.1, not beatport_track_id) and the track number from the release.

The 2.1 works but as soon as I add some # under Remove Fields it starts to flip out and add values in wrong tag fields. See below:



If you could update the release based scripts to 3.0 that would be absolutely fantastic.

Posted by: stevehero Nov 10 2012, 02:58

QUOTE (SB1 @ Nov 9 2012, 18:21) *
The 3.0 (single track search by title) script works perfect but I'm missing the Catalog # (want the label catalog like in the release script v2.1, not beatport_track_id) and the track number from the release.

You were never able to get the CATALOG # from the single track type scripts ever. You may be getting confused with the other release type ones. If you want the catalog on them use the release type one to parse BP with.

The API does not have the CATALOG # on the single track API page (See http://api.beatport.com/catalog/3/tracks?=1.0&format=JSON&id=557050)

QUOTE (SB1 @ Nov 9 2012, 18:21) *
The 2.1 works but as soon as I add some # under Remove Fields it starts to flip out and add values in wrong tag fields. See below:

Can you screen shot that part of the script you have?

QUOTE (SB1 @ Nov 9 2012, 18:21) *
If you could update the release based scripts to 3.0 that would be absolutely fantastic.

Quite busy at other things ATM. But I seem to be using the V2.1 of the release type with no problems whatsoever. Re-download it and try again.

Posted by: SB1 Nov 10 2012, 13:37

Thanks for your reply.

QUOTE (stevehero @ Nov 10 2012, 02:58) *
Can you screen shot that part of the script you have?


This is the only part I've changed. Removed the # before the fields I don't want.

CODE

#################################################################
# .:: R E M O V E F I E L D S ::. #
#################################################################

# REMOVE THE '#' BEFORE 'set' FOR FIELDS YOU WANT TO REMOVE FROM PARSING
# set "coverurl"
# set "album"
# set "year"
set "date"
# set "catalog #"
# set "publisher" # RECORD LABEL
# set "albumartist" # ITUNES USES
# set "track" # NO'S OF TRACKS E.G. 01/06
# set "title" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
# set "tracks" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
set "compilation"
set "_length"
# set "BPM"
# set "InitialKey"
# set "Genre"
# set "Artist"
# set "Mixartist"
set "unsyncedlyrics"
set "beatport_release_id"
set "www"
set "album artist" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
set "Comment" # EXTRA FIELD
set "mediatype" # EXTRA FIELD
set "discnumber" # EXTRA FIELD
set "totaldisks" # EXTRA FIELD
set "totaltracks" # EXTRA FIELD


Then I changed it to this:

CODE
#################################################################
# .:: R E M O V E F I E L D S ::. #
#################################################################

# REMOVE THE '#' BEFORE 'set' FOR FIELDS YOU WANT TO REMOVE FROM PARSING
# set "coverurl"
# set "album"
# set "year"
set "date"
# set "catalog #"
# set "publisher" # RECORD LABEL
# set "albumartist" # ITUNES USES
# set "track" # NO'S OF TRACKS E.G. 01/06
set "title" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
set "tracks" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
set "compilation"
set "_length"
# set "BPM"
# set "InitialKey"
# set "Genre"
# set "Artist"
# set "Mixartist"
set "unsyncedlyrics"
set "beatport_release_id"
set "www"
set "album artist" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
set "Comment" # EXTRA FIELD
set "mediatype" # EXTRA FIELD
set "discnumber" # EXTRA FIELD
set "totaldisks" # EXTRA FIELD
set "totaltracks" # EXTRA FIELD


The field mess-up is over but the window where you can match files with titles doesn't show all titles of the release any more and it always formats tracks as 01/XX, as it doesn't look up which track within the release it is.

Have one more question. How do I get rid of the leading 0s in tracks?
E.g. I'd like 1/3 in stead of 01/03.

I do have 1 tip you could add to the script in the future. Add this to customization:

CODE
# RELEASETIME
outputto "releasetime"
sayoutput "year"


This will output year to releasetime tag, which is read as release date in iTunes.

Posted by: SB1 Nov 10 2012, 14:24

Sorry to keep you busy, but I think I've found the cause of the problems.

I've removed the set "compilaton" line completely and now the fields mismatch is gone completely.

See attached my edit of your script. Also found out how to remove the leading 0s, although I'm not sure if replace "-" "" just in front of #TOTALTRACKS is still required.

 BeatportEDIT_by__stevehero_RELEASE_Search_by_Titl_e.src ( 13.39K ) : 514
 

Posted by: stevehero Nov 10 2012, 15:07

QUOTE (SB1 @ Nov 10 2012, 12:37) *
CODE
#################################################################
# .:: R E M O V E F I E L D S ::. #
#################################################################

# REMOVE THE '#' BEFORE 'set' FOR FIELDS YOU WANT TO REMOVE FROM PARSING
# set "coverurl"
# set "album"
# set "year"
set "date"
# set "catalog #"
# set "publisher" # RECORD LABEL
# set "albumartist" # ITUNES USES
# set "track" # NO'S OF TRACKS E.G. 01/06
set "title" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
set "tracks" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
set "compilation"
set "_length"
# set "BPM"
# set "InitialKey"
# set "Genre"
# set "Artist"
# set "Mixartist"
set "unsyncedlyrics"
set "beatport_release_id"
set "www"
set "album artist" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
set "Comment" # EXTRA FIELD
set "mediatype" # EXTRA FIELD
set "discnumber" # EXTRA FIELD
set "totaldisks" # EXTRA FIELD
set "totaltracks" # EXTRA FIELD

I've copied the above section into the same v2.1 script and it works perfectly fine. See attached.




QUOTE (SB1 @ Nov 10 2012, 12:37) *
Have one more question. How do I get rid of the leading 0s in tracks?
E.g. I'd like 1/3 in stead of 01/03.

Download a program called Notepad ++ and you can toggle the lines shown attached on and off by right clicking and hitting the highlighted button shown.




QUOTE (SB1 @ Nov 10 2012, 12:37) *
I do have 1 tip you could add to the script in the future. Add this to customization:
CODE
# RELEASETIME
outputto "releasetime"
sayoutput "year"

In the next release.

Posted by: SB1 Nov 10 2012, 16:43

Thanks for the quick reply.

QUOTE (stevehero @ Nov 10 2012, 15:07) *
I've copied the above section into the same v2.1 script and it works perfectly fine. See attached.



I did get the same output. However, the window where you can match files with titles from the release did not show all the titles in the BP release. Also, 01/03 is not correct as the track is 03/03

QUOTE (stevehero @ Nov 10 2012, 15:07) *
Download a program called Notepad ++ and you can toggle the lines shown attached on and off by right clicking and hitting the highlighted button shown.



Cheers. What syntaxis should I choose for the script though?

QUOTE (stevehero @ Nov 10 2012, 15:07) *
In the next release.

Great! Glad to be able to contribute.

Posted by: stevehero Nov 11 2012, 02:44

QUOTE (SB1 @ Nov 10 2012, 15:43) *
I did get the same output. However, the window where you can match files with titles from the release did not show all the titles in the BP release. Also, 01/03 is not correct as the track is 03/03

Well something happened with your script. I asked you to re-download it and try it.

QUOTE (SB1 @ Nov 10 2012, 15:43) *
Cheers. What syntaxis should I choose for the script though?

The attached image shows the highlighted text and I stated that in the reply. Please read the replies carefully.

Posted by: MusicIsSuper Feb 3 2013, 22:59

Hey Guys,

I just started using this script and I must say, it's AWESOME! I have a few questions for you, if you don't mind:

1.) Most of the time when I try and search by Release, the script cannot locate the release. I usually have to manually navigate to the release page at beatports and use the release ID in order to run the script. Is there a reason/trick for this?

2.) My music library uses a combination of Genre and Style (style acts as a sub-genre). I think that most of the releases on Beatports fall within the 'Electronic' Genre, so I am wondering if there is a way to hardcode the Genre into the scripts so that I don't have to manually add it in afterwards?

2a.) Sometimes releases have different styles for different tracks, is there a way to pull al styles from the release and list them separated with a comma (in the STYLE tag)?

3.) When there are multiple artists for a release, I use the tag ALBUMARTISTSORT to list all the artists on the album followed by 'Various Artists' and separated by a semi colon. I only use this tag for releases with more than one artist. I use this so that in my music player, these releases will be listed under each artist in full, rather than just the individual tracks from the release. Is there a way to add this into the script?

4.) I also add the Release Type to each release (EP, Compilation, Album, etc...). I don't know if this information is on beatports, but is there a way to add it to the tagging screen as an empty tag? That way I can add that info in manually without having to go into the 'Extended Fields' section for each release?

5.) For tracks with featured artists, I use a FEATURING tag. Is there a way to pull this information into this field rather than the ARTIST field?

6.) I like to tag all my music with what Country the release was released in. I'm unsure if this information is available on Beatports. Is there a way to tag the Country as an empty value so I can manually add it on the tag dialogue?

Thanks for all your help guys, I really appreciate it!

-musicissuper

Posted by: stevehero Feb 17 2013, 02:14

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
Hey Guys

Singular. smile.gif And sorry for the late reply. Been very busy with other non-mp3tag stuff.

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
I just started using this script and I must say, it's AWESOME! I have a few questions for you, if you don't mind:

1.) Most of the time when I try and search by Release, the script cannot locate the release. I usually have to manually navigate to the release page at beatports and use the release ID in order to run the script. Is there a reason/trick for this?

Thanks. I've no problem with this. Maybe take out the words 'original', 'extended' if they're there or other generic words that are not needed.

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
2.) My music library uses a combination of Genre and Style (style acts as a sub-genre). I think that most of the releases on Beatports fall within the 'Electronic' Genre, so I am wondering if there is a way to hardcode the Genre into the scripts so that I don't have to manually add it in afterwards?
2a.) Sometimes releases have different styles for different tracks, is there a way to pull al styles from the release and list them separated with a comma (in the STYLE tag)?

In the 'Beatport by stevehero #RELEASE Search by Release.src' for example only change this part:
# GENRE
outputto "Genre"

to
# STYLE
outputto "Style"


Then under (enter):
#################################################################
# .:: C U S T O M I Z A T I O N S T A R T S ::. #
#################################################################
# GENRE
outputto "Genre"
say "Electronic"


Do this for all scripts.

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
3.) When there are multiple artists for a release, I use the tag ALBUMARTISTSORT to list all the artists on the album followed by 'Various Artists' and separated by a semi colon. I only use this tag for releases with more than one artist. I use this so that in my music player, these releases will be listed under each artist in full, rather than just the individual tracks from the release. Is there a way to add this into the script?

Not with ease and I won't have any plans to do so.

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
4.) I also add the Release Type to each release (EP, Compilation, Album, etc...). I don't know if this information is on beatports, but is there a way to add it to the tagging screen as an empty tag? That way I can add that info in manually without having to go into the 'Extended Fields' section for each release?

Not in beatport API as far as I know.

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
5.) For tracks with featured artists, I use a FEATURING tag. Is there a way to pull this information into this field rather than the ARTIST field?

FEATURING is not a standard tag. What may I ask are you needing this for. What player reads this? See here.. It's a bit of fun http://www.last.fm/group/I+use+tags+with+%22feat.%22+because+I+respect+featured+artist

QUOTE (MusicIsSuper @ Feb 3 2013, 21:59) *
6.) I like to tag all my music with what Country the release was released in. I'm unsure if this information is available on Beatports. Is there a way to tag the Country as an empty value so I can manually add it on the

Like no. 2 above add under customization starts.
#################################################################
# .:: C U S T O M I Z A T I O N S T A R T S ::. #
#################################################################
# COUNTRY
outputto ""Country"
say "Enter Country"


Hope this is of help.

Posted by: yousirname Feb 23 2013, 06:53

This is fantastic! Great work. I customized everything to my needs. One thing I couldn't seem to get was clearing the comment tag. I want the comment tag to be a blank field, essentially wiped of all text. How would I do this?

Posted by: stevehero Feb 23 2013, 18:38

QUOTE (yousirname @ Feb 23 2013, 05:53) *
This is fantastic! Great work. I customized everything to my needs. One thing I couldn't seem to get was clearing the comment tag. I want the comment tag to be a blank field, essentially wiped of all text. How would I do this?

Clearing fields is quite simple.

#################################################################
# .:: R E M O V E F I E L D S ::. #
#################################################################

# REMOVE THE '#' BEFORE 'set' FOR FIELDS YOU WANT TO REMOVE FROM PARSING
# set "coverurl"
# set "album"
# set "year"
# set "date"
# set "catalog #"
# set "publisher" # RECORD LABEL
# set "albumartist" # ITUNES USES
# set "track" # NO'S OF TRACKS E.G. 01/06
# set "title" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
# set "tracks" # TITLE AND TRACKS NEED TO BE DISABLED TO WORK
# set "compilation"
# set "_length"
# set "BPM"
# set "InitialKey"
set "Genre"
# set "Artist"
# set "Mixartist"
# set "unsyncedlyrics"
# set "beatport_release_id"
# set "www"
# set "album artist" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
# set "Comment" # EXTRA FIELD
# set "mediatype" # EXTRA FIELD
# set "discnumber" # EXTRA FIELD
# set "totaldisks" # EXTRA FIELD
# set "totaltracks" # EXTRA FIELD


Simply remove the '#' from the front of ' set "Genre"' like above

Posted by: Zoker Feb 26 2013, 22:14

Hi Stevo,

Great script biggrin.gif

But I want to change some things and fail doing it myself wink.gif



What do I have to change?

Thank you
Zoker

Posted by: stevehero Mar 1 2013, 14:24

QUOTE (Zoker @ Feb 26 2013, 21:14) *
Hi Stevo,

Great script biggrin.gif

But I want to change some things and fail doing it myself wink.gif

  • First I want the year to be YYYY into the year feld.
  • The track should be 01, 01 etc. instead of 01/03, 02/03....
  • And at least the comment field should simply be deleted, so everything that was in the field before should be cleared

Thanks smile.gif

1. In the line
CODE
    outputto "year"
    gotoline 1
    findline "<dateReleased>"
    regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$2-$3"            # YEAR IN YYYY-MM-DD FORMAT
    #regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$3-$2"        # YEAR IN YYYY-DD-MM FORMAT
    #regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$3-$2-$1"        # YEAR IN DD-MM-YYYY FORMAT
    findinline "<dateReleased>"
    sayuntil "</"

Change to
CODE
outputto "year"
    gotoline 1
    findline "<dateReleased>"
        regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1"            # YEAR IN YYYY FORMAT
    #regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$2-$3"            # YEAR IN YYYY-MM-DD FORMAT
    #regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$1-$3-$2"        # YEAR IN YYYY-DD-MM FORMAT
    #regexpreplace "(\d\d\d\d)-(\d\d)-(\d\d)" "$3-$2-$1"        # YEAR IN DD-MM-YYYY FORMAT
    findinline "<dateReleased>"
    sayuntil "</"

2. http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=63736

3. Change
CODE
#    set "Comment"     # EXTRA FIELD

to

CODE
    set "Comment"     # EXTRA FIELD

Posted by: X-Tropic Mar 8 2013, 14:55

Hi! Many thanks for your work! Maybe this is a dumb newbie question ...: I have a large music collection, which defines the tags by type: %artist% - %title% ... Individually script works great! Can I customize the script to process the tracks automatically in batch mode?

Sorry, i find answer:

QUOTE
No. One track, one API page at a time.

Posted by: stevehero Mar 11 2013, 14:29

QUOTE (X-Tropic @ Mar 8 2013, 13:55) *
Hi! Many thanks for your work! Maybe this is a dumb newbie question ...: I have a large music collection, which defines the tags by type: %artist% - %title% ... Individually script works great! Can I customize the script to process the tracks automatically in batch mode?

Sorry, i find answer:

Yes, if you are using the track API then one track at a time whereas an album will tag multiple tracks on that API page.

Posted by: bigsmall999 Mar 19 2013, 17:21

Hi,

Is it possible to set the script to only update a field if it is currently blank in the ID3 tag? The reason is, I'd prefer to keep my own keys where mine differ from those on Beatport.

Posted by: ohrenkino Mar 19 2013, 17:38

ZITAT(bigsmall999 @ Mar 19 2013, 17:21) *
Hi,

Is it possible to set the script to only update a field if it is currently blank in the ID3 tag? The reason is, I'd prefer to keep my own keys where mine differ from those on Beatport.

You could help yourself with a little different workflow:
first create an export to save the data you want to keep,
then update the other data with the beatport script,
then re-import the data you just exported.

Posted by: skrippi Mar 20 2013, 01:53

Hey,

i have customized my "Beatport by &stevehero#RELEASE Direct by &BEATPORT_RELEASE_ID.src" very nice, but there's something I'm not able to code:

The artist hast to be "artist, mixartist" but I'm not able to code this section. For now it looks like that:

CODE
outputto "Artist"
            sayregexp "(?<=<Artist>)[^<]+" ", " "</track>"
            say ", "
            sayregexp "(?<=<Remixer>)[^<]+" ", " "</track>"

This works fine, BUT if there's no mixartist (f.e. "Original Mix") then there is always this comma after the artist.

Can someone help me?!

Greez, skrippi

PS:
For the "Beatport by &stevehero#SINGLE TRACK Direct by BEATPORT_TRACK_ID.src" it works very fine if I only add this to section "costumization starts":
CODE
# ARTIST
    outputto "artist"
    say ", "
    sayoutput "Mixartist"


But here is the same problem with the comma, if there's no Mixartist...

EDIT:
Maybe something like this:
sayregexp "(?<=[<Artist>]|[<Remixer>])[^<]+" ", " "</track>"

But this only works a half too...

Posted by: stevehero May 16 2013, 03:08

QUOTE (skrippi @ Mar 20 2013, 01:53) *
Hey,

Sorry I didn't back to you but with a new job I haven't had the man hours to get working on V3.0 of the script. So That seems to be fixed after this weeks holidays. See attached of what the release script will look like. Added are a few wee extra tags as you can see. As this is a completely rewritten .src it warrants the new v3.0 tag smile.gif

Tag panel window


UNSYNCLYRICS Tag


I will upload it once it is tried and tested and tested some more smile.gif

I still have to figure out what's the best way to manage the VA (Various Artists) in the ALBUMARTIST field. As beatport generally has a single release with one track but may have up to 4/5 artists working on it. Which means it is not a compilation, more a collaboration and I tend to find myself putting in the correct ALBUMARTIST info more often than not and clearing the COMPILATIONS tag.

What's your opinions?

Posted by: DeadMau5 May 20 2013, 19:16

Thank you very much for the script. Tell me how to make these changes. [MML007] Splashdown

Posted by: stevehero May 20 2013, 19:36

QUOTE (DeadMau5 @ May 20 2013, 19:16) *
Thank you very much for the script. Tell me how to make these changes. [MML007] Splashdown
no problem, to which tag?

Posted by: DeadMau5 May 20 2013, 21:07

QUOTE (stevehero @ May 20 2013, 22:36) *
no problem, to which tag?




And noticed a bug. When you release a lot of tracks before he tag of the track which is higher. Let's say I have the 26th track. And he takes from the 25th.

Posted by: stevehero May 20 2013, 21:31

QUOTE (DeadMau5 @ May 20 2013, 21:07) *
And noticed a bug. When you release a lot of tracks before he tag of the track which is higher. Let's say I have the 26th track. And he takes from the 25th.

Where is says outputto "album" change 'album' to "albtmp" then at the bottom

Change:
# ALBUM [CATOLOG #]
outputto "album"
say " ["
sayoutput "catalog #"
say "]"

To:
# [CATOLOG #] ALBUM
outputto "album"
say "["
sayoutput "catalog #"
say "] "
sayoutput "albtmp"
set "albtmp"

I have yet to notice that problem. Have you the beatport url of the problem release?

Posted by: DeadMau5 May 20 2013, 21:39

QUOTE (stevehero @ May 21 2013, 00:31) *
Where is says outputto "album" change 'album' to "albtmp" then at the bottom

I have yet to notice that problem. Have you the beatport url of the problem release?


Thank you very much. And that's the problem. http://www.beatport.com/release/axtone-presents-thomas-gold/915058 To save the tag in the 36m track, but it takes given their 35go ((

Posted by: stevehero May 21 2013, 03:34

QUOTE (DeadMau5 @ May 20 2013, 21:39) *
that's the problem. http://www.beatport.com/release/axtone-presents-thomas-gold/915058

Have that album when it first came out. Never noticed anything wrong with the tags. I'll check that tomorrow when I'm near my computer.

Posted by: stevehero May 21 2013, 14:36

QUOTE (DeadMau5 @ May 20 2013, 21:39) *
Thank you very much. And that's the problem. http://www.beatport.com/release/axtone-presents-thomas-gold/915058 To save the tag in the 36m track, but it takes given their 35go ((

I don't quite understand your problem. Are you using google translate? smile.gif I tried that release and everything is working okay. See attached screenshot of track 24 onwards.



All I can suggest is re-download the .zip pack http://forums.mp3tag.de/index.php?act=attach&type=post&id=4608 and try again.

Posted by: DeadMau5 May 21 2013, 18:33

QUOTE (stevehero @ May 21 2013, 17:36) *
I don't quite understand your problem. Are you using google translate? smile.gif I tried that release and everything is working okay. See attached screenshot of track 24 onwards.



All I can suggest is re-download the .zip pack http://forums.mp3tag.de/index.php?act=attach&type=post&id=4608 and try again.


http://www35.zippyshare.com/v/66553218/file.html
http://www61.zippyshare.com/v/56779943/file.html
Chose the right and took the tag from another track. Sorry for the English.

Posted by: stevehero May 21 2013, 19:17

QUOTE (DeadMau5 @ May 21 2013, 18:33) *
http://www35.zippyshare.com/v/66553218/file.html
http://www61.zippyshare.com/v/56779943/file.html
Chose the right and took the tag from another track. Sorry for the English.

It is not a problem with the scripts. Click inside the right hand window and scroll down. You will see the problem then. The two tracks do not line up properly. Then select the track in the right window and move down until they line up.

If you have only one song on the album use the single track scripts. It's what they were designed for.

Posted by: DeadMau5 May 21 2013, 20:00

QUOTE (stevehero @ May 21 2013, 22:17) *
It is not a problem with the scripts. Click inside the right hand window and scroll down. You will see the problem then. The two tracks do not line up properly. Then select the track in the right window and move down until they line up.

If you have only one song on the album use the single track scripts. It's what they were designed for.


http://www38.zippyshare.com/v/29982394/file.html
http://www26.zippyshare.com/v/88786639/file.html

Fixed all the same. A directory number remains the same (

Posted by: dano May 21 2013, 23:25

Drag the column header of the file name column over the right border and the vertical scroll bars will match.


 

Posted by: stevehero May 22 2013, 08:09

Tracks still do not line up. Select the right track and click 'down' so both are 3 from the bottom. Both tracks need to line up perfectly.

Posted by: DeadMau5 May 24 2013, 08:59

And what if the release in my country is closed? ( "RESTRICTED
We're sorry for the inconvenience but the item you tried to view is restricted in your territory. Here are some items that are similar to the one you were looking for."

Posted by: stevehero May 24 2013, 09:21

QUOTE (DeadMau5 @ May 24 2013, 07:59) *
And what if the release in my country is closed? ( "RESTRICTED

I've yet to find a way around that. I've tried using a proxy but no success.

Posted by: stevehero Jul 2 2013, 00:57

V3.0 for beatports JSON API pages is now up. Get it at starting post http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

Updates:

CODE
CHANGE: Completely rewritten code for beatports JSON API pages.
ADDED: COUNTRY, BEATPORT_LABEL_URL, BEATPORT_TRACK_ID, BEATPORT_TRACK_URL,
ISRC (International Standard Recording Code) & RELEASETIME fields.
ADDED: All options you need are at the top of the script and not berried
amongst it (please read the help notes inside the scripts).
FIXED: Fixes cases where one or more tracks have missing keys on a release
(see example http://www.beatport.com/release/slide/183282).

Posted by: RAGETRON Jul 7 2013, 03:32

Hi stevehero,

Thanks for the script.

I came here to ask how to get rid of some extra columns I don't want in the "List of search results..." dialog box for "SINGLE TRACK Search by (Album)Artist + Title." I tried editing the .src file line 25 by removing |%BPM%|%♬%|%Exclusive%|%Cover [500px]% inside [indexformat] but it didn't seem to do anything. I don't need these columns in the search results.

Another thing I would like to add is that when we have multiple artists for a song, the commas are not formatted properly. It would appear as: Sultan ,Ned Shepard ,Fedde Le Grand - Long Way From Home (OM) when it should be Sultan, Ned Shepard, Fedde Le Grand - Long Way From Home (OM)

It is a very small problem and easily fixable here:

#"# ARTIST
outputto "Artist"
sayregexp "[^\"]+(?=\"artist\"\})" " ,"

It should be
sayregexp "[^\"]+(?=\"artist\"\})" ", "


Once again, thank you for your hard work on this script!


EDIT: I forgot to mention I am on Version 3.0 of your script and Version 2.57 of mp3tag

Posted by: stevehero Jul 7 2013, 15:17

QUOTE (RAGETRON @ Jul 7 2013, 03:32) *
..some extra columns I don't want in the "List of search results..." dialog box for "SINGLE TRACK Search by (Album)Artist + Title." I tried editing the .src file line 25 by removing |%BPM%|%♬%|%Exclusive%|%Cover [500px]% inside [indexformat] but it didn't seem to do anything. I don't need these columns in the search results.

Use:
CODE
[indexformat]=[indexformat]=%_url%|%_preview%|%Length%|%Restricted ✈%|%Released%|%Genre%|%Artist/s%|%Title%|%Remixer/s%|%On Release%|%ISRC%|%Label%|%Status%

Then delete:
CODE
        sayregexp "(?<=\"bpm\":)[^,]+" "" "}}}" #"# BPM
        say "|"
        sayregexp "(?<=standard\":\{\"letter\":\")[^\}]+" "" "}}}" #"# KEY
        say "|"
        sayregexp "(?<=\"exclusive\":)[^,]+" "" "}}}" #"# EXCLUSIVE
        say "|"
        sayregexp "(?<=height\":500,\"url\":\")[^\"]+" "" "}}}" #"# COVER
        say "|"

QUOTE (RAGETRON @ Jul 7 2013, 03:32) *
Another thing I would like to add is that when we have multiple artists for a song, the commas are not formatted properly. It would appear as: Sultan ,Ned Shepard ,Fedde Le Grand - Long Way From Home (OM)...

Just noticed MIXARTIST was also the same... A slight typo on my behalf. Update script in starting post.

Posted by: Murat Aug 29 2013, 03:55

Thank you very much !..

How can I use APIKEY? ../catalog/3/.. api server does not work sad.gif

Posted by: stevehero Aug 29 2013, 14:54

QUOTE (Murat @ Aug 29 2013, 02:55) *
Thank you very much !..

How can I use APIKEY? ../catalog/3/.. api server does not work sad.gif

Thanks.

V3.1 Scripts no longer working due to a new beatport API service.


Here's the v2.1 scripts which are still working to tie you over.

 beatport_by_stevehero_v2.1.zip ( 39.18K ) : 797


I'm new to this problem also and it may take a little investigation before I can resolve it. Maybe someone has experienced this with scripts before where they need an API key? Is there something I should know before I check it out. Is it even possible.

https://oauth-api.beatport.com/docs/#

I'm afraid I don't have much spare time on my hands at the moment. :/

Posted by: Murat Aug 29 2013, 19:32

QUOTE (stevehero @ Aug 29 2013, 16:54) *
I'm afraid I don't have much spare time on my hands at the moment. :/


Big thanks Steve, I'll follow you!..

Posted by: DJ ektorBarajas Sep 2 2013, 17:33

QUOTE (stevehero @ Aug 29 2013, 08:54) *
Thanks.

V3.1 Scripts no longer working due to a new beatport API service.


Here's the v2.1 scripts which are still working to tie you over.

 beatport_by_stevehero_v2.1.zip ( 39.18K ) : 797


I'm new to this problem also and it may take a little investigation before I can resolve it. Maybe someone has experienced this with scripts before where they need an API key? Is there something I should know before I check it out. Is it even possible.

https://oauth-api.beatport.com/docs/#

I'm afraid I don't have much spare time on my hands at the moment. :/


Stevehero, first thanks for great and very functional scripts !

Will follow you for a new working version, in the meanwhile will use 2.1

Thanks

Posted by: stevehero Nov 19 2013, 00:41

Getting a 404 error now. I hope this is not the death of beatports old API!!

Posted by: Trouble T Nov 19 2013, 02:47

QUOTE (stevehero @ Nov 18 2013, 16:41) *
Getting a 404 error now. I hope this is not the death of beatports old API!!


Love the work you put into this script, but It would appear that the 404 error is the death of the public version 1, they posted about it here https://groups.google.com/forum/#!topic/beatport-api/8qmwp8Fm6Pw

Hope your able to make the possible changes to have it function with mp3tag. smile.gif

Posted by: stevehero Nov 19 2013, 09:23

QUOTE (Trouble T @ Nov 19 2013, 02:47) *
Hope your able to make the possible changes to have it function with mp3tag. smile.gif

Thanks, I got a notification to my email of that thread soon after I posted. When that API came out with the OAuth code 3 or so months ago I couldn't get it to work.

Just wanted to know if anyone has had experience with that before.

Beatports attitude kind of sucks on that forum with little or no consideration for developers of apps and others things which use their API. Thinks it's time to think of an alternative and not give then any more FREE exposure, I hope others will follow. Rant over.

Posted by: insomnia Nov 19 2013, 12:35

sad.gif Oh no this is no longer working I use this beatport script every day please please please can someone help steve fix this or an alternative beatport script ..
ta insomnia

Posted by: stevehero Nov 19 2013, 14:43

QUOTE (insomnia @ Nov 19 2013, 12:35) *
sad.gif Oh no this is no longer working I use this beatport script every day please please please can someone help steve fix this or an alternative beatport script ..
ta insomnia

No need to make the text bigger.. I don't wear glasses blink.gif wink.gif

To all, I've applied for an OAuth code. They've emailed me back but asked me the same question I asked them in the first place.

My email:
QUOTE
Hi,

I was hoping to get an OAuth code for permission to use your API pages.

You may or may not know of an application mp3tag that tags music from your site based on the API pages.

I have many users that use my scripts found here to tag music +2000 in total. My question is that will the API code work for all users of the mp3tag application or will they have to register and get there own and incorporate it into my scripts.

Just would like to get a code so I can at least test it and ensure it works if that is possible?

Regards,

Reply I got back:
QUOTE
Hi - I am not sure I follow the question, do you mean if you have a key, do they also need a key?


As I said not very helpful.

Posted by: Trouble T Nov 19 2013, 16:09

QUOTE (stevehero @ Nov 19 2013, 06:43) *
No need to make the text bigger.. I don't wear glasses blink.gif wink.gif

To all, I've applied for an OAuth code. They've emailed me back but asked me the same question I asked them in the first place.

My email:

Reply I got back:


As I said not very helpful.


Yes I understand your frustration with them. They are friendly when they want to be, but im sure someone will be able to help you with the coding aspect on the site. I would help If I could but I'm pretty useless when it comes to coding. I'm sure someone will give you a helping hand. I'm sure a lot of people who use the script will try and help you out. Think positive smile.gif.

Posted by: bmfholland Nov 19 2013, 16:24

QUOTE (stevehero @ Nov 19 2013, 09:23) *
Thanks, I got a notification to my email of that thread soon after I posted. When that API came out with the OAuth code 3 or so months ago I couldn't get it to work.

Just wanted to know if anyone has had experience with that before.

Beatports attitude kind of sucks on that forum with little or no consideration for developers of apps and others things which use their API. Thinks it's time to think of an alternative and not give then any more FREE exposure, I hope others will follow. Rant over.



I'm a frequent user of your script and it is awsome. Unfortunately beatport cripled it. I read your post on https://groups.google.com/forum/#!topic/beatport-api/wazPgdsk8y0 and they (beatport) suggested some sort of workaround. I like the idea, but in the end we need native support for this OAuth api in mp3tag.

Question: I understand this api is great en more flexible but is it possible to create a script without the API so we have an alternative as long as the api is not accessible?






Posted by: stevehero Nov 19 2013, 23:46

QUOTE (bmfholland @ Nov 19 2013, 16:24) *
I'm a frequent user of your script and it is awsome. Unfortunately beatport cripled it. I read your post on https://groups.google.com/forum/#!topic/beatport-api/wazPgdsk8y0 and they (beatport) suggested some sort of workaround. I like the idea, but in the end we need native support for this OAuth api in mp3tag.

Question: I understand this api is great en more flexible but is it possible to create a script without the API so we have an alternative as long as the api is not accessible?

Reply from beatport:
QUOTE
This request does not comply with Beatport's Term of Use as it does not link back to Beatport for purchasing content. Additional information on the terms of use can be found in the attached document and our Terms linked in the document.

Thanks,

Beatport API Team


Looks like the API's dead to mp3tag. Perhaps I can go about writing an old style html script. 4 weeks work + in the bin.. thanks folks for all your support.

Posted by: Grandpipe Nov 20 2013, 00:39

QUOTE (stevehero @ Nov 20 2013, 09:46) *
Reply from beatport:


Looks like the API's dead to mp3tag. Perhaps I can go about writing an old style html script. 4 weeks work + in the bin.. thanks folks for all your support.

damn. was great while it lasted. Thanks for all your hard work.

If only traxsource would pull their finger out and release a similar api.

Posted by: stevehero Nov 20 2013, 03:11

QUOTE (Grandpipe @ Nov 20 2013, 00:39) *
damn. was great while it lasted. Thanks for all your hard work.

If only traxsource would pull their finger out and release a similar api.

Don't fret just yet!!

Voila! Progress is under way for v3.2

Gimmi a few weeks to write it. Thanks everyone for your patience. wink.gif




Posted by: bmfholland Nov 20 2013, 10:39

QUOTE (stevehero @ Nov 20 2013, 03:11) *
Don't fret just yet!!

Voila! Progress is under way for v3.2

Gimmi a few weeks to write it. Thanks everyone for your patience. wink.gif




WoW great work! I also started writing a script last night using the html method. How did you managed to access the api?

Posted by: insomnia Nov 20 2013, 13:07

Way to go stevehero you really are a hero !
cant wait keep up the good work fella walkman.gif

Posted by: Trouble T Nov 20 2013, 18:58

QUOTE (stevehero @ Nov 19 2013, 19:11) *
Don't fret just yet!!

Voila! Progress is under way for v3.2

Gimmi a few weeks to write it. Thanks everyone for your patience. wink.gif




Take all the time you need. Congrats on finding a fix for us all. Just curious if it's based on OAuth or something else?

Posted by: pone Nov 21 2013, 21:29

ZITAT(stevehero @ Nov 20 2013, 03:11) *
Don't fret just yet!!

Voila! Progress is under way for v3.2

Gimmi a few weeks to write it. Thanks everyone for your patience. wink.gif


Big up Stevehero! Your script was great. I hope there will be a comeback.

Writting the different beatport URLs into the mp3 tags could be a way to please Beatport for their demanded link back to Beatport for purchasing content.
You could support that idea with additional tools for Mp3tag which would be tillted something like "purchase album on beatport" or "buy more tracks by the artist on beatport" and open the beatport pages in the browser.
Unfortunatelly tools can't be packed with your script like web script or action files.

Posted by: Irvin Cee Nov 23 2013, 11:15

pff.. hate that..

I have send a mail to Beatport stating as a WAV file buyer I' m not happy with that...

I can can understand why they did that, site's like mix.dj used to download their whole catalog...
Hope you get this done Steve..

Posted by: Irvin Cee Nov 23 2013, 11:20

Just read the memo for the API doc.
It sounds like a MP3tag script will never be allowed.
For the simple reason that a script will contain the API key in a readable way.

The functionality will need to be build in to MP3tag (or an additional exe/dll) so the key is not readable.


Posted by: stevehero Nov 24 2013, 14:42

QUOTE (pone @ Nov 21 2013, 21:29) *
Big up Stevehero! Your script was great. I hope there will be a comeback.

Writting the different beatport URLs into the mp3 tags could be a way to please Beatport for their demanded link back to Beatport for purchasing content.
You could support that idea with additional tools for Mp3tag which would be tillted something like "purchase album on beatport" or "buy more tracks by the artist on beatport" and open the beatport pages in the browser.
Unfortunatelly tools can't be packed with your script like web script or action files.

Thanks Pone.. Close enough to getting it done for the release pages. And as you suggested with the URLs. There's the URL of the release, Beatport_Track_URL, Beatport_Artist_URL, Beatport_Label_URL. I think that is enough. wink.gif As far as the tools you mentioned. The tools.ini inside the data folder can be packed with the script and people can then amend theirs which the code from mine.

Would you mind if I send you the script once I finish so you can help me Beta test it? I'm a little hesitant as to who I give the script to and I know I can trust you...

QUOTE (Irvin Cee @ Nov 23 2013, 11:15) *
pff.. hate that..

I have send a mail to Beatport stating as a WAV file buyer I' m not happy with that...

I can can understand why they did that, site's like mix.dj used to download their whole catalog...
Hope you get this done Steve..

QUOTE (Irvin Cee @ Nov 23 2013, 11:20) *
Just read the memo for the API doc.
It sounds like a MP3tag script will never be allowed.
For the simple reason that a script will contain the API key in a readable way.

The functionality will need to be build in to MP3tag (or an additional exe/dll) so the key is not readable.

The API is dead to mp3tag. I've found a way around it now so look forward to the new script.

PS. The complicated VA or Various Artist fix I done in v3.1 is now redundant. If the album is a compilation then that's what you get.. No more fix just simple parsing with an if 'VA' say '1' to the compliation and 'VA' to 'ALBUMARTIST' fields.

PPS. Sorry for the late reply.

Posted by: pone Nov 24 2013, 18:11

ZITAT(stevehero @ Nov 24 2013, 14:42) *
Would you mind if I send you the script once I finish so you can help me Beta test it? I'm a little hesitant as to who I give the script to and I know I can trust you...


Of course you can do so, alway willing to help.

Posted by: stevehero Nov 24 2013, 21:17

QUOTE (pone @ Nov 24 2013, 18:11) *
Of course you can do so, alway willing to help.

Cool, Script on its way.. I'm just having trouble with seperating the BEATPORT_ARTIST_URL in multivalue fields. It's working to some extent.

My code in the script in the tracks loop looks like:
QUOTE
outputto "Beatport_Artist_URL"
findinline "artistList"
sayregexp "(?<=<a href=\")[^\"]+" "\\u005c\\u005c" "\"genreList\""
say "|"

Lets say I use the script and get my info. The extended tag shows 'http://www.beatport.com/artist/armin-van-buuren/2228\\http://www.beatport.com/artist/fiora/179192' I save the file. Nothing no seperation of fields. I delete a field and hit OK in the extended tag field. Then when I open the ext tag window again it works for some strange reason.

I've tried outputting to a temp field and rewritting it back at the end of the script into the right one but to no avail. Maybe I could output a DUMMY field and package a remove DUMMY field with the script and that might work **SCRAP THAT: Tried that and didn't work. Maybe option b on your comment http://forums.mp3tag.de/index.php?s=&showtopic=10431&view=findpost&p=61504 is the only way around it?

Everyone. Please see output of script as it is now. Sadly ISRC is no longer able to be parsed as it's not available (Everything as v3.1 is there). I've yet to do the description from beatport but it's nearly there. Just testing testing testing left to do. smile.gif



Posted by: pone Nov 24 2013, 22:37

ZITAT(stevehero @ Nov 24 2013, 21:17) *
Cool, Script on its way.. I'm just having trouble with seperating the BEATPORT_ARTIST_URL in multivalue fields. It's working to some extent.

My code in the script in the tracks loop looks like:

Lets say I use the script and get my info. The extended tag shows 'http://www.beatport.com/artist/armin-van-buuren/2228\\http://www.beatport.com/artist/fiora/179192' I save the file. Nothing no seperation of fields. I delete a field and hit OK in the extended tag field. Then when I open the ext tag window again it works for some strange reason.

I've tried outputting to a temp field and rewritting it back at the end of the script into the right one but to no avail. Maybe I could output a DUMMY field and package a remove DUMMY field with the script and that might work **SCRAP THAT: Tried that and didn't work. Maybe option b on your comment http://forums.mp3tag.de/index.php?s=&showtopic=10431&view=findpost&p=61504 is the only way around it?





Yes, "option b" in my linked description is the only way I know to do that for multiple files with different values.
What you describe first with opening the extended tag window has the same effect as "option a" in my linked description. That works only if all files have the same values in tag fields which should become multivalue fields. So if you open a single file, it works, if you open the extended tag window for different files with different values, it won't work.

Web Scripts don't go smooth with multi value tagfields in MP3tag. That's a pitty, maybe Florian will do a fix on this at some point.

Posted by: DJJeffHax Nov 27 2013, 14:20

Way to go Steve.
Hope you'll get it sorted out for all of us who happely always used your script for tagging tracks.
It sure helped me a lot not only as music lover but also as DJ to get the info on tracks I needed.
It sure is a pain in the ... neck to do this all manualy. rolleyes.gif
Hope you'll make all of us and me happy soon so I can continue working off the tracks who are still waiting to be tagged.

Regard,
Jeff Hax
https://www.facebook.com/JeffHaxDJ

Posted by: stevehero Nov 29 2013, 14:30

QUOTE (DJJeffHax @ Nov 27 2013, 14:20) *
Way to go Steve.
It sure helped me a lot not only as music lover but also as DJ to get the info on tracks I needed.
It sure is a pain in the ... neck to do this all manualy. rolleyes.gif

Thanks Jeff, that's why I learnt scripting wink.gif

I'm just about to start on the single track scripts. I've tested the release script with 150+ tracks and all seems fine.

Posted by: DJJeffHax Nov 29 2013, 15:10

QUOTE (stevehero @ Nov 29 2013, 14:30) *
Thanks Jeff, that's why I learnt scripting wink.gif

I'm just about to start on the single track scripts. I've tested the release script with 150+ tracks and all seems fine.


Cool walkman.gif
Do you think we could try out the release script already?
It might me save a lot of work and in case we find some errors we could give you feedback on it.

Posted by: stevehero Nov 30 2013, 01:52

QUOTE (DJJeffHax @ Nov 29 2013, 15:10) *
Cool walkman.gif
Do you think we could try out the release script already?
It might me save a lot of work and in case we find some errors we could give you feedback on it.

Just want to release it as a pack. Use a smart playlist in iTunes with date added from when it last worked. (If you use it of course).

Posted by: bmfholland Nov 30 2013, 17:30

Just finished creating my own beatport script. It's been a GREAT learning experience. I'm so happy. I just did it !!! w00t.gif

I new nothing about the framework and started as soon as the API went down. I'm not planning on releasing it as stevehero is about to release his. There where a *LOT* of (regex) pitfalls down the road and I really learned by trial and error.

My script has a nice little feature that was not included in the original version and it prevents some custom actions afterwards. The TrackCounter code was completely rewritten and I made it much more efficient. Maybe I can share it later with stevehero if he's interested. For the fun of it I will look at creating a new version of the Juno script. A big thanks goes out to stevehero and pone for creating their scripts and documenting their findings on this forum.

 

Posted by: stevehero Nov 30 2013, 21:54

QUOTE (bmfholland @ Nov 30 2013, 17:30) *
Just finished creating my own beatport script. It's been a GREAT learning experience. I'm so happy. I just did it !!! w00t.gif

The TrackCounter code was completely rewritten and I made it much more efficient. Maybe I can share it later with stevehero if he's interested.

Well done smile.gif It gets additive once you get the hang of it.

I'd be interested to see how you got it simplier than: wink.gif
QUOTE
findinline "<<albumEnd>>" 1 1
do
findinline "<<startTrack>>" 1 1

outputto "Tracktemp" # TRACK/TOTALTRACK
sayregexp "(?<=txt-grey\"> )[^<]+" "" "<<endTrack>>"
say "/"
sayoutput "totaltracks"
say "|"

>>>OTHER TRACK OUTPUTS HERE<<<

outputto "Tracks"
say "|"

findinline "<<endTrack>>" 1 1
while "<<startTrack>>" 99

AT END OF SCRIPT
QUOTE
# TRACK FIX ** Do not delete
outputto "Title"
sayoutput "Titletemp"
set "Titletemp"
outputto "Track"
sayoutput "Tracktemp"
set "Tracktemp"


Posted by: bmfholland Nov 30 2013, 22:09

Yes its very addictive and fun! You have to be creative with the tools that are available. Regex is a VERY powerful tool. If you get to understand it its awesome. Still learning smile.gif

I just noticed i used a modified version of your (old) script (v2.1), sorry my bad. That version had a very long procedure for the trackcounter. I see you have a different approach now. Yours is about the same as mine.

CODE
# TRACK COUNTER
gotoline 1
findline "data-json" 1 1
joinuntil "pageBottom clear"
outputto "_tracknumber"
regexpreplace "(?<=release_track_)(\d)(?=\")" "0$1"
regexpreplace ".*?(?=release_track_01)" ""
do
findinline "release_track_" 1 1
sayuntil "\""
say "/"
sayoutput "totaltracks"
say "|"
findinline "tracks-grid-" 1 1
while "release_track_" 200 1


I did a almost complete rewrite of the code. Just to see if i can pull it off myself. I also added code to my script to detect if an album release is single artist, multi-artist or various artist. It scans all track artists and filters out duplicate artists to generate a new list of unique artists. With the unique list of artists there's some logic to determine to which fields to output.

Criteria:
4 or more unique track artists detected:
- If 4 or more unique artist are detected in any combination then output to ALBUMARTIST: "Various Artists". (I prefer 4 or more)

3 unique track artists detected:
- If 3 artists worked on all tracks it outputs it to the ARTIST field in the form: artist1, artist2 & artist 3. Don't use ALBUMARTIST field.
- If 3 artists worked on part of the tracks (in any combination), it leaves the ARTIST field alone, but outputs the 3 artists to the ALBUMARTIST field in format: artist1, artist2 & artist 3.

2 unique track artists detected:
- If 2 artists worked on all of the tracks it outputs to ARTIST in format: artist1 & artist2
- If 2 artists worked on individual or some shared tracks (any combination), it leaves the ARTIST field alone, but outputs the 2 artists to the ALBUMARTIST field in format: artist1 & artist2.

1 unique track artist detected:
- Just use ARTIST field, do not use ALBUMARTIST field.

Posted by: bmfholland Dec 1 2013, 00:29

I had the trackcounter in a separate do .. while loop at the end of the script. I moved it to the tracks do.. while routine and need less code now. This is much better/cleaner, thanks for the tip!


CODE
# TRACK COUNTER
outputto "_tracknumber"
regexpreplace "(?<=txt-grey\"> )(\d)(?!\d)" "0$1"
sayregexp "(?<=txt-grey\"> )(\d*)"
say "/"
sayoutput "totaltracks"
say "|"

Posted by: stevehero Dec 1 2013, 04:03

QUOTE (bmfholland @ Nov 30 2013, 22:09) *
Yes its very addictive and fun! You have to be creative with the tools that are available. Regex is a VERY powerful tool. If you get to understand it its awesome. Still learning smile.gif

I just noticed i used a modified version of your (old) script (v2.1), sorry my bad. That version had a very long procedure for the trackcounter. I see you have a different approach now. Yours is about the same as mine.

Yeah it's been like that since v3.0 and the new script is no different. I can't see any simplier way to do it. Not until mp3tag can write directly to the TRACK tag.

QUOTE (bmfholland @ Nov 30 2013, 22:09) *
I did a almost complete rewrite of the code. Just to see if i can pull it off myself. I also added code to my script to detect if an album release is single artist, multi-artist or various artist. It scans all track artists and filters out duplicate artists to generate a new list of unique artists. With the unique list of artists there's some logic to determine to which fields to output.

Criteria:
4 or more unique track artists detected:
...

3 unique track artists detected:
...

2 unique track artists detected:
...

1 unique track artist detected:
....

The way my new one works is quite simple. If the album is a compilation of artists like:
http://www.beatport.com/release/soundtrack-of-your-summer/952296 where the artists had no collaboration whatsoever then it's VA (my script outputs COMPILATION to: 1 if so)

but then for:
http://www.beatport.com/release/we-are-friends-vol-2/1186469 where the artists are part of the same record label and have basically gotten together to put these songs on the album then I believe it's better to have all the contributing artists in the ALBUMARTIST field. All will become clear when I post my new sripts, which...

I've started and completed the single track scripts today. smile.gif Testing (I hope) tomorrow and will post them no later than in a couple of days.

Posted by: DJJeffHax Dec 1 2013, 18:41

QUOTE (stevehero @ Dec 1 2013, 04:03) *
Yeah it's been like that since v3.0 and the new script is no different. I can't see any simplier way to do it. Not until mp3tag can write directly to the TRACK tag.


The way my new one works is quite simple. If the album is a compilation of artists like:
http://www.beatport.com/release/soundtrack-of-your-summer/952296 where the artists had no collaboration whatsoever then it's VA (my script outputs COMPILATION to: 1 if so)

but then for:
http://www.beatport.com/release/we-are-friends-vol-2/1186469 where the artists are part of the same record label and have basically gotten together to put these songs on the album then I believe it's better to have all the contributing artists in the ALBUMARTIST field. All will become clear when I post my new sripts, which...

I've started and completed the single track scripts today. smile.gif Testing (I hope) tomorrow and will post them no later than in a couple of days.


Cool.... can't wait till it's there.
Work starts to pile up now rolleyes.gif

Posted by: stevehero Dec 2 2013, 23:27

Ladies and gentlemen your working script awaits at starting post http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563.

One more thing to note that you need to run the action attached with the scripts to separate the BEATPORT_ARTIST_URL fields. Apart from that give the attached readme file a whirl. book.gif book.gif book.gif

Yours in music ~ stevehero

Posted by: B-FiSH Dec 3 2013, 03:01

first I want to thank you for all your great work.

i get an error at the following release.

http://www.beatport.com/release/passion-over-fashion-2-3/1145141

the title name is written as a compilation.



CODE
# _ _ _
# | | | | | |
# | |__ ___ __ _ | |_ _ __ ___ _ __ | |_ ___ ___ _ __ ___
# | '_ \ / _ \ / _` || __|| '_ \ / _ \ | '__|| __| / __|/ _ \ | '_ ` _ \
# | |_) || __/| (_| || |_ | |_) || (_) || | | |_ _| (__| (_) || | | | | |
# |_.__/ \___| \__,_| \__|| .__/ \___/ |_| \__|(_)\___|\___/ |_| |_| |_| _
# (_) | | | | | | | | |
# ___ ___ _ __ _ _ __|_| |_ | |__ _ _ ___ | |_ ___ __ __ ___ | |__ ___ _ __ ___ TM
# / __| / __|| '__|| || '_ \ | __| | '_ \ | | | | / __|| __|/ _ \\ \ / // _ \| '_ \ / _ \| '__|/ _ \
# \__ \| (__ | | | || |_) || |_ | |_) || |_| | \__ \| |_| __/ \ V /| __/| | | || __/| | | (_) |
# |___/ \___||_| |_|| .__/ \__| |_.__/ \__, | |___/ \__|\___| \_/ \___||_| |_| \___||_| \___/
# | | __/ |
# |_| |___/
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# .:: [v4.0 by stevehero™] [02.11.13] ::. #
# .:: Please read the 'Version History + Readme' file ::. #
# .:: DO NOT COPY/MODIFY OR REDISTRIBUTE THIS WITHOUT PERMISSION ::. #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
[Name]=on beatport.com [v4.0 by stevehero™] (◣_◢)
[BasedOn]=http://www.beatport.com
[IndexUrl]=http://www.beatport.com/search?&perPage=50&facets[]=fieldType:release&query=%s # Place &sortBy=publishDate+DESC at the end of %s if you want releases sorted by date.
[AlbumUrl]=
[WordSeperator]=+
[IndexFormat]=%_URL%|% (◣_◢)™%|% ↓ OUT ON%|% ↓ RELEASES%|% ↓ ARTIST/S%|% ↓ REMIXER/S%
[SearchBy]=[ RELEASE for RELEASE ]$trim($regexp($regexp($regexp(%album%,'\b-\b|_', ),'(?i)\[.*\]|cd\s*\d*|[^\s]+.com|\bep\b|feat\.|ft\.|\bom\b|\boriginal\b|\bclub\b|\bmix\b|\bremix\b|\bthe\b|vinyl|web|www[^\s]+|[^\w\s]',),'\s+', ))
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
[ParserScriptIndex]=...
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# debug "on" "C:\debug index beatport.txt" # PLACE BEFORE HEADINGS TO WANT TO DEBUG
# debug "off" "C:\debug index beatport.txt" # PLACE AFTER HEADINGS TO WANT TO DEBUG (OPTIONAL)
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# SETUP PARSING
findline "<li name=\"tile-list__1\"" 1 1
joinuntil "\"footer-pusher\">"
unspace
regexpreplace ">\s+<" "><"
regexpreplace "\s+" " "
replace "|" "$verticalBar()"
regexpreplace "\"tile-list__\d+\" data-index=\"\d+\"" "<<endAlbum>><<nextAlbum>>"
regexpreplace "\"footer-pusher\">" "<<endAlbum>>"
regexpreplace "(\d{4}-\d{2}-\d{2})\s+" "ReleasedD:$1"
regexpreplace "(data-item-name=\\"[^\"]{70,250}?)[^\"]+(\")" "$1...$2" # SHORTEN RELEASE
regexpreplace "<span\s+class=\"item-list\">(.+?<)/a></span><span\s+class=\"item-list-minor\">" "startArtists>>>$1<<<endArtists"
regexpreplace "<a data-id=\"\d+\"\s+data-type=(\"artist\"|\"remixer\")\s+href=\"http[^\"]+\"\s+title=\"([^\"]+)\">[^<]+</*a*>*,*\s*" "$1$2\""
regexpreplace "(\"artist\"[^\"]+\")(<<<endArtists)" "$1\"remixer\"╳\"$2" # ADD [x] REMIXER AT END WHEN NO REMIXER
regexpreplace "(startArtists>>>\"artist\"[^\"]+\"\"artist\"[^\"]+\"\"artist\"[^\"]+\"\"artist\"[^\"]+\"\"artist\"[^\"]+)(\")" "$1... + others<<<endArtists$2" # ARTIST ... + others
replace "\":true," "\":✔,"
replace "\":false," "\":╳,"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
do
findinline "<<nextAlbum>>"

sayregexp "(?<=<a href=\")[^\"]+" "" "><img class=\"tile-image" # URL
say "|"

sayregexp "(?<=ReleasedD\:)[^<]+" "" "<<endAlbum>>" # YEAR
say " ●"
say "|"

findinline "data-type=\"label\"" 1 1 # OUT ON
sayregexp "(?<=\"> )[^<]+" "|" "<<endAlbum>>"
say "|"

findinline "<<nextAlbum>>" -1 1
sayregexp "(?<=\"Play\" data-item-name=\")[^\"]+" "" "action=\"play\"" # RELEASES
say "|"

sayregexp "(?<=\"artist\")[^\"]+" " ● " "<<<endArtists" # ARTIST/S
say "|"

sayregexp "(?<=\"remixer\")[^\"]+" " ● " "<<endAlbum>>" # REMIXER/S

saynewline
findinline "<<endAlbum>>" 1 1
while "<<nextAlbum>>" 50
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
[ParserScriptAlbum]=...
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# debug "on" "C:\debug album beatport.txt" # Place before headings to want to debug
# debug "off" "C:\debug album beatport.txt" # Place after headings to want to debug (OPTIONAL)
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
findline "data-autocomplete-rows" 1 1
joinuntil "track-grid-release"
unspace
regexpreplace "\s+" " "
replace "\/" "/"
replace "exclusive\":false" "exclusive\":No"
replace "exclusive\":true" "exclusive\":Yes"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# YEAR OPTIONS
#regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2-$4-$3" # YEAR in YYYY-DD-MM format
#regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$4-$3-$2" # YEAR in DD-MM-YYYY format
regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2" # YEAR in YYYY format
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# DATE OPTIONS
regexpreplace "(publishDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$3$4" # DATE in MMDD format
#regexpreplace "(publishDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$4$3" # DATE in DDMM format
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# TOTALTRACK OPTIONS
regexpreplace "(>) (\d)( TRACKS TOTAL <)" "$1 0$2$3" # Add leading zeros to TOTALTRACKS
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# COVERURL
outputto "COVERURL"
say "http://"
sayregexp "(?<=data-modal-artwork=\"\/\/).+?\.jpg"

# TOTALTRACKS
outputto "TOTALTRACKS"
findinline "track-grid-total-row" 1 1
sayregexp "(?<=\"> )[^\s]+" "" "TRACKS"

# _TIME CHECK (shows track length when only single track available, convenient to check time comparison)
findinline "fontCondensed \"> " 1 1
replace "01 " "1 "
gotochar 1
findinline "fontCondensed \"> " 1 1
if "1 "
outputto "_TIME CHECK"
sayregexp "(?<=\"length\":\")[^\"]+" ""
else
say ""
endif

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

# ALBUM
outputto "ALBUM"
gotochar 1
sayregexp "(?<=data-item-name=\")[^\"]+" "" "\" data-player-action"

# YEAR
outputto "YEAR"
sayregexp "(?<=releaseDate\":\")[^\"]+"

# DATE
outputto "DATE"
sayregexp "(?<=publishDate\":\")[^\"]+"

# CATALOG
outputto "CATALOG #"
findinline "Catalog #" 1 1
sayregexp "(?<=meta-data-value\">)[^\<]+"

# PUBLISHER/LABEL
outputto "PUBLISHER"
findinline "label\":{" 1 1
sayregexp "(?<=name\":\")[^\"]+"

# WWW
outputto "WWW"
gotochar 1
sayregexp "(?<=link-box\" value=\")[^\"]+"

# BEATPORT_RELEASE_ID
outputto "BEATPORT_RELEASE_ID"
gotochar 1
sayregexp "(?<=data-item-id=\")[^\"]+" "" " data-page"

# BEATPORT_LABEL_URL
outputto "BEATPORT_LABEL_URL"
say "http://www.beatport.com"
gotochar 1
findinline ">Labels<" 1 1
sayregexp "(?<=a href=\")[^\"]+" "" "</a>"

# UNSYNCEDLYRICS
outputto "UNSYNCEDLYRICS"
gotochar 1
say "Release type:\\u0009\\u0009"
sayregexp "(?<=data-context=\")[^\"]+" "" "loading"
say "\\u000d----------------------------------------------\\u000d"
say "Exclusive to beatport:\\u0009"
sayregexp "(?<=\"exclusive\":)[^,]+"
gotochar 1
findinline "data-description=\"" 1 1
say "\\u000d----------------------------------------------\\u000d"
sayuntil "\" data-action"
say "\\u000d----------------------------------------------\\u000d"
say "Tagged by:\\u0009\\u0009Mp3Tag w/ beatport.com scripts [v4.0 by stevehero™] (◣_◢) (http://bit.ly/15JrGyK)"
#
# TRACKS
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
findline "track-grid track-grid-release" 1 1
joinuntil "class=\"pageBottom clear\""
unspace
regexpreplace "\s+" " "
replace "\\\"" "&quot;"
replace "|" "$verticalBar()"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
replace "playRow altRow-\" data-index=\"" "<<startTrack>>"
replace "track-grid-content " "<<endTrack>>"
replace "class=\"pageBottom clear\"" "<<endTrack>>"
replace "\"tracks-grid-release_track_1\" class=\"<<endTrack>>" "<<albumEnd>>"
regexpreplace ",\"name(\":\"[^\"]+\",\"slug.{1,50}artist\")" ",\"artistName$1" # Artist/s
regexpreplace ",\"name(\":\"[^\"]+\",\"slug.{1,50}remixer\")" ",\"remixerName$1" # Remixer/s
replace ",\"bpm\":0," ","bpm":╳," # Zero BPM fix
regexpreplace "(,\"key\":)null,\"" "$1\"shortName\":\"╳\"},\"" # Missing key
replace "\"type\":\"track\"" "\"type\":\"Track\"" # Capital letter
replace "\/" "/" # URLS
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# TITLE FIXES + OPTIONS
#regexpreplace "(?i)\s+f(ea)?t\.*\s+" " feat. " # 'ft. => feat.' 'Ft. => feat.' 'Feat. => feat.'
#regexpreplace "(?i)(\w)(\(|\[)feat\.\s+(.+?)(\]|\))" "$1 feat. $3" # Title(Feat. artist) => Title feat. artist (http://btprt.dj/1bMEKk7)
#regexpreplace "(?i)(\(|\[)(feat\.\s.+?)(\]|\))" "$2" # Title (feat. artist) => Title feat. artist (http://btprt.dj/1iGU603)
#regexpreplace "(?i)(feat\.\s+[^\"]{1,40})\s+feat\." "$1," # Title feat. artist feat. artist' => 'Title feat. artist, artist (http://btprt.dj/1iGU2xp)
#regexpreplace "(?i)(\",\"title\":\".+?)(\s\[Bonus Track\])(.{1,75})(\",\"slug)" "$1$3$2$4" # Title [Bonus Track] feat. artist (Remixer) => Title feat. artist (Remixer) [Bonus Track] (http://btprt.dj/1bMEKk7)
#replace " (Original Mix) (Original Mix)" " (Original Mix)" # Fix double '(Original Mix)'.
#replace " (Original Mix)" " (OM)" # Replace " (OM)" to your liking, block this with # to keep original setting
#replace " feat. " " feat. " # Here you can change the way you want 'feat.' formatted
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# TRACK OPTIONS
regexpreplace "(txt-grey\">\s*)(\d)( <)" "$1 0$2$3" # Add leading zeros to TRACK
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# INITIALKEY to Camelot notation. Please DO NOT change values (you can delete these replaces to get 'Dmin' etc.)
replace "&amp;#9839;" "#" # Fix
replace "A♭min" "01A"
replace "G#min" "01A" # SAME KEY #
replace "E♭min" "02A"
replace "D#min" "02A" # SAME KEY #
replace "B♭min" "03A"
replace "A#min" "03A" # SAME KEY #
replace "Fmin" "04A"
replace "Cmin" "05A"
replace "Gmin" "06A"
replace "Dmin" "07A"
replace "Amin" "08A"
replace "Emin" "09A"
replace "Bmin" "10A"
replace "F#min" "11A"
replace "D♭min" "12A"
replace "C#min" "12A" # SAME KEY #
replace "Bmaj" "01B"
replace "F#maj" "02B"
replace "D♭maj" "03B"
replace "C#maj" "03B" # SAME KEY #
replace "A♭maj" "04B"
replace "G#maj" "04B" # SAME KEY #
replace "E♭maj" "05B"
replace "D#maj" "05B" # SAME KEY #
replace "B♭maj" "06B"
replace "A#maj" "06B" # SAME KEY #
replace "Fmaj" "07B"
replace "Cmaj" "08B"
replace "Gmaj" "09B"
replace "Dmaj" "10B"
replace "Amaj" "11B"
replace "Emaj" "12B"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# GENRE
regexpreplace ",\"genres\":\[.+?name\":\"([^\"]+)[^]]+\]" "trackGenre>>$1>" # Fix
#regexpreplace "(trackGenre>>)(Dee|Ele|Min|Pro|Tec)(.+?)\s?(House)?.{0}>" "$1$4 $2$3>" # 'Progressive House' to 'House Progressive'
#replace "trackGenre>>House Progressive>" "trackGenre>>House Prog>" # 'Progressive House' to 'House Prog'
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
findinline "<<albumEnd>>" 1 1
do
findinline "<<startTrack>>" 1 1

outputto "TRACKTEMP" # TRACK/TOTALTRACK|TRACKTEMP
sayregexp "(?<=txt-grey\"> )[^<]+" "" "<<endTrack>>"
say "/"
sayoutput "TOTALTRACKS"
say "|"

outputto "BEATPORT_ITEM_TYPE" # BEATPORT_ITEM_TYPE
sayregexp "(?<=,\"type\":\")[^\"]+" "" "\",\"name\""
say "|"

outputto "TITLETEMP" # TITLE|TITLETEMP
sayregexp "(?<=title\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "ARTIST" # ARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "MIXARTIST" # MIXARTIST
sayregexp "(?<=,\"remixerName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "_LENGTH" # _LENGTH
sayregexp "(?<=\"length\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "BPM" # BPM
sayregexp "(?<=,\"bpm\":)[^,]+" "" "<<endTrack>>"
say "|"

outputto "INITIALKEY" # INITIALKEY
sayregexp "(?<=\"shortName\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "GENRE" # GENRE
sayregexp "(?<=trackGenre>>)[^>]+" "" "<<endTrack>>"
say "|"

outputto "BEATPORT_TRACK_ID" # BEATPORT_TRACK_ID
sayregexp "(?<=data-item-id=\")[^\"]+" "" "> play"
say "|"

outputto "BEATPORT_TRACK_URL" # BEATPORT_TRACK_URL
sayregexp "(?<=-larger\" href=\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "BEATPORT_ARTIST_URL" # BEATPORT_ARTIST_URL
findinline "artistList" 1 1
sayregexp "(?<=<a href=\")[^\"]+" "\\u005c\\u005c" "\"genreList\""
say "|"

outputto "TRACKS"
say "|"

findinline "<<endTrack>>" 1 1
while "<<startTrack>>" 99
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# .:: C U S T O M I Z A T I O N S T A R T S ::. #
# • You can add your own web source scripting here #
# • ONLY disable the ALBUM [CATALOG #] here #
# • Disable the other fields in the .:: R E M O V E F I E L D S ::. section below #
# • To disable place a "#" in front of each line of code between the headings. e.g. #
# ALBUM [CATALOG #] #
# outputto "ALBUM" #
# #say " [" #
# #sayoutput "CATALOG #" #
# #say "]" #
# COMMENT #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# ALBUM ARTIST
outputto "ALBUM ARTIST"
sayoutput "ALBUMARTIST"
# ALBUM [CATOLOG #]
outputto "ALBUM"
#say " ["
#sayoutput "CATALOG #"
#say "]"
# COMMENT
outputto "COMMENT"
sayoutput "INITIALKEY"
# DISCNUMBER
outputto "DISCNUMBER"
say "1"
# MEDIATYPE
outputto "MEDIATYPE"
say "WEB 320kbps"
# RELEASETIME
outputto "RELEASETIME"
sayoutput "YEAR"
# TOTALDISKS
outputto "TOTALDISKS"
say "1"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# .:: E N D ::. #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
# TRACK FIX ** Do not delete
outputto "TITLE"
sayoutput "TITLETEMP"
set "TITLETEMP"
outputto "TRACK"
sayoutput "TRACKTEMP"
set "TRACKTEMP"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# .:: R E M O V E F I E L D S ::. #
# • To remove fields from parsing delete the # in front of 'set' #
# • Only use this section to remove fields #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
set "_LENGTH"
# set "_TIME CHECK"
# set "ALBUM"
set "ALBUMARTIST" # ITUNES USES
set "ALBUM ARTIST" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
# set "ARTIST"
set "BEATPORT_ARTIST_URL"
set "BEATPORT_ITEM_TYPE"
set "BEATPORT_LABEL_URL"
set "BEATPORT_RELEASE_ID"
set "BEATPORT_TRACK_ID"
set "BEATPORT_TRACK_URL"
set "BPM"
set "CATALOG #"
set "COMMENT" # EXTRA FIELD
set "COMPILATION"
# set "COVERURL"
set "DATE"
set "DISCNUMBER" # EXTRA FIELD
# set "GENRE"
set "INITIALKEY"
set "MEDIATYPE" # EXTRA FIELD
# set "MIXARTIST"
# set "PUBLISHER" # RECORD LABEL
set "RELEASETIME"
# set "TITLE"
set "TRACK" # NO'S OF TRACKS E.G. 01/06 (if set goes back to default 1, 2, 3... etc)
set "TOTALDISKS" # EXTRA FIELD
set "TOTALTRACKS" # EXTRA FIELD
set "UNSYNCEDLYRICS" # DESCRIPTION ON BEATPORT
set "WWW"
# set "YEAR"
#
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# .:: T H E E N D ::. #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
# _ _ _
# | | | | | |
# | |__ ___ __ _ | |_ _ __ ___ _ __ | |_ ___ ___ _ __ ___
# | '_ \ / _ \ / _` || __|| '_ \ / _ \ | '__|| __| / __|/ _ \ | '_ ` _ \
# | |_) || __/| (_| || |_ | |_) || (_) || | | |_ _| (__| (_) || | | | | |
# |_.__/ \___| \__,_| \__|| .__/ \___/ |_| \__|(_)\___|\___/ |_| |_| |_| _
# (_) | | | | | | | | |
# ___ ___ _ __ _ _ __|_| |_ | |__ _ _ ___ | |_ ___ __ __ ___ | |__ ___ _ __ ___ TM
# / __| / __|| '__|| || '_ \ | __| | '_ \ | | | | / __|| __|/ _ \\ \ / // _ \| '_ \ / _ \| '__|/ _ \
# \__ \| (__ | | | || |_) || |_ | |_) || |_| | \__ \| |_| __/ \ V /| __/| | | || __/| | | (_) |
# |___/ \___||_| |_|| .__/ \__| |_.__/ \__, | |___/ \__|\___| \_/ \___||_| |_| \___||_| \___/
# | | __/ |
# |_| |___/
#

Posted by: stevehero Dec 3 2013, 09:57

QUOTE (B-FiSH @ Dec 3 2013, 03:01) *
first I want to thank you for all your great work.

i get an error at the following release.

http://www.beatport.com/release/passion-over-fashion-2-3/1145141

the title name is written as a compilation.

HI, just in future when you're posting long code place it in a codebox as opposed to an ordinary code one. Thanks.

To disable the TITLE block out this like so:
CODE
# TRACK FIX ** Do not delete
#outputto "TITLE"
#sayoutput "TITLETEMP"
#set "TITLETEMP"
#outputto "TRACK"
#sayoutput "TRACKTEMP"
#set "TRACKTEMP"

OR
CODE
# TRACK FIX ** Do not delete
#outputto "TITLE"
#sayoutput "TITLETEMP"
#set "TITLETEMP"
outputto "TRACK"
sayoutput "TRACKTEMP"
set "TRACKTEMP"


To be honest I've not tested it to set the TITLE as I never thought people would and I don't have the script at hand at the moment. I just placed it in the set list to have all the fields there. Hope this helps.

Posted by: bmfholland Dec 3 2013, 12:23

QUOTE (stevehero @ Dec 2 2013, 23:27) *
Ladies and gentlemen your working script awaits at starting post http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563.

One more thing to note that you need to run the action attached with the scripts to separate the BEATPORT_ARTIST_URL fields. Apart from that give the attached readme file a whirl. book.gif book.gif book.gif

Yours in music ~ stevehero


Hi, I can't wait to try it out!. I now know how much time and efford you must have spend in order to keep this script alive. Well done steve!

Posted by: bronsonj Dec 3 2013, 14:38

First of all i'd like to thank Stevehero from the bottom of my heart, for making these scripts and helping in making our lives simpler and easier when it comes to tagging music. Thank you so very much, for your time and effort.

So i started using v4 and for some reason when i use "SINGLE TRACK Search by Title", i keep getting a Bad Request Error (400). However if i were to manually go through Google and locate the URL for the track, and then enter it through "SINGLE TRACK Direct By URL", it works. Any idea as to why this is Steve?

PS. Release search by artist, title, release give me this error too.
FYI Everything was working fine about 12 hrs earlier.


Posted by: Mars Dec 3 2013, 18:28

Hi Stevehero, first i'd like to thank you very much for the script! smile.gif
I've got a question for you, it's possible to put in the CATALOG # the label release number? e.g. in this release http://www.beatport.com/release/wizard/1201003 i want the CATALOG # field to contain the string SP783
Thanks in advance biggrin.gif

Posted by: stevehero Dec 3 2013, 20:34

QUOTE (bronsonj @ Dec 3 2013, 14:38) *
PS. Release search by artist, title, release give me this error too.
FYI Everything was working fine about 12 hrs earlier.

No problems my end with the scripts you mentioned. Try donwloading again if you've modified them.. and come back if you still have problems

Posted by: stevehero Dec 3 2013, 20:38

QUOTE (Mars @ Dec 3 2013, 18:28) *
Hi Stevehero, first i'd like to thank you very much for the script! smile.gif
I've got a question for you, it's possible to put in the CATALOG # the label release number? e.g. in this release http://www.beatport.com/release/wizard/1201003 i want the CATALOG # field to contain the string SP783
Thanks in advance biggrin.gif

Use the Beatport by &stevehero v4.0#RELEASE Search by XXX.src scripts.

The Beatport by &stevehero v4.0#SINGLE TRACK Search by XXX.scr scripts are designed for tracks on a album with 2+ tracks. The CATALOG # is not available on the single track pages.

Posted by: bronsonj Dec 4 2013, 05:04

QUOTE (stevehero @ Dec 4 2013, 02:34) *
No problems my end with the scripts you mentioned. Try donwloading again if you've modified them.. and come back if you still have problems


So i took another go at this, but this time i used hotspot shield since there was a track i had which was territory restricted. And that seems to be the fix. All the scripts work now as long as I've got the hotspot shield switched on, changing my location to the US. I reside in Sri Lanka so it seems that beatport rejects whatever method your script tries to obtain information from it, at-least for my country.However webpage requests are allowed through my browser without changing my location. Thought you'd want to know.

For now i'm using hotspot shield in conjunction with your script and i'm having success w00t.gif . Cheers again for the scripts.

Posted by: Trouble T Dec 4 2013, 17:39

So far so good on my end with the release script, haven't had a chance to test the single tracks mostly because I like having the Catalog # field smile.gif. Appreciate all the hard work you've put into this script for the rest of us. I only discovered it not to long ago.

Posted by: Mars Dec 4 2013, 17:58

QUOTE (stevehero @ Dec 3 2013, 20:38) *
Use the Beatport by &stevehero v4.0#RELEASE Search by XXX.src scripts.

The Beatport by &stevehero v4.0#SINGLE TRACK Search by XXX.scr scripts are designed for tracks on a album with 2+ tracks. The CATALOG # is not available on the single track pages.


Perfect, that's exactly what i want! Thanks biggrin.gif

Posted by: hysiria Dec 4 2013, 19:11

first of all thank you for this awesome script!

im mostly using the SINGLE TRACK (album) artist+title script. the problem i have is on every single track the track number is allways 01/01. even if its the 5th track on the release. is there any way to fix this?

Posted by: B-FiSH Dec 4 2013, 19:16

hi steve.
I have the script now only modified in the following fields.
Unfortunately, the script wants the title names in the length field to write and not in the title field.
where I make the error?

i used release seeking.

CODE
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::#
# .:: R E M O V E F I E L D S ::. #
# • To remove fields from parsing delete the # in front of 'set' #
# • Only use this section to remove fields #
#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::#
#
set "_LENGTH"
set "_TIME CHECK"
# set "ALBUM"
set "ALBUMARTIST" # ITUNES USES
set "ALBUM ARTIST" # EXTRA FIELD, ALBUM ARTIST USED IN VLC AND OTHERS
# set "ARTIST"
set "BEATPORT_ARTIST_URL"
set "BEATPORT_ITEM_TYPE"
set "BEATPORT_LABEL_URL"
set "BEATPORT_RELEASE_ID"
set "BEATPORT_TRACK_ID"
set "BEATPORT_TRACK_URL"
set "BPM"
set "CATALOG #"
set "COMMENT" # EXTRA FIELD
set "COMPILATION"
set "COVERURL"
set "DATE"
set "DISCNUMBER" # EXTRA FIELD
# set "GENRE"
set "INITIALKEY"
set "MEDIATYPE" # EXTRA FIELD
set "MIXARTIST"
# set "PUBLISHER" # RECORD LABEL
set "RELEASETIME"
# set "TITLE"
set "TRACK" # NO'S OF TRACKS E.G. 01/06 (if set goes back to default 1, 2, 3... etc)
set "TOTALDISKS" # EXTRA FIELD
set "TOTALTRACKS" # EXTRA FIELD
set "UNSYNCEDLYRICS" # DESCRIPTION ON BEATPORT
set "WWW"
set "YEAR"





Posted by: stevehero Dec 4 2013, 23:10

QUOTE (hysiria @ Dec 4 2013, 19:11) *
first of all thank you for this awesome script!

im mostly using the SINGLE TRACK (album) artist+title script. the problem i have is on every single track the track number is allways 01/01. even if its the 5th track on the release. is there any way to fix this?

I put a readme file with the scripts. Read it. It even mentions it in the starting post where you downloaded it. Sorry to be harsh but that's the reality.

Posted by: stevehero Dec 4 2013, 23:34

FOR ANYONE NOT WANTING THE TITLE PARSED:

I've managed to look at this problem properly for you. You must block out the outputto "TRACKTEMP" & outputto "TITLETEMP"

CODE
#
findinline "<<albumEnd>>" 1 1
do
findinline "<<startTrack>>" 1 1

# outputto "TRACKTEMP" # TRACK/TOTALTRACK|TRACKTEMP
# sayregexp "(?<=txt-grey\"> )[^<]+" "" "<<endTrack>>"
# say "/"
# sayoutput "TOTALTRACKS"
# say "|"

outputto "BEATPORT_ITEM_TYPE" # BEATPORT_ITEM_TYPE
sayregexp "(?<=,\"type\":\")[^\"]+" "" "\",\"name\""
say "|"

# outputto "TITLETEMP" # TITLE|TITLETEMP
# sayregexp "(?<=title\":\")[^\"]+" "" "<<endTrack>>"
# say "|"

outputto "ARTIST" # ARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "MIXARTIST" # MIXARTIST
sayregexp "(?<=,\"remixerName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "_LENGTH" # _LENGTH
sayregexp "(?<=\"length\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "BPM" # BPM
sayregexp "(?<=,\"bpm\":)[^,]+" "" "<<endTrack>>"
say "|"

outputto "INITIALKEY" # INITIALKEY
sayregexp "(?<=\"shortName\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "GENRE" # GENRE
sayregexp "(?<=trackGenre>>)[^>]+" "" "<<endTrack>>"
say "|"

outputto "BEATPORT_TRACK_ID" # BEATPORT_TRACK_ID
sayregexp "(?<=data-item-id=\")[^\"]+" "" "> play"
say "|"

outputto "BEATPORT_TRACK_URL" # BEATPORT_TRACK_URL
sayregexp "(?<=-larger\" href=\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "BEATPORT_ARTIST_URL" # BEATPORT_ARTIST_URL
findinline "artistList" 1 1
sayregexp "(?<=<a href=\")[^\"]+" "\\u005c\\u005c" "\"genreList\""
say "|"

outputto "TRACKS"
say "|"

findinline "<<endTrack>>" 1 1
while "<<startTrack>>" 99
#

Like so.

Then:
CODE
#
   # TRACK FIX ** Do not delete
   # outputto "TITLE"
   # sayoutput "TITLETEMP"
   # set "TITLETEMP"
   # outputto "TRACK"
   # sayoutput "TRACKTEMP"
   # set "TRACKTEMP"

& then
CODE
# set "TITLE"


You should be trouble free after that

Posted by: stevehero Dec 4 2013, 23:37

QUOTE (bronsonj @ Dec 4 2013, 05:04) *
i used hotspot shield..

Nice, however I cannot condone this sort of behaver wink.gif

Posted by: Pavle Dec 6 2013, 17:25

Thanks for all the work you have put into this! Is there a way to stop the MIXARTIST being put into the ALBUMARTIST field when using the RELEASE search?

Posted by: Trouble T Dec 6 2013, 20:05

I did notice a little bug in the ALBUMARTIST field. When the tag writes to that section if an artist like "J-Trick" or "D-Wayne" the ALBUMARTIST will write as "J-" or "D-" doesn't write anything after "-". Not an issue for me, but it's something I did notice. I should point out that I am using the Release (Artist + Title) script.

Again can't express my thanks for this smile.gif. Good job.

Posted by: B-FiSH Dec 6 2013, 21:26

ZITAT(stevehero @ Dec 5 2013, 00:34) *
FOR ANYONE NOT WANTING THE TITLE PARSED:

I've managed to look at this problem properly for you. You must block out the outputto "TRACKTEMP" & outputto "TITLETEMP"

CODE
#
findinline "<<albumEnd>>" 1 1
do
findinline "<<startTrack>>" 1 1

# outputto "TRACKTEMP" # TRACK/TOTALTRACK|TRACKTEMP
# sayregexp "(?<=txt-grey\"> )[^<]+" "" "<<endTrack>>"
# say "/"
# sayoutput "TOTALTRACKS"
# say "|"

outputto "BEATPORT_ITEM_TYPE" # BEATPORT_ITEM_TYPE
sayregexp "(?<=,\"type\":\")[^\"]+" "" "\",\"name\""
say "|"

# outputto "TITLETEMP" # TITLE|TITLETEMP
# sayregexp "(?<=title\":\")[^\"]+" "" "<<endTrack>>"
# say "|"

outputto "ARTIST" # ARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "MIXARTIST" # MIXARTIST
sayregexp "(?<=,\"remixerName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "_LENGTH" # _LENGTH
sayregexp "(?<=\"length\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "BPM" # BPM
sayregexp "(?<=,\"bpm\":)[^,]+" "" "<<endTrack>>"
say "|"

outputto "INITIALKEY" # INITIALKEY
sayregexp "(?<=\"shortName\":\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "GENRE" # GENRE
sayregexp "(?<=trackGenre>>)[^>]+" "" "<<endTrack>>"
say "|"

outputto "BEATPORT_TRACK_ID" # BEATPORT_TRACK_ID
sayregexp "(?<=data-item-id=\")[^\"]+" "" "> play"
say "|"

outputto "BEATPORT_TRACK_URL" # BEATPORT_TRACK_URL
sayregexp "(?<=-larger\" href=\")[^\"]+" "" "<<endTrack>>"
say "|"

outputto "BEATPORT_ARTIST_URL" # BEATPORT_ARTIST_URL
findinline "artistList" 1 1
sayregexp "(?<=<a href=\")[^\"]+" "\\u005c\\u005c" "\"genreList\""
say "|"

outputto "TRACKS"
say "|"

findinline "<<endTrack>>" 1 1
while "<<startTrack>>" 99
#

Like so.

Then:
QUELLTEXT
#
   # TRACK FIX ** Do not delete
   # outputto "TITLE"
   # sayoutput "TITLETEMP"
   # set "TITLETEMP"
   # outputto "TRACK"
   # sayoutput "TRACKTEMP"
   # set "TRACKTEMP"

& then
QUELLTEXT
# set "TITLE"


You should be trouble free after that


maybe i am an idiot, if i block outputto "TRACKTEMP" & outputto "TITLETEMP" i got no title output ????

Posted by: stevehero Dec 6 2013, 22:08

QUOTE (B-FiSH @ Dec 6 2013, 21:26) *
maybe i am an idiot, if i block outputto "TRACKTEMP" & outputto "TITLETEMP" i got no title output ????

I thought that's what you wanted. It was unclear in your first post. Keep the script the way you had it in the first post and do this. This way the script won't even process the ALBUMARTIST therefore not putting it in the ALBUMARTIST field or the COMPLIATION.

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

Posted by: stevehero Dec 6 2013, 22:16

QUOTE (Trouble T @ Dec 6 2013, 20:05) *
I did notice a little bug in the ALBUMARTIST field. When the tag writes to that section if an artist like "J-Trick" or "D-Wayne" the ALBUMARTIST will write as "J-" or "D-" doesn't write anything after "-". ..
Again can't express my thanks for this smile.gif . Good job.

ALBUMARTIST FIX:
There was a problem with the sayregexp:

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


No bother man.

Posted by: stevehero Dec 6 2013, 22:33

QUOTE (Pavle @ Dec 6 2013, 17:25) *
Thanks for all the work you have put into this! Is there a way to stop the MIXARTIST being put into the ALBUMARTIST field when using the RELEASE search?

As you can see it doesn't do this. Maybe a URL example would be good.


Posted by: Electrohouse95 Dec 7 2013, 01:40

QUOTE (stevehero @ Dec 6 2013, 23:33) *
As you can see it doesn't do this. Maybe a URL example would be good.



Hello Steve,

It is been a week since i try to get some id3tags but i get this error "Error connecting to server: http://api.beatport.com&quot;. this happens to any tracks. i am in the usa.


what should i do my friend?

Posted by: stevehero Dec 7 2013, 01:55

QUOTE (Electrohouse95 @ Dec 7 2013, 01:40) *
Hello Steve,
It is been a week since i try to get some id3tags but i get this error "Error connecting to server: http://api.beatport.com&quot;. this happens to any tracks. i am in the usa.
what should i do my friend?

Download this latest scripts in starting post because it doesn't use the API pages of beatport any more.

Posted by: Electrohouse95 Dec 7 2013, 03:36

QUOTE (stevehero @ Dec 7 2013, 02:55) *
Download this latest scripts in starting post because it doesn't use the API pages of beatport any more.

thank you for responiding quickly. I do not know which scripts you are exatcly talking about because there are many rolleyes.gif

and i do not know where to add them blink.gif


may you please help more? thanks my friend.

Posted by: Pavle Dec 7 2013, 11:13

QUOTE (stevehero @ Dec 6 2013, 23:33) *
As you can see it doesn't do this. Maybe a URL example would be good.



I've just noticed its not the script thats doing it it is the beatport website itself. Upgraded from version 2.1 and that version included only the album artists in the ALBUMARTIST field.

For example in this release Sasha is listed twice under ALBUMARTIST
http://www.beatport.com/release/highlife-ep/1122342

And in this all the remixers are listed under the ALBUMARTIST
http://www.beatport.com/release/unanswered-question/1143214

Posted by: stevehero Dec 7 2013, 14:49

QUOTE (Pavle @ Dec 7 2013, 11:13) *
I've just noticed its not the script thats doing it it is the beatport website itself. Upgraded from version 2.1 and that version included only the album artists in the ALBUMARTIST field.

For example in this release Sasha is listed twice under ALBUMARTIST
http://www.beatport.com/release/highlife-ep/1122342

And in this all the remixers are listed under the ALBUMARTIST
http://www.beatport.com/release/unanswered-question/1143214

Correct. The problem is the only place beatport lists the combined artists in the html of beatports page in the format
alt="ARTIST, ARTIST, ARTIST - ALBUM"

So there's no other way to grab the ALBUMARTIST field the way you like it. Beatport has it's hicups much like my script (mainly bacause it's not the API pages this script uses anymore) with the Sasha thing tongue.gif Nothing I can do about that.

In this page ALBUMARTIST is VA http://www.beatport.com/release/toolroom-ten/1119232

And in this it's the ARTISTS which makes sense http://www.beatport.com/release/love-inc/1156434

And here's the ARTISTS and MIXARTIST combined. In my opinion understandably so because the MIXARTIST has just as much right to be labelled as a contributor to the ALBUM or RELEASE as beatport calls them smile.gif http://www.beatport.com/release/the-end/1153054

Posted by: stevehero Dec 7 2013, 14:54

QUOTE (Electrohouse95 @ Dec 7 2013, 03:36) *
and i do not know where to add them blink.gif

Read http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

Posted by: Pavle Dec 7 2013, 18:03

QUOTE (stevehero @ Dec 7 2013, 15:49) *
Correct. The problem is the only place beatport lists the combined artists in the html of beatports page in the format
alt="ARTIST, ARTIST, ARTIST - ALBUM"

So there's no other way to grab the ALBUMARTIST field the way you like it. Beatport has it's hicups much like my script (mainly bacause it's not the API pages this script uses anymore) with the Sasha thing tongue.gif Nothing I can do about that.

In this page ALBUMARTIST is VA http://www.beatport.com/release/toolroom-ten/1119232

And in this it's the ARTISTS which makes sense http://www.beatport.com/release/love-inc/1156434

And here's the ARTISTS and MIXARTIST combined. In my opinion understandably so because the MIXARTIST has just as much right to be labelled as a contributor to the ALBUM or RELEASE as beatport calls them smile.gif http://www.beatport.com/release/the-end/1153054


Thats fine, thought as much once i looked how beatport listed them. Glad to have this scrip working again, thanks

Posted by: blackbeen Dec 7 2013, 21:47

Thanks for the script!, I've been able to modify it to my liking with the exception of the year listing as date (YYYY-MM-DD) I would like to have it actually list as year (YYYY) instead of the full release date. It seems like it would be simple but I'm been all over this script & I seem to be missing something.

Posted by: stevehero Dec 7 2013, 22:16

QUOTE (blackbeen @ Dec 7 2013, 21:47) *
Thanks for the script!, I've been able to modify it to my liking with the exception of the year listing as date (YYYY-MM-DD) I would like to have it actually list as year (YYYY) instead of the full release date. It seems like it would be simple but I'm been all over this script & I seem to be missing something.

Unblock the 3rd option here
CODE

# YEAR OPTIONS
#regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2-$4-$3" # YEAR in YYYY-DD-MM format
#regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$4-$3-$2" # YEAR in DD-MM-YYYY format
regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2" # YEAR in YYYY format

Posted by: blackbeen Dec 8 2013, 15:13

QUOTE (stevehero @ Dec 7 2013, 22:16) *
Unblock the 3rd option here
CODE

# YEAR OPTIONS
#regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2-$4-$3" # YEAR in YYYY-DD-MM format
#regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$4-$3-$2" # YEAR in DD-MM-YYYY format
regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2" # YEAR in YYYY format


Thanks!

Posted by: bmfholland Dec 8 2013, 15:51

QUOTE (Pavle @ Dec 7 2013, 11:13) *
I've just noticed its not the script thats doing it it is the beatport website itself. Upgraded from version 2.1 and that version included only the album artists in the ALBUMARTIST field.

For example in this release Sasha is listed twice under ALBUMARTIST
http://www.beatport.com/release/highlife-ep/1122342

And in this all the remixers are listed under the ALBUMARTIST
http://www.beatport.com/release/unanswered-question/1143214


I think I found a way to fix that, I described a solution here. I like it better this way:

[attachment=5366:highlife_ep.jpg]



 

Posted by: Electrohouse95 Dec 9 2013, 00:24

QUOTE (stevehero @ Dec 7 2013, 15:54) *
Read http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

MUCH LOVE for you bro!!


appreciate you.

Posted by: SB1 Dec 10 2013, 14:35

Fantastic work Steve! w00t.gif

I might have found one bug though. When unchecking COMPILATION under remove fields it starts to mess up the fields in the adjust tag information window.

Posted by: stevehero Dec 10 2013, 22:29

QUOTE (SB1 @ Dec 10 2013, 14:35) *
Fantastic work Steve! w00t.gif

I might have found one bug though. When unchecking COMPILATION under remove fields it starts to mess up the fields in the adjust tag information window.

I'm not at my computer and don't have the script at hand but I'm 99.9% sure that the say "" after the outputto "COMPILATION" needs to be say "|" as the COMPILATION is in an if command it behaves differently
. I should have picked up on that.. Thanks for your appreciation.

99% lol. How wrong was I!

ALBUM ARTIST when COMPILATION is set fix


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

With:
CODE
# 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

Needed to tell the if command to say "" (Nothing when it's not VA) to COMPILATION

Posted by: Electrohouse95 Dec 13 2013, 09:03

QUOTE (stevehero @ Dec 7 2013, 15:54) *
Read http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=58563

My friend what do you suggest me to do for these 2 small issues?

Blue Pen: how to remove that?
Red Pen: it always puts "house Electro" instead of electro House or "house Prog" instead of progressive House, how to fix that?

also in the 2nd picture, when i paste the beatport ID which i coppied from the URL of the song, to that box brings the error.

 

Posted by: Murat Dec 15 2013, 21:50

Big thanks Steve rolleyes.gif

Posted by: joak Dec 26 2013, 17:10

Hi Steve, and other mp3tag users wink.gif

I got a problem until 1 or 2 months :

I can't use your script, cause when i try to tag a mp3, the soft say to me :

http://api.beatport.com - not found - error 404.

I try mp3tag both in my home and at work and nothing works...

If someone could help me.

Thank you.

Posted by: ohrenkino Dec 26 2013, 17:18

See
http://forums.mp3tag.de/index.php?s=&showtopic=14479&view=findpost&p=74309

Posted by: blackbeen Dec 26 2013, 17:49

QUOTE (Electrohouse95 @ Dec 13 2013, 09:03) *
Red Pen: it always puts "house Electro" instead of electro House or "house Prog" instead of progressive House, how to fix that?


Yeah, It Lists Tech House as House Tech & Deep House as House Deep as well, I've been manually fixing this but would be nice to have a proper fix if possible, it didn't used to display this way.
Also it lists (Original Mix) as (OM), I wish I could remove this display entirely as I've found that in 99% of cases the Original Mix track on the corresponding vinyl release (&/or release cover) is NOT listed as Original Mix but rather just the plain track title & more often than not when the cover art DOES indeed display Original Mix (or remix etc...) the web release lists it as plain, this has peeved me for years, but I digress.

Posted by: stevehero Dec 26 2013, 17:56

QUOTE (joak @ Dec 26 2013, 17:10) *
I can't use your script, cause when i try to tag a mp3, the soft say to me :Thank you.

I would suggest tracking this thread and you'll get up to date posts. Failing that take a look at the starting post. Subscribe to this (see attached)

 

Posted by: stevehero Dec 26 2013, 18:01

QUOTE (blackbeen @ Dec 26 2013, 17:49) *
Yeah, It Lists Tech House as House Tech & Deep House as House Deep as well, I've been ..

Read through the comments on this thread. It has been answered a couple of times before. If you open the. Scr files it's plain to see where these changes take place. Search house prog and (om) inside them and block out the lines with #. But then again it states this in the readme file. Don't know why I bothered writing it!

Posted by: insomnia Dec 27 2013, 16:06

Great work Steve smile.gif
I was wondering how can i search from SINGLE TRACK via artist and title ?
I see the option for searching via (Album)Artist + Title
But I dont have the info for the album as these are tracks
many thanks insomnia

Posted by: stevehero Dec 27 2013, 16:52

QUOTE (insomnia @ Dec 27 2013, 16:06) *
Great work Steve smile.gif
I was wondering how can i search from SINGLE TRACK via artist and title ?
I see the option for searching via (Album)Artist + Title
But I dont have the info for the album as these are tracks
many thanks insomnia

That same script should work as the albumartist is missing. It uses artist instead. Have you tried that yet?

Posted by: FreaQ Jan 9 2014, 09:12

Hi Steve,

I get a strange error with your scripts.
I will always get "Not acceptable (406)" when connecting to beatport servers.

Other Scripts (FreeDB, Amazon, Discogs) are working smoothly.

I am using Mp3Tag as a portable version. Maybe it is this.

Posted by: stevehero Jan 9 2014, 17:56

QUOTE (FreaQ @ Jan 9 2014, 09:12) *
I get a strange error with your scripts.
I will always get "Not acceptable (406)" when connecting to beatport servers.

Have you downloaded the latest scripts?

Posted by: DJ ektorBarajas Jan 9 2014, 23:03

Stevehero again you are our hero!!!


Just downloaded v4 of the scripts and the work, also like the new changes!!!

My sincere gratitude rolleyes.gif

Posted by: FreaQ Jan 10 2014, 07:34

ZITAT(stevehero @ Jan 9 2014, 17:56) *
Have you downloaded the latest scripts?

Sure. Using 4.0

I will test it on another machine this weekend.
Let's see what happens.

Edit: I think it is a Proxy issue, not sure why, since all other scripts do work with the proxy given in MP3Tag.

Posted by: stevehero Jan 10 2014, 14:11

QUOTE (DJ ektorBarajas @ Jan 9 2014, 23:03) *
My sincere gratitude rolleyes.gif

De nada

QUOTE (FreaQ @ Jan 10 2014, 07:34) *
Sure. Using 4.0

I will test it on another machine this weekend.
Let's see what happens.

Edit: I think it is a Proxy issue, not sure why, since all other scripts do work with the proxy given in MP3Tag.

Was thinking that was a possible cause, I haven't used the proxy inside mp3tag. What I have is the plug-in for firefox called 'Hóla' (also available on chrome).

  1. Install desktop version of Hóla for firefox.
  2. When you click on a link that's territory restricted you enable hóla to whatever country (Mostly for me the US)
  3. Get the URL from that and paste into the URL of the music you want to tag
  4. Then use the direct by URL method to tag. That's a good workaround if you're having trouble with the proxy in mp3tag.

Maybe someone else can jump on here to answer this about the proxy?

Have you tried disabling it?

Posted by: FreaQ Jan 13 2014, 13:52

ZITAT(stevehero @ Jan 10 2014, 14:11) *
Was thinking that was a possible cause, I haven't used the proxy inside mp3tag. What I have is the plug-in for firefox called 'Hóla' (also available on chrome).

  1. Install desktop version of Hóla for firefox.
  2. When you click on a link that's territory restricted you enable hóla to whatever country (Mostly for me the US)
  3. Get the URL from that and paste into the URL of the music you want to tag
  4. Then use the direct by URL method to tag. That's a good workaround if you're having trouble with the proxy in mp3tag.

Maybe someone else can jump on here to answer this about the proxy?

Have you tried disabling it?

I can't disable it, because it is a company network. Proxy is delivered per pac-script. I managed to to get the proxies out of it to insert it in MP3Tag.
But I am not sure if it is the proxy because Beatport works fine in the browser.
It would be much easier if Mp3Tag had an option to use the systems proxy.

Posted by: ohrenkino Jan 13 2014, 14:52

ZITAT(FreaQ @ Jan 13 2014, 13:52) *
...It would be much easier if Mp3Tag had an option to use the systems proxy.

You can set the proxy parameters in Tools>Options>Network.
Or you have to ask your network administrator which address the proxy has and which ports are open.
Also, it may be possible that a firewall limits an application's access to the internet. I would clearify that stuff with the network administrator.

Posted by: stevehero Jan 13 2014, 15:03

QUOTE (FreaQ @ Jan 13 2014, 13:52) *
I can't disable it, because it is a company network. Proxy is delivered per pac-script. I managed to to get the proxies out of it to insert it in MP3Tag.
But I am not sure if it is the proxy because Beatport works fine in the browser.
It would be much easier if Mp3Tag had an option to use the systems proxy.

Oh, one more thing you could try is if you have admin rights to your computer is:

WIN key then type advnaced. Advanced firewall with advanced security program should come up depending on weather you use the professional version of the OS. In the inbound and outbound rules add a rule to allow the mp3tag application. Just troubleshooting here but that may work.

Posted by: stevehero Jan 17 2014, 21:32

Hi folks,

In conjunction with my script this is a must for any serious DJs, bedroom DJs and the like. I Just upgraded from Mixed In Key v4 (I skipped 5 because there was no relevant difference to warrant the price. Still it's cheap for what you get) to v6 http://www.mixedinkey.com/Screenshots# after I read this article. http://www.djtechtools.com/2014/01/14/key-detection-software-comparison-2014-edition/

ARTICLE IN BRIEF:
Beatports Key detection: 66% correct

Major/Minor Triad Test: Not possible – no way to manually test.
# of correct tracks (vs human volunteer consensus): 40 (66% correct)
# of Major / Minor misreads: 10
# of results off by a single fifth: 7


Mixed in key: 95% correct
Major/Minor Triad Test: Perfect 24 out of 24 – every single key correct.
# of correctly analyzed tracks (vs human consensus): 58 (95%)
# of Major / Minor Misreads: 0
# of results off by a single Fifth: 2


Amazing results! Plus it detects the energy of tracks. Just what every DJ needs. Hope this info is of help to you.


"Have a good weekend everybody and thanks for the support" - stevehero

Posted by: FreaQ Jan 20 2014, 10:22

Hi steve,

what do I have to do to get rid of the mixartists in ALBUMARTIST?

Thanks

Posted by: stevehero Jan 20 2014, 14:18

QUOTE (FreaQ @ Jan 20 2014, 10:22) *
Hi steve,

what do I have to do to get rid of the mixartists in ALBUMARTIST?

Thanks

So you would prefer different ARTISTS on a Per track basis in the ALBUMARTIST field? If that's the case it's matter of adding in the track loop (Add red text):

outputto "ARTIST" # ARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

outputto "ARTIST" # ALBUMARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"


Block out with adding a # to every line to the existing ALBUMARTIST code like:
# ALBUMARTIST
# outputto "ALBUMARTIST"
# gotochar 1
# findinline "larger block txt-uppercase\">" 1 1
# if " VARIOUS ARTISTS"
# say "VA"
# outputto "COMPILATION"
# say "1"
# else
# findinline "alt=\"" -1 1
# sayregexp "(?<=alt=\")[^-]+" "" "\" width"
# endif


Also amend or delete to look like:
# ALBUM ARTIST
# outputto "ALBUM ARTIST"
# sayoutput "ALBUMARTIST"


I've not tested this so let me know how it works. PS. It's probably not advisable to have different artists on each track as it leads to undesirable results when sorting albums in your music software when sorting by Album by artist/s.

Posted by: FreaQ Jan 20 2014, 15:06

I think we misunuderstood or I did not describe properly what I meant. I assume the last one. biggrin.gif

Your script puts every mixartist also into the ALBUMARTIST field.

All I wanted was the Original Albumartist in ALBUMARTIST.

But as I am looking for an example, I see it is an Beatport "problem" as they put alle artists into their description.

See here: http://www.beatport.com/release/bandsaw-ep/1078871

Original Artist is: KOSTAS MASKALIDES
Your Script for ALBUMARTIST: KOSTAS MASKALIDES, FOREST PEOPLE, HACKLER & KUCH, ADAM JAY, BRIAN BURGER
Beatport: KOSTAS MASKALIDES, FOREST PEOPLE, HACKLER & KUCH, ADAM JAY, BRIAN BURGER

I am not sure how to fix this, because Beatport always adds a comma between artists even it is "&" or vs. on the release.

Posted by: stevehero Jan 20 2014, 20:55

That's the best I can do due to limitations of not using the proper API pages anymore. But there is the advantage with the way I wrote it, is that, if it's a compilation then it outputs 1 to compilation and puts VA to the ALBUMARTIST field. Any other way and that would be not possible. Also, MIXARTISTS have good cause to be down in the ALBUMARTIST field because after all it's a remix and not an edit which is completely different.

QUOTE (FreaQ @ Jan 20 2014, 15:06) *
Original Artist is: KOSTAS MASKALIDES
Your Script for ALBUMARTIST: KOSTAS MASKALIDES, FOREST PEOPLE, HACKLER & KUCH, ADAM JAY, BRIAN BURGER
Beatport: KOSTAS MASKALIDES, FOREST PEOPLE, HACKLER & KUCH, ADAM JAY, BRIAN BURGER

I am not sure how to fix this, because Beatport always adds a comma between artists even it is "&" or vs. on the release.

This doesn't happen with the scripts, I would have noticed this in my testing and after about 100+ tracks since publishing it their has been no issues. Your two examples given are the same.
See my test here of the vs.

Posted by: skrippi Jan 23 2014, 10:12

Hello.

I need a little help over here, please.
I want the Artist AND the Mixartist together in the ARTIST Tag, seperated by comma.

For now it works like this:

outputto "ARTIST" # ARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say ", "
sayregexp "(?<=,\"remixerName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

But how can I tell him, to set the comma only if there IS a mixartist?

Would be glad to get your help.

Greetz, skrippi

Posted by: Chris Hirst Jan 23 2014, 10:39

QUOTE (skrippi @ Jan 23 2014, 09:12) *
But how can I tell him, to set the comma only if there IS a mixartist?


Wrap the optional output in square brackets

CODE
[',' %mixartist%]


OR

use an 'IF' statement

CODE
$if(%mixartist%,',' %mixartist%)

Posted by: stevehero Jan 23 2014, 12:17

QUOTE (skrippi @ Jan 23 2014, 10:12) *
outputto "ARTIST" # ARTIST
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say ", "
sayregexp "(?<=,\"remixerName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

It's as simple as:smile.gif
CODE
outputto "ARTIST" # ARTIST & MIXARTIST
replace "remixerName" "artistName"
sayregexp "(?<=,\"artistName\":\")[^\"]+" ", " "<<endTrack>>"
say "|"

Posted by: stevehero Jan 23 2014, 14:50

QUOTE (Chris Hirst @ Jan 23 2014, 10:39) *
CODE
$if(%mixartist%,',' %mixartist%)

This is incorrect for scripting language.

Posted by: liserg Jan 31 2014, 23:49

The B-E-S-T script ever done for mp3tag!! w00t.gif

Thanks a lot for sharing your pretty work to the world, mate walkman.gif

Posted by: Chris Hirst Feb 1 2014, 01:45

QUOTE (stevehero @ Jan 23 2014, 13:50) *
This is incorrect for scripting language.


Explain how or why please.

Posted by: tofu00 Feb 12 2014, 20:40

Hello,
this is an awesome script, with the new beatport api this is the best solution i know to keep tags.
But one question.. How do you remove tags like 'BP SINGLE TRACK #', '(OM)' .. ?

Thank you in advance !

Posted by: stevehero Feb 12 2014, 22:54

QUOTE (tofu00 @ Feb 12 2014, 20:40) *
this is an awesome script, with the new beatport api this is the best solution i know to keep tags.
But one question.. How do you remove tags like 'BP SINGLE TRACK #', '(OM)' .. ?

Thanks. FYI it uses the plain old html pages instead.

For your (OM) fix see inside the script:
CODE
replace " (Original Mix)" " (OM)"                                                            # Replace " (OM)" to your liking, block this with # to keep original setting

And in the track scripts remove all this code OR place a '#' in front of each line like so:
CODE
# ALBUM [BP SINGLE TRACK #]
#    outputto "ALBUM"
#    say " [BP SINGLE TRACK #"
#    sayoutput "BEATPORT_TRACK_ID"
#    say "]"


PS: Read the readme file that came with the scripts. It will give you a better understanding of how they work.

Posted by: _RT_ Feb 13 2014, 00:15

First off...
This script is incredible.
As someone that has been using MediaMonkey for years and has successfully cleaned up all of my music collection using it, I thought I had everything I needed.

Then I tried to clean up the DJ music. The OCD part of me wanted/needed the album art and a lot of my music was lacking it.
I looked high and low and everything I tried cleaned things up provided I had the album name. Unfortunately, with DJ music, I typically only had the artist, track and remix name. As a result, a lot of the search engines failed me.

So... now that I have thanked you, I'm wondering if there is one more option I'm looking for.
Currently (unless I'm missing it), I have to search each track. One by one.
I'm wondering if this script has the ability to go through all of my music and then present me with the ability to verify each track consecutively. I don't know if MP3Tag allows it.

Any suggestions on how to accomplish this?

In short:
I'd like to highlight all of my music. Run the script.
Then verify each one before accepting changes.

Thanks again for your work-

Posted by: stevehero Feb 13 2014, 02:19

QUOTE (_RT_ @ Feb 13 2014, 00:15) *
In short:
I'd like to highlight all of my music. Run the script.
Then verify each one before accepting changes.

Thanks again for your work-

No problem.

To answer your question mp3tag cannot do what you want or scripts because they can only parse one page at a time. It's would make life that little bit easier but not critical IMO.

  1. First load all your single tracks into mp3tag tag. (You can deal with albums etc later)
  2. Starting at the top tag a single track with for example the 'Beatport by &stevehero v4.0#SINGLE TRACK Search by (Album)Artist + Title.src'
  3. Hit the down arrow
  4. Hit Ctrl+I (This repeats the same script you ran earlier)
  5. That's it. You're presented with the search dialog with two clicks extra as opposed to one with the functionality you described.


Hope this helps.

Posted by: _RT_ Feb 13 2014, 03:52

QUOTE (stevehero @ Feb 12 2014, 20:19) *
No problem.

To answer your question mp3tag cannot do what you want or scripts because they can only parse one page at a time. It's would make life that little bit easier but not critical IMO.

  1. First load all your single tracks into mp3tag tag. (You can deal with albums etc later)
  2. Starting at the top tag a single track with for example the 'Beatport by &stevehero v4.0#SINGLE TRACK Search by (Album)Artist + Title.src'
  3. Hit the down arrow
  4. Hit Ctrl+I (This repeats the same script you ran earlier)
  5. That's it. You're presented with the search dialog with two clicks extra as opposed to one with the functionality you described.


Hope this helps.


Thanks for the suggestion. I'll give it a go.
Cheers-

Posted by: tofu00 Feb 13 2014, 22:07

QUOTE (stevehero @ Feb 12 2014, 22:54) *
Thanks. FYI it uses the plain old html pages instead.

For your (OM) fix see inside the script:
CODE
replace " (Original Mix)" " (OM)"                                                            # Replace " (OM)" to your liking, block this with # to keep original setting

And in the track scripts remove all this code OR place a '#' in front of each line like so:
CODE
# ALBUM [BP SINGLE TRACK #]
#    outputto "ALBUM"
#    say " [BP SINGLE TRACK #"
#    sayoutput "BEATPORT_TRACK_ID"
#    say "]"


PS: Read the readme file that came with the scripts. It will give you a better understanding of how they work.

Ok, nice, I understand.
But when I have modified the .src there is no change. And when I delete all .src from the sources folder there is always the scripts in Mp3tag.
Why ? blink.gif

Posted by: stevehero Feb 14 2014, 00:09

QUOTE (tofu00 @ Feb 13 2014, 22:07) *
Ok, nice, I understand.
But when I have modified the .src there is no change. And when I delete all .src from the sources folder there is always the scripts in Mp3tag.
Why ? blink.gif

Save the .src file to make the changes take effect in mp3tag or restart mp3tag. Can you attach the .scr so I can see the problem you're having. Why are you deleting .src files?

Posted by: tofu00 Feb 14 2014, 08:19

I have restarted and saved the file. I have deleted files to see if something change in Mp3tag but no. I have reinstalled Mp3tag and now when I put files in sources directory I have nothing in Mp3tag scripts.

 Beatport_by__stevehero_v4.0_SINGLE_TRACK_Search_by__Album_Artist___Title.src ( 18.25K ) : 542
 

Posted by: stevehero Feb 14 2014, 09:38

QUOTE (tofu00 @ Feb 14 2014, 08:19) *
I have restarted and saved the file. I have deleted files to see if something change in Mp3tag but no. I have reinstalled Mp3tag and now when I put files in sources directory I have nothing in Mp3tag scripts.

Right click on the mp3tag icon on your desktop. Clock properties. Then click open folder location. In there should be the folder where your scripts are held under data>sources. Or re-read the part in post #1 about installation of scripts. This should take you to the location. Your script looks fine. Not at my computer right now so can't test it.

This post by Dano fully covers it. http://forums.mp3tag.de/index.php?s=&showtopic=3033&view=findpost&p=13761

Posted by: DetlevD Feb 14 2014, 09:45

QUOTE (tofu00 @ Feb 13 2014, 22:07) *
Ok, nice, I understand.
But when I have modified the .src there is no change. And when I delete all .src from the sources folder there is always the scripts in Mp3tag. Why ?

You will find the currently active .src files in the folder ...
%appdata%\Mp3tag\data\sources
respectively
%appdata%\Roaming\Mp3tag\data\sources

Read there ...
http://forums.mp3tag.de/index.php?showtopic=3033&view=findpost&p=13761

DD.20140214.0945.CET

Posted by: tofu00 Feb 15 2014, 22:58

Nice, thank you all !

Posted by: KrissO Feb 25 2014, 18:38

Hi. How can i tag without (Company) from "Label (Company)" ?

For example http://www.beatport.com/label/armind-armada/40

Edit:

Found a method to do it with mp3-tag's built in actions.
Grabbing everything after/including the space before the first bracket. Remember to add a space before the regex.

Field: PUBLISHER
Regular expression: \s\(.+?\)"
Replace with: leave this blank

Posted by: stevehero Feb 25 2014, 22:27

QUOTE (KrissO @ Feb 25 2014, 18:38) *
Hi. How can i tag without (Company) from "Label (Company)" ?

Best do it inside the release scripts, change:
CODE
# PUBLISHER/LABEL
    outputto "PUBLISHER"
    findinline "label\":{" 1 1
    sayregexp "(?<=name\":\")[^\"]+"

To:
CODE
# PUBLISHER/LABEL
    outputto "PUBLISHER"
    findinline "label\":{" 1 1
    sayregexp "(?<=name\":\").+?(?=\"|\s+\()"


Tested on: http://www.beatport.com/release/man-hands/1241966

Single Track scripts:
CODE
# PUBLISHER/LABEL
    outputto "PUBLISHER"
    gotochar 1
    findinline "\"label\":{" 1 1
    sayregexp "(?<=\"name\":\")[^\"]+" "" "\"images\""

To:
CODE
# PUBLISHER/LABEL
    outputto "PUBLISHER"
    gotochar 1
    findinline "\"label\":{" 1 1
    sayregexp "(?<=name\":\").+?(?=\"|\s+\()" "" "\"images\""


Didn't test on Single track scripts but it should be okay.

Posted by: Michelsup Mar 2 2014, 21:22

Just to thank you so much for your script. It has helped me dramaticaly. All the best for your awesome work and thank you again.

Posted by: stevehero Mar 2 2014, 21:27

QUOTE (Michelsup @ Mar 2 2014, 21:22) *
Just to thank you so much for your script. It has helped me dramaticaly. All the best for your awesome work and thank you again.

Why, thank you and welcome to the forum.

Posted by: xaoc2012 Mar 10 2014, 00:29

How can i remove a tags '_time chek' & 'comment' from v4.0 RELEASE Search by Release
for example http://www.beatport.com/release/overcome/1248310

 

Posted by: stevehero Mar 10 2014, 02:03

QUOTE (xaoc2012 @ Mar 10 2014, 00:29) *
How can i remove a tags '_time chek' & 'comment' from v4.0 RELEASE Search by Release
for example http://www.beatport.com/release/overcome/1248310

It's looks like you've modified the script because in my test of that URL. It appears like:


To remove fields read the readme file that came with the scripts.

Posted by: theonewhoknocks Mar 15 2014, 02:29

This is definetely a big help to all those zippyshare DJs.. Just kidding (not kidding), nice job writing the script, but seriously who needs to buy from beatport anymore thesedays when you can get both music and tags without it? tongue.gif

Posted by: gls Mar 22 2014, 19:18

I was wandering if it was possible to edit the script so it deleted all the file's original tags before writing the new beatport tags? I only ask because I often find myself deleting some fields and think it'd be much easier if I could incorporate it into the script but I'm too stupid to figure it out.

Thanks for taking the time to write the script btw. It's much appreciated.

Posted by: stevehero Mar 25 2014, 01:29

QUOTE (gls @ Mar 22 2014, 19:18) *
I was wandering if it was possible to edit the script so it deleted all the file's original tags before writing the new beatport tags? I only ask because I often find myself deleting some fields and think it'd be much easier if I could incorporate it into the script but I'm too stupid to figure it out.

Thanks for taking the time to write the script btw. It's much appreciated.

Hi, thanks and sorry for the late reply. I'm afraid this cannot be done. My only advise is to write all the tags that the script rips from beatport which is quite a few and that way it will overwrite as many as possible. Then create and an action like this which I use or similar to suit your needs.
Name of action group: Clean-Up 1.1 # Remove Unwanted Tags

Action type: Remove fields except
Fields to leave (semicolon-separated): RELEASETIME;ALBUM;ALBUM ARTIST;ALBUMARTIST;ARTIST;BPM;COMMENT;DATE;DISCNUMBER;ENCODEDBY;GENRE;INITIALKEY
;PUBLISHER;TITLE;TRACK;YEAR;PICTURE;COMPILATION;CATALOG #;ISRC;COUNTRY;DISCOGS_MEDIATYPE;DISCOGS_RELEASE_ID;WWW;UNSYNCEDLYRICS;MIXARTIST
;TOTALTRACKSRELEASETIME;ALBUM;ALBUM ARTIST;ALBUMARTIST;ARTIST;BPM;COMMENT;DATE;DISCNUMBER;ENCODEDBY;GENRE;INITIALKEY
;PUBLISHER;TITLE;TRACK;YEAR;PICTURE;COMPILATION;CATALOG #;COUNTRY;DISCOGS_MEDIATYPE;DISCOGS_RELEASE_ID;WWW;UNSYNCEDLYRICS;MIXARTIST;TOTA
LTRACKS;STYLE;MEDIATYPE;REMIXER;TIME;PODCAST;TOTALDISKS;BEATPORT_LABEL_URL;BEATPO
RT_TRACK_ID;BEATPORT_TRACK_URL;BEATPORT_RELEASE_ID;BEATPORT_ARTIST_URL;BEATPORT_I
TEM_TYPE;SOUNDCLOUD_TAGS;ENERGYLEVEL

Posted by: gls Mar 27 2014, 12:52

QUOTE (stevehero @ Mar 25 2014, 02:29) *
Hi, thanks and sorry for the late reply. I'm afraid this cannot be done. My only advise is to write all the tags that the script rips from beatport which is quite a few and that way it will overwrite as many as possible. Then create and an action like this which I use or similar to suit your needs.
Name of action group: Clean-Up 1.1 # Remove Unwanted Tags

Action type: Remove fields except
Fields to leave (semicolon-separated): RELEASETIME;ALBUM;ALBUM ARTIST;ALBUMARTIST;ARTIST;BPM;COMMENT;DATE;DISCNUMBER;ENCODEDBY;GENRE;INITIALKEY
;PUBLISHER;TITLE;TRACK;YEAR;PICTURE;COMPILATION;CATALOG #;ISRC;COUNTRY;DISCOGS_MEDIATYPE;DISCOGS_RELEASE_ID;WWW;UNSYNCEDLYRICS;MIXARTIST
;TOTALTRACKSRELEASETIME;ALBUM;ALBUM ARTIST;ALBUMARTIST;ARTIST;BPM;COMMENT;DATE;DISCNUMBER;ENCODEDBY;GENRE;INITIALKEY
;PUBLISHER;TITLE;TRACK;YEAR;PICTURE;COMPILATION;CATALOG #;COUNTRY;DISCOGS_MEDIATYPE;DISCOGS_RELEASE_ID;WWW;UNSYNCEDLYRICS;MIXARTIST;TOTA
LTRACKS;STYLE;MEDIATYPE;REMIXER;TIME;PODCAST;TOTALDISKS;BEATPORT_LABEL_URL;BEATP
O
RT_TRACK_ID;BEATPORT_TRACK_URL;BEATPORT_RELEASE_ID;BEATPORT_ARTIST_URL;BEATPORT_
I
TEM_TYPE;SOUNDCLOUD_TAGS;ENERGYLEVEL


Thanks for replying. I already do something similar and just hoped I could remove a step in my tag writing process. At least I know exactly what to leave now though. Thanks.

Edit; I noticed there was a few duplicates in your list so I've removed them and arranged what's left alphabetically.

ALBUM;ALBUMARTIST;ALBUM ARTIST;ARTIST;BEATPORT_ARTIST_URL;BEATPORT_ITEM_TYPE;BEATPORT_LABEL_URL;BEATPORT
_RELEASE_ID;BEATPORT_TRACK_ID;BEATPORT_TRACK_URL;BPM;CATALOG #;COMMENT;COMPILATION;COUNTRY;DATE;DISCOGS_MEDIATYPE;DISCOGS_RELEASE_ID;DISCNUMB
ER;ENCODEDBY;ENERGYLEVEL;GENRE;INITIALKEY;ISRC;MEDIATYPE;MIXARTIST;PICTURE;PODCAS
T;PUBLISHER;RELEASETIME;REMIXER;SOUNDCLOUD_TAGS;STYLE;TIME;TITLE;TOTALDISKS;TOTAL
TRACKS;TRACK;UNSYNCEDLYRICS;WWW;YEAR;

Posted by: igavio Mar 28 2014, 10:01

Today I downloaded version 4.0 of your scripts, unzipped and copied them to sources filder, as instructed. When I run any of them, after some seconds it replies
"Error connecting to server: http://www.beatport.com&quot;
>>User abort"

See attached screenshot.

Any advice?

Thanks

 

Posted by: ohrenkino Mar 28 2014, 10:10

ZITAT(igavio @ Mar 28 2014, 10:01) *
Today I downloaded version 4.0 of your scripts, unzipped and copied them to sources filder, as instructed. When I run any of them, after some seconds it replies
"Error connecting to server: http://www.beatport.com&quot;
>>User abort"

See attached screenshot.

Any advice?

Thanks

You could check first of all if MP3tag has access to the internet.
Use Help>Check for updates.
The result of that function should be a dialogue box - if you do not see any, then MP3tag has not internet access, probably blocked by the firewall.

Posted by: igavio Mar 28 2014, 11:12

QUOTE (ohrenkino @ Mar 28 2014, 11:10) *
You could check first of all if MP3tag has access to the internet.
Use Help>Check for updates.
The result of that function should be a dialogue box - if you do not see any, then MP3tag has not internet access, probably blocked by the firewall.


Thanks for your instant reply, ohrenkino!
I do have full Internet access (see attachment a) and in particular access to www.beatport.com (see attachment daft).

Any other ideas?

Why does the script reply with "User abort"?

 

Posted by: stevehero Mar 28 2014, 21:04

QUOTE (igavio @ Mar 28 2014, 11:12) *
Thanks for your instant reply, ohrenkino!
I do have full Internet access (see attachment a) and in particular access to www.beatport.com (see attachment daft).

Any other ideas?

Why does the script reply with "User abort"?

From the beatports screenshot it looks like the css of the website hasn't loaded because the font is a dead giveaway. Are you using a proxy by any chance. It normally appears like that when I do for several seconds. Have you tested on more than one release or track?

Posted by: pone Mar 29 2014, 17:20

Here are two action groups which i use regulary after using this excellent script. Both are intended to correct the awkward artist formats at beatport:


The first one replaces the last (or single) comma in a list of artists with an ampersand (&):

Begin Action Group &Web Sources Scripts Nachbearbeitungeng#Beatport#&Komma zu Ampersand umwandeln

Action #1
Actiontype 5: Format value
Field ______: ARTIST
Formatstring: $regexp(%artist%,', ([^,]+)$',' & $1')

Action #2
Actiontype 5: Format value
Field ______: ALBUMARTIST
Formatstring: $regexp(%albumartist%,', ([^,]+)$',' & $1')

Action #3
Actiontype 5: Format value
Field ______: MIXARTIST
Formatstring: $regexp(%mixartist%,', ([^,]+)$',' & $1')

Action #4
Actiontype 2: Replace
Field ______: ARTIST
Original ___: &amp;
Replace with: &
[_] Only as whole word
[_] Case sensitive comparison

Action #5
Actiontype 2: Replace
Field ______: ALBUMARTIST
Original ___: &amp;
Replace with: &
[_] Only as whole word
[_] Case sensitive comparison

Action #6
Actiontype 2: Replace
Field ______: MIXARTIST
Original ___: &amp;
Replace with: &
[_] Only as whole word
[_] Case sensitive comparison

End Action Group &Web Sources Scripts Nachbearbeitungeng#Beatport#&Komma zu Ampersand umwandeln (6 Actions)



The second one replace a list of album artist (as you get it for singles wiht remixers) with the first name of that list (which is usually the main artist, which is listed as album artist on other shops and databases):

Begin Action Group &Web Sources Scripts Nachbearbeitungeng#Beatport#&Albumartist = erster Künster

Action #1
Actiontype 5: Format value
Field ______: ALBUMARTIST
Formatstring: $regexp(%albumartist%,',.+',)

End Action Group &Web Sources Scripts Nachbearbeitungeng#Beatport#&Albumartist = erster Künster (1 Action)



by the way: thanks DetlevD for you action to forum code tool

Posted by: igavio Apr 1 2014, 08:47

QUOTE (stevehero @ Mar 28 2014, 21:04) *
From the beatports screenshot it looks like the css of the website hasn't loaded because the font is a dead giveaway. Are you using a proxy by any chance. It normally appears like that when I do for several seconds. Have you tested on more than one release or track?


It came to me to pause my Kaspersky antivirus. I tried again and now the message is:
Bad request: request protocol version denied (400)

Why would antivirus intervene? Anyway, I would temporarily shut it down to have my ID3s auto updated.

Any ideas about this new message?
TIA

 

Posted by: stevehero Apr 1 2014, 09:52

QUOTE (igavio @ Apr 1 2014, 08:47) *
Why would antivirus intervene? Anyway, I would temporarily shut it down to have my ID3s auto updated.

I don't use any so I wouldn't be able to help you.

but a 400 Bad Request: The request cannot be fulfilled due to bad syntax (see http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)

I have never gotten this before. Re-install the scripts and close mp3tag, reopen and try again.

Posted by: jaydnb May 26 2014, 11:16

firstly i wanted to say a massive thank you for this script, absolutely love it!
almost gave up on the treacherous task of sorting my music..

just wondering is it simply possible to search with "single track search" without the catalogue coming back with this [BP SINGLE TRACK #4069535] and instead "ID013" which is the catalogue...

i know its porbably not possible, or is there another way around it?

when using the search by release function im spending so much time trying to find the track amongst the 30 EP results it gives me, where as single track search i can instantly see the track i want, but then im faced with the catalogue issue, is there a middle ground between the two?


again huge thanks for the script its going to be used a lot! laugh.gif

Posted by: stevehero May 26 2014, 15:47

QUOTE (jaydnb @ May 26 2014, 10:16) *
Just wondering is it simply possible to search with "single track search" without the catalogue coming back with this [BP SINGLE TRACK #4069535] and instead "ID013" which is the catalogue...


again huge thanks for the script its going to be used a lot! laugh.gif

This was not available when I wrote the script and is still not available. If you navigate to the trackpage of the song (not the release page) and if you view page source you'll see that the CATALOG # is nowhere to be found therefore not allowing the script to get it. Scripts can only parse one URL at a time. Sorry about the bad news. Glad you like the script.

Only other way is to use a COPY of the WWW(URL) release script and name it Beatport by &stevehero v4.0#RELEASE Direct by &WWW(URL) With Only CATALOG + ALBUM [CATALOG] Tag
I've created a script for you that gets tags (see below):

ALBUM [CATALOG #]
[CATALOG #]

 Beatport_by__stevehero_v4.0_RELEASE_Direct_by__WWW_URL__With_Only_CATALOG___ALBUM__CATALOG__Tag.src ( 16.7K ) : 420


If you run this after doing your single tracks you get those two tags similar to the release pages scripts results.

Posted by: jaydnb May 26 2014, 17:46

thanks for the reply, yeah its a shame it can't all be done as one, I've used it about 20 times and it seems to be working fine although the MP3Tag has crashed twice whilst using this feature, I'm not sure if its something on my end or? I've simply downloaded and popped it in the same folder as the others, its defiantly more time saving using this so thank you for creating it smile.gif

just wondering is there a way to get this script to run over all the tracks so i don't have to manually click each and every track again, if that makes sense? like a batch catalogue finder? seeing as all the URLs are already there from me manually inputting them using the "single track search" I'm probably asking for way too much here (again) but its worth an ask, I'm also willing to make a donation for your hard troubles smile.gif as its already saving me a bunch of time.









 

Posted by: stevehero May 26 2014, 18:33

QUOTE (jaydnb @ May 26 2014, 16:46) *
thanks for the reply, yeah its a shame it can't all be done as one, I've used it about 20 times and it seems to be working fine although the MP3Tag has crashed twice whilst using this feature,

I have not got any crashes as much as you
say, maybe one or two in my usage of it. Just maybe give it time to parse the information and don't click until the info pops up. As regards batch processing, again this is not possible unfortunately.

The donation will be for forlian the programmer of the program and he deserves every penny.

Posted by: DJJeffHax Sep 16 2014, 11:52

Steve, you might wanna take a look at the future Beatport's new web-layout.
Gonna be a lot of changes which might be in conflict with your script.
Not sure if Beatport and Beatport Pro will be 2 seperate website, but just in case you might want to take a peek.

https://pro.beatport.com/

Regard,
Jeff Hax
https://www.facebook.com/JeffHaxDJ

Posted by: stevehero Sep 16 2014, 13:06

QUOTE (DJJeffHax @ Sep 16 2014, 10:52) *
Steve, you might wanna take a look at the future Beatport's new web-layout.
Gonna be a lot of changes which might be in conflict with your script.
Not sure if Beatport and Beatport Pro will be 2 seperate website, but just in case you might want to take a peek.

https://pro.beatport.com/

Regard,
Jeff Hax
https://www.facebook.com/JeffHaxDJ

Yes, thanks. I got a subscription email regarding this. Who knows. I won't be doing anything until the script fails or beatport announces any permanent change.

Posted by: waterfall Sep 27 2014, 19:35

Wanted to say that this is a great script and indeed a fine piece of work.

Been using this quite a lot recently - in conjunction with Pone's Discog's scripts - and it's working wonders!

Thank you!

Posted by: stevehero Sep 27 2014, 20:11

QUOTE (waterfall @ Sep 27 2014, 18:35) *
Thank you!

No probs, thanks.

Posted by: xaoc2012 Nov 14 2014, 05:15

How change column order (after track-number will be length)?


 

Posted by: stevehero Nov 14 2014, 09:57

QUOTE (xaoc2012 @ Nov 14 2014, 05:15) *
How change column order (after track-number will be length)?

You can't I'm afraid. It's a limitation to the software, not the script.

Posted by: djepeto Feb 5 2015, 00:09

url changed to beatport pro sad.gif

Posted by: xaoc2012 Feb 5 2015, 05:10

url redirect on https://pro.beatport.com

Posted by: Martín Feb 5 2015, 08:36

QUOTE (xaoc2012 @ Feb 5 2015, 01:10) *
url redirect on https://pro.beatport.com

Apparently, they changed their URL, I try to modify the script with the new URL, but it was in vain, as it did not connect with the server Beatport.
Sorry for my bad English.
Greetings.

Posted by: X-Tropic Feb 5 2015, 11:50

Please fix script for new url "pro.beatport.com".

Posted by: ssx76 Feb 5 2015, 11:58

QUOTE (X-Tropic @ Feb 5 2015, 11:50) *
Please fix script for new url "pro.beatport.com".



yes! please fix..the new beatport URL delete all the data

Posted by: Komaro Feb 5 2015, 16:17

QUOTE (ssx76 @ Feb 5 2015, 11:58) *
yes! please fix..the new beatport URL delete all the data


Little tip bro smile.gif


and you got old beatport, links work on mp3tag.

Posted by: blackbeen Feb 5 2015, 16:53

QUOTE (Komaro @ Feb 5 2015, 16:17) *
Little tip bro smile.gif
and you got old beatport, links work on mp3tag.


...and whats the tip? I don't get it, I attempted to put the pro url in the script by chance & it still doesn't connect.

Posted by: stevehero Feb 5 2015, 17:32

I think its not possible to get info from the website. I tried a little last night but https as opposed to http ones are more secure as to who accesses them.

Maybe someone else can shed some light on this?

No comments in months to say thanks and all I see is a sea of pleases.. Begging is not attractive wink.gif

Posted by: Tyke Feb 5 2015, 18:08

Hello all together wink.gif

Just a few days ago I found this script to edit all my MP3s completely with the right Tags (no panic, all MP3s are legal bought at different Stores). After I tried out this script, I have to say: It's great!

Unfortunately Beatport just changed his address to pro.beatport.com and so the script does not work.

But with a little bit experience I found a way to make this script workable, only with some changes in the src-file. It's easy...

Tipp removed, because it wasn' stable.

Please look at startup, where you can find the new update by stevehero.

Posted by: X-Tropic Feb 5 2015, 18:30

Nice!!! It work for me! thanks!

Posted by: stevehero Feb 5 2015, 20:04

QUOTE (Tyke @ Feb 5 2015, 18:08) *
But with a little bit experience I found a way to make this script workable, only with some changes in the src-file. It's easy...

If the creator of this script does not agree with my announcement of the solution, please send a message smile.gif

I was unaware of the classic BP link at the bottom. I will google to see if this will be a updated or kept online.

I'm bundling the scripts now with the working classic BP link and they should be up shortly. With some bug fixes from the v4.0 release which will be documented in the Beatport by &stevehero v4.0#Version History + Readme (View In Notepad ++).src file

THANK YOU for noticing this Komaro.

Lets hope BP don't keep that poxy new site wink.gif

Posted by: stevehero Feb 5 2015, 21:03

QUOTE (Tyke @ Feb 5 2015, 18:08) *
If the creator of this script does not agree with my announcement of the solution, please send a message smile.gif

Have you tried tagging old songs from the script using the URL method? It doesn't work. Can you remove this post please. As it's just a quick fix and not a proper one. Other things were broken since the 4.0 release such as:

CODE
# v4.1
FIX         BP Classic update: Various scripts that use the URL parsing method
FIX         BP Classic update: Camelot Key conversion wasn't working with the new beatport classic URL
# ----------
ADDED       2 scripts with both Genre + Comment Tag not parsed from beatport, handy when retagging mp3's
FIX         Various other bugs: &amp; to & | (( & )) to ( & )
FIX         Bug when COMPILATION was set
FIX         ALBUMARTIST field when they contain '-' (http://www.beatport.com/release/defjam/359225)
FIX         Small bug in index search UI when Remixer appeared 'Cedric Gervais ● x' is now just 'Cedric Gervais'
FIX         Small bug in index single track search when a "quote" appeared in the release
FIX         "(Origninal)" to "(OM)" bug fix when it appeared in a release


Classic BP Update in starting post.

Posted by: Martín Feb 6 2015, 01:18

stevehero, for my part I thank you for having created this spectacular script. I tried modifying components of the script with the new URL, but it was all in vain. If you need help with the update, I offer to help you do this.
Greetings and sorry for my bad English.

Posted by: kdjjajaja Feb 6 2015, 12:25

Thanks for updating and this wonderful script!

Posted by: stevehero Feb 6 2015, 13:29

QUOTE (Martín @ Feb 6 2015, 01:18) *
stevehero, for my part I thank you for having created this spectacular script. I tried do this..

Check starting post for the working update. V4.1. And thanks for the support ^^^^^^

Posted by: Tyke Feb 6 2015, 13:36

ZITAT(stevehero @ Feb 5 2015, 21:03) *
Have you tried tagging old songs from the script using the URL method? It doesn't work. Can you remove this post please. As it's just a quick fix and not a proper one.


No, I just couldn't try this. I tried only the Release search by Artist + Release, Artist + Title and the Single Track search by artist + Title - and they all worked properly.

I edited my post...

Thank you for your fast update smile.gif

EDIT: Maybe a little bug? I'm searching for the Tags of the following Track: Tilthammer - Last Hero (Original Mix). If I use the Single Track Search by Artist & Title, it shows me the right track included the name of the release (Animasola EP 3). If I use the Release Search by Artist & Title it doesn't show me the right track!?

Posted by: stevehero Feb 6 2015, 15:33

QUOTE (Tyke @ Feb 6 2015, 13:36) *
No, I just couldn't try this. I tried only the Release search by Artist + Release, Artist + Title and the Single Track search by artist + Title - and they all worked properly.

I edited my post...

Thank you for your fast update smile.gif

EDIT: Maybe a little bug? I'm searching for the Tags of the following Track: Tilthammer - Last Hero (Original Mix). If I use the Single Track Search by Artist & Title, it shows me the right track included the name of the release (Animasola EP 3). If I use the Release Search by Artist & Title it doesn't show me the right track!?

No, not a bug. The release searches are solely for tagging releases. i.e more than one track on a release and use the release search function of BP. Some releases have single tracks but the majority don't.

If you want track tags where there is more than one track on the release then use the SINGLE TRACK scripts and not the RELEASE ones. All this is explained in the starting post.

Posted by: Tyke Feb 6 2015, 19:17

ZITAT(stevehero @ Feb 6 2015, 15:33) *
No, not a bug. The release searches are solely for tagging releases. i.e more than one track on a release and use the release search function of BP. Some releases have single tracks but the majority don't.

If you want track tags where there is more than one track on the release then use the SINGLE TRACK scripts and not the RELEASE ones. All this is explained in the starting post.

Thank you for the explanation. I read the starting post, but I think, I misunderstood something. Now it's clear wink.gif

Posted by: stevehero Feb 6 2015, 21:27

QUOTE (Tyke @ Feb 6 2015, 19:17) *
Thank you for the explanation. I read the starting post, but I think, I misunderstood something. Now it's clear wink.gif
Maybe I mentioned it in the thread here somewhere. It's got plenty of posts so I might make it clearer in the 1st post. The two links at the top of the first post give examples of release pages and track pages.

Posted by: stevehero Feb 7 2015, 23:37

Starting post now updated to make it clear how to use the track and release scripts.

Posted by: sharpouze Feb 9 2015, 21:54

Hi Everybody!

Just few words to THANK YOU for all your job on this script, and for your reactivity.
I'm using this script a lot because it makes me save a lot of time.
I was a little worried some days ago when Beatport went to Beatport Pro.
Thank you again for all your hard work!
See You.
walkman.gif

Posted by: skrippi Feb 19 2015, 22:58

Hi,

very nice script. I'd like to have artist and mixartist in the field for ARTIST and seperated by a comma. How can I code this? Can someone help me?

The Problem is, if there is no mixartist there should be no comma. I need a code snipped with an "if..." I think but dunno how to code this.

Greez, skrippi smile.gif

Posted by: DetlevD Mar 4 2015, 14:55

QUOTE (skrippi @ Feb 19 2015, 22:58) *
Hi, very nice script. I'd like to have artist and mixartist in the field for ARTIST and seperated by a comma. How can I code this? Can someone help me?
The Problem is, if there is no mixartist there should be no comma. I need a code snipped with an "if..." I think but dunno how to code this. Greez, skrippi smile.gif

If you do not know, how to write the proper code in the websource script, ...
then you can code it afterwards into a Mp3tag action.

Action: Format value
Field: ARTIST
Formatstring: %ARTIST%$if2(''%MIXARTIST%,)
... or ...
Formatstring: %ARTIST%[''%MIXARTIST%]
... or ...
Formatstring: $trimRight(%ARTIST%,',')

See also ...
http://forums.mp3tag.de/index.php?showtopic=14479&view=findpost&p=75201
http://forums.mp3tag.de/index.php?showtopic=14479&view=findpost&p=75206
http://forums.mp3tag.de/index.php?showtopic=19604&view=findpost&p=82172
http://forums.mp3tag.de/index.php?showtopic=14479&view=findpost&p=82163
http://forums.mp3tag.de/index.php?showtopic=14479&view=findpost&p=70459

DD.20150304.1517.CET

Posted by: Electrohouse95 Mar 4 2015, 19:49

QUOTE (stevehero @ Nov 9 2011, 03:06) *
Your error relates to using the wrong URL to parse beatport.com. Instead of using the track url use the release one such as http://www.beatport.com/release/so-much-love/438196 whereas track is like the url you posted relates to the individual track itself.

The script is not intended for individual tracks. The way I use it if there I have only one track from a release But in is to parse the album it relates too.

But in your case the track you are parsing is the only one on your realease.


I get an error saying Error Connecting to server Classic.beatport.com

Could you kindly help here. please. rolleyes.gif

 

Posted by: stevehero Mar 7 2015, 21:12

QUOTE (Electrohouse95 @ Mar 4 2015, 19:49) *
I get an error saying Error Connecting to server Classic.beatport.com

Could you kindly help here. please. rolleyes.gif

Not sure. No problem my side.

Posted by: stevehero Mar 9 2015, 02:05

For a small bugfix for ALL WWW(URL) scripts change:


CODE
$lower($regexp($regexp($if2(%www%,%www%),^www,http://www,1),www.beatport,classic.beatport))


TO

CODE
$lower($replace($regexp($if2(%www%,%www%),^www,http://www,1),www.beatport,classic.beatport,https://pro.beatport,http://classic.beatport))

Posted by: stavrello Apr 1 2015, 09:20

Thank you for that amazing tool! i was searching for something like this but i didn't till yesterday.
lol probably i used wrong keywords.

Used the latest version and i have a problem at Genres. I see House Deep instead of Deep House, could you please help me how to fix it? its not a big deal to do this manually but it will be better to fill it automatically.

Another think i would like to avoid is the big Album name like [BP SINGLE TRACK #5891105]
thank you!

Posted by: stevehero Apr 1 2015, 16:14

QUOTE (stavrello @ Apr 1 2015, 09:20) *
Thank you for that amazing tool! i was searching for something like this but i didn't till yesterday.
lol probably i used wrong keywords.

Used the latest version and i have a problem at Genres. I see House Deep instead of Deep House, could you please help me how to fix it? its not a big deal to do this manually but it will be better to fill it automatically.

Another think i would like to avoid is the big Album name like [BP SINGLE TRACK #5891105]
thank you!

No probs. Open the scripts an replace those strings with what you want. BTW it's not a bug because I like to have my music genres in order. ;]

Posted by: stavrello Apr 1 2015, 19:16

QUOTE (stevehero @ Apr 1 2015, 18:14) *
No probs. Open the scripts an replace those strings with what you want. BTW it's not a bug because I like to have my music genres in order. ;]


Thanks a lot i've figured it out. i see you reasons for genre types nice work.

Posted by: stevehero Apr 2 2015, 17:29

QUOTE (stavrello @ Apr 1 2015, 18:16) *
Thanks a lot i've figured it out. i see you reasons for genre types nice work.

That bits easy enough to figure out smile.gif And yes, there was a method in my madness blink.gif

Posted by: Soul Sensation May 8 2015, 16:12

Hello Stevehero,

I use your web script quite often as it is very handy.. w00t.gif
I would just need to make the parsing of the genre tag conditional.

I would like to parse genre from your wonderful web script only conditionally to the genre tag in
the following way:

If the genre tag exists already and starts with "H_" (that is capital H followed by space
- here the underscore represents the space) do not parse the genre from Beatport.
Parse the genre only if the genre tag is empty or when it does not follow the above "H_" format,
in otherwords overwrite the current tag

I believe that this can be done with checking through regex: H\s+(.+) and the $if scripting
command, but I do not know how put set it up together and how to incorporate it into your web script? unsure.gif


Could you please help?



Posted by: DetlevD May 8 2015, 16:37

QUOTE (Soul Sensation @ May 8 2015, 17:12) *
... If the genre tag exists already and starts with ... I believe that this can be done ...

I do not believe that a WS script has any read access to any existing tag field.

DD.20150508.1737.CEST

Posted by: Soul Sensation May 8 2015, 16:45

QUOTE (DetlevD @ May 8 2015, 17:37) *
I do not believe that a WS script has any read access to any existing tag field.

DD.20150508.1737.CEST


DetlevD thanks for your response..

So it does not have any way of checking if tag exists and what is inside? huh.gif

Posted by: DetlevD May 8 2015, 17:06

QUOTE (Soul Sensation @ May 8 2015, 17:45) *
... So it does not have any way of checking if tag exists and what is inside?

You can copy an existing genre value into a helper tag-field, then apply the WS script, ....
afterwards do the comparison between the GENRE tag-field and the helper tag-field, ...
and do what you want to do.

DD.20150508.1806.CEST

Posted by: Soul Sensation May 9 2015, 17:45

QUOTE (DetlevD @ May 8 2015, 18:06) *
You can copy an existing genre value into a helper tag-field, then apply the WS script, ....
afterwards do the comparison between the GENRE tag-field and the helper tag-field, ...
and do what you want to do.

DD.20150508.1806.CEST

Thanks... Looks like the way throught the helper tag is the only way

Posted by: stevehero May 12 2015, 21:52

Scripts can't read existing tag names. They tag tracks from web sources. Temp GENRE tag is the only way I'm afraid.

FIX Problem on INITIALKEY on ( http://classic.beatport.com/release/treasured-soul-the-remixes/1520130 ) where name contained Amin.

Search in ALL scripts for a chuck of code similar to this and replace it with code below.

CODE
    replace "♯" "#"        # Fix
    replace "\"A♭min\"" "\"01A\""
    replace "\"G#min\"" "\"01A\""       # SAME KEY #
    replace "\"E♭min\"" "\"02A\""
    replace "\"D#min\"" "\"02A\""        # SAME KEY #
    replace "\"B♭min\"" "\"03A\""
    replace "\"A#min\"" "\"03A\""       # SAME KEY #
    replace "\"Fmin\"" "\"04A\""
    replace "\"Cmin\"" "\"05A\""
    replace "\"Gmin\"" "\"06A\""
    replace "\"Dmin\"" "\"07A\""
    replace "\"Amin\"" "\"08A\""
    replace "\"Emin\"" "\"09A\""
    replace "\"Bmin\"" "\"10A\""
    replace "\"F#min\"" "\"11A\""
    replace "\"D♭min\"" "\"12A\""
    replace "\"C#min\"" "\"12A\""       # SAME KEY #
    replace "\"Bmaj\"" "\"01B\""
    replace "\"F#maj\"" "\"02B\""
    replace "\"D♭maj\"" "\"03B\""
    replace "\"C#maj\"" "\"03B\""       # SAME KEY #
    replace "\"A♭maj\"" "\"04B\""
    replace "\"G#maj\"" "\"04B\""        # SAME KEY #
    replace "\"E♭maj\"" "\"05B\""
    replace "\"D#maj\"" "\"05B\""        # SAME KEY #
    replace "\"B♭maj\"" "\"06B\""
    replace "\"A#maj\"" "\"06B\""        # SAME KEY #
    replace "\"Fmaj\"" "\"07B\""
    replace "\"Cmaj\"" "\"08B\""
    replace "\"Gmaj\"" "\"09B\""
    replace "\"Dmaj\"" "\"10B\""
    replace "\"Amaj\"" "\"11B\""
    replace "\"Emaj\"" "\"12B\""

Posted by: Raphi111 May 14 2015, 10:56

Thank you for this wonderful script smile.gif
I modified it a bit to suit my needs and I'm using it daily for quite a while now :-)

Posted by: stevehero May 14 2015, 11:03

QUOTE (Raphi111 @ May 14 2015, 10:56) *
Thank you for this wonderful script smile.gif
I modified it a bit to suit my needs and I'm using it daily for quite a while now :-)

Thanks Raphi! wink.gif

Posted by: jaydnb Jun 6 2015, 10:36

well i'd like to say a big thank you for creating and updating this script, i speak for myself and i'm sure of many others who are silent users of this script but appreciate it immensely, if i had to manually locate and add tags and pictures of each and every track i own i would of gave up long ago.

keep up the amazing work stevehero much appreciated! laugh.gif

Posted by: stevehero Jun 6 2015, 15:30

QUOTE (jaydnb @ Jun 6 2015, 09:36) *
well i'd like to say a big thank you for creating and updating this script, i speak for myself and i'm sure of many others who are silent users of this script but appreciate it immensely, if i had to manually locate and add tags and pictures of each and every track i own i would of gave up long ago.

keep up the amazing work stevehero much appreciated! laugh.gif

Thanks for taking the time to write such kind words. Yours in music - stevehero

Posted by: incheyeg Jun 21 2015, 03:08

great tool absolutely love it!

I do have a problem with editing the script tho, even when I remove the # from set "TRACK" the track field still populates? scratching my head trying to figure it out sad.gif all the other fields that I have omitted are working no problem

fixed it:

#outputto "TRACKS"
#say "|"



Posted by: Toby_D Jun 29 2015, 14:29

stevehero
Cant msg you in PM, so will ask you in this topic. For example, i have about 200 tracks, they have only Artist and Title tags. When I select them, and choise Release search by Artist + Title, script search only for the first track in list. How to run this for all tracks?

Just need to find tags and covers for all tracks, but atm its not possible. Script ask me to do this things for each track sad.gif Can you help me with this problem?

Posted by: ohrenkino Jun 29 2015, 16:47

ZITAT(Toby_D @ Jun 29 2015, 15:29) *
... Can you help me with this problem?

Perhaps you try musicbrainz picard in the meantime?

Posted by: Toby_D Jun 29 2015, 18:36

QUOTE (ohrenkino @ Jun 29 2015, 16:47) *
Perhaps you try musicbrainz picard in the meantime?

Ofc. no, as I said, I use beatport script. But when i select all tracks with missed tags, and run script - it start search only for the first track in the list. thats the problem...


That is why Im asking, how to run this process for all tracks, because as you see here I have missed tag Album and other, and I got only Artist and Title

Posted by: ohrenkino Jun 29 2015, 20:16

ZITAT(Toby_D @ Jun 29 2015, 19:36) *
... how to run this process for all tracks...

I think I got that the first time.
The problem will be that you can issue exactly one search string per call. There is no way to loop through a list of files.
Any script does nothing more than call an internet page. So do you know a search expression that displays a list of albums for 200 tracks on the same page?

The looping has to be done by you ... or you can try musicbrainz picard...

I think, you will be disappointed by the result as the artist/title combination is by far not unique. This could also be part of the orginal album, the single, the greatest hits, the live album, the best of, any odd compilation ... so you would have to judge for each file which of the possible albums is the most likely.

Posted by: Toby_D Jun 29 2015, 20:33

QUOTE (ohrenkino @ Jun 29 2015, 20:16) *
I think I got that the first time.
The problem will be that you can issue exactly one search string per call. There is no way to loop through a list of files.
Any script does nothing more than call an internet page. So do you know a search expression that displays a list of albums for 200 tracks on the same page?
This can works like queue and accept first offer from list of tags that script found.

QUOTE
The looping has to be done by you ... or you can try musicbrainz picard...

Musicbrainz needs looping too.
QUOTE
I think, you will be disappointed by the result as the artist/title combination is by far not unique. This could also be part of the orginal album, the single, the greatest hits, the live album, the best of, any odd compilation ... so you would have to judge for each file which of the possible albums is the most likely.
Most of releases will get right tags, and if I will select for each track such things - it will take much time, thats the problem to organize big collection.


Posted by: ohrenkino Jun 29 2015, 20:41

ZITAT(Toby_D @ Jun 29 2015, 21:33) *
...Musicbrainz needs looping too...

You have never tried musicbrainz, have you? (It is not a must. But as it brings it own GUI, you will see that the approach is a different one. Apparently, this option is ruled out now)

As a workaround you could treat every track as a single and copy the TITLE into ALBUM and see if you get any hits for the cover, which - by the way - can be achieved as a bulk task with albumartdownloader ...

Posted by: Toby_D Jun 29 2015, 22:16

QUOTE (ohrenkino @ Jun 29 2015, 20:41) *
You have never tried musicbrainz, have you? (It is not a must. But as it brings it own GUI, you will see that the approach is a different one. Apparently, this option is ruled out now)

As a workaround you could treat every track as a single and copy the TITLE into ALBUM and see if you get any hits for the cover, which - by the way - can be achieved as a bulk task with albumartdownloader ...

cover is not a problem, Im looking for missed tags... thats what I need.

Posted by: xaoc2012 Jul 3 2015, 10:24

how save cover in folder, with name 'beatport ID'
e.g. http://classic.beatport.com/release/peanut-butter-jelly/1557923 -> 11798780.jpg

Posted by: SB1 Jul 5 2015, 19:09

Steve,

First of all many many thanks for the great script. You're a true hero among us mere mortals biggrin.gif

Although I have been able to customise the script almost to perfection regarding my personal preferences, there's a few things I'm not really sure if they're possible and how it could be done:

1. The ALBUMARTIST field usually gets filled with the original artist AND featured artist AND the remixers. Is there a way to only get the original artist in this filed?

2. If there's a feature on a track (usually vocalists) they normally get added to the ARTIST field but also regularly appear at the end of the track title [ e.g. Super Fantastic Song feat. Singer B (Original Mix ]. Is there a way the script can crop this info, so you get Super Fantastic Song (Original Mix) ?

Posted by: stevehero Jul 6 2015, 13:30

Sorry for late reply guys, accentually marked mp3tag emails as spam and didn't notice until now.

QUOTE (Toby_D @ Jun 29 2015, 21:16) *
cover is not a problem, Im looking for missed tags... thats what I need.

This script is want you want. It's automatic tag but can only use ONE webpage at a time, therefore if you have songs that are on a complete EP, ablum or release (Some releases only have 1 song) then use the RELEASE scripts otherwise one by one tracks using the SINGLE TRACK scripts.


QUOTE (xaoc2012 @ Jul 3 2015, 09:24) *
how save cover in folder, with name 'beatport ID'
e.g. http://classic.beatport.com/release/peanut-butter-jelly/1557923 -> 11798780.jpg

Can't be done with script but after the fies have been tagged using an action. Look in FAQ for this answer.


QUOTE (SB1 @ Jul 5 2015, 18:09) *
Steve,

First of all many many thanks for the great script. You're a true hero among us mere mortals biggrin.gif

Although I have been able to customise the script almost to perfection regarding my personal preferences, there's a few things I'm not really sure if they're possible and how it could be done:

1. The ALBUMARTIST field usually gets filled with the original artist AND featured artist AND the remixers. Is there a way to only get the original artist in this filed?

2. If there's a feature on a track (usually vocalists) they normally get added to the ARTIST field but also regularly appear at the end of the track title [ e.g. Super Fantastic Song feat. Singer B (Original Mix ]. Is there a way the script can crop this info, so you get Super Fantastic Song (Original Mix) ?

Thank you very much.

1+2: I'm limited to doing this as I'm only using the html page of classic BP. Maybe if I could use the API then yes this would be easily possible. Maybe it's possible now but unfortunately I don't have the time to look at this. (I know it won't be easy) My intention of the scripts is to get the values that are as true as possible to how BP formats them) It's then up to the user to use actions to format things the way they like. regexp etc are handy for this propose.

Posted by: P.nkt Jul 9 2015, 18:43

These scripts are awesome, they have spared me so much time, thank you very much.
I have now tried to customize
Beatport by &stevehero v4.1#RELEASE Search by (Album)Artist + &Release.src
for my needs, but without success.

What I want:
- no extended tags (like <BEATPORT_ARTIST_URL>)
- the DATE tag only containing the release year (YYYY, and not YYYY-MM-DD\\YYYY)
- the ALBUM tag without the catalog number
- no ALBUM ARTIST tag
- no COMMENT tag

Hope you can help.

Posted by: stevehero Jul 9 2015, 20:18

QUOTE (P.nkt @ Jul 9 2015, 18:43) *
These scripts are awesome, they have spared me so much time, thank you very much.
I have now tried to customize
Beatport by &stevehero v4.1#RELEASE Search by (Album)Artist + &Release.src
for my needs, but without success.

What I want:
- no extended tags (like <BEATPORT_ARTIST_URL>)
- the DATE tag only containing the release year (YYYY, and not YYYY-MM-DD\\YYYY)
- the ALBUM tag without the catalog number
- no ALBUM ARTIST tag
- no COMMENT tag

Hope you can help.

Hi P.nkt.. Glad you find them useful.

Any tags can be parsed or not by looking for the section (self explanatory):
CODE
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#
#                         .:: R E M O V E    F I E L D S ::.                                 #
# • To remove fields from parsing delete the # in front of 'set'                             #
# • Only use this section to remove fields                                                   #
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#


Change this:
CODE
# YEAR OPTIONS
    #regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2-$4-$3"                   # YEAR in YYYY-DD-MM format
    #regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$4-$3-$2"                   # YEAR in DD-MM-YYYY format
    #regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2"                         # YEAR in YYYY format


To:
CODE
# YEAR OPTIONS
    #regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2-$4-$3"                   # YEAR in YYYY-DD-MM format
    #regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$4-$3-$2"                   # YEAR in DD-MM-YYYY format
    regexpreplace "(releaseDate":")(\d\d\d\d)-(\d\d)-(\d\d)" "$1$2"                         # YEAR in YYYY format


Use this code to replace similar looking code in script (Found towards the bottom):
CODE
# ALBUM [CATOLOG #]
    outputto "ALBUM"
   # say " ["
   # sayoutput "CATALOG #"
  #  say "]"



As you can see by now placing a # in front of any line stops that line been evaluated in the script when it's run.

The readme/help file attached with the script sort of explains most of this. wink.gif


Posted by: P.nkt Jul 9 2015, 21:57

Excellent!

There's one thing I could not manage:
In the %track% field I do not want the total tracks numbers, only the track numbers with leading zeros.

I put a folder.jpg in every album folder - is it possible to add cover art from this file with your script?
(Would be nice to be able to search for words within threads btw)

Posted by: stevehero Jul 11 2015, 04:14

QUOTE (P.nkt @ Jul 9 2015, 21:57) *
Excellent!

There's one thing I could not manage:
In the %track% field I do not want the total tracks numbers, only the track numbers with leading zeros.

I put a folder.jpg in every album folder - is it possible to add cover art from this file with your script?
(Would be nice to be able to search for words within threads btw)

Change:
CODE
    outputto "TRACKTEMP" # TRACK/TOTALTRACK|TRACKTEMP
    sayregexp "(?<=txt-grey\"> )[^<]+" "" "<<endTrack>>"
    say "/"
    sayoutput "TOTALTRACKS"
    say "|"


To:
CODE
    outputto "TRACKTEMP" # TRACK/TOTALTRACK|TRACKTEMP
    sayregexp "(?<=txt-grey\"> )[^<]+" "" "<<endTrack>>"
    #say "/"
    #sayoutput "TOTALTRACKS"
    say "|"


You can do this with a dedicated IMPORT COVER FROM FILE action (Scripts are not actions btw):

Use this format string to import file from current folder of music file:
.\folder.jp*g

Posted by: clesire Sep 20 2015, 09:11

Hello,

first of all I want to thank you for your work but I got a question here. I couldn't find a solution to remove the CATALOG # infront of the Album.


Posted by: stevehero Sep 20 2015, 19:33

QUOTE (clesire @ Sep 20 2015, 08:11) *
Hello,

first of all I want to thank you for your work but I got a question here. I couldn't find a solution to remove the CATALOG # infront of the Album.

Thank you, the answers here somewhere but it's very simple, open scripts and replace:
CODE
# ALBUM [CATOLOG #]
    outputto "ALBUM"
    say " ["
    sayoutput "CATALOG #"
    say "]"

With:
CODE
# ALBUM [CATOLOG #]
#    outputto "ALBUM"
#    say " ["
#    sayoutput "CATALOG #"
#    say "]"

Posted by: House Language Oct 21 2015, 15:51

Hello guys, how do i remove the duplicate Album Artist? After i use the script on the field Album Artist shows 2 times the artist. Please take a look at the screenshot. Thank you


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)