#!/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))