grab it HERE
1.10c - 20070928
* added . to allowed chars in fixurl allowing for correct data retrieval from last.fm
' * toptracks ordered now really returns the top tracks
' * fixed SortPlaylist error
New Version 1.09
* Fixed Shuffle button
New Versoin 1.08
* now shows hides buttons w/o restarting MM
* added option to try not to use albums with certain keywords
* added option to choose which buttons to show
NEW VERSION 1.06
Uses the improved fixurl by Trixmoto and now should be able to handle any artist.
When multiple artists are selected if you use the option ordered it will only return the top songs of the first artist selected since it is in order, but if you use the shuffle option it will return a mix of the songs of the selected artists.
If anyone needs i can change the options and make it return the top X from each artist.
icon 1: ICON 1 icon 2: ICON 2
This script performs a similar function as scrobblerDJ, however instead of auto-enqueueing like auto-dj when the last track of nowplaying is reached, this script currently only on user demand when the toolbar button is pressed.
The idea for this script was, that I wanted a quick and easy way to 'play more from selected/current artist' instead of having to manually navigate to the desired artist and pick some tracks by hand. You can either have top tracks enqueued as returned by last.fm, or have the script shuffle the returned list then enqueue your selected number of tracks.
How it works:
When activated, the script checks the user track selection. If no track, or more than one track is selected, the script uses the currently playing track's artist.
If a single track is selected, then that track's artist will be selected.
The script then requests an xml toptracks feed for the artist from last.fm and tries to match up the returned tracks to tracks in your local library.
The matched tracks are then either shuffled if enabled, or played in order of popularity from last.fm, at this point using the entire matched list up to the max of the xml feed or however many were matched up against your library, whichever is lower. (ie last.fm returned 70, but you only had 40 matches, the list is 40... or if last.fm returned 40, but you have more than 40 tracks in your library, the list is still 40)
After being shuffled, if enabled, the script then builds a final queue list to the max set in the script option, or whatever the total tracks matched, whichever is less. (ie the matched list is 40, but the max enqueue tracks is 5, then the top 5 popular or the top 5 after being shuffled will be enqueued).
' UPDATED: March 28, 2007
' LATEST CHANGES:
New version 1.03: HERE!
icon 1: ICON 1 icon 2: ICON 2
This release also include two icons that need to be in the same folder as the script (auto folder). If you don't copy them then u'll get two identical icons in the toolbar.
* Added option panel for comfort setup
* Added another button to toolbar for easy selection between shuffle and normal
* Added status bar
* started working on future auto enqueue
* Added two custom icons
' * function URLEncode() added to better handle artist names for last.fm
' * Some logging changes/tweaks
' * separated logging and debug, this allows you to continue to log even if
' debug pop up's are disabled
' * Removed max counts from get top tracks, and match top tracks functions.
' This allows the full set of last.fm tracks to be added, queried, matched to
' the library instead of being limited to the max tracks.
' * added a final "EnqueueTracks" loop to create the final list of tracks with
' the max of MaxTracks.
' This allows this the shuffle function to generate a wider variety
' (based on the larger last.fm list) while still being able to restrict the
' final result to a smaller subset.
' It's working very well for me thus far.
I'd like very much to thank RedX for his help, and Trixmoto for initial query info. I also want to thank psyXonova for his permission to use some bits of code from scrobblerdj!
I consider this to be basically functionally complete, however there are still a few things on the TODO list I may address in the future.
When copying this script, be careful not to let forum wordwrap mangle the query string.
Code: Select all
Set QueryMatch = SDB.Database.QuerySongs ("AND (Artists.Artist LIKE '"&CorrectSt(Artist) & "' AND( Songs.songtitle LIKE '"& CorrectSt(TopTracksList.item(j)) & "'))")
Code: Select all
I was thinking recently that it would be cool if you could hit a toolbar button to look up the current artist and enqueue the top ### (user configurable) of tracks based upon the artists top tracks charts.
I had planned to work on this myself, but I simply haven't had the time to research the details and implement something, and well I thought it was a good enough idea that someone might take up the challenge.
- configurable number of tracks to enqueue
- choose from last week chart or last 6 months chart
- choose play tracks in popularity order, or randomize the list after retrieving the specified number of top tracks
- choose to always equeue next, enqueue last, or use follow default enqueue as specified in the MM options