Last.FM Node: dynamic node based on last.fm 2020.04.19 [MM3][MM4]

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

Moderators: Peke, Gurus

extrabigmehdi
Posts: 7
Joined: Fri Jun 18, 2010 4:59 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by extrabigmehdi »

if there no related tracks found, then similar artists are checked for, then a random similar artist is picked and a random top track from the similar artist is picked.
I think you've read what I've said too fast. The problem is when the last.fm node script can't find any similar artist, with the help of last.fm statistics.
However , there's still other artist for the same genre in library.

Example: you play a track from "psyclon nine". Let's say that in the looooong list of similar artists (hey, 25 pages at last.fm) , the script doesn't manage to find a single similar artist in your library (well, because I just don't collect much of that kind of music). So, then if the script look to the top tag associated to artist i.e "industrial", there's much more trivial choices that appears on the top artists like NIN , or Marylin Manson (and much bigger probability to find them on library).
I hope it's clear.
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by Teknojnky »

yup its clear, I decided to do as it is and I posted, because it takes time to do all these searches and if I try to do too many different searchs, the song can end before anything ever gets queued, which is the opposite of what anyone wants.

If I ever get around to updating the script, perhaps I may add to refine the 'last ditch effort' search, but I haven't updated it in almost a year, and I doubt I have much time to do so in the near future.

anyway, the script works awesomely for me, but it all depends on how large your library is and how you set the restrictions in the options. If your running into the last ditch random too often, try lowering the artist repeat to something like 3 or 4 hours.

I keep my artist repeat around 6 hours, and track repeat around 20 days +/- 10 depending on my mood.

small libraries can quickly run out of similar tracks/artists to play while large libraries can play all day in the same genre without changing.
extrabigmehdi
Posts: 7
Joined: Fri Jun 18, 2010 4:59 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by extrabigmehdi »

Well, my library is not small at all. But some "very specific" genres like "aggrotech" , are not well represented in my library. Hence the search by similar artist can be inefficient (a ton of artists for that specific genre). Making the search for a more general genre, will obviously increase the probability to find something.
I doubt I have much time to do so in the near future.
Too bad..
pkw115
Posts: 101
Joined: Fri Jan 16, 2009 12:10 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by pkw115 »

Teknojnky, I have been having an issue with the LastFM Auto DJ which I recently returned to after not using it for a while. It reports that it cannot find the artists at LastFM that it should and always resorts to the back up playlist to enque the next track. It was not able to find Louis Armstrong, Martina McBride, U2, Shania Twain, the Beatles each of which exist at LastFM. Is there a known problem with LastFm and the auto dj portion of the script or perhpas I have a setting incorrectly set somewhere?
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by Teknojnky »

is your library un-rated?

check the min rating number in the last.fm node options, -1 for all unrated/rated tracks.

else, enable the log and check for any obvious errors/problems (scripts/auto/lastfmnode.vbs.log)
pkw115
Posts: 101
Joined: Fri Jan 16, 2009 12:10 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by pkw115 »

Teknojnky, thanks for the quick reply.

No, all my tracks are rated

I had the min rating number at 1 and changed it to -1, with no change.

I had enalbed the log and what is says is that the artists are no found at the LastFM site so then the script uses the fall back playlist. Here is the log from the last attempt using U2 as the seed artist:

Code: Select all

* ------- GenerateNewTrack Started --------- *
7/10/2010 12:35:56 PM: User options are:
7/10/2010 12:35:56 PM: Default playlist: Favorites - Top 50
7/10/2010 12:35:56 PM: Timeout Settings: 30, Warn: 1
7/10/2010 12:35:56 PM: Dont play same artist: 60
7/10/2010 12:35:56 PM: Minimum match: 80
7/10/2010 12:35:56 PM: Rating Condition: >=
7/10/2010 12:35:56 PM: Minimum Rating: 0
7/10/2010 12:35:56 PM: Include Unknown Rating: False
7/10/2010 12:35:56 PM: <<<<<<<<<<<<<< Script Will now Proceed >>>>>>>>>>>>>>>>>
7/10/2010 12:35:56 PM: * Last.fm DJ started
7/10/2010 12:35:56 PM: ---------------------------------------------------------------------------------------
7/10/2010 12:35:56 PM: ** All conditions met, Last.fm DJ will now go online
7/10/2010 12:35:56 PM: * Initialization started
7/10/2010 12:35:56 PM: * Initialization finished
7/10/2010 12:36:06 PM: Unregistering leftover timers
7/10/2010 12:36:06 PM: Last.fm DJ will register Progtimer
7/10/2010 12:36:06 PM: ** Feed Artist is U2
7/10/2010 12:36:06 PM: * LoadXML started. Parameters passed: U2 ,1
7/10/2010 12:36:06 PM: * URLEncode has started with parameters U2
7/10/2010 12:36:06 PM: * URLEncode will return  and exit
7/10/2010 12:36:06 PM: LoadXML will register DownTimer
7/10/2010 12:36:06 PM: LoadXML set Mode to 1 (artist)
7/10/2010 12:36:06 PM: * LoadXML URL: http://ws.audioscrobbler.com/1.0/artist/U2/similar.xml
7/10/2010 12:36:06 PM: * LoadXML exited
7/10/2010 12:36:06 PM: ---------------------------------------------------------------------------------------
7/10/2010 12:36:07 PM: * DownTimer Unregistered by itself (results from Last.FM returned succesfully)
7/10/2010 12:36:07 PM: ** Downtimer is calling sub last artist in mode: 1
7/10/2010 12:36:07 PM: * LastArtist started. Mode was 1
7/10/2010 12:36:07 PM: LastArtist is calling ParseXML with parameters U2, 1
7/10/2010 12:36:07 PM: * ParseXML has started with parameters U2, 1
7/10/2010 12:36:07 PM: ParseXML is tranfering XML data to a dictionary
7/10/2010 12:36:07 PM: ParseXML tranfered XML data to dictionary succefully
7/10/2010 12:36:07 PM: ** ParseXML detected an empty dictionary. ParseXML will return E1 and exit
7/10/2010 12:36:07 PM: ParseXML returned E1 to LastArtist. Procceding to error evaluation
7/10/2010 12:36:07 PM: * PlayDefTrack has started
7/10/2010 12:36:20 PM: PlayDefTrack will use Favorites - Top 50 playlist which contains a total of 50 tracks
7/10/2010 12:36:20 PM: PlayDefTrack initialized checking for accessible files
7/10/2010 12:36:23 PM: ** PlayDefTrack: track (41038) Sara Evans - As If [#] was accessible and was added in the playing que
7/10/2010 12:36:24 PM: * AddTrack has started for track 41038
7/10/2010 12:36:24 PM: * AddTrack added track to playlist and will exit
7/10/2010 12:36:24 PM: * PlayDefTrack will return TRUE and exit
7/10/2010 12:36:24 PM: ** PlayDefTrack couldn't locate an accessible track from the default playlist
7/10/2010 12:36:24 PM: * PlayDefTrack will return FALSE and exit
7/10/2010 12:36:24 PM: Error evaluated by LastArtist. PlayDefTrack was called succesfully
7/10/2010 12:36:24 PM: ** reported to user: Last.fm DJ could not locate artist on Last.fm. Adding a track from the backup Playlist.
7/10/2010 12:36:24 PM: * LastArtist exited
7/10/2010 12:36:24 PM: * Last.fm DJ exited
7/10/2010 12:36:24 PM: * ------- GenerateNewTrack found track --------- *
7/10/2010 12:36:24 PM: Added Track:41038, Sara Evans - As If [#]
7/10/2010 12:36:29 PM: * ProgTimer Unregistered by itself
7/10/2010 12:36:29 PM: * ProgTimer Unregistered DownTimer
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by Teknojnky »

that looks like scrobbler dj, not last.fm node dj. Are you using mediamonkey 2 or 3?

I can't tell why its failing.

You should try last.fm node if your using MM 3, the last.fm node dj functions like scrobbler dj (but better, imho) for MM 3.
pkw115
Posts: 101
Joined: Fri Jan 16, 2009 12:10 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by pkw115 »

The log file is from Last_FMDJ.vbs in the Scripts\Auto folder, I take it that is not Last.FM Nodes log file, but perhaps Scrobbler dj?

I thought I was using LastFM Node as I have it installed. I selected Last FM DJ out of Player\Auto-DJ/Now Playing. I take it that is really Scrobbler DJ?

I see now that the Last FM DJ script from the LastFM Node is activated out of the tool bar icon or Library\Last FM Node. I have now turned it on and it works fine.

Thanks for helping me sort it out and sorry for the false report about this script not working :oops:

For future refernence this script's log file is at Scripts\Auto LastFM Node.vbs right?
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by Teknojnky »

actually I realize what it is is, the the autodj version of scrobbler dj, that you enable via the tools > options > player > auto-dj

I think peke or one of the other scripters converted the scrobblerdj script to the auto-dj script. I think its trying to find tracks from the 'favorites top 50' instead of using your entire library, you need to adjust the option.

the last.fm node dj is separate, and while it provides the same functionality as the auto-dj, its not the same.

the log is @ scripts\auto\lastfmnode.vbs.log and the script file is lastfmnode.vbs

you may have 'hide known extentions' option in explorer
pkw115
Posts: 101
Joined: Fri Jan 16, 2009 12:10 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [MM3]

Post by pkw115 »

Well thanks. I'm going to use yours and remove the Scrobbler DJ entries and files since I am running 3.2.1.1297 and I do not think scrobbler dj works on this version. I got confused because it uses the same name in the Auto Script dialouge that your script uses. Thanks again for the help.
blazer

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [

Post by blazer »

Thanks a lot for providing Last.fm Node. I find it quite useful. One feature request: I'd like to be able to use the criteria "Songs with at least two stars OR unrated songs". Much of my library is unrated, and I don't want to have to hear the low-rated songs just to be able to get at the unrated. I patched the script locally to always include songs whose rating is -1, but that doesn't let the user choose, and won't survive updates.

Thanks

My simple patch:

diff -c c\:/Program\ Files\ \(x86\)/MediaMonkey/Scripts/Auto/LastFmNode.vbs c\:/Program\ Files\ \(x86\)/MediaMonkey/Scripts/Auto/LastFmNode.vbs.orig
*** c:/Program Files (x86)/MediaMonkey/Scripts/Auto/LastFmNode.vbs Thu Aug 12 17:40:14 2010
--- c:/Program Files (x86)/MediaMonkey/Scripts/Auto/LastFmNode.vbs.orig Thu Aug 12 17:02:31 2010
***************
*** 1684,1695 ****
Function CheckMinRating(inSong)

CheckMinRating = False
! If (inSong.Rating <> -1) Then
! If inSong.Rating < SDB.IniFile.IntValue(Prefs,"DJMinRating") Then
! CheckMinRating = True
! logme " Track rating too low:> " & inSong.ArtistName & " - " &_
! inSong.Title
! End If
End If
SDB.ProcessMessages
End Function
--- 1684,1693 ----
Function CheckMinRating(inSong)

CheckMinRating = False
! If inSong.Rating < SDB.IniFile.IntValue(Prefs,"DJMinRating") Then
! CheckMinRating = True
! logme " Track rating too low:> " & inSong.ArtistName & " - " &_
! inSong.Title
End If
SDB.ProcessMessages
End Function
***************
*** 2060,2067 ****

' Thanks to Bex for the improved qrys
Qry2 = "SongTitle = '" & CorrectST(qTitle) & "' "&_
! "AND SongLength > 60*1000 AND (Rating = -1 OR Rating >= " & SDB.IniFile.IntValue(Prefs,"DJMinRating") &" "&_
! ") AND Songs.ID IN (SELECT IDSong FROM ArtistsSongs, Artists WHERE "&_
"IDArtist=Artists.ID AND PersonType=1 AND " &_
"Artist = '" & CorrectST(qArtist) & "') " & AddFilter &_
" ORDER BY " & SDB.IniFile.StringValue(Prefs,"Order1") & " " & SDB.IniFile.StringValue(Prefs,"Order2")
--- 2058,2065 ----

' Thanks to Bex for the improved qrys
Qry2 = "SongTitle = '" & CorrectST(qTitle) & "' "&_
! "AND SongLength > 60*1000 AND Rating >= " & SDB.IniFile.IntValue(Prefs,"DJMinRating") &" "&_
! "AND Songs.ID IN (SELECT IDSong FROM ArtistsSongs, Artists WHERE "&_
"IDArtist=Artists.ID AND PersonType=1 AND " &_
"Artist = '" & CorrectST(qArtist) & "') " & AddFilter &_
" ORDER BY " & SDB.IniFile.StringValue(Prefs,"Order1") & " " & SDB.IniFile.StringValue(Prefs,"Order2")

Diff finished. Thu Aug 12 18:05:37 2010
brianon
Posts: 78
Joined: Wed Dec 07, 2005 4:48 am

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [

Post by brianon »

Thanks for the wonderful script. I am returning to MM after a few years and loving it. iTunes was driving me crazy :(

Anyway, back in the day I tinkered with a few scripts and one of them was to do with last.fm. Basically say I pick Bruce Springsteen, the node gets populated with Springsteen tracks as per Last.fm. Great. Just one thing. The albums from which tracks are selected are invariably greatest hits, live albums & compilations.

Now I like my stats and rating music. But I NEVER rate a track twice. So "Born To Run" gets 4 stars on the album Born To Run but not on the Greatest Hits. I try to add a [tag] to comment sections to denote albums as [live], [comp], [hits]. I remember modding a script to not use these where possible.

So tracks with these keywords (in square brackets) in the comments were ignored UNLESS the track could not be found on an album without this [keyword-tag].

Any chance you could add support for these tags/keywords ?

Anyway, thanks for the script . Great stuff.
Image
Peke
Posts: 17446
Joined: Tue Jun 10, 2003 7:21 pm
Location: Earth
Contact:

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [

Post by Peke »

@blazer
Can you edit your last post and use

Code: Select all

 for better formatting of text?
Best regards,
Peke
MediaMonkey Team lead QA/Tech Support guru
Admin of Free MediaMonkey addon Site HappyMonkeying
Image
Image
Image
How to attach PICTURE/SCREENSHOTS to forum posts
MellowDia

Re: Last.FM Node: dynamic node based on last.fm 2009.08.17 [

Post by MellowDia »

Stupid question maybe, but is there a thing like a "Last.fm Album DJ Mode"?

I mean, a script (implication) that looks for a similar song and enqueues the corresponding album or folder and not just one song. Thanks in advance bros!
Post Reply