INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 4   Go Down

Author Topic: New Plugin: Last.Fm Auto DJ v1.2  (Read 85807 times)

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
New Plugin: Last.Fm Auto DJ v1.2
« on: July 29, 2008, 11:11:05 am »

Hi all
v1.2 released. Only a few new features - improved keeping of files and a few bug fixes. I haven't had time to implement the other things - I've only just had time to compile and upload etc. I wouldn't hold out for any new releases anytime soon as I'm very busy at the moment. However don't stop adding feature requests as I will look into them when time presents its self.

I've also added the source code if anyone wants to have a play etc

Anyway have fun with it, please read the readme and take note of the following:
You must uninstall the previous version before installing this
You must enter the correct login data on the radio tab for any kind of streaming to work.

NEW in 1.1

   Volume levelling
   
   Overview - you can enable this on the radio tab and set the volume percentages in the numeric boxes.
   The normal volume is the volume you want normal tracks to be played at.
   The stream volume is the volume you want streamed tracks to be played at.
   If you change the volume from MC when tracks are playing then this will update values - if you are streaming then this
   value will update and vice verca. Note that this won't happen within the first 3 seconds of playback.
   
   Also if the volume is set to increase then change will be delayed on track change by 1 second to allow MC's buffer to clear
   This prevents sudden loud bursts of songs if you try and skip a track etc.

NEW in 1.0:

Stream music from Last.Fm's radio. YOU MUST ENTER THE CORRECT LOGIN DETAILS FOR THIS TO WORK.
Note that your passoword is saved even though it isn't displayed in the password box once MC has been restarted.
Also, saved passwords are hashed (encrypted) so there is no chance of someone stealing it!

Two stream modes:

AutoDJ   this integrates with the standard AutoDj from previous versions allowing the current playing track to be looked up and similar tracks selected.
      The key difference is that similar tracks that aren't in your library can be streamed so you can discover new music.

Radio   Here you select a radio type (user, similar artist or tag) and click Run Radio. The plugin will connect to the Last.FM radio station and
      stream tracks from that. This will continue until you either cancel the operation or click 'stop radio'
      
Track Skipping

If you don't like the currently selected song the you can skip it, either the dj or radio will remove that song from the now playing list and
attempt to get another song from last.fm, either streamed or normal. Note there is currently no code to prevent the same song being selected so
if you are using the library dj with low variety then the chance of getting the same song is high.

Other features
Looks up the currently now playing track on lastFm and searches for similar tracks that are in the music library.
Based on the track list returned, this is cross referenced with the MC database and then recently played tracks are removed.
The tracks are weighted according to the match given to them by Last.Fm and track is selected. Tracks by artists who have recently been played
can be weighted negatively, preventing them being selected unless there are no other tracks.
A track will be added to the Now Playing list that is hopefully similar to the last track played.
This operates on the last track on the now playing list, hence instead of looping or stopping, a new track will be added.

The plugin comes with it's own interface pane.

The file downloads from Last.Fm occur asynchronously so there is minimal freezing for MC. The operation can also be cancelled at any time.
If no similar tracks are found then a MC query can be executed, the default one is "[Number Plays]=0 ~n=200" which gets
un-played tracks for the user. If this query returns no tracks then a random track is added.

The slider control gives simplified control over the advanced settings. I'm not completely happy with how I implemented it but it may be enough, the most
important thing is feedback with regards to it!

Install

Please uninstall any previous versions

If you encounter errors/bugs, please post here and let me know

I currently have some more features planned that I will work on when I get chance (see readme)!
Also if you have any feature requests or suggestions then please let me know.

YOU MUST UNINSTALL THE PREVIOUS VERSION BEFORE INSTALLING 1.0

1.2 Installer
v1.1 beta
Here is a link to the installer v0.51 - thanks to

v1.2 Source code

PaulSinnema for the template by the way  ;)

Thanks


Change Log:

1.2 (05/10/2008)
   
   ?      May be other things but it is a while since i did any coding and my memory is a bit vague

   Added: Support for Media jukebox and hopefully mc13 if j river can sort the problems out   
   
   Fix:   Various fixes that should improve stability and reduce .NET errors
   
   Added:   New method of keeping files. Files to be kept are copied to a /keep directory. They are then imported into
         Media center so that they can be played. (You could run 'move and rename' within media center to copy them to
         your music directory
1.1 BETA (07/09/2008)

   Fix:   File Error when displaying the number of temp files if no temp file directory existed
   
   Added:   Volume levelling, since Last.Fm streams can often be quiet, you can set a volume for streams to be played at.
   
   Change:   If there is a download error when you are running a radio, the radio will attempt to restart
         This will be indefinately until you stop the radio (either stop button or cancel task)

1.0 BETA (05/09/2008) - Major release
      
   Added:   Streaming from Last.Fm Radio stations (users/tags/similar artists). YOU NEED TO BE REGISTERED WITH LAST.FM FOR THIS TO WORK
   
   Added:   AutoDj streaming, autodj can stream songs similar to the current playing song. YOU NEED TO BE REGISTERED WITH LAST.FM FOR THIS TO WORK
   
   Added:   Option to enable streaming DJ.
   
   Added:    Slider to vary how often the auto dj will get a track from the libary as opposed to streaming from Last.Fm
   
   Change:   Many interface changes to accomodate new streaming features.
   
   Added:   Specific radio interface tab. Here you can alter radio options and see the status of current streaming track.
   
   Added:   Option to skip a track, this applies to any mode, whether it be streaming or radio dj
   
   Change:   Renamed to LastFmDj!!
   
   Change:   Timeout code added. Will prevent the DJ running forever when trying to download a file.
   
   Change:   Downloader will attempt multiple times if a download fails.

0.51 (25/08/08)
   Fix:   Bug When there was an error downloading data which resulted in the Dj being run repeatedly

0.5 (24/08/2008)
   Added:   Interface slider control
   
   Change:   Interface redesign, seperating into more specific tabs.
   
   Added:   Run the DJ when a track has played a certain percentage instead of at the start.
   
   Added:   Placeholder support for the alternative query. The only placeholders available are via the interface.
         They insert the placeholder at the current cursor position.
   
   Added:   New algorithm mode to search for similar artists and use any tracks from these.
         Code rewrite to support this and also make it more extensable should other modes be added.
   
   Added:   Button to clear the debug file.
   
   Fix:   To the "Only select songs from a playlist" dropbox now saves its value correctly.
   
   Fix:   Various bugfixes within the code
   
   Added:   Option to switch algorithm modes (advanced settings)
   
   Added:   Option to allow different modes to be executed if no tracks are found (advanced settings)
         Operates in the following order so will have no effect for 'similar artists, all tracks'
         track -> similar artists, top tracks -> similar artists, all tracks

0.4 (18/08/2008)
   Added:   Asynchronous Downloads (when downloading mediacenter won't freeze!)
         Large code rewrite for this
   
   Change:   New tabbed interface, thanks to neFAST for design work and input into this.
   
   Added:   Interface now autosaves, except for entering the query to use if no tracks are found.
   
   Added:   Option to only use the similar artist method, more info in the options section
   
   Added:   Option to hide the progress bar
   
   Fix:   Uses correct search syntax for querying the MC database, should reduce errors
   
   Added:   Option to only select songs from a certain playlist
   
   Added:   Option to input an alternate query to execute if no tracks are found.
   
   Change:   Altered the sorting algorithm so tracks have a higher match/reach from last.Fm are more likely to be played.
   Added:   Tying in with the above, recently played artists will now be played but will be significantly negatively weighted in the selection
         algorithm so are 'unlikely' to appear unless no other songs can be found.
   
   Added:   Cancel button to progress window.
   
   Added:   Cancel Button to Interface pane.
   
   Added/Change/Fix:
         Many other little things/tweaks that I may have forgotton to record

0.3
   Added:    Now uses Last.Fm's similar track function, this should decrease the time it takes to run significantly
         If no tracks are found with this method then it will look up similarArtists and topTracks which takes longer
         but will also yield more results.
   
   Added:   Track processing functions.
         If no tracks are returned from last.fm then attempts are made to clean the song title and artist name
         by removing anything in and after brackets()[]{} and slashes \/, anything after and including featuring, ft, feat.
         The plugin will then look up the songs with cleaned data.
         This applies to both similar track and similar artist methods, so the order of processing is:
            unclean similar track
            clean similar track
            unclean similar artist
            clean similar artist.         
         
   Change:   Many code tweaks for efficiency and debug ease
   
   Change:   A few interface changes, thanks to neFAST for the input.

0.2
   Fix:    Globalization fix, should fix problems encountered mainly by French people or any other language
         where a comma(,) instead of a period(.) to represent a decimal point.

0.1
   Change:   Second Release, not enough to warrent a new release
         Stopped the progress window from always being at the front
         
   Fix:   Removed a small amount of unneeded debug code

0.1
   Initial Release

More Info
For more info, please see the readme in the installation package
Logged

JONCAT

  • Guest
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend)
« Reply #1 on: July 29, 2008, 07:42:52 pm »

Thanks, downloading now.

DC ;D
Logged

neFAST

  • Galactic Citizen
  • ****
  • Posts: 372
  • \o/
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend)
« Reply #2 on: July 30, 2008, 12:54:10 pm »

Great !!!!
That's something I had in mind for a long time. Do you plan to share the sources?
Downloding it right now.

EDIT:
Quote
Planned Features:
This is no way a guarantee for features but here are a few that I had in mind:
#   Make use of Last.Fm's similar track service which will get tracks based on the current track explicitly
Wait how are you doing if you're not using the "similar track" service from Audioscrobbler API ?
Logged

neFAST

  • Galactic Citizen
  • ****
  • Posts: 372
  • \o/
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend)
« Reply #3 on: July 30, 2008, 01:16:22 pm »

I don't know if it's because my OS is in french but this is what I got:
Code: [Select]
30/07/2008 07:56:09.234: Initialising LastFm Recommend - 0.0.0.1
30/07/2008 07:56:09.625: XML Error in settings file
30/07/2008 07:56:09.625: Default Settings will be used

30/07/2008 08:04:07.750: Executing DJ

30/07/2008 08:06:28.671: Executing DJ

30/07/2008 08:07:06.062: Executing DJ

30/07/2008 08:07:06.625: Searching for similar Artists to Air on Last.Fm
30/07/2008 08:07:07.296: Error Parsing Xml DataLe format de la chaîne d'entrée est incorrect.
30/07/2008 08:07:07.328: No Similar Artists were found
30/07/2008 08:07:07.375: Getting random track

30/07/2008 08:07:07.390: Adding 'The Bravery Of Being Out Of Range' to Now Playing

30/07/2008 08:12:03.671: Executing DJ

30/07/2008 08:12:03.687: Searching for similar Artists to Roger Waters on Last.Fm
30/07/2008 08:12:04.125: Error Parsing Xml DataLe format de la chaîne d'entrée est incorrect.
30/07/2008 08:12:04.125: No Similar Artists were found
30/07/2008 08:12:04.156: Getting random track

30/07/2008 08:12:04.156: Adding 'Dalston' to Now Playing
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend)
« Reply #4 on: July 30, 2008, 03:18:23 pm »

Hi neFAST
Could you stick the Log Level to 4 and tick the enable Write Debug file and then email it to me at davjand@yahoo.co.uk?

It currently looks up the similar artists and then looks up the top tracks per artist. I only discovered the other part of the API after I had got a fair way into coding it so put it on the todo list.

I hadn't really thought about the source but there is no reason really not to share it. I'll have a look at getting it hosted on sourceforge anyway.
Logged

neFAST

  • Galactic Citizen
  • ****
  • Posts: 372
  • \o/
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend)
« Reply #5 on: July 30, 2008, 03:27:17 pm »

What I pasted was the content of the level 4 logs! Anyway I'll send you an email.

BTW "similar tracks" was already in v1.0 of last.fm API


EDIT: you're right, I forgot to save settings  ;D
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend)
« Reply #6 on: July 30, 2008, 03:31:44 pm »

Just to check you did click save settings after selecting level four logs? It's slightly counter intuitive so I probably should change it

I based my plugin on another which does it in the way that I've done it, hence i saw that method first.

Thanks
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #7 on: July 31, 2008, 05:26:10 pm »

Version 0.0.0.2 is out, this fixes the French language problem and a few minor tweaks
The installer link has been updated
Logged

yooz

  • Regular Member
  • Junior Woodchuck
  • **
  • Posts: 80
  • **sorry 'bout my baaaad english knowledge**
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #8 on: August 02, 2008, 02:02:43 am »

Just a small question. Is it possible to combine this whith a smartlist to include/exclude special files from the lib, or is it allway searching inside the complete lib for new songs?
Logged

gummbah

  • World Citizen
  • ***
  • Posts: 240
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #9 on: August 06, 2008, 10:58:10 am »

Just to say thanks!
I really like this plugin and it works surprisingly well!
Logged

lOth

  • Citizen of the Universe
  • *****
  • Posts: 785
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #10 on: August 07, 2008, 12:08:57 pm »

Hallelujah!

http://yabb.jriver.com/interact/index.php?topic=41438.msg287736

I believe this thread had some ideas for some extra features for this plug-in.

Downloading it now, testing it later.
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #11 on: August 09, 2008, 02:55:50 pm »

Hi all, I've been away for the week hence my lack of replies

@yooz:

It's not currently possible to do that but it is in the planned features - i was thinking of allowing a search query to added that will execute if no songs are found. Ontop of this i was thinking of adding placeholders of the artist name/year/album etc within this so that you could select songs by the same artist. With this you could obvoiusly add: [playlist]='playlist name' and then use a smartlist.

One question here though for anyone who knows, is it possible to bring up the search wizard interface from a plugin?

@lOth

I don't have access to that message so can't see what it says.

While I was away i tidied some of the code up and implemented the similarTrack from lastfm, I'm going to test this over the next few days and maybe add some more features so there should be a new release soonish!
Thanks everyone!
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #12 on: August 12, 2008, 04:00:40 pm »

Haven't tried this yet, but plan to tonight hopefully. 

One thing that would be really cool is if you could mix Last.fm recommendation NOT in your library with Last.FM recommendations that are.  So some songs would be streamed and others would be right from your library.  A slider to control how much from either would be cool.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.2
« Reply #13 on: August 12, 2008, 04:07:25 pm »

I've looked into streaming from lastFm but the urls to the individual tracks that they stream are extremely long and complicated. I have a feeling they don't want people using them. The only way I've found to get access them is using the downloadhelper firefox addon but I don't know how that works.

However it should be possible to stream from the radio feature of lastFm. I've not looked into this much but it might give decent results.

I've nearly finished the 0.0.0.3 release which will have a few extra features that were listed in the planned features and so far it seems stable enough to use for everyday listening.

Edit: 0.0.0.3 is done

Thanks
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #14 on: August 12, 2008, 11:03:33 pm »

This is quite amazing, davjand!

1) Would like to see an option for it selecting songs only from standard MC smartlist rules.
2) The pop up saying it is choosing the next song should be optional.
3) It might be cool if it didn't show the song it selected until right before or after the seed song ends.

If you could add those things in, it would be perfect.  As is, it is really cool, and I can't wait to see what you do next with it.  Maybe add in song selections based on acoustically similar songs from say musicip (search for it on google).
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #15 on: August 13, 2008, 12:18:39 am »

I think skipping a song should revert to the previous song played when looking for similar artists.  If you skip again, it goes back even further to the pervious song behind that one and so on.  That way if for whatever reason the new songs start getting out of whack with the original selection you can just keep skipping until you return to the center so to speak.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

neFAST

  • Galactic Citizen
  • ****
  • Posts: 372
  • \o/
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #16 on: August 13, 2008, 03:16:31 pm »

1) Would like to see an option for it selecting songs only from standard MC smartlist rules.
Do you know how to build a search with a modifier to limit result to a certain smartlist?
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #17 on: August 13, 2008, 05:04:58 pm »

Me?  No, I am not a programmer. :)  But it should be like how the built in 'radio' feature works.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

neFAST

  • Galactic Citizen
  • ****
  • Posts: 372
  • \o/
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #18 on: August 14, 2008, 05:15:36 pm »

1) Would like to see an option for it selecting songs only from standard MC smartlist rules.
Done but you'll have to paste it in a text box.

2) The pop up saying it is choosing the next song should be optional.
Done

3) It might be cool if it didn't show the song it selected until right before or after the seed song ends.
What's your problem with this behavior? I had an itune-like behavior in mind where it would have show 5 songs in advance.

I'll send the sources to davjland tonight and he'll decide when to post v0.4
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #19 on: August 14, 2008, 06:19:28 pm »

Done but you'll have to paste it in a text box.
Done
What's your problem with this behavior? I had an itune-like behavior in mind where it would have show 5 songs in advance.

I'll send the sources to davjland tonight and he'll decide when to post v0.4
GREAT!

I haven't used itunes in a while, but if I am correct you can have it show 0 songs until it actually plays.  I like not know what is coming, just makes it funner that way.  It's not a bad thing as it is, just think of it as polish.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #20 on: August 15, 2008, 02:03:34 am »

A few more feature requests, please!

1) The option to not look up the top songs of the Artist but to simply find a related Artist, and then play a random song from that artist from my library.  I am noticing that many of the songs are the same from the same artists.

2) Rather than selecting how often an artists shows up in consecutive songs, there should be a probability weight instead, that way when there are only a few related artists in my library, it keeps pulling it from them rather than choosing a random song, and this allows larger groups of related artists in my library to still be varied.  At least I think that is why it is choosing random songs when I don't think it should (because of small related artists pools)?

3) If it can't find a related artist in my library, then pick a random song from the same genre?  If none from the same genre, then from the same year?   Heck, just let us pick what fields we want it to choose from, and in what order of precedence!
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #21 on: August 15, 2008, 01:16:58 pm »

1)
So you basically want an option to disable the 'similar track for current artist' bit and just use the similar artist/top tracks method?

2)
I'll have a look at this, sounds like a good idea. The easiest way would be to predjudice the current algorithm to new artists and keep the old ones instead of just removing them and looking for a random track.

3)
This is in the feature list. If it makes the next version i'll just implement an option to select a song off a  smartlist with the view to extending it in later versions.

At the moment I'm working on asynchronous file downloads which requires a big code rewrite but I've done the worst of it. This also ties in with your request for no progress bar - I only added it to let the user know why jrmc was frozen! They key benefit though as it will allow more features to be added (ie neFasts's idea for 5 songs queued, if it doesn't freeze jrmc then you could create huge playlists of pregenerated tracks)
I'm also hoping to add autosave to the interface.

Your other request for adding smartlist style queries. I think the best way to do this will just be to select songs from an existing smartlist then you can use jrmc's query generator etc

The next version shouldn't be too long anyway
thanks

Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #22 on: August 15, 2008, 03:45:33 pm »

1)
So you basically want an option to disable the 'similar track for current artist' bit and just use the similar artist/top tracks method?

I just want it to look up similart artists, then once it finds a matching artists it selects a random song of what I have.  How does the similart track for current artist work?  Acoustically similar?  Sounds like I need to play with it more to better understand how it works. ;D
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #23 on: August 15, 2008, 04:21:17 pm »

There are two modes of operation so to speak and they're both based of the last.fm audioscrobble feeds:

1) use the similar Track feed which returns tracks which last.fm judges to be similar to the one played
2)use the similar Artist feed to get say 10 similar artists then use the top track feed to retrieve the top tracks for the artist.
[ur=http://www.audioscrobbler.net/data/webservices/l]You can see more info here[/url]

There is also some more info in the readme
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #24 on: August 16, 2008, 01:38:59 am »

1) use the similar Track feed which returns tracks which last.fm judges to be similar to the one played
I don't see an option for this in the UI, or I have to manually change the feed in a config file?

Thanks
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.0.0.3
« Reply #25 on: August 16, 2008, 04:56:45 am »

There isn't an option to do so as of yet, but there will be in the next version.

It's not far from being complete, I just need to add the smartlist options mentioned earlier and I'll have a look at your weighting idea for prev played artists.
Should be out within a day or two.

Thanks
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #26 on: August 17, 2008, 08:58:37 pm »

Hi

0.4 has been released, feeback welcome etc

Most of the features requested are in there in some shape and size (except streaming)

Enjoy!
Logged

neFAST

  • Galactic Citizen
  • ****
  • Posts: 372
  • \o/
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #27 on: August 18, 2008, 02:16:01 pm »

Come on guys what are you waiting for? Download this great plugin!
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #28 on: August 18, 2008, 10:26:21 pm »

Seems like the "Only select songs from a playlist option" is not holding its selected playlist across restarts of MC.

I am confused on the difference between number of similar artist found and artist similarity?  What is the net effect of both?

I am starting to think it might be good to have a single slider that allows you to select more variety to less variety.  I am finding it hard in general to find the right balance based on my library.  Part of that is dependent upon the seed song selected and that makes it harder for me to tell if a change in the settings really made it more varied or not.  The key here is that I feel like I'm not sure if I make a certain combination of settings what effect it will truly have and if you dumb it down a bit and force more variety vs. less as a simple obvious choice, I wouldn't personally worry about this as much and I would just know what it is trying to do, even if sometimes it doesn't seem to have a certain effect.  Make sense?

It seems like there could be two different ways for the DJ to 'flow' the music.  One is to only select songs based on the last song played which I think is what it is doing now, and the other is to attempt as best as possible to keep selecting songs based on the original seed song, as it can get quite varied if this is not done which isn't necessarily a bad thing, it just might be a nice option to do that, to keep the playist a little more honest so to speak.  If it then moves to a new random song (because it couldn't find any more similar artists), or the users manually adds a new one in, either of those would become the new seed song.

One last issue I also have is the plugin only selecting top tracks.  I really could care less if it picks what other users think are top tracks, I just want it to find a similar artist then pick from ALL of the songs I have in my library from that artist.  If it is limited to only the top tracks, then that is a big flaw in my opinion as it pure and simply limits the number of songs I might hear, which is bad.  I can see that you can set the Top tracks to 50, but I have artists with a lot more than 50 tracks.

This thing is coming together nicely, and really completes the automation part of MC for me, so to speak.  I can just play a song, and not have to think about anything else!!!
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #29 on: August 19, 2008, 12:38:23 am »

If I play a System of a down song, it always chooses a Who song.  Last.Fm does not show them as a related artist.

Is it possible for this plugin to run in a background MC thread?  I notice that it slows down browsing for  a few seconds right before it chooses a song.

I really think there should be some sort of delay (preferably just add it in right before the last song ends) because if I pick a song, I don't necessarily want it to pick a new song right away, particularly if I am looking to add more songs to the one I just started playing.  At that point, he DJ feels like it is budging its way in when it shouldn't.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #30 on: August 19, 2008, 08:44:04 am »

Hi

Thanks alot for your feedback!

The only select songs from a playlist not retaining its value is a bug and will be fixed.

With regards to not understanding the settings, There is more info in the readme (program files\j river\plugins\lastfmrecommend or similar) and opening post for each settings but I do agree that there is no indication what effects some of the settings will have. To be honest I don't know the full extent of how the settings will affect the variety but theoretically:

Artist similarity is a value obtained from last.fm as to how similar it thinks the artists are, the minimum value is therefore a cutoff point, tracks with less similarity aren't processed. Have a look here for an example

Number of similar artists to find is how many similar artists to look up top tracks for (this ties with artist similarity since the similarity determines what the maximum possible number is since artists are discarded with less similarity). The higher the value, the more possible artists will be looked up but since looking up top tracks takes time, the longer it will take.

I think having an option to enable 'use top tracks' is a good idea as this will allow either just top tracks or all tracks.

Anyway, that paragraph pretty much justifies simplifying things!!

I think a slider will be a good idea as it can be used to alternate between the methods. Something like this:

Left                        ->                              right
similartrack method                          similar artist/toptrack                            just similar artist

Within each of these there will be intermediate values that adjust the values. Possibly not for similartrack as there are currently no settings to change.
I'll look at implementing this soon!

The two flow options you discuss is an interesting idea that i hadn't thought much off. I don't think it would work very well with the similartrack method since not many songs are usually returned. However with similar artists (top tracks or no top tracks) it could be a good idea. The easiest way to implement this would be to set a number of songs to queue (say 10) then 10 songs would be added to the playlist on the first dj run. Then when they have finished playing, another 10 could be done for the last song. Is this workable with what you had in mind??

I agree with you about selecting a song and it feels like its budging. I'll look at a way of adding a song after so many seconds or a certain percentage played. It wouldn't make sense to execute the dj once the song has ended since it takes time to execute. I'll probably  allow you to select a percentage of the song played.

About the slowing down, it could be possible to run in another thread but I don't know much about this. However I'll look at optimising the current algorithm and this might help.

What exact system of a down track is it?  and are you using the similartrack method?

Thanks for the feedback

If anyone else has some ideas then please let me know.
For the next version (or maybe one after that) i'll look at implementing a way to stream the last.fm radion


Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #31 on: August 19, 2008, 11:13:28 pm »

I agree with you about selecting a song and it feels like its budging. I'll look at a way of adding a song after so many seconds or a certain percentage played. It wouldn't make sense to execute the dj once the song has ended since it takes time to execute. I'll probably  allow you to select a percentage of the song played.
Or you could queue it up ahead of time and allow the user to select how soon before the song ends they want it added.

What exact system of a down track is it?  and are you using the similartrack method?
No.  I can pick any random SOAD song and it always picks a random Who track.  Not sure why.

For the next version (or maybe one after that) i'll look at implementing a way to stream the last.fm radion
Sweet!  Other than the timing issue, I think allowing the DJ to create a greater overall variety from one listening session to the next, is of up most importance to building a great plugin.  Adding in the streams would really help with that.  One thing I am noticing is that often times the same artist combinations are played over and over from one listening session to the next even with different seed songs,, it often times ends up in the same place.  This is I presume purely based on Last.FM, not something you built in, or somehow I configured it oddly?
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #32 on: August 20, 2008, 01:06:04 am »

The more I am using this, the more I am seeing Who songs being played, not just for SOAD, but for bands like Mars Volta and Linkin Park.  Seems odd.  I have a library of over 9000 songs and 389 artists.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

morrison

  • Galactic Citizen
  • ****
  • Posts: 335
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #33 on: August 20, 2008, 03:37:38 am »

awesome plugin, thanks
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #34 on: August 20, 2008, 07:30:27 am »

Hi

@datdude:

Could you please set debug logging to 4, enable writing of a debug file then run the DJ a few times(it will be really slow and probably freeze mc for 30ish seconds for each track) then email it to me at davjand AT yahoo.co.uk. Maybe run a few different artists that all seem to lead to the who being selected. The debug file should be located in the app data folder but you can change it in the settings.

Thanks
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.4 (18/08/08)
« Reply #35 on: August 20, 2008, 08:07:09 pm »

Done, just sent it to you.

It also seems to like to play a lot of my blues collection even from an artist like Pepper, which you'll see it chose.  And I tested it again with the same results just now.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.5 (24/08/08)
« Reply #36 on: August 23, 2008, 07:39:22 pm »

Hi

Just to let everyone know v0.5 is now released! See the first post for more information.

@datdude

Have a play with the new interface/settings etc and see what you think. Theoretically the slider implementation isn't as solid as I would like but to the normal user it should work. Let me know what you think!

I've had a reasonable look at the logs you sent me but I'm going to need more time to determine what the cause of the issues with regards to the same tracks being played repeatedly.

However one thing that I would highly recommend, is putting a limit modifier onto your alternate query (~no=500) as this could be one of the reasons for slowdown when processing data. The plugin was retrieving all 5000 tracks from your smartlist and hence freezing for a bit.

I look forward to your ever detailed feedback!!
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
v0.51
« Reply #37 on: August 25, 2008, 07:19:56 am »

Hi
Just a quick bug fix For more info see the origional post
Logged

gummbah

  • World Citizen
  • ***
  • Posts: 240
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #38 on: August 29, 2008, 12:53:10 am »

First, I must say this is the first plugin in its branche that is working for me.
I tried radio mode, but tends to move to general pop and rock music after some time. \
MusicIP also always gives me strange mixes, which is probably due to my taste of a wide varierty of music.
But your plugin just works great, so thanks!

I have an idea for a new feature, i.e. playlist generation.
So instead of getting only a song after the last song has started playing, you could also generate a playlist of a selected number of songs (let's say 50). Then you can still remove some songs, or add some. You could also use it to generate a playlist for a mobile device.

Another idea is to make it a bit smarter by giving the possibility to skip music, which then loads a new song, e.g. on the basis of a 2 or 3 songs back in the playlist.
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #39 on: August 31, 2008, 07:38:10 am »

Hi
Thanks for the input, for the next version I'm currently working on streaming last.fm's radio. Here's a brief overview of what to expect:

  • Stream songs that are similar to the now playing song. This is similar to how the autodj currently works but it will be streaming new tracks that you don't have in your library!
  • A mode to stream radio from Last.Fm's global tags like rock, classical, jazz, rap etc.
  • I don't think it will make the next version but I'd also like to be able to lookup the recommendations Last.Fm creates for your profile and then stream some of these. It definatly is possible but as I said, it probably won't make the next version.

I like the idea of playlist generation/generating 50 tracks in one go and I'll try and implement this in the next version or version after. It just depends how long it takes for me to complete the radio code. The same can be said for the skip feature.

The next version isn't too far away, I'd say that I'm about 70% of the way through finishing the radio streaming code so if I'm not too busy with other things then it should be finished within a few days!
Logged

gummbah

  • World Citizen
  • ***
  • Posts: 240
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #40 on: August 31, 2008, 09:04:18 am »

Hi
Thanks for the input, for the next version I'm currently working on streaming last.fm's radio. Here's a brief overview of what to expect:

  • Stream songs that are similar to the now playing song. This is similar to how the autodj currently works but it will be streaming new tracks that you don't have in your library!
  • A mode to stream radio from Last.Fm's global tags like rock, classical, jazz, rap etc.
  • I don't think it will make the next version but I'd also like to be able to lookup the recommendations Last.Fm creates for your profile and then stream some of these. It definatly is possible but as I said, it probably won't make the next version.

I like the idea of playlist generation/generating 50 tracks in one go and I'll try and implement this in the next version or version after. It just depends how long it takes for me to complete the radio code. The same can be said for the skip feature.

The next version isn't too far away, I'd say that I'm about 70% of the way through finishing the radio streaming code so if I'm not too busy with other things then it should be finished within a few days!

Woaw that would be another great feature. Looking forward to it already. Keep up the good work!!
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #41 on: September 02, 2008, 01:00:20 am »

Installed the latest version and it seemed to work for a few hours, but now I keep getting these errors in the logs and it never works:

01/09/2008 10:53:44.653: Initialising LastFm Recommend - 0.51
01/09/2008 10:53:44.804: Error writing to settings file
01/09/2008 10:53:44.804: The process cannot access the file 'C:\Users\Media Center\AppData\Roaming\J River\LastFmRecommend\LastFmRecommend_settings.xml' because it is being used by another process.
01/09/2008 10:54:22.117: DJ will run in 360 seconds

I checked and I only have one instance of MC12 running, so not sure what else could be accessing that file.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #42 on: September 02, 2008, 01:04:09 am »

Oh, wait I get it.  You are literally setting a timer.

Not a good idea.  If I fast forward in the song it will wait that many seconds no matter what.  Hopefully this can be made more accurate.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #43 on: September 02, 2008, 03:10:29 am »

Occaisionally there are file errors due to windows indexing etc but I've never seen them repeatedly, you could try deleting the file listed and see if that helps. (you will lose all your settings though). Chances are though that it is a fileaccess bug in the plugin and i'll see if i can repeat it.

It isn't a timer being set, it is when the song reaches that time in playback so fast forwarding etc will be fine.  However if you change songs then it may not work exactly as intended. You may also encounter problems with having such a high value (i'm guessing you have a high percentage set there) since if the song ends before the dj can complete then it may just quit. I'm working on improving this for the next version though.

Just a quick update anyway, I'm just in the process of debugging the latest version so it should only be a few days.
Logged

datdude

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2215
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #44 on: September 02, 2008, 08:00:33 pm »

I'll keep testing, but I noticed that several times it would take a minute or so for the next song to pop up after the previous song ended, or it wouldn't play at all.  I just noticed that the log said it would run in 360 seconds, thinking this was purley a timer.
Logged
"You are not a beautiful or unique snowflake." -  Just a very big snowball

llafriel

  • World Citizen
  • ***
  • Posts: 230
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #45 on: September 03, 2008, 03:23:05 am »

I'm getting the same error as datdude, 'Cannot access file..'. Same error on two different machines.
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #46 on: September 03, 2008, 05:49:14 am »

Do you only get this error at startup?
Can you still save and load settings (settings are carried across after program ended)?
Do you get the error every time you change an option?

sorry if it's a bit crude but if you could answer then it would help. I think its more of a bug to do with initialising rather than a bug in saving the settings. As long as your settings are saved and restored when you close and open MC then don't worry about it.

I'll look into it though
Logged

llafriel

  • World Citizen
  • ***
  • Posts: 230
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #47 on: September 03, 2008, 07:11:50 am »

No worries, not crude at all.
Only at startup, and settings are saved between sessions.
Couldn't get the plugin to work but found out why. Need to send just one song to 'Playing Now', not several.
Great stuff this plugin!
Logged

llafriel

  • World Citizen
  • ***
  • Posts: 230
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #48 on: September 03, 2008, 07:13:34 am »

Is it possible to install onto a portable install?
Logged

davjand

  • Junior Woodchuck
  • **
  • Posts: 58
Re: New Plugin: Last.Fm Auto DJ (LastFmRecommend) v0.51 (25/08/08)
« Reply #49 on: September 03, 2008, 07:33:58 am »

I don't know the answer to that but i doubt it

If you (or anyone) has information about how to write/run a plugin on a portable install then I'll have a look at it and give it a try.
I'll look into it thoroughly once the next version is complete.

As I'm writing I'll give you a quick update:
The streaming features for next version (I'm going to call it 1.0!) are complete and I've eliminated what I hope are all the bugs. Just need to tidy the interface up and tidy up the track change processing functions that datdude mentioned.

Apart from that its working really nicely, streaming tracks on the fly, either as an autodj or as a radio. The Readme is going to take a while to update though!!

One interesting thing that I've had to do is download the tracks to a temp directory as I couldn't get MC to stream internally. What this means is that the tracks are on your computer so could be copied to your media directory permanently.
Logged
Pages: [1] 2 3 4   Go Up