Jest to podobny skrypt do mpd-add-pls-stream z tym że dodatkowo obsługuje m3u (między innymi strumienie icecast). Mozna by powiedzieć że to jest druga wersja..
#!/bin/bash
#
# Version 0.1.99.2 (20081229 beta 2) by 3ED <krzysztof1987 [at] gmail [dot] com>
# Desc-pl: Skrypt dodaje losowy strumień z pliku listy odtwarzania do głównej listy odtwarzania w mpd..
# Desc-en: Script adding random stream from playlist file to main playlist in mpd..
MPC_BIN="/usr/bin/mpc"
typeset -i maxran random
msg() {
zenity --error --title "Mpd Add Stream Playlist" \
--text "$@"
}
if [ -r "$@" ]; then
plsfile="$@"
else
msg "Ścieżka do pliku playlisty jest nieprawidłowa lub plik nie istnieje."
# msg "Path to playlist file is wrong or file don't exist." # Ok, ok, I know, gettext..
exit 2
fi
if [ -z "$MPC_BIN" ]; then
msg "Zainstaluj program mpc, w przeciwnym wypadku dodawanie strumieni do bieżącej listy odtwarzania będzie niemożliwe."
# msg "Please, install mpc, becouse I cann't add this stream to your main playlist."
exit 1
fi
if [ "${plsfile}" != "${plsfile%.m3u}" ]; then
urls=($(sed '/http/!d' ${plsfile}))
if (( "${#urls[*]}" > "0" )); then
random="$[RANDOM % ${#urls[*]}+0]"
$MPC_BIN add "${urls[$random]}"
fi # else empty list ;)
elif [ "${plsfile}" != "${plsfile%.pls}" ]; then
urls=($(sed '/^File.*/!d; s|^File.*=\(http.*\)|\1|g' ${plsfile}))
if (( "${#urls[*]}" > "0" )); then
random="$[RANDOM % ${#urls[*]}+0]"
$MPC_BIN add "${urls[$random]}"
fi
else
msg "Nieznany format pliku.\nNie udało się dodać strumienia do playlisty."
# msg "Unknown file format.\nI don't add this to your main playlist."
fiAktualizacja do wersji beta 2: 20081229








