#!/bin/bash
#
#Beschreibung: fügt Dateien einer m3u-Playlist hinzu
#
#benötigt: /usr/bin/zenity
#
#Aufruf: mkm3u Datei [Datei] ...
#
#Hinweise und Fehler an tuxator@tuxator.de 
#
#Status: ok
###################################################################
#Variablen
retval=0
if [[ ${1} ]]; then
	if [[ -e /usr/bin/zenity ]]; then
		#Dateiauswahldialog zum Auswählen/Erstellen der Playlist
		m3uname=$(zenity --file-selection --save --file-filter=*m3u)
		#wenn keine Datei ausgewählt dann Fehler - Abbruch
		if [[ ! ${m3uname} ]]; then
			retval=2
		fi
		if (( ${retval} == 0 )); then
			#wenn Endung nicht vorhanden setze Endung
			m3uname=$(dirname ${m3uname})"/"$(basename ${m3uname} .m3u).m3u
			#existiert Datei?
			if [[ ! -f ${m3uname} ]]; then
				#nein - dann anlegen
				touch ${m3uname}
			fi
			#Liste der Argumente durchlaufen
			for arg in ${@}; do
				#Datei an Playlist anfügen
				echo ${arg} >> ${m3uname}
				#relativer Pfad in Bezug zur Playlist
				replace=$(dirname ${m3uname})
				sed -i -e "s#${replace}/##g" ${m3uname}
			done
		fi
	else
	#zenity nicht vorhanden
	retval=3
	fi
else
#keine Datei übergeben
retval=1
fi
###################################################################
#Fehlerbehandlung
case ${retval} in
	1)
	echo "${0}: keine Datei übergeben"
	;;
	2)
	echo "${0}: keine Wiedergabeliste ausgewählt"
	;;
	3)
	echo "${0}: Ausführung nicht möglich. zenity nicht gefunden."
	;;
esac
###################################################################
exit ${retval}
