#!/bin/sh
set -ex

PARAM=$1
CONF=~/.lineak/mixer.conf
MIXER="amixer set Master"
VERSION="0.1"

# get the vol
Get_Vol()
{
	return `amixer get Master | tail -n 1 | cut -d '[' -f2 | cut -d '%' -f1`
}

# set the vol
Set_Vol()
{
	${MIXER} $1
	${MIXER} unmute
}


Get_Vol
NEW_VOL=$?
OLD_VOL=0


# read old values
if [ -r ${CONF} ]; then
	. ${CONF}
fi


# help
if [ "${PARAM}" == "-h" ]; then
	echo -e "$0 - Mixer for lineak"
	echo -e "Version ${VERSION}"
	echo -e "-m\t to mute"
	echo -e "-i\t to inc."
	echo -e "-d\t to dec."
	
	exit 1



# mute och unmute
elif [ "${PARAM}" == "-m" ]; then
	if [ ${NEW_VOL} -eq 0 ]; then
		SetVol ${OLD_VOL} 
		#amixer set Master ${OLD_VOL}%
		#amixer set Master unmute
	else
		SetVol 0
		#amixer set Master 0%
	fi

# öka volymen med 5%
elif [ "${PARAM}" == "-i" ]; then
	if [ ${NEW_VOL} -ge 95 ]; then
		SetVol 100
		#amixer set Master 100%
	else
		SetVol `echo "${NEW_VOL}+5" | bc`
		#amixer set Master 
	fi


# minska volymen med 5%
elif [ "${PARAM}" == "-d" ]; then
	if [ ${NEW_VOL} -le 4 ]; then
		SetVol 0
		#amixer set Master 0%
	else
		SetVol `echo "${NEW_VOL}+5" | bc`
		#amixer set Master  
	fi


# övriga
else
	exit 1
fi


# spara gamal data
Get_Vol
OLD_VAL=$?
cat > $CONF << EOF 
CONF=${CONF}
OLD_VAL=${OLD_VAL}
EOF

