#!/bin/sh
#This is a script for Velocity by Kyle Davis
#NOTE:  we use echo -en for things that go to Velocity to avoid a blank line in our context menus

#Variables:
wav="audio/x-riff"
wavnew="audio/x-wav"
ogg="application/x-ogg"

version="1.3"
name="Convert to MP3"
authors="Kyle Davis"
about="This script will attempt to convert a normal audio file to an MP3 file"
mimetypes="$wav,$wavnew,$ogg"
dependancies="lame,ogg123"
needterm="yes"
multiplefiles="yes"
localonly="yes"

case $1 in
	--get-info)
		#DO NOT CHANGE THIS LINE, THIS IS THE VELOCITY SCRIPT CONFIG FORMAT
		echo -en "$version\n$name\n$authors\n$about\n$mimetypes\n$dependancies\n$needterm\n$multiplefiles\n$localonly"
		;;
	--execute)
		shift;windowx=$1
		shift;windowy=$1
		shift;windowwidth=$1
		shift;windowheight=$1
		shift;location=$1
		shift;dep1=$1
		shift;dep2=$1

		#Setup temp file
		tmpfile=`mktemp /tmp/audio-to-mp3-XXXXXX`

		#Setup the encoder command
		#TODO:  add more encoders...
		case $dep1 in
			*)
				encoder=$dep1
				;;
		esac

		#Setup the decoder command
		#TODO:  add more decoders...
		case $dep2 in
			*)
				decoder="$dep2 -d wav -o file:$tmpfile"
		esac

		cd "$location"
		while [ $# != 0 ]; do
			shift;file=$1
			shift;mimetype=$1
			echo -en "FILE: $file\nTYPE: $mimetype\n"
			case $mimetype in
				$wav|$wavnew)
					newfile=`basename "$file" .wav`.mp3
					$encoder "$file" "$newfile"
					;;
				$ogg)
					newfile=`basename "$file" .ogg`.mp3
					$decoder "$file"
					$encoder "$tmpfile" "$newfile"
					rm "$tmpfile" &>/dev/null
					;;
			esac
		done
		rm $tmpfile &>/dev/null
		cd -
		;;
	*)
		echo "This should only be used by Velocity."
		;;
esac
