#!/bin/sh
#$Revision: 1.9 $
LOCALMOUNT=/mnt/phatdata
REMOTEMOUNT=/dos/data
MP3DIR=mp3
PLSDIR=profiles/default

olddir=$PWD

catall() {
  if ls $LOCALMOUNT/$PLSDIR/*.sh 2>/dev/null | grep . &>/dev/null
  then
    cat $(ls $LOCALMOUNT/$PLSDIR/*.m3u | egrep -v "$(ls $LOCALMOUNT/$PLSDIR/*.sh | tr '\n' '|' | sed 's/|$//' | sed 's/sh/m3u/')")
  else
    cat $LOCALMOUNT/$PLSDIR/*.m3u
  fi
}

[ ! -e "$LOCALMOUNT/$PLSDIR" ] && echo "Not Mounted" && exit 1

for f in $LOCALMOUNT/$PLSDIR/*.sh; do
  [ -e $f ] && cd $LOCALMOUNT/$PLSDIR && sh $f > $(basename $f | sed 's/sh/m3u/')
done

cat $LOCALMOUNT/$PLSDIR/*m3u | grep -v ^'#' | (while read a
do
  local=`echo $a | sed "s#$REMOTEMOUNT#$LOCALMOUNT#"`
  if ! [ -e "$local" ]; then echo $a not found; fi
done)

catall | grep -v ^'#' | tr [A-Z] [a-z] | sort | uniq -c | grep '^ *[2-9]'
catall | grep -v ^'#' | tr [A-Z] [a-z] | tr -d " " | sort | uniq -c | grep '^ *[2-9]'
catall | grep -v ^'#' | tr [A-Z] [a-z] | sort | uniq > /tmp/plsfiles

find $LOCALMOUNT -type f -iname '*.mp3' | sed "s#$LOCALMOUNT#$REMOTEMOUNT#" | tr [A-Z] [a-z] | grep -v /tts/ | sort | uniq > /tmp/diskfiles
diff /tmp/diskfiles /tmp/plsfiles
catall | grep -v ^'#' | tr [A-Z] [a-z] | tr -d " " | sort | uniq > /tmp/plsfiles
find $LOCALMOUNT -type f -iname '*.mp3' | sed "s#$LOCALMOUNT#$REMOTEMOUNT#" | tr [A-Z] [a-z] | grep -v /tts/ | tr -d " " | sort | uniq > /tmp/diskfiles
diff /tmp/diskfiles /tmp/plsfiles
for i in $(seq 0 $(cd $LOCALMOUNT/$PLSDIR && ls *.m3u | sed 's/p\(.*\).m3u/\1/' | sort -n | tail -1))
do 
  if [ -s $LOCALMOUNT/$PLSDIR/p$i.m3u ]; then
    echo -en `cat $LOCALMOUNT/$PLSDIR/p$i.m3u | grep -v '^#' | wc -l`"\t"
    echo `cat $LOCALMOUNT/$PLSDIR/p$i.pbx | grep title | sed 's/playlist_title=//'`
  fi
done

find $LOCALMOUNT/profiles -name '*.m3u' |(while read a
do
  pbx=`echo $a | sed 's/m3u/pbx/'`
  if [ -e $pbx ] && [ -s $a ]
  then
    tracks=`cat $a | grep -cv '^#'`
    cat $pbx | grep -v num_tracks > /tmp/pbx.$$
    echo num_tracks=$tracks >> /tmp/pbx.$$
    cp /tmp/pbx.$$ $pbx
    rm -f /tmp/pbx.$$
  fi
done
)

cd $olddir

for f in `find $LOCALMOUNT/profiles/ -type d -maxdepth 1 -mindepth 1`
do
  discs=`ls $f/*.m3u | xargs -n 1 basename | sed 's/\..*//' | tr -d .[a-z][A-Z] | sort -n | tail -1`
  discs=$[$discs+1]
  echo $discs Discs
  cat $LOCALMOUNT/profiles/Profiles.ini | `dirname $0`/fixdiscs.pl `basename $f`  $discs > /tmp/profiles.ini.$$
  mv /tmp/profiles.ini.$$ $LOCALMOUNT/profiles/Profiles.ini
  (for i in `seq 0 $[$discs-1]`
  do
    cat $f/p$i.pbx | grep num_tracks | cut -d '=' -f 2
  done) | ( cd $f && $olddir/write_num_tracks)
done

cd $olddir

`dirname $0`/setmodification
