ScrobblerDJ v1.26, Let your music free!!!

Download and get help for different MediaMonkey for Windows 4 Addons.

Moderators: Peke, Gurus

Nice Guest

Continued problem

Post by Nice Guest »

First thanks to everyone's hard work.

I have tried over the last several months to get SDJ working without any luck. Over this time I have been able to fix some of the errors that others were getting, but I have yet to get SDJ completely working.

I always get the following error:
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

I have MM version 2.5.5.996, SDJ 1.26. 20,000 songs.

I do not have any other scripts. Shuffle is off. Auto DJ is off. SDJ is on. My default playlist are accessible files. I do not have a firewall (though I do have a router). Internet Explorer works through MM (album info seach). I am able to get a XML file from last.fm.

Below is code from the error report. I have all of the returned bands in my library. Your answer is appreciated.

Code: Select all


6/18/2007 4:19:12 AM: ---------------------------------------------------------------------------------------
6/18/2007 4:19:12 AM: User options are:
6/18/2007 4:19:12 AM: Default playlist: Accessible Tracks
6/18/2007 4:19:12 AM: Timeout Settings: 50, Warn: 1
6/18/2007 4:19:12 AM: Dont play same artist: 300
6/18/2007 4:19:12 AM: Minimun match: 10
6/18/2007 4:19:12 AM: Minimum Rating: 0
6/18/2007 4:19:12 AM: Include Higher Rating: True
6/18/2007 4:19:12 AM: Include Unknown Rating: False
6/18/2007 4:19:12 AM: Locale: 1033
6/18/2007 4:19:12 AM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
6/18/2007 4:19:12 AM: * ScrobblerDJ started
6/18/2007 4:19:12 AM: ** All conditions met, Scrobbler will now go online
6/18/2007 4:19:12 AM: * Initialization started
6/18/2007 4:19:12 AM: * Initialization finished
6/18/2007 4:19:13 AM: ScrobblerDJ will register Progtimer
6/18/2007 4:19:13 AM: ** Feed Artist is Nine Inch Nails
6/18/2007 4:19:13 AM: * LoadXML started. Parameters passed: Nine Inch Nails ,1
6/18/2007 4:19:13 AM: * URLEncode has started with parameters Nine Inch Nails
6/18/2007 4:19:13 AM: * URLEncode will return Nine+Inch+Nails and exit
6/18/2007 4:19:13 AM: LoadXML will register DownTimer
6/18/2007 4:19:13 AM: LoadXML set Mode to 1 (artist)
6/18/2007 4:19:13 AM: * LoadXML exited
6/18/2007 4:19:13 AM: * ScrobblerDJ exited
6/18/2007 4:19:14 AM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
6/18/2007 4:19:14 AM: ** Downtime is calling sub last artist in mode: 1
6/18/2007 4:19:14 AM: * LastArtist started. Mode was 1
6/18/2007 4:19:14 AM: LastArtist is calling ParseXML with parameters Nine Inch Nails, 1
6/18/2007 4:19:14 AM: * ParseXML has started with parameters Nine Inch Nails, 1
6/18/2007 4:19:14 AM: ParseXML is tranfering XML data to a dictionary
6/18/2007 4:19:14 AM: ParseXML tranfered XML data to dictionary succefully
6/18/2007 4:19:14 AM: ParseXML will now call NotTooSoon with parameters Machines of Loving Grace
6/18/2007 4:19:14 AM: * NotTooSoon has started with parameters Machines of Loving Grace
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Machines of Loving Grace
6/18/2007 4:19:14 AM: * CorrectSt will return Machines of Loving Grace and exit
6/18/2007 4:19:14 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 'Machines of Loving Grace'  ORDER BY Played.PlayDate DESC
6/18/2007 4:19:14 AM: * NotTooSoon will retunn True and exit
6/18/2007 4:19:14 AM: ParseXML will now call sub CheckExist with parameters Machines of Loving Grace, 0, 1
6/18/2007 4:19:14 AM: * CheckExist has started with parameters Machines of Loving Grace, 0, 1
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Machines of Loving Grace
6/18/2007 4:19:14 AM: * CorrectSt will return Machines of Loving Grace and exit
6/18/2007 4:19:14 AM: CheckExist will call CheckRating with parameters Machines of Loving Grace, 0, 1
6/18/2007 4:19:14 AM: * CheckRating has started with parameters Machines of Loving Grace, 0, 1
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Machines of Loving Grace
6/18/2007 4:19:14 AM: * CorrectSt will return Machines of Loving Grace and exit
6/18/2007 4:19:14 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 'Machines of Loving Grace' And (Songs.Rating >=0) ORDER BY Songs.Rating DESC
6/18/2007 4:19:14 AM: * CheckRating will return False and exit
6/18/2007 4:19:14 AM: Rating Control for artist Machines of Loving Grace failed. CheckExist will return 0 and exit
6/18/2007 4:19:14 AM: CheckExist returned 0 to ParseXML
6/18/2007 4:19:14 AM: ParseXML will now call NotTooSoon with parameters Everclear
6/18/2007 4:19:14 AM: * NotTooSoon has started with parameters Everclear
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Everclear
6/18/2007 4:19:14 AM: * CorrectSt will return Everclear and exit
6/18/2007 4:19:14 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 'Everclear'  ORDER BY Played.PlayDate DESC
6/18/2007 4:19:14 AM: * NotTooSoon will retunn True and exit
6/18/2007 4:19:14 AM: ParseXML will now call sub CheckExist with parameters Everclear, 0, 1
6/18/2007 4:19:14 AM: * CheckExist has started with parameters Everclear, 0, 1
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Everclear
6/18/2007 4:19:14 AM: * CorrectSt will return Everclear and exit
6/18/2007 4:19:14 AM: CheckExist will call CheckRating with parameters Everclear, 0, 1
6/18/2007 4:19:14 AM: * CheckRating has started with parameters Everclear, 0, 1
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Everclear
6/18/2007 4:19:14 AM: * CorrectSt will return Everclear and exit
6/18/2007 4:19:14 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 'Everclear' And (Songs.Rating >=0) ORDER BY Songs.Rating DESC
6/18/2007 4:19:14 AM: * CheckRating will return False and exit
6/18/2007 4:19:14 AM: Rating Control for artist Everclear failed. CheckExist will return 0 and exit
6/18/2007 4:19:14 AM: CheckExist returned 0 to ParseXML
6/18/2007 4:19:14 AM: ParseXML will now call NotTooSoon with parameters My Life With the Thrill Kill Kult
6/18/2007 4:19:14 AM: * NotTooSoon has started with parameters My Life With the Thrill Kill Kult
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters My Life With the Thrill Kill Kult
6/18/2007 4:19:14 AM: * CorrectSt will return My Life With the Thrill Kill Kult and exit
6/18/2007 4:19:14 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 'My Life With the Thrill Kill Kult'  ORDER BY Played.PlayDate DESC
6/18/2007 4:19:14 AM: * NotTooSoon will retunn True and exit
6/18/2007 4:19:14 AM: ParseXML will now call sub CheckExist with parameters My Life With the Thrill Kill Kult, 0, 1
6/18/2007 4:19:14 AM: * CheckExist has started with parameters My Life With the Thrill Kill Kult, 0, 1
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters My Life With the Thrill Kill Kult
6/18/2007 4:19:14 AM: * CorrectSt will return My Life With the Thrill Kill Kult and exit
6/18/2007 4:19:14 AM: CheckExist will call CheckRating with parameters My Life With the Thrill Kill Kult, 0, 1
6/18/2007 4:19:14 AM: * CheckRating has started with parameters My Life With the Thrill Kill Kult, 0, 1
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters My Life With the Thrill Kill Kult
6/18/2007 4:19:14 AM: * CorrectSt will return My Life With the Thrill Kill Kult and exit
6/18/2007 4:19:14 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 'My Life With the Thrill Kill Kult' And (Songs.Rating >=0) ORDER BY Songs.Rating DESC
6/18/2007 4:19:14 AM: * CheckRating will return False and exit
6/18/2007 4:19:14 AM: Rating Control for artist My Life With the Thrill Kill Kult failed. CheckExist will return 0 and exit
6/18/2007 4:19:14 AM: CheckExist returned 0 to ParseXML
6/18/2007 4:19:14 AM: ParseXML will now call NotTooSoon with parameters Muse
6/18/2007 4:19:14 AM: * NotTooSoon has started with parameters Muse
6/18/2007 4:19:14 AM: * CorrectSt has started with parameters Muse
6/18/2007 4:19:14 AM: * CorrectSt will return Muse and exit
6/18/2007 4:19:14 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 'Muse'  ORDER BY Played.PlayDate DESC
6/18/2007 4:19:14 AM: * NotTooSoon will retunn True and exit
psyXonova
Posts: 785
Joined: Fri May 20, 2005 3:57 am
Location: Nicosia, Cyprus
Contact:

Post by psyXonova »

Your problem is obvious from the log file. You have "Include tracks with unknown rating" set to false. That basically means SDj will never play tracks you haven't rated. So, enabling that option will solve your problem.
Clor
Posts: 2
Joined: Thu Jun 28, 2007 2:18 am

Post by Clor »

Wow, this is an awesome addition to an already awesome piece of software. I have quite of lot of stuff I've never listened to - or that I listened a long time ago - that now gets to the surface :D
Thanks very very much! :D
Diabolic-Destiny
Posts: 223
Joined: Sun Apr 29, 2007 9:45 pm

Post by Diabolic-Destiny »

i started getting some random error

Code: Select all

6/30/2007 6:43:53 PM: ---------------------------------------------------------------------------------------
6/30/2007 6:43:53 PM: User options are:
6/30/2007 6:43:53 PM: Default playlist: Accessible Tracks
6/30/2007 6:43:53 PM: Timeout Settings: 50, Warn: 0
6/30/2007 6:43:53 PM: Dont play same artist: 5
6/30/2007 6:43:53 PM: Minimun match: 15
6/30/2007 6:43:53 PM: Minimum Rating: 0
6/30/2007 6:43:53 PM: Include Higher Rating: False
6/30/2007 6:43:53 PM: Include Unknown Rating: True
6/30/2007 6:43:53 PM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
6/30/2007 6:43:53 PM: * ScrobblerDJ started
6/30/2007 6:43:53 PM: ** All conditions met, Scrobbler will now go online
6/30/2007 6:43:53 PM: * Initialization started
6/30/2007 6:43:53 PM: * Initialization finished
6/30/2007 6:43:55 PM: ScrobblerDJ will register Progtimer
6/30/2007 6:43:55 PM: ** Feed Artist is Gridlock
6/30/2007 6:43:55 PM: * LoadXML started. Parameters passed: Gridlock ,1
6/30/2007 6:43:55 PM: * URLEncode has started with parameters Gridlock
6/30/2007 6:43:55 PM: * URLEncode will return Gridlock and exit
6/30/2007 6:43:55 PM: LoadXML will register DownTimer
6/30/2007 6:43:55 PM: LoadXML set Mode to 1 (artist)
6/30/2007 6:43:55 PM: * LoadXML exited
6/30/2007 6:43:55 PM: * ScrobblerDJ exited
6/30/2007 6:44:20 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:20 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:21 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:21 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:22 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:22 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:23 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:23 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:24 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:24 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:25 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:25 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:26 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:26 PM: * Downtimer reported Network connectivity error. Scrobbler will now exit
6/30/2007 6:44:27 PM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
6/30/2007 6:44:27 PM: ** Downtime is calling sub last artist in mode: 1
6/30/2007 6:44:27 PM: * LastArtist started. Mode was 1
6/30/2007 6:44:27 PM: LastArtist is calling ParseXML with parameters Gridlock, 1
6/30/2007 6:44:27 PM: * ParseXML has started with parameters Gridlock, 1
6/30/2007 6:44:27 PM: ParseXML is tranfering XML data to a dictionary
6/30/2007 6:44:27 PM: ParseXML tranfered XML data to dictionary succefully
6/30/2007 6:44:27 PM: ** ParseXML detected an empty dictionary. ParseXML will return E1 and exit
6/30/2007 6:44:27 PM: ParseXML returned E1 to LastArtist. Procceding to error evaluation
6/30/2007 6:44:27 PM: * PlayDefTrack has started
6/30/2007 6:44:28 PM: PlayDefTrack will use Accessible Tracks playlist which contains a total of 5160 tracks
6/30/2007 6:44:28 PM: PlayDefTrack initialized checking for accessible files
It seems it cannot connect to Last.Fm however i can access the site and scrobbler works fine
Image
Image
jomtones
Posts: 145
Joined: Mon Jul 02, 2007 5:06 pm
Location: London, UK

Post by jomtones »

This is cool! any way you can make it add an option for multiple suggestions? like how auto-DJ can add 10 tracks ahead... this is nice so you can review what's coming up and get rid of anything you don't fancy.

nice one!
emalvick
Posts: 265
Joined: Tue May 15, 2007 9:44 am

Post by emalvick »

Here's a question that I am not sure could be done on my own or by anyone...

I've got an artist tagging scheme that limits the usefulness of this script, which I really like, and I am hoping there might be some suggestions for how I could tweak the script (if possible)...

When I tag artists, I typically tag them in the form:

"Last, First" or "Group, The" and a couple of other variants. This is a scheme I've used for years predating smarter media programs and as a result of having a mother that was a librarian. I don't want to change my organization, but this format makes this script fail to provide a track 70% of the time (the other 30% being for my artists that don't have "the" or a proper name (e.g. Pink Floyd, Radiohead, Led Zeppelin).

I never thought about it until I noticed that it was Scrobbling to the same artists because the program was stating the other artists didn't exist in my library.

What I'd like is for a way to create a function that takes the artist returned from Last.fm and tries a few permutations of a potential name if the Last.fm name doesn't turn up in the library. i.e. if "Artist Name" isn't there try "Name, Artist" instead.

I am hoping something like a function might be added because it could be more portable for other scripts that have similar limitations (e.g. Monkey Rok).

This script seems to handle feeding the artists into Last.fm as artists in that format seem to return valid similar artists when I look at the log.

Anyway, any help or suggestions would be appreciated...

Thank you,

Erik
Diabolic-Destiny
Posts: 223
Joined: Sun Apr 29, 2007 9:45 pm

Post by Diabolic-Destiny »

is this compatible with MM3?
Image
Image
Scimbris
Posts: 19
Joined: Sun Jun 17, 2007 9:29 am

Post by Scimbris »

When I open up Mediamonkey, the shortcut button says "ScrobblerDJButton." After I click on it, it shows the little monkey icon, meaning it's on. When I click on it again, it shows the monkey with the x through it and I can't get the words back until I start Mediamonkey again. It works perfectly, the button thing is just a little annoying.
Image
Todd2

Post by Todd2 »

I like this script a lot. The only small problem I am having is that mediamonkey will freeze while it's getting the information from last.fm.
Billy

Post by Billy »

I have the same problem as, Scimbris, a few posts above. Every now and then after exiting media monkey for a while, the on/off button for ScrobblerDJ in the tool bar is replaced with text until you click it, where then it is replaced with the normal icons for the button as it does when you very first install the script.

I also notice when this happens the default values in the ScrobblerDJ settings reset themselves, except for the playlist choice, so I must change them back to what I prefer. It almost acts as tho I re-installed the script.

I suspect it may be related to Monkeyrok in some way, since both are accessing last.fm data simultaneously, perhaps? (in my case at least)
Ive seen Monkeyrok have some sort of error involving the ActiveX, and after the restart of MM some while later, ScrobblerDJ resets itself.

This has happened only twice, seemingly at random in the past week of me using this script nearly non-stop. Does not occur on nearly every exit of MM, or even when the power blinked out and rebooted my computer!

Everything else works perfect and I love the script!
Vyper
Posts: 845
Joined: Tue May 23, 2006 5:53 pm

Post by Vyper »

Scimbris wrote:When I open up Mediamonkey, the shortcut button says "ScrobblerDJButton." After I click on it, it shows the little monkey icon, meaning it's on. When I click on it again, it shows the monkey with the x through it and I can't get the words back until I start Mediamonkey again. It works perfectly, the button thing is just a little annoying.
Billy wrote:I have the same problem as, Scimbris, a few posts above. Every now and then after exiting media monkey for a while, the on/off button for ScrobblerDJ in the tool bar is replaced with text until you click it, where then it is replaced with the normal icons for the button as it does when you very first install the script.
I reported this problem back in May:
Vyper wrote: ... when I first start MM the Scrobbler On/Off button isn't showing, it says 'ScrobblerDJButton', or something like that. If I click that, the buttons show up and work properly.


What would be causing this?
Not sure why this hasn't been answered yet ..... :-?
Stop Button Freak
Vyper
Posts: 845
Joined: Tue May 23, 2006 5:53 pm

Post by Vyper »

Lol ..... I never take these things personally. :D
Stop Button Freak
trixmoto
Posts: 10024
Joined: Fri Aug 26, 2005 3:28 am
Location: Hull, UK
Contact:

Post by trixmoto »

I think it's not been answered because no one has an answer. I certainly cannot replicate this behaviour, nor can suggest why it would not work as the code looks correct (and in fact I copied it when I did my first toolbar button so many of my scripts use the same code now).
Download my scripts at my own MediaMonkey fansite.
All the code for my website and scripts is safely backed up immediately and for free using Dropbox.
Vyper
Posts: 845
Joined: Tue May 23, 2006 5:53 pm

Post by Vyper »

As I said earlier:
Vyper wrote:On my earlier problem with the button not showing up when I load - discovered that if I close MM from a previous session with Scrobbler on, everything works fine next time I fire up MM. But if I've closed it with Scrobbler off, then the button problem shows up.

At any rate, it's not a big deal. :D
Stop Button Freak
Scimbris
Posts: 19
Joined: Sun Jun 17, 2007 9:29 am

Post by Scimbris »

To Vyper and anyone else having the same problem as me (ScrobblerDJButton instead of icon):

You can fix this by adding the following line
ScrobblerDJButton.IconIndex = SDB.IniFile.IntValue("ScrobblerDJ","OffIconIndex")
between lines 25 and 26 of ScrobblerDJConfig.vbs, so it looks like this:

25 ScrobblerDJButton.Hint = "Fills Now playing with recomendations from Last.FM"
26 ScrobblerDJButton.IconIndex = SDB.IniFile.IntValue("ScrobblerDJ","OffIconIndex")
27 If SDB.IniFile.BoolValue("ScrobblerDJ","Enabled") Then

It's not a very good fix, but it works.
I know very little about scripting for MediaMonkey, but I do know that for some reason, SDB.IniFile.BoolValue("ScrobblerDJ","Disabled") is returning false. Therefore, FirstStart() is being executed every time you start MM.

One of you smart people may correct me if I'm wrong, but that's what it seems from my limited VBScript knowledge.
Image
Locked