#!/bin/bash
# movie2mp3  extrahiert den mp3 Anteil aus einem Film
#
# Installieren:
# Kopieren nach /usr/bin/movie2mp3
# chmod +xs /usr/bin/movie2mp3
#
# Benötigte Programme,  ffmpeg  mp3info
#(http://wiki.ubuntuusers.de/ffmpeg)


vers="Juni 2010"



if [ -f "$1" ]; then
	cmd=domp3
	else
	cmd=nomovie
fi

if [ -z "$2" ]; then
	cmd=nomp3
fi

if [ "$1" == "help" ]; then
        cmd=help
fi

if [ "$1" == "ff" ]; then
	cmd=fuel_folder
fi


if [ "$cmd" != "nomovie" ]&&[ "$cmd" != "nomp3" ]&&[ "$cmd" != "help" ];then 
echo
echo
echo "                   Bitrate wählen für mp3"
echo "------------------------------------------------------------"
echo 
echo "    1 kleinere Qualität   <-------->   10 gute Qualität"
echo
echo "  		1.	64kBit/s "
echo "  		2.	80kBit/s "	
echo "  		3.	96kBit/s "
echo "  		4.     128kBit/s "
echo "  		5.     144kBit/s "
echo "  		6.     160kBit/s "
echo "  		7.     176kBit/s "
echo "  		8.     192kBit/s "	
echo "  		9.     224kBit/s "
echo "		10.    256kBit/s "
echo
echo
echo
echo "  Standardwert ist 192kbit/s: Ohne Eingabe bleibt 192kbit!"
echo
echo -n "  Ihre Wahl? ";read b
echo

if [ -n "$b" ];then
if  [ $b -ge 1 ] && [ $b -le 10 ];then
 	case "$b" in
		1)
		ab="64k"
		;;	
		2)	
		ab="80k"
		;;
		3)
		ab="96k"
		;;
		4)
		ab="128k"
		;;
		5)
		ab="144k"
		;;
		6)
		ab="160k"
		;;
		7)
		ab="176k"
		;;
		8)
		ab="192k"
		;;
		9)
		ab="224k"
		;;
		10)
		ab="256k"
		;;	
	esac

else
ab="192k"
fi
else
ab="192k"
fi
fi

case "$cmd" in

domp3)	
	ffmpeg -i "$1" -ab "$ab" "$2".mp3
	if [ -z "$3" ]; then
		mp3info -a "$2" "$2".mp3
	else
		mp3info -a "$3" "$2".mp3
	fi
	;;
fuel_folder)
        count=0
	countall=0
	pwd0=`pwd`
	
	mkdir -p movie2output_mp3

	if [ -z "$2" ]; then
		format=*.*
	else
		format=*.$2
	fi
	countall=`ls $format | wc -l`
	for file in  $format; do
		
		if [ -d "$file" ]; then
			echo
			echo
			echo  -n Nichts zu tun für Ordner "$pwd0"/"$file";
			echo
		else
			if [ -e "$file" ]; then
			count=$[$count+1]
			echo 
			echo 
			echo -n Bearbeite "$count" von "$countall" Dateien: "$pwd0"/"$file";
			echo
			echo
			output=`echo "$file" | sed s/\.[^\.]*$//`


			ffmpeg -i "$file" -ab "$ab" movie2output_mp3/"$output".mp3
			mp3info -a "$output" movie2output_mp3/"$output".mp3


			echo 
			echo 			
			echo -n " ""$count". Decodierte Datei gespeichert in "$pwd0"/movie2output_mp3/"$output".mp3
			echo
			fi
			fi
	done
	;;



nomovie)	
	echo	
	echo " Keinen gültigen Film angegeben"
	echo " movie2mp3 help"
	echo	
	;;

nomp3)
	echo
	echo " Keine MP3 Zieldatei angegeben"
	echo " movie2mp3 help"
	echo	
	;;

help)
	echo
	echo "			Hilfe zu movie2mp3 ""$vers"
	echo "========================================================================="
	echo " movie2mp3  QuellFilmdatei  Zielmp3datei ID3Tag"
	echo 
	echo " Zielmp3datei:  	kein .mp3 angeben, wird automatisch angehängt."
	echo
	echo " ID3Tag:		Darf keine Leerzeichen haben, Unterlinie benützen,"	
	echo "			oder ID3Tag mit  \"Song mit Leerzeichen\" in" 
	echo "			Anführungzeichen setzen !"
	echo	
	echo " ID3Tag bei Stapelanwenung wird einfach der Dateinamen ohne Endung eingesetzt."
	echo
	echo
	echo " Stapelanwendung:"
	echo " movie2mp3 ff format"
	echo " Wandelt alle filme des Ordners nach Unterordner movie2output_mp3."
	echo " format kann leer bleiben, oder als Filter, welche gewandelt werden sollen nach mp3."	
	echo
	echo " Benötige Programme: Haben Sie ffmpeg und mp3info installiert?"
	echo	
	;;

esac
