Hallo,
mir ist, zum Abspielen von mp3 Alben, Muggel zu mächtig und die Playlistenerstellung via OSD zu aufwendig.
Meine Vorstellung war es, ein Scipt zu haben welches die Verzeichnisse durchsucht und automatisch Playlisten erzeugt.
Das anliegende Script macht genau dies.
Unter /pub/mp3 werden alle Verzeichnisse nach mp3 Dateien durchsucht. Wenn mehr als eine mp3 Datei in einem Verzeichnis enthalten ist, werden diese Dateien in eine m3u Liste unter /pub/mp3 zusammengefasst. Die m3u Datei erhält dabei den Namen des Verzeichnisses, in dem die mp3 Dateien gefunden wurden.
Dieses Script könnte man dann in die commands.conf eintragen und via OSD starten.
Das ist jetzt, im Vergleich zu den ganzen Plugins hier, bei weitem nicht besonderes, aber viellecht kann der eine oder andere ja was damit anfangen.
#!/bin/sh
## (c) 2005 by darkstar and data
## Parameter list
#################
INPUT_DIR="/pub/mp3"
OUTPUT_DIR="/pub/mp3"
FILE_TYPE="mp3"
## Program text
###############
check_params() {
if [ ! -d "${INPUT_DIR}" ]
then
echo "Error: INPUT_DIR $INPUT_DIR does not exist! (1)"
exit 1
fi
if [ ! -d "${OUTPUT_DIR}" ]
then
echo "Error: OUTPUT_DIR $OUTPUT_DIR does not exist! (1)"
exit 1
fi
}
filter() {
path_list=`find . -type f -name "*.${FILE_TYPE}" -exec dirname {} \; | \
sed -e 's/ /__BLANK__/g' | \
tr ' ' '\n'`
unique_path_list=`echo ${path_list} | tr ' ' '\n' | sort -u`
for i in ${unique_path_list}
do
if [ `echo ${path_list} | tr ' ' '\n' | fgrep -c ${i}` -gt 1 ]
then
real_path_list="${real_path_list}${delm}${i}"
delm=" "
fi
done
}
get_contents() {
for filedir in ${real_path_list}
do
filedir=`echo ${filedir} | sed -e 's/__BLANK__/ /g'`
find "${filedir}" -type f -name "*.${FILE_TYPE}" > ${OUTPUT_DIR}/`basename "${filedir}"`.m3u
done
}
main() {
wd=`pwd`
cd $INPUT_DIR
filter
get_contents
cd $wd
}
#set -x
check_params
main
chmod 744 ${OUTPUT_DIR}/*.m3u
chown linvdr ${OUTPUT_DIR}/*.m3u
Alles anzeigen
Bis dann
data