#!/bin/bash
# usage:
#   gpsbabel-batch type "files" input-type output-extension output-type options
#
# Automatisch viele Dateien per GPSBabel konvertieren
#
# Beispiel:
#   gpsbabel-batch "-t" "*.ovl" overlay kml "kml,points=0,line_color=ff0000ff" "-x transform,trk=wpt,del"
#   Alle OVL-Dateien im Verzeichnis nach GoogleEarth KML konvertieren
#
#   d.h. alle OVL-Tracks *.ovl mit bestimmten KML-Optionen 
#   und einer Transformations-Option (Waypoints in einen Track umwandeln)
#   automatisch konvertieren
#
# "files" auch mit Wildcard, z.B. "*.ovl" 
# (Anfhrungszeichen nicht vergessen, wenn Sonderzeichen wie * oder - vorkommen)
#
# Gpsbabel-Typ Waypoint/Track/Route: -w -t -r oder Kombinationen "-w -t"
# input/output-Typ: -i und -o Angaben fr GPSBabel, Formatangabe
# output-extension: Dateiendung der konvertierten Dateien, z.B. kml (ohne Anfhrungszeichen!)
# options: verschiedene Optionen/Filteroptionen die in GPSBabel mglich sind
#
# Mglichkeiten fr Typ- und Optionsangaben sind hier dokumentiert: www.gpsbabel.org

if [ $# -ne 6 ]; then
  echo 'Syntax:   gpsbabel-batch type "files" input-type output-extension output-type options'
  echo 'Beispiel: gpsbabel-batch -t "*.ovl" overlay kml "kml,points=0,line_color=ff0000ff" "-x transform,trk=wpt,del"'
  exit
fi

hash gpsbabel

type=$1
wildcard=$2
input=$3
outputext=$4
output=$5
options=$6

for name in $wildcard; do
	base=${name%.*}
	gpsbabel $type -i $input -f "$name" $options -o $output -F "$base.$outputext"
done
