#!/bin/bash

function credits(){
touch ~/creditos
echo -e " ***********************************************************************   \n  
           Calculadora para el distanciado de trastes en instrumentos de cuerda.    \n
           Las medidas para el tiro se dan en milímetros.                            \n
	   La fórmula de cálculo está basada en la Regla del 18 (17.817)            \n
                                                                                    \n
   	     		kir@sdf-eu.org 2011                    \n
          ***********************************************************************   \n     " > ~/creditos
INPUT=~/creditos
while IFS= read -r -n1 char
do
echo -n "$char"
beep -f 220 -l 10
done < "$INPUT"
rm "$INPUT"
exit 0
}

function ayuda(){

if which dialog >/dev/null; then
dialog --title "$(basename ${0})" --msgbox "\\nCalcula la distancia desde la cejuela hasta los trastes para cualquier tiro según la regla del 18.
Se pasan como parámetros el tiro en milímetros y el número de trastes.\\n 
\\nUso:
\\n $(basename ${0}) Tiro Trastes \\n
\\nEjemplo: 
\\n $(basename ${0}) 650 21" 17 50
exit 0
fi
	echo
	 echo -e "Calcula la distancia desde la cejuela hasta los trastes para cualquier tiro
según la regla del 18.
Se pasan como parámetros el tiro en milímetros y el número de trastes. "
echo
	 echo -e "Uso:
  $(basename ${0}) Tiro Trastes"
	 echo -e "Ejemplo: "
	 echo -e "  $(basename ${0}) 650 21 "
		 
exit 0
	
}
 

function calculos(){
if [ -f /tmp/out_txt ]; then
rm /tmp/out_txt
fi

 distance=0
  for i in $(seq $num_frets)
do
    localizacion=`echo "scale=3;$tiro-$distance" | bc -l`
    scaling_factor=`echo "scale=3;$localizacion/$divisor" | bc -l`
    distance=`echo "scale=3;$distance+$scaling_factor" | bc -l`
    distancia_puente=`echo "scale=3;$tiro-$distance" | bc -l`	

echo "$i ............ $distance ......... $distancia_puente " >> /tmp/out_txt 
done
salida_txt=`cat /tmp/out_txt`

if which dialog >/dev/null; then
dialog --backtitle "Tiro $tiro mm"  --title "Traste        Dist. Cej.      Dist. Puente " --msgbox " $salida_txt " 50 50
exit 0
fi
cat /tmp/out_txt


}
if [ "$1" = "-h" ]; then
credits
fi 

if [ $# -lt 1 ]; then
ayuda
fi

divisor=17.817
tiro=$1
num_frets=$2
echo
echo "Traste         Distancia       Distancia"
echo "               a  la cej.      al puente"
echo "----------------------------------------"
calculos $*