diff options
author | Tom Willemse | 2022-03-02 22:04:01 -0800 |
---|---|---|
committer | Tom Willemse | 2022-03-02 22:04:01 -0800 |
commit | 79df03a72ad0dc7c13f5e313f5038786dc38bc90 (patch) | |
tree | 4b73c77f015a79552c99881d3967e8c07d53f096 /mpd/usr | |
parent | 1b3dad4212e6e6473ea13330cf0e43b98a0dff46 (diff) | |
download | new-dotfiles-79df03a72ad0dc7c13f5e313f5038786dc38bc90.tar.gz new-dotfiles-79df03a72ad0dc7c13f5e313f5038786dc38bc90.zip |
[mpd] Add option to randomize albums by specific artist
Diffstat (limited to 'mpd/usr')
-rwxr-xr-x | mpd/usr/bin/mpd-random-albums | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/mpd/usr/bin/mpd-random-albums b/mpd/usr/bin/mpd-random-albums index 0b2469b..4bcd680 100755 --- a/mpd/usr/bin/mpd-random-albums +++ b/mpd/usr/bin/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)) |