Да, да, да. Вновь про «мыло», но на сей раз быстро и по делу. Если вы хотите сделать так, чтобы композиции включались в случайном порядке, но при этом не повторялись, то есть, чтобы проигрывался абсолютно весь плейлист, и ни один трек не повторился, пока не проиграются остальные, следует при формировании плейлиста указать следующие параметры:

music = playlist(reload=1, reload_mode="rounds", mode="randomize", "/srv/audio/music")

Я назвал это «исключающим рандомом», или «равномерным распределением плейлиста». Быть может, у этого режима проигрывания есть более лаконичный термин.

О параметрах:
reload_mode задаёт режим перезагрузки. Может принимать три значения: rounds, seconds и watch. Rounds («раунды») — это циклы полного воспроизведения всего плейлиста, как раз то, что нам нужно: плейлист будет перезагружен (и переформирован) только тогда, когда проиграются все композиции;
reload задаёт количество секунд или раундов (зависит от reload_mode), по истечении которых будет выполнена перезагрузка плейлиста, в случае выше — раз в 1 раунд;
mode задаёт режим формирования списка и может быть трёх видов: normal, random и randomize. Первый и второй нас не интересуют (первый — в алфавитном порядке, второй — чистый рандом, будет постоянно брать треки случайно, могут быть повторы), а вот третий как раз задаёт случайное формирование плейлиста и его проигрывание без изменения порядка. В дальнейшем переформирование будет происходить при каждой перезагрузке, то есть после каждого раунда.