Page 15 of 57

Posted: Sat Apr 08, 2006 2:18 am
by Teknojnky
I turned off the debug log and will see if any errors pop up or it tries to do the same error as above.

I also zipped a log from all day and mailed ya, hope it helps.

Posted: Sat Apr 08, 2006 7:50 am
by DiddeLeeDoo
I'm one of those who turn the rating below minimum on certain tracks, due to frequent repeats.

I wonder if it may be possible for the script to read the 'Songs.LastTimePlayed' field?

If Songs.LastTimePlayed is Less Than XX hours from Now(), then skip to next Match?

BTW I love this Smart DJ!!

Posted: Mon Apr 10, 2006 2:26 am
by psyXonova
KK,
I studied the debug logs that Teknojnky sent me and i found a typo error in the code that was causing (again, but for different reason this time) false reporting of track addition.
This has been fixed in 1.26 beta 2 which you can download here

Also i noticed that EncodeURL sometimes it returns wrong results. It might has to do wiht regional settings cause the Same Artist was trasformed differently for me and Teknojnky. This will be fixed in a future release.

Also i decided to add the "Dont play track unless XX minutes/hours have passed" and it will be available in the next beta along with the option to set huge values in those options (not only minutes but also hours and days).
At least one more major addition will be there but I will keep those as a suprise.
Thanks again...

Repeating Error #424 or #91

Posted: Mon Apr 10, 2006 10:57 am
by mathenge
Hi! First of all, thank you for a brilliant idea... once this gets worked out, this script is going to be huge!

In any case, I can't get it to work. As it gets to the last song, it pulls up an error message (usually #424, object required...line 78, column 12) that is quickly covered by a billion "error executing event" boxes. If I can click "ok" quickly enough to overcome the rate of new error boxes spawning, it will successfully pull a suggested song.

I don't know enough about scripting to do the debugging myself, so I hope you can figure it out, and hope that I'm not just repeating something that someone else has already brought to your attention!

Thanks a lot!
-J

Including the .vbs log for your viewing pleasure:

4/10/2006 10:49:46 AM: ---------------------------------------------------------------------------------------
4/10/2006 10:49:46 AM: User options are:
4/10/2006 10:49:46 AM: Default playlist: Highest rated
4/10/2006 10:49:46 AM: Timeout Settings: 0, Warn: 0
4/10/2006 10:49:46 AM: Dont play same artist: 0
4/10/2006 10:49:46 AM: Minimun match: 0
4/10/2006 10:49:46 AM: Minimum Rating: 0
4/10/2006 10:49:47 AM: Include Higher Rating: False
4/10/2006 10:49:47 AM: Include Unknown Rating: True
4/10/2006 10:49:47 AM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
4/10/2006 10:49:47 AM: * ScrobblerDJ started
4/10/2006 10:49:47 AM: ** All conditions met, Scrobbler will now go online
4/10/2006 10:49:47 AM: * Initialization started
4/10/2006 10:49:47 AM: * Initialization finished
4/10/2006 10:49:47 AM: ScrobblerDJ will register Progtimer
4/10/2006 10:49:47 AM: ** Feed Artist is U2
4/10/2006 10:49:47 AM: * LoadXML started. Parameters passed: U2 ,1
4/10/2006 10:49:47 AM: * URLEncode has started with parameters U2
4/10/2006 10:49:47 AM: * URLEncode will return U2 and exit
4/10/2006 10:49:47 AM: LoadXML will register DownTimer
4/10/2006 10:49:47 AM: LoadXML set Mode to 1 (artist)
4/10/2006 10:49:47 AM: * LoadXML exited
4/10/2006 10:49:47 AM: * ScrobblerDJ exited
4/10/2006 10:49:47 AM: * ProgTimer Unregistered by itself
4/10/2006 10:49:47 AM: * Downtimer reported Network connectivity error. Scrobbler will now exit
4/10/2006 10:49:48 AM: * Downtimer reported Network connectivity error. Scrobbler will now exit
4/10/2006 10:49:48 AM: * Downtimer reported Network connectivity error. Scrobbler will now exit
4/10/2006 10:49:49 AM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
4/10/2006 10:49:49 AM: ** Downtime is calling sub last artist in mode: 1
4/10/2006 10:49:49 AM: * LastArtist started. Mode was 1
4/10/2006 10:49:49 AM: LastArtist is calling ParseXML with parameters U2, 1
4/10/2006 10:49:49 AM: * ParseXML has started with parameters U2, 1
4/10/2006 10:49:49 AM: ParseXML is tranfering XML data to a dictionary
4/10/2006 10:49:49 AM: ParseXML tranfered XML data to dictionary succefully
4/10/2006 10:49:49 AM: ParseXML will now call NotTooSoon with parameters The Violet Burning
4/10/2006 10:49:49 AM: * NotTooSoon has started with parameters The Violet Burning
4/10/2006 10:49:49 AM: * CorrectSt has started with parameters The Violet Burning
4/10/2006 10:49:49 AM: * CorrectSt will return The Violet Burning and exit
4/10/2006 10:49:49 AM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'The Violet Burning' ORDER BY Played.PlayDate DESC
4/10/2006 10:49:49 AM: * NotTooSoon will retunn True and exit
4/10/2006 10:49:49 AM: ParseXML will now call sub CheckExist with parameters The Violet Burning, 0, 1
4/10/2006 10:49:49 AM: * CheckExist has started with parameters The Violet Burning, 0, 1
4/10/2006 10:49:49 AM: * CorrectSt has started with parameters The Violet Burning
4/10/2006 10:49:49 AM: * CorrectSt will return The Violet Burning and exit
4/10/2006 10:49:49 AM: CheckExist will call CheckRating with parameters The Violet Burning, 0, 1
4/10/2006 10:49:49 AM: * CheckRating has started with parameters The Violet Burning, 0, 1
4/10/2006 10:49:49 AM: * CorrectSt has started with parameters The Violet Burning
4/10/2006 10:49:49 AM: * CorrectSt will return The Violet Burning and exit
4/10/2006 10:49:49 AM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'The Violet Burning' And (Songs.Rating >=0 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/10/2006 10:49:49 AM: * CheckRating will return False and exit
4/10/2006 10:49:49 AM: Rating Control for artist The Violet Burning failed. CheckExist will return 0 and exit
4/10/2006 10:49:49 AM: CheckExist returned 0 to ParseXML
4/10/2006 10:49:49 AM: ParseXML will now call NotTooSoon with parameters Gyllene Tider
4/10/2006 10:49:49 AM: * NotTooSoon has started with parameters Gyllene Tider
4/10/2006 10:49:49 AM: * CorrectSt has started with parameters Gyllene Tider
4/10/2006 10:49:49 AM: * CorrectSt will return Gyllene Tider and exit
4/10/2006 10:49:49 AM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Gyllene Tider' ORDER BY Played.PlayDate DESC
4/10/2006 10:49:49 AM: * NotTooSoon will retunn True and exit
4/10/2006 10:49:49 AM: ParseXML will now call sub CheckExist with parameters Gyllene Tider, 0, 1
4/10/2006 10:49:50 AM: * CheckExist has started with parameters Gyllene Tider, 0, 1
4/10/2006 10:49:50 AM: * CorrectSt has started with parameters Gyllene Tider
4/10/2006 10:49:50 AM: * CorrectSt will return Gyllene Tider and exit
4/10/2006 10:49:50 AM: CheckExist will call CheckRating with parameters Gyllene Tider, 0, 1
4/10/2006 10:49:50 AM: * CheckRating has started with parameters Gyllene Tider, 0, 1
4/10/2006 10:49:50 AM: * CorrectSt has started with parameters Gyllene Tider
4/10/2006 10:49:50 AM: * CorrectSt will return Gyllene Tider and exit
4/10/2006 10:49:50 AM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Gyllene Tider' And (Songs.Rating >=0 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/10/2006 10:49:50 AM: * CheckRating will return False and exit
4/10/2006 10:49:50 AM: Rating Control for artist Gyllene Tider failed. CheckExist will return 0 and exit
4/10/2006 10:49:50 AM: CheckExist returned 0 to ParseXML
4/10/2006 10:49:50 AM: ParseXML will now call NotTooSoon with parameters Duran Duran
4/10/2006 10:49:50 AM: * NotTooSoon has started with parameters Duran Duran
4/10/2006 10:49:50 AM: * CorrectSt has started with parameters Duran Duran
4/10/2006 10:49:50 AM: * CorrectSt will return Duran Duran and exit
4/10/2006 10:49:50 AM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Duran Duran' ORDER BY Played.PlayDate DESC
4/10/2006 10:49:50 AM: * NotTooSoon will retunn True and exit
4/10/2006 10:49:50 AM: ParseXML will now call sub CheckExist with parameters Duran Duran, 0, 1
4/10/2006 10:49:50 AM: * CheckExist has started with parameters Duran Duran, 0, 1
4/10/2006 10:49:50 AM: * CorrectSt has started with parameters Duran Duran
4/10/2006 10:49:50 AM: * CorrectSt will return Duran Duran and exit
4/10/2006 10:49:50 AM: CheckExist will call CheckRating with parameters Duran Duran, 0, 1
4/10/2006 10:49:50 AM: * CheckRating has started with parameters Duran Duran, 0, 1
4/10/2006 10:49:50 AM: * CorrectSt has started with parameters Duran Duran
4/10/2006 10:49:50 AM: * CorrectSt will return Duran Duran and exit
4/10/2006 10:49:50 AM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Duran Duran' And (Songs.Rating >=0 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/10/2006 10:49:50 AM: CheckRating will sub-query database with SQL: AND (Songs.IDArtist =3837) And (Songs.Rating >=0 OR SONGS.RATING = -1)
4/10/2006 10:49:50 AM: CheckRating will call IsAccesible for 13560
4/10/2006 10:49:50 AM: * IsAccessible has started for song (13560) Duran Duran - Ordinary World
4/10/2006 10:49:50 AM: * IsAccessible will return True and exit
4/10/2006 10:49:50 AM: ** 13560 was accessible
4/10/2006 10:49:50 AM: * CheckRating will return TRUE and exit
4/10/2006 10:49:50 AM: CheckExist is querying database. SQL is: SELECT ID, Artist FROM Artists Where Artist like 'Duran Duran'
4/10/2006 10:49:50 AM: CheckExist is sub-querying database. SQL is: AND (Songs.IDArtist =3837)
4/10/2006 10:49:50 AM: CheckExist will call IsAccessible for Ordinary World
4/10/2006 10:49:50 AM: * IsAccessible has started for song (13560) Duran Duran - Ordinary World
4/10/2006 10:49:50 AM: * IsAccessible will return True and exit
4/10/2006 10:49:50 AM: ** Ordinary World was accessible
4/10/2006 10:49:50 AM: CheckExist returned 3837 to ParseXML
4/10/2006 10:49:50 AM: ** ParseXML will return 3837|§|§|§Duran Duran
4/10/2006 10:49:50 AM: * ParseXML exited
4/10/2006 10:49:50 AM: ParseXML returned 3837|§|§|§Duran Duran to LastArtist. LoadXML will now be called with parameters 3837|§|§|§Duran Duran, 2
4/10/2006 10:49:50 AM: * LoadXML started. Parameters passed: 3837|§|§|§Duran Duran ,2
4/10/2006 10:49:50 AM: * URLEncode has started with parameters Duran Duran
4/10/2006 10:49:50 AM: * URLEncode will return Duran+Duran and exit
4/10/2006 10:49:50 AM: LoadXML will register DownTimer
4/10/2006 10:49:50 AM: LoadXML set Mode to 2 (title)
4/10/2006 10:49:50 AM: * LoadXML exited
4/10/2006 10:49:50 AM: * LastArtist exited
4/10/2006 10:49:50 AM: * Downtimer reported Network connectivity error. Scrobbler will now exit
4/10/2006 10:49:51 AM: * Downtimer reported Network connectivity error. Scrobbler will now exit
4/10/2006 10:49:51 AM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
4/10/2006 10:49:51 AM: ** Downtime is calling sub last artist in mode: 2
4/10/2006 10:49:52 AM: * LastArtist started. Mode was 2
4/10/2006 10:49:52 AM: LastArtist is calling ParseXML with parameters , 2
4/10/2006 10:49:52 AM: * ParseXML has started with parameters , 2
4/10/2006 10:49:52 AM: ParseXML is tranfering XML data to a dictionary
4/10/2006 10:49:52 AM: ParseXML tranfered XML data to dictionary succefully
4/10/2006 10:49:52 AM: ParseXML will now call sub CheckExist with parameters 3837, Ordinary World, 2
4/10/2006 10:49:52 AM: * CheckExist has started with parameters 3837, Ordinary World, 2
4/10/2006 10:49:52 AM: CheckExist will call CheckRating with parameters 3837, Ordinary World, 2
4/10/2006 10:49:52 AM: * CheckRating has started with parameters 3837, Ordinary World, 2
4/10/2006 10:49:52 AM: * CorrectSt has started with parameters Ordinary World
4/10/2006 10:49:52 AM: * CorrectSt will return Ordinary World and exit
4/10/2006 10:49:52 AM: CheckRating will query database with SQL: AND (Songs.SongTitle Like 'Ordinary World') AND (Songs.IDArtist =3837) And (Rating >=0 OR SONGS.RATING = -1)
4/10/2006 10:49:52 AM: CheckRating will call IsAccesible for 13560
4/10/2006 10:49:52 AM: * IsAccessible has started for song (13560) Duran Duran - Ordinary World
4/10/2006 10:49:52 AM: * IsAccessible will return True and exit
4/10/2006 10:49:52 AM: ** 13560 was accessible. CheckRating will now pass it to AddTrack
4/10/2006 10:49:52 AM: * AddTrack has started for track 13560
4/10/2006 10:49:52 AM: * AddTrack added track to playlist and will exit
4/10/2006 10:49:52 AM: * CheckRating will return TRUE and exit
4/10/2006 10:49:52 AM: ** RatingCheck passed for 3837 - Ordinary World
4/10/2006 10:49:52 AM: CheckExist returned 1 to ParseXML
4/10/2006 10:49:52 AM: ** ParseXML will return 1
4/10/2006 10:49:52 AM: * ParseXML exited
4/10/2006 10:49:52 AM: ParseXML returned 1 to LastArtist
4/10/2006 10:49:59 AM: ---------------------------------------------------------------------------------------
4/10/2006 10:49:59 AM: User options are:
4/10/2006 10:49:59 AM: Default playlist: Highest rated
4/10/2006 10:49:59 AM: Timeout Settings: 0, Warn: 0
4/10/2006 10:49:59 AM: Dont play same artist: 0
4/10/2006 10:49:59 AM: Minimun match: 0
4/10/2006 10:49:59 AM: Minimum Rating: 0
4/10/2006 10:49:59 AM: Include Higher Rating: False
4/10/2006 10:49:59 AM: Include Unknown Rating: True
4/10/2006 10:49:59 AM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
4/10/2006 10:49:59 AM: * ScrobblerDJ started
4/10/2006 10:49:59 AM: Playlist hasn't reached the last song
4/10/2006 10:49:59 AM: * ScrobblerDJ exited

Posted: Mon Apr 10, 2006 11:38 am
by psyXonova
Although the part of the log you sent me is not helpfull enough i think i managet to work this out. It seems like a timer error.
Now, the timer is reseted everytime the script enter into a loop and thus should stop the problems...

If problems continue to exist try to replicate 2-3 times and email me the log file

I have uploaded the modified version but it uses the same filename so plz redownload the file and install it again

Now there is no error, but also no song!

Posted: Mon Apr 10, 2006 11:49 am
by mathenge
Thanks so much for getting back to me...

Now there is no error. However, it queries last.fm, and then doesn't add a song to the playlist!

I tried it a few times and emailed you the log file. Each new song on the list is one I added to the playlist.

Thanks again!
-J

Posted: Mon Apr 10, 2006 12:05 pm
by psyXonova
Seems like the bug is caused by the config script. I have updated it to use some new methods inside MM but it is not setting the default values properly (eg it sets timeout setting to 0).
This will be fixed in a new release. For now check ScrobblerDJ options and set them to something meaningfull (especially timeout 10s, and No Same Artist to 30 min)

Posted: Mon Apr 10, 2006 12:09 pm
by mathenge
Perfect!

Thanks again.

Posted: Mon Apr 10, 2006 12:19 pm
by DiddeLeeDoo
I just wonder if it maybe possible to add an option to disable the text showing when ScrobblerDJ do a look-up?

Another suggestion

Posted: Mon Apr 10, 2006 12:45 pm
by mathenge
A quick suggestion that I already brought up in a PM...

For people that don't always have an internet connection, it might be helpful to have it revert a selection to the default playlist if the last.fm connection times out.

Keep up the good work!

Posted: Mon Apr 10, 2006 1:14 pm
by Teknojnky
I was just thinking that the other day.

I have not tried to figure out the flow of logic from the scripts code, But I will try to outline how I think it works, or how I think it could work.

Connect to Last.FM with current artist

- if time out (or artist not found), should load from default playlist

-- retreive top 10? related artists (should be stored temporarily until a valid track is found or default playlist is used)

--- Iterate library artists, select first accessible artist within re-play timer/match restrictions

---- Iterate library artist tracks, select accessbile track within rating restrictions and re-play timer/match restrictions

----- Repeat iterating artist/tracks until a valid track is found or iteration limit is reached then load default playlist track

IMO, there should never be a point where the script just stops unless you run out of default playlist tracks (which can be avoided by picking an effective default playlist.

Posted: Mon Apr 10, 2006 1:26 pm
by Teknojnky
I just got a new error, with the corrected b2 download.

error 424 - ms vbscript runtime error
object required: "playlist.tracks.item(...)"
file scrobblerdj.vbs, line 594, column 9

I did not have the debug log going, but I will enable the log and see what happens.

Posted: Mon Apr 10, 2006 10:23 pm
by Teknojnky
Wheee another error, don't ya just love me!??!

error 5, ms vb script runtime error

invalid procedure call or argument

scrobblerdj.vbs, line 669, colum 4

this appears to be the last log
4/10/2006 10:05:40 PM: ---------------------------------------------------------------------------------------
4/10/2006 10:05:40 PM: User options are:
4/10/2006 10:05:40 PM: Default playlist: I Know Kung Fu
4/10/2006 10:05:40 PM: Timeout Settings: 50, Warn: 0
4/10/2006 10:05:40 PM: Dont play same artist: 300
4/10/2006 10:05:40 PM: Minimun match: 50
4/10/2006 10:05:40 PM: Minimum Rating: 7
4/10/2006 10:05:40 PM: Include Higher Rating: True
4/10/2006 10:05:40 PM: Include Unknown Rating: True
4/10/2006 10:05:40 PM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
4/10/2006 10:05:40 PM: * ScrobblerDJ started
4/10/2006 10:05:40 PM: ** All conditions met, Scrobbler will now go online
4/10/2006 10:05:40 PM: * Initialization started
4/10/2006 10:05:40 PM: * Initialization finished
4/10/2006 10:05:40 PM: ScrobblerDJ will register Progtimer
4/10/2006 10:05:40 PM: ** Feed Artist is Bernard Herrmann
4/10/2006 10:05:40 PM: * LoadXML started. Parameters passed: Bernard Herrmann ,1
4/10/2006 10:05:40 PM: * URLEncode has started with parameters Bernard Herrmann
4/10/2006 10:05:40 PM: * URLEncode will return Bernard+Herrmann and exit
4/10/2006 10:05:40 PM: LoadXML will register DownTimer
4/10/2006 10:05:40 PM: LoadXML set Mode to 1 (artist)
4/10/2006 10:05:40 PM: * LoadXML exited
4/10/2006 10:05:40 PM: * ScrobblerDJ exited
4/10/2006 10:05:41 PM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
4/10/2006 10:05:41 PM: ** Downtime is calling sub last artist in mode: 1
4/10/2006 10:05:41 PM: * LastArtist started. Mode was 1
4/10/2006 10:05:41 PM: LastArtist is calling ParseXML with parameters Bernard Herrmann, 1
4/10/2006 10:05:41 PM: * ParseXML has started with parameters Bernard Herrmann, 1
4/10/2006 10:05:41 PM: ParseXML is tranfering XML data to a dictionary
4/10/2006 10:05:41 PM: ParseXML tranfered XML data to dictionary succefully

Posted: Mon Apr 10, 2006 10:53 pm
by DiddeLeeDoo
psyxonova, I just had an idea about the ScrobblerDJ Process Bar.

What if it on, always, when ScrobblerDJ is active.
Then you do not get the current 'jumping' screen between tracks.

Plus maybe set Priority to low or idle, so it's just there, plotting along.

Bonus: you'll always see what happened last on the MM screen.

It may also be possible, if user right click the process bar, and select Terminate, the ScrobblerDJ goes in a Disabled mode (if user goes offline for example)

I realize you must have set the timers for a reason. Maybe it is related to limitations to MM scripting.

Some programming ideas.
Priority of Process bar;
Read current Priority from MM.ini file
Remember
Set to Idle
Start the ScrobblerDJ Process Bar
Then reset the .ini file to original values

Somehow the Next Track needs to be in an array or something to re-use the ScrobblerDJ Process I guess.

Posted: Mon Apr 17, 2006 6:12 pm
by Teknojnky
Here is a new one:

Error # -214748113-
File: "J:\program files\mediamonkey\scripts\scrobblerdj.vbs", Line 595, Column 12

error followed:

access violation at address 005f6126 in module 'mediamonkey.exe'. read of address 00000298.

I believe it happened somewhere in the below log:

Code: Select all

4/17/2006 6:01:51 PM: ---------------------------------------------------------------------------------------
4/17/2006 6:01:51 PM: User options are:
4/17/2006 6:01:51 PM: Default playlist: Favorites - Not Heard Recently (1 hr)
4/17/2006 6:01:51 PM: Timeout Settings: 50, Warn: 0
4/17/2006 6:01:51 PM: Dont play same artist: 2000
4/17/2006 6:01:51 PM: Minimun match: 50
4/17/2006 6:01:51 PM: Minimum Rating: 7
4/17/2006 6:01:51 PM: Include Higher Rating: True
4/17/2006 6:01:51 PM: Include Unknown Rating: True
4/17/2006 6:01:51 PM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
4/17/2006 6:01:51 PM: * ScrobblerDJ started
4/17/2006 6:01:51 PM: ** All conditions met, Scrobbler will now go online
4/17/2006 6:01:51 PM: * Initialization started
4/17/2006 6:01:51 PM: * Initialization finished
4/17/2006 6:01:51 PM: ScrobblerDJ will register Progtimer
4/17/2006 6:01:51 PM: ** Feed Artist is Drift
4/17/2006 6:01:51 PM: * LoadXML started. Parameters passed: Drift ,1
4/17/2006 6:01:51 PM: * URLEncode has started with parameters Drift
4/17/2006 6:01:51 PM: * URLEncode will return Drift and exit
4/17/2006 6:01:51 PM: LoadXML will register DownTimer
4/17/2006 6:01:51 PM: LoadXML set Mode to 1 (artist)
4/17/2006 6:01:51 PM: * LoadXML exited
4/17/2006 6:01:51 PM: * ScrobblerDJ exited
4/17/2006 6:01:52 PM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
4/17/2006 6:01:52 PM: ** Downtime is calling sub last artist in mode: 1
4/17/2006 6:01:52 PM: * LastArtist started. Mode was 1
4/17/2006 6:01:52 PM: LastArtist is calling ParseXML with parameters Drift, 1
4/17/2006 6:01:52 PM: * ParseXML has started with parameters Drift, 1
4/17/2006 6:01:52 PM: ParseXML is tranfering XML data to a dictionary
4/17/2006 6:01:52 PM: ParseXML tranfered XML data to dictionary succefully
4/17/2006 6:01:52 PM: ParseXML will now call NotTooSoon with parameters Mintys Style
4/17/2006 6:01:52 PM: * NotTooSoon has started with parameters Mintys Style
4/17/2006 6:01:52 PM: * CorrectSt has started with parameters Mintys Style
4/17/2006 6:01:52 PM: * CorrectSt will return Mintys Style and exit
4/17/2006 6:01:52 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Mintys Style'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:52 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:52 PM: ParseXML will now call sub CheckExist with parameters Mintys Style, 0, 1
4/17/2006 6:01:52 PM: * CheckExist has started with parameters Mintys Style, 0, 1
4/17/2006 6:01:52 PM: * CorrectSt has started with parameters Mintys Style
4/17/2006 6:01:52 PM: * CorrectSt will return Mintys Style and exit
4/17/2006 6:01:52 PM: CheckExist will call CheckRating with parameters Mintys Style, 0, 1
4/17/2006 6:01:52 PM: * CheckRating has started with parameters Mintys Style, 0, 1
4/17/2006 6:01:52 PM: * CorrectSt has started with parameters Mintys Style
4/17/2006 6:01:52 PM: * CorrectSt will return Mintys Style and exit
4/17/2006 6:01:52 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Mintys Style' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:52 PM: * CheckRating will return False and exit
4/17/2006 6:01:52 PM: Rating Control for artist Mintys Style failed. CheckExist will return 0 and exit
4/17/2006 6:01:52 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:52 PM: ParseXML will now call NotTooSoon with parameters Mintys Style
4/17/2006 6:01:52 PM: * NotTooSoon has started with parameters Mintys Style
4/17/2006 6:01:52 PM: * CorrectSt has started with parameters Mintys Style
4/17/2006 6:01:52 PM: * CorrectSt will return Mintys Style and exit
4/17/2006 6:01:52 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Mintys Style'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:53 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:53 PM: ParseXML will now call sub CheckExist with parameters Mintys Style, 0, 1
4/17/2006 6:01:53 PM: * CheckExist has started with parameters Mintys Style, 0, 1
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Mintys Style
4/17/2006 6:01:53 PM: * CorrectSt will return Mintys Style and exit
4/17/2006 6:01:53 PM: CheckExist will call CheckRating with parameters Mintys Style, 0, 1
4/17/2006 6:01:53 PM: * CheckRating has started with parameters Mintys Style, 0, 1
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Mintys Style
4/17/2006 6:01:53 PM: * CorrectSt will return Mintys Style and exit
4/17/2006 6:01:53 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Mintys Style' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:53 PM: * CheckRating will return False and exit
4/17/2006 6:01:53 PM: Rating Control for artist Mintys Style failed. CheckExist will return 0 and exit
4/17/2006 6:01:53 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:53 PM: ParseXML will now call NotTooSoon with parameters Hydraulic
4/17/2006 6:01:53 PM: * NotTooSoon has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:53 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Hydraulic'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:53 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:53 PM: ParseXML will now call sub CheckExist with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CheckExist has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:53 PM: CheckExist will call CheckRating with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CheckRating has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:53 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Hydraulic' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:53 PM: * CheckRating will return False and exit
4/17/2006 6:01:53 PM: Rating Control for artist Hydraulic failed. CheckExist will return 0 and exit
4/17/2006 6:01:53 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:53 PM: ParseXML will now call NotTooSoon with parameters Hydraulic
4/17/2006 6:01:53 PM: * NotTooSoon has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:53 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Hydraulic'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:53 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:53 PM: ParseXML will now call sub CheckExist with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CheckExist has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:53 PM: CheckExist will call CheckRating with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CheckRating has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:53 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:53 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:53 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Hydraulic' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:53 PM: * CheckRating will return False and exit
4/17/2006 6:01:53 PM: Rating Control for artist Hydraulic failed. CheckExist will return 0 and exit
4/17/2006 6:01:53 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:53 PM: ** ParseXML tried too many times (3). It will return E2 code and exit
4/17/2006 6:01:53 PM: * ParseXML exited
4/17/2006 6:01:53 PM: ParseXML returned E2 to LastArtist. Procceding to error evaluation
4/17/2006 6:01:53 PM: * PlayDefTrack has started
4/17/2006 6:01:53 PM: PlayDefTrack will use Favorites - Not Heard Recently (1 hr) playlist which contains a total of 20 tracks
4/17/2006 6:01:53 PM: PlayDefTrack initialized checking for accessible files
4/17/2006 6:01:53 PM: * IsAccessible has started but the passed parameter was empty
4/17/2006 6:01:53 PM: * IsAccessble will now call sub ScrobblerDJ and exit
4/17/2006 6:01:54 PM: * ScrobblerDJ started
4/17/2006 6:01:54 PM: ** All conditions met, Scrobbler will now go online
4/17/2006 6:01:54 PM: * Initialization started
4/17/2006 6:01:54 PM: * Initialization finished
4/17/2006 6:01:54 PM: ScrobblerDJ will register Progtimer
4/17/2006 6:01:54 PM: ** Feed Artist is Drift
4/17/2006 6:01:54 PM: * LoadXML started. Parameters passed: Drift ,1
4/17/2006 6:01:54 PM: * URLEncode has started with parameters Drift
4/17/2006 6:01:54 PM: * URLEncode will return Drift and exit
4/17/2006 6:01:54 PM: LoadXML will register DownTimer
4/17/2006 6:01:54 PM: LoadXML set Mode to 1 (artist)
4/17/2006 6:01:54 PM: * LoadXML exited
4/17/2006 6:01:54 PM: * ScrobblerDJ exited
4/17/2006 6:01:54 PM: PlayDefTrack initialized checking for accessible files
4/17/2006 6:01:54 PM: * IsAccessible has started for song (42628) Basil Poledouris - Death of Rexor
4/17/2006 6:01:54 PM: * IsAccessible will return True and exit
4/17/2006 6:01:55 PM: ** PlayDefTrack: track (42616) David Newman - San Francisco (Be Sure to Wear Some Flowers in Your Hair) was accessible and was added in the playing que
4/17/2006 6:01:56 PM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
4/17/2006 6:01:56 PM: ** Downtime is calling sub last artist in mode: 1
4/17/2006 6:01:56 PM: * LastArtist started. Mode was 1
4/17/2006 6:01:56 PM: LastArtist is calling ParseXML with parameters Drift, 1
4/17/2006 6:01:56 PM: * ParseXML has started with parameters Drift, 1
4/17/2006 6:01:56 PM: ParseXML is tranfering XML data to a dictionary
4/17/2006 6:01:56 PM: ParseXML tranfered XML data to dictionary succefully
4/17/2006 6:01:56 PM: ParseXML will now call NotTooSoon with parameters Hydraulic
4/17/2006 6:01:56 PM: * NotTooSoon has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:56 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Hydraulic'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:56 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:56 PM: ParseXML will now call sub CheckExist with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CheckExist has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:56 PM: CheckExist will call CheckRating with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CheckRating has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:56 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Hydraulic' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:56 PM: * CheckRating will return False and exit
4/17/2006 6:01:56 PM: Rating Control for artist Hydraulic failed. CheckExist will return 0 and exit
4/17/2006 6:01:56 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:56 PM: ParseXML will now call NotTooSoon with parameters Online
4/17/2006 6:01:56 PM: * NotTooSoon has started with parameters Online
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Online
4/17/2006 6:01:56 PM: * CorrectSt will return Online and exit
4/17/2006 6:01:56 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Online'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:56 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:56 PM: ParseXML will now call sub CheckExist with parameters Online, 0, 1
4/17/2006 6:01:56 PM: * CheckExist has started with parameters Online, 0, 1
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Online
4/17/2006 6:01:56 PM: * CorrectSt will return Online and exit
4/17/2006 6:01:56 PM: CheckExist will call CheckRating with parameters Online, 0, 1
4/17/2006 6:01:56 PM: * CheckRating has started with parameters Online, 0, 1
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Online
4/17/2006 6:01:56 PM: * CorrectSt will return Online and exit
4/17/2006 6:01:56 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Online' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:56 PM: * CheckRating will return False and exit
4/17/2006 6:01:56 PM: Rating Control for artist Online failed. CheckExist will return 0 and exit
4/17/2006 6:01:56 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:56 PM: ParseXML will now call NotTooSoon with parameters Hydraulic
4/17/2006 6:01:56 PM: * NotTooSoon has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:56 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Hydraulic'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:56 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:56 PM: ParseXML will now call sub CheckExist with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CheckExist has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:56 PM: CheckExist will call CheckRating with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CheckRating has started with parameters Hydraulic, 0, 1
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Hydraulic
4/17/2006 6:01:56 PM: * CorrectSt will return Hydraulic and exit
4/17/2006 6:01:56 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Hydraulic' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:56 PM: * CheckRating will return False and exit
4/17/2006 6:01:56 PM: Rating Control for artist Hydraulic failed. CheckExist will return 0 and exit
4/17/2006 6:01:56 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:56 PM: ParseXML will now call NotTooSoon with parameters Online
4/17/2006 6:01:56 PM: * NotTooSoon has started with parameters Online
4/17/2006 6:01:56 PM: * CorrectSt has started with parameters Online
4/17/2006 6:01:56 PM: * CorrectSt will return Online and exit
4/17/2006 6:01:56 PM: NotTooSoon will query database with SQL: SELECT Songs.IDArtist, Played.PlayDate FROM (Songs INNER JOIN Played ON Songs.ID = Played.IdSong) INNER JOIN Artists ON Songs.IDArtist = Artists.ID WHERE Artists.Artist Like 'Online'  ORDER BY Played.PlayDate DESC
4/17/2006 6:01:57 PM: * NotTooSoon will retunn True and exit
4/17/2006 6:01:57 PM: ParseXML will now call sub CheckExist with parameters Online, 0, 1
4/17/2006 6:01:57 PM: * CheckExist has started with parameters Online, 0, 1
4/17/2006 6:01:57 PM: * CorrectSt has started with parameters Online
4/17/2006 6:01:57 PM: * CorrectSt will return Online and exit
4/17/2006 6:01:57 PM: CheckExist will call CheckRating with parameters Online, 0, 1
4/17/2006 6:01:57 PM: * CheckRating has started with parameters Online, 0, 1
4/17/2006 6:01:57 PM: * CorrectSt has started with parameters Online
4/17/2006 6:01:57 PM: * CorrectSt will return Online and exit
4/17/2006 6:01:57 PM: CheckRating will query database with SQL: SELECT TOP 1 Artists.ID FROM Artists Left Join Songs On Artists.ID = Songs.IDArtist WHERE Artists.Artist like 'Online' And (Songs.Rating >=50 OR SONGS.RATING = -1) ORDER BY Songs.Rating DESC
4/17/2006 6:01:57 PM: * CheckRating will return False and exit
4/17/2006 6:01:57 PM: Rating Control for artist Online failed. CheckExist will return 0 and exit
4/17/2006 6:01:57 PM: CheckExist returned 0 to ParseXML
4/17/2006 6:01:57 PM: ** ParseXML tried too many times (3). It will return E2 code and exit
4/17/2006 6:01:57 PM: * ParseXML exited
4/17/2006 6:01:57 PM: ParseXML returned E2 to LastArtist. Procceding to error evaluation
4/17/2006 6:01:57 PM: * PlayDefTrack has started
4/17/2006 6:01:57 PM: PlayDefTrack will use Favorites - Not Heard Recently (1 hr) playlist which contains a total of 18 tracks
4/17/2006 6:01:57 PM: PlayDefTrack initialized checking for accessible files
4/17/2006 6:01:57 PM: * IsAccessible has started for song (42821) David Newman - Funeral / Rebuilding Serenity
4/17/2006 6:01:57 PM: * IsAccessible will return True and exit
4/17/2006 6:01:58 PM: ** PlayDefTrack: track (42941) Drift - Interlude #4 was accessible and was added in the playing que
4/17/2006 6:01:58 PM: * PlayDefTrack will return TRUE and exit
4/17/2006 6:01:58 PM: ** PlayDefTrack couldn't locate an accessible track from the default playlist
4/17/2006 6:01:58 PM: * PlayDefTrack will return FALSE and exit
4/17/2006 6:01:58 PM: Error evaluated by LastArtist. PlayDefTrack was called succesfully
4/17/2006 6:01:58 PM: ** Scrobbler reported to user: Scrobbler DJ: Artist located on last.fm but either none of its related artists were found in your library or your settings are too tight :-( .... A track from the default playlist was added
4/17/2006 6:01:58 PM: * LastArtist exited
4/17/2006 6:02:04 PM: * ProgTimer Unregistered by itself (also unregistered all events...