If there weren't enough songs around the currently-playing song in the playlist,
this code died with "Modification of non-creatable array value attempted" (I
dont recall that happening before, though).

This reminds me, I need to think about a convenient way to generate clauses for
null values (e.g. "... WHERE fieldname IS NULL").
Perhaps just using undef, e.g.:
quick_select('table', { foo => undef });
... which would result in:
SELECT * FROM table WHERE foo IS NULL;
Needs moar thought.

Often people queue several tracks at once; pulling tracks from the queue in
random order is more fair on everyone, I think.
Configurable, so if you want songs played in the order they were queued, set
'random' to 0 in the config (or remove it entirely).