#!/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