just finished coding a killer cuesheet parser for the new cuenation.
upload a horrible cuesheet:
Code:
pe日rFo日RMER " " ""Roger Shah" "
INDEX 01
TITLE "Magic Island - Music for Balearic People 132 (2010-11-19) [DI.fm Streamrip]"
FILE "Roger_Shah_日本語_Magic_Island_اللغة العربية_Music_for_Balearic_People_132.mp3" FLAC
CUENATION FTW!!!
@%^&^SFGSFadfgsdf%$^$%
T R ACK 01 AUDIO
#%$@$&%@23456 PERFORMER "اللغة العربية"
TI T LE Intro
INDEX z01 0:hahaha 0:0
TRA CK 02 AUDIO
P e R F o R m ER "7 Skies"
TITLE日本語 (Ben Gold Remix)"
FILE "Roger_Shah_日本語_Magic_Island_اللغة العربية_Music_for_Balearic_People_132.mp3" MP4
INDEX z01 1:1
TR A CK 03 AUDIO
PERFORMER "Markus Schulz"
@ TIT LE "Dark Heart Waiting ("Live" Mix)
@ IND EX 01 5:yooo!!!06:25
TRACK 04 AUDIO
PERFORMER "Gregorio Styreco"
4 TITLE "The Forgotten (ReOrder Deep Remix)"
3 4 INDEX 01 12:27:70
TRACK 05 AUDIO
PERFORMER Matt Bukovski
TITLE "Fresh Air (Type 41 Remix)"
IN DEX 01 1:2:3
IND EX 01 19:2@#7:00 /// second index
let the parser do its job:
Code:
$good_cue = $cueParser->clean($bad_cue);
and we get a nice:
Code:
PERFORMER "Roger Shah"
TITLE "Magic Island - Music for Balearic People 132 (2010-11-19) [DI.fm Streamrip]"
FILE "Roger_Shah_日本語_Magic_Island_اللغة العربية_Music_for_Balearic_People_132.mp3" MP3
TRACK 1 AUDIO
PERFORMER "اللغة العربية"
TITLE "Intro"
INDEX 01 00:00:00
TRACK 2 AUDIO
PERFORMER "7 Skies"
TITLE "日本語 (Ben Gold Remix)"
INDEX 01 00:01:01
TRACK 3 AUDIO
PERFORMER "Markus Schulz"
TITLE "Dark Heart Waiting ("Live" Mix)"
INDEX 01 05:06:25
TRACK 4 AUDIO
PERFORMER "Gregorio Styreco"
TITLE "The Forgotten (ReOrder Deep Remix)"
INDEX 01 12:27:70
TRACK 5 AUDIO
PERFORMER "Matt Bukovski"
TITLE "Fresh Air (Type 41 Remix)"
INDEX 01 19:27:00
maybe i should also make it lowercase & auto-add ending period for vs/pres/feat/etc, lowercase all "van"/"de" in artist name, and delete all that (Original Mix) shyt as well
PS: the class (including parser, compiler, & cleaner) is only 170 lines of code
https://github.com/frifox/cueParser/blo ... parser.php