#!/bin/sh
#$Revision: 1.6 $
LOCALMOUNT=/mnt/phatdata
REMOTEMOUNT=/dos/data
MP3DIR=mp3
PLSDIR=profiles/default/p
plsname="Converted Playlist"
inplsfile=
plsnum=0
overwrite=false
append=false
while getopts af:hn:p:o opt
do
  case $opt in
    n) plsname=$OPTARG;;
    h) echo $0 Usage: 
       echo "  -f <pls/m3u file>"
       echo "  -n <Playlist name>"
       echo "  -p <Playlist Number>"
       echo "  -o overwrite existing playlist"
       echo "  -a append existing playlist"
       exit
       ;;
    f) inplsfile=$OPTARG;;
    p) plsnum=$OPTARG;;
    o) overwrite=true;;
    a) append=true;;
    *)
       echo Invalid Option
       ;;
  esac;
done
[ ! -d $LOCALMOUNT/$MP3DIR ] && [ ! -d $LOCALMOUNT/$PLSDIR ] && echo "Cartridge not mounted ($LOCALMOUNT)" && exit
[ $plsnum == "0" ] && echo "Need Playlist Number (see -h)" && exit
plsfile=$LOCALMOUNT/$PLSDIR$plsnum.m3u
! $overwrite && [ -e $plsfile ] && ! $append && echo Playlist exists, use -o to overwrite && exit
! $append && > $plsfile
echo -e '[Disc]\nplaylist_type=default' > $LOCALMOUNT/$PLSDIR$plsnum.pbx
echo playlist_title=$plsname >> $LOCALMOUNT/$PLSDIR$plsnum.pbx
cat $inplsfile
cat $inplsfile | \
( while read a
  do
    echo $a
    a=`echo $a | cat -v | sed 's/\^M$//' | cut -d = -f 2-`
    fn=`basename "$a"`
    case $a in
      /*)
        [ ! -e "$LOCALMOUNT/$MP3DIR/$fn" ] && cp -v "$a" "$LOCALMOUNT/$MP3DIR/$fn"
	echo '#'$fn | sed 's/\..*//' >> $plsfile
        echo $REMOTEMOUNT/$MP3DIR/$fn >> $plsfile
        ;;
      http*)
        [ ! -e "$LOCALMOUNT/$MP3DIR/$fn" ] && wget -O "$LOCALMOUNT/$MP3DIR/$fn" "$a"
	echo '#'$fn | sed 's/\..*//' >> $plsfile
        echo $REMOTEMOUNT/$MP3DIR/$fn >> $plsfile
        ;;
      *)
        #echo Unknown location $a
        ;;
    esac
  done
)

`dirname $0`/setmodification
