#!/usr/bin/env sh # -*- mode: scheme; -*- IFS=" " exec scsh -ll mpd.scm -o mpd -s "$0" "$@" !# (define (randomize-all-albums) (for-each (lambda (album) (run (mpc findadd album ,album))) (run/strings (pipe (mpc list album) (shuf))))) (define (randomize-albums-by-artist artist) (for-each (lambda (album) (run (mpc findadd ,(query (and (= artist ,artist) (= album ,album)))))) (run/strings (pipe (mpc list album ,(query (= artist ,artist))) (shuf))))) (run (mpc clear) (> /dev/null)) (if (> (length command-line-arguments) 0) (randomize-albums-by-artist (car command-line-arguments)) (randomize-all-albums))