Here's the script (with the external UDFs trimmed off):
Code:
Break on
Global $starttime
$rc = runningtime()
If Exist(@SCRIPTDIR + "\rock.m3u") = 1
DEL @SCRIPTDIR + "\rock.m3u"
EndIf
If Exist(@SCRIPTDIR + "\pop.m3u") = 1
DEL @SCRIPTDIR + "\pop.m3u"
EndIf
If Exist (@SCRIPTDIR + "\all music.m3u") = 1
DEL @SCRIPTDIR + "\all music.m3u"
EndIf
? "Generating base playlists..."
$rockarray = Dirlist(@SCRIPTDIR + "\rock\*.mp3",2+4)
$poparray = Dirlist(@SCRIPTDIR + "\pop\*.mp3",2+4)
$allmusic = JoinArray($rockarray,$poparray)
$ = WriteFile(@SCRIPTDIR + '\Rock.m3u',$rockarray)
$ = WriteFile(@SCRIPTDIR + '\Pop.m3u',$poparray)
$ = WriteFile(@SCRIPTDIR + '\All Music.m3u',$allmusic)
$rockartists = DirPlus(@SCRIPTDIR + "\rock\","/ad")
$count = 3
For Each $artist In $rockartists
$artistiso = Split($artist,"\")
$x = UBound($artistiso)
If Exist (@SCRIPTDIR + "\playlists\" + $artistiso[$x] + ".m3u") = 1
DEL @SCRIPTDIR + "\playlists\" + $artistiso[$x] + ".m3u"
EndIf
Select
Case $artistiso[$x] = "Various Artists"
$VARock = Dirlist($artist + "\*.mp3",2+4)
Case $artistiso[$x] = "Miscellaneous"
$MSRock = Dirlist($artist + "\*.mp3",2+4)
Case 1
$artistm3u = Dirlist($artist + "\*.mp3",2+4)
? "Generating Playlist for " + $artistiso[$x]
$ = WriteFile(@SCRIPTDIR + "\playlists\" + $artistiso[$x] + ".m3u",$artistm3u)
$count = $count + 1
EndSelect
Next
$popartists = DirPlus(@SCRIPTDIR + "\pop\","/ad")
For Each $artist In $popartists
$artistiso = Split($artist,"\")
$x = UBound($artistiso)
If Exist (@SCRIPTDIR + "\playlists\" + $artistiso[$x] + ".m3u") = 1
DEL @SCRIPTDIR + "\playlists\" + $artistiso[$x] + ".m3u"
EndIf
Select
Case $artistiso[$x] = "Various Artists"
$VApop = Dirlist($artist + "\*.mp3",2+4)
Case $artistiso[$x] = "Miscellaneous"
$MSpop = Dirlist($artist + "\*.mp3",2+4)
Case 1
$artistm3u = Dirlist($artist + "\*.mp3",2+4)
? "Generating Playlist for " + $artistiso[$x]
$ = WriteFile(@SCRIPTDIR + "\playlists\" + $artistiso[$x] + ".m3u",$artistm3u)
$count = $count + 1
EndSelect
Next
? "Generating miscellaneous playlists..."
If Exist(@SCRIPTDIR + "\playlists\Miscellaneous Rock.m3u") = 1
DEL @SCRIPTDIR + "\playlists\Miscellaneous Rock.m3u"
EndIf
If Exist(@SCRIPTDIR + "\playlists\Miscellaneous Pop.m3u") = 1
DEL @SCRIPTDIR + "\playlists\Miscellaneous Pop.m3u"
EndIf
$MiscRock = JoinArray($MSRock,$VARock)
$ = WriteFile(@SCRIPTDIR + "\playlists\Miscellaneous Rock.m3u",$MiscRock)
$Miscpop = JoinArray($MSpop,$VApop)
$ = WriteFile(@SCRIPTDIR + "\playlists\Miscellaneous Pop.m3u",$Miscpop)
$count = $count + 2
$rc = runningtime()
MessageBox("Processed " + $count + " playlists in " + $rc + " seconds.","Finished!",64,0)
Quit
I'm a little confused as to why it's telling me that the variable is undefined, as I explicitly define $count. If I move that line up to the top of the script, it then bugs me that $artist in line 32 is undefined...
I don't think I've made any changes to my system since the last time I successfully ran the script...any tips as to the nature of the problem would be appreciated.
FWIW, I'm using KiX 4.22