#! /bin/bash
TAGDIR="$1"
declare -a albumArray
declare -a artistArray
declare -a yearArray
let num=0
##first, test for subdirectories and fail if they are detected
if `ls $TAGDIR/*/ > /dev/null 2>&1`; then
echo "Subdirectories detected! If this is a multi-disc album, you must create it manually."
exit 1
fi
FILE=$( find $TAGDIR -iname *.flac | head -n 1 )
EXT=$( echo ${FILE##*/*.} )
##now, read the album tags for each file into an array element
for i in `metaflac --show-tag=album "$TAGDIR"/*.$EXT | sed -e 's/.*ALBUM/ALBUM/g' -e 's/ /,#,#,#/g'`; do
albumArray[$num]=$i
((num++))
done
##now, make sure each element in the array is the same, and fail if they aren't.
num=0
while [ "$num" -lt "$((${#albumArray[@]}-1))" ]; do
if [ "${albumArray[num]}" != "${albumArray[num+1]}" ]; then
echo "Files have different values for albums. Sorry, upload manually or fix your tags"
exit 1
fi
((num++))
done
##set album variable and fail if there is no album value
ALBUM=`echo ${albumArray[0]} | sed -e 's/,#,#,#/ /g' -e 's/ALBUM=\(.*\)/\1/g'`
if [[ "a$ALBUM" = "a" ]]; then
echo "No album detected. Tag your files properly!"
exit 1
fi
##now read artist information
num=0
for i in `metaflac --show-tag=artist "$TAGDIR"/*.$EXT | sed -e 's/.*ARTIST/ARTIST/g' -e 's/ /,#,#,#/g'`; do
artistArray[$num]=$i
((num++))
done
##now check to make sure artist information is the same
num=0
while [ "$num" -lt "$((${#artistArray[@]}-1))" ]; do
if [ "${artistArray[num]}" != "${artistArray[num+1]}" ]; then
if [[ "${artistArray[num]}" = "ARTIST=" ]]; then
echo "No value for Artist detected, tag your album properly!"
exit 1
fi
ARTIST="Various Artists"
break
else
ARTIST=`echo ${artistArray[0]} | sed -e 's/,#,#,#/ /g' -e 's/ARTIST=\(.*\)/\1/g'`
fi
((num++))
done
##now, read the year tags for each file into an array element
num=0
for i in `metaflac --show-tag=date "$TAGDIR"/*.$EXT | sed -e 's/.*DATE/DATE/g' -e 's/ /,#,#,#/g'`; do
yearArray[$num]=$i
((num++))
done
##now, make sure each element in the array is the same, and fail if they aren't.
num=0
while [ "$num" -lt "$((${#yearArray[@]}-1))" ]; do
if [ "${yearArray[num]}" != "${yearArray[num+1]}" ]; then
echo "Files have different values for years. Sorry, upload manually or fix your tags"
exit 1
fi
((num++))
done
##set year variable and fail if there is no value
YEAR=`echo ${yearArray[0]} | sed -e 's/,#,#,#/ /g' -e 's/DATE=\(.*\)/\1/g'`
if [[ "a$YEAR" = "a" ]]; then
echo "No year detected. Tag your files properly!"
exit 1
fi
FORMAT="FLAC"
BITRATE="Lossless"
mktorrent --a google.com -p --output=/home/oorza/Desktop/torrent.torrent $TAGDIR