>Another thing I've noticed is that if I am playing a song with one song queued 
>up, if I don't like the next song and delete it from the dynamic playlist, it 
>tries to add a new one to play next, but most of the time it picks the same 
>song.

I found the bugs that were causing this too.

It doesn't keep track of previously played tracks correctly - i.e. mine is 
configured to remember the last 5 songs to avoid repeating them.  It is storing 
tracks into the prefs file, but doesn't honour the limit correctly.  i.e. I had 
over 100 songs stored, and it was only ignoring the first 5 that had been 
stored.  Therefore when it fetches a mix based on the last chosen song, that 
song is top of the list, is not ignored, and thus just selects that song again.

I changed the code to record the last n tracks, shuffling the historic tracks, 
such that the oldest song is dropped, and the newest song gets added.

Looking further through the code, there is at least one global variable (list 
of songs returned from MIP for the seed, with historic songs removed), which 
means the plugin is unsafe when more than one player has SugarCube enabled.  
This needs to either be passed around through function calls, or hold a list of 
songs per-client.

My modified SugarCube code is now working well as a Dynamic Playlist, if anyone 
has an interest in it.  Only one small issue - sometimes Dynamic Playlist 
queues up 2 future tracks instead of just one (only when starting the dynamic 
playlist with a song in the current playlist to be used as the starting seed 
track).  Still, I find this much better than SugarCube, which can cause many 
future tracks to get added through various events (such as fast-forward, etc).  
DynamicPlaylist seems to handle this side of things much better.

I need to test normal SugarCube operating mode now, in case any of my changes 
have affected that.
_______________________________________________
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to