Suggestion to improve the Mini-Scheduler
A friend of mine and myself have been trying to think of a way to improve the Mini-Scheduler. As we experienced ourself, songs will be played in more or less the same order after a certain amount of time. In the support forum, this has been mentioned by other users as well. (https://www.mairlist.com/forum/index.php/topic,6819.0.html)
Deleting (part of) the playback history does not solve this “problem”. I think it’s even making things slightly worse.
If you look at the last played date of a song in the properties, you will most probably find that the previous songs were played on the same day, sometimes in the same hour and sometimes even in the same order just a few weeks ago (depending on the size of the database of course).
With individual songs, it won’t be noticed that easily. But when a new album of one artist has been added to the database, the songs of this album will be played within a couple of days. This will repeat itself in a few weeks, and again, and again. Once you hear a song from album X, you know you will hear more songs of that album the coming days.
We wanted to improve the Scheduler by thinking of an addition to the existing mechanism. An addition that should not be too difficult to implement, an addition that could be adjusted by the user easily or could be completely ignored by the user when not desired.
In order to do so, we had to make some assumptions to the way the Scheduler works at present. Fortunately Torben made a small list recently:
[quote=“Torben, post:14, topic:8893”]What the scheduler does when picking a song from a particular folder:
- Load list of songs in that folder.
- Apply title/track/artist separation, calculcating a score/penalty for each song.
- Only consider the songs with the lowest penalty score.
- Sort by time last played (extracted from the previous playlists)
- With a chance of 50%, pick the first song from the list (the one that hasn’t been played for the longest time), with a chance of 25% the second song, with a chance of 12.5% the third song and so on.[/quote]
For clarity reasons, we’ll ignore the title/track/artist separation, the penalty score and the 50% chance etc. etc.
Most important thing is sorting the songs by time last played. I am assuming (and hoping) that the moment the song is played, the date last played is updated in the database.
The best way to understand the present mechanism is comparing it with a deck of cards as can be seen on the figure below. Just pretend we’re playing a game of Patience.
The pile of cards is based on the last played date. The card on top is the card with the oldest last played date.
When the Scheduler needs a song, it will pick the card on top, checks if the song matches the requirements, if so the song will be scheduled. If not, the second song will be checked but the first song stays on top of the pile and will be picked next to see if it matches the requirements for the next slot. And so on.
This way, the chance that consecutive songs will stay more or less in the same order is very large.
In the next post I will try to explain our thoughts of changing this. Remarks and suggestions are very welcome.

