This is probably overcomplicated but bear with me.
I was thinking the other day. One thing that would be really cool would be like a point system for played songs. eg 2 points given for manually
selecting a song, 1 point given for letting a song play past the halfway point.
This way you could just let it play your entire randomly for awhile and then start switching to play just popular songs, it would be far more accurate
and less time consuming than the way it's set up now.
Another feature that would be very nice would be an option to let it play a less popular song on occasion, like say a 10 or 20% chance per song picked
that it is random from the entire library and not just the mode selection.
As I said, I'm not a programmer and don't know how much a pain that would be to do but it would be a very fine addition.