From 5c371433b9ba76da6fde27849775e5bf9c4c7db4 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Wed, 2 Mar 2022 22:04:01 -0800 Subject: Add option to randomize albums by specific artist --- mpd-random-albums | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'mpd-random-albums') diff --git a/mpd-random-albums b/mpd-random-albums index 0b2469b..4bcd680 100755 --- a/mpd-random-albums +++ b/mpd-random-albums @@ -1,9 +1,24 @@ -#!/usr/bin/scsh -s +#!/usr/bin/env sh +# -*- mode: scheme; -*- +IFS=" " +exec scsh -s "$0" "$@" !# -(run (mpc clear)) +(define (randomize-all-albums) + (for-each (lambda (album) + (run (mpc findadd album ,album))) + (run/strings (pipe (mpc list album) + (shuf))))) -(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) + (display (run/string (mpc findadd ,(string-append "((artist == \"" artist "\") AND (album == \"" album "\"))"))))) + (run/strings (pipe (mpc list album ,(string-append "((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)) -- cgit v1.2.3-54-g00ecf