Help - Search - Members - Calendar
Full Version: beatport.com scripts by stevehero (search & direct) - jaimz mod
Mp3tag Forums > Mp3tag - International > Development > Web Sources Scripts
Pages: 1, 2, 3, 4, 5
stevehero

**V4.0 OUT NOW**

Click to view attachment

THANK YOU FOR YOUR PATIENCE GUYS N' GALS

RELEASE PARSING: (CLICK EXAMPLE RELEASE HERE)

SINGLE TRACK PARSING: (CLICK EXAMPLE TRACK HERE)

INFO PANELS + TAG EXAMPLES:
Click to view attachment

UPDATE HISTORY:
CODE
# v4.0
CHANGE      Completely rewritten code for beatports HTML pages.
CHANGE      Removed options for VA as beatports HTML pages now show whether this is so.
CHANGE      WWW is now the release page URL even when using the SINGLE TRACK scripts.
ADDED       Tags: BEATPORT_ARTIST_URL|BEATPORT_ITEM_TYPE
ADDED       Multi-fields for BEATPORT_ARTIST_URL (see action in post to separate fields)
ADDED       Script: SINGLE TRACK Direct by BEATPORT_TRACK_URL
REMOVED     Tags: COUNTRY | ISCR (Not in beatports HTML pages)
FIX         Missing BPM '0' to '[x]'. (see www.beatport.com/release/self/12239).
FIX         WWW on release (www.beatport.com/release/cult/1120189)
# ---------------------------------------------------------------
# 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 post 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++ here and use this stylesheet Click to view attachment 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                                                   #
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::#


Click to view attachment

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 it to where it is now.

Please feel free to comment
pone
Nice to see the final version.
Good work!
stevehero
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. :]
chodor
Thanks a lot. Very useful and seems to work flawlessly!
dumdidum
hey,

i just registered to say thanks. great work! it blows my mind what can be done with the web sources scripts API.
Stomper
Any chance of this little beauty pulling the Key information of tracks? Is it offered in the api?
stevehero
EDIT
The script now offers BPM and INITIAL KEY parsing. See starting post.
Papo
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...lub-mix/2439233
stevehero
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...lub-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.
stevehero
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 this post for update.
aberger
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
The Sheriff
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.
pone
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"
The Sheriff
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 this 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







pone
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 this 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
stevehero
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.
The Sheriff
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.
garves
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


stevehero
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.
stevehero
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"
garves
Thanks stevehero, Key and Bpm are working great! biggrin.gif
stevehero
Uploaded now is the latest version of 'beatport by stevehero v1.2' scripts (see first post here 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 Mixed In Key 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.

pinknoise
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!
chriswike
Damn stevehero, this last update made my favorite Script even better....

I purchased mixed in key 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 Circle of Fifths, so when I use the action script on say, this song 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!
stevehero
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 Circle of Fifths, so when I use the action script on say, this song 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?
DetlevD
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/harmonielehr...ntenzirkel.html
http://www.musicians-place.com/harmonics/c...-of-fifths.html

DD.20120201.0535.CET
chriswike
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
stevehero
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/harmonielehr...ntenzirkel.html
http://www.musicians-place.com/harmonics/c...-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"
stevehero
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.
lalaland
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...
stevehero
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 here.
bmfholland
Wow, amazing script!

many thanks stevehero w00t.gif
stevehero
v2.0 NOW HERE >>>> Click here for starting post

Single track parsing of beatport.com

It will grab info much the same as my previous version for releases. See example track page here:
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
stevehero
Download 'beatport_by_stevehero_v2.0' at starting post here.
Purpleasbestos
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
stevehero
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+)$"
stevehero
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 www.beatport.com/release/you-know-what-its-like/892120).

SEE STARTING POST HERE
lalaland
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)?
stevehero
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++ HERE
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.
lalaland
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".
stevehero
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 "|"
lalaland
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!
The Zyc
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...
stevehero
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.
The Zyc
Oh... Thank you, it works, thats perfekt wink.gif
mate
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?
stevehero
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.
mate
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
djSMIRK
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?
stevehero
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>"
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.