ocarina/tests/library/gen_library.sh

87 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
#
# Copyright 2013 (c) Anna Schumaker.
#
# Generate a test library in /tmp
#
declare -A genres
genres["Album 0"]=Test
genres["Album 1"]=Trial
genres["Album 2"]=Tryout
declare -A dates
dates["Album 0"]=2011
dates["Album 1"]=2012
dates["Album 2"]=2013
#
# gen_tracks() $library $artist $album
#
function gen_tracks()
{
library="library/$1"
artist="Artist $2"
album="Album $3"
mkdir -p "/tmp/$library/$artist/$album"
for i in $(seq 10); do
track="Track $i"
let remainder=$i%4
out="/tmp/$library/$artist/$album/$i - $track.ogg"
if [ -f "$out" ]; then
continue
fi
case $remainder in
0) OGG="1.ogg" ;;
1) OGG="10.ogg" ;;
2) OGG="60.ogg" ;;
3) OGG="600.ogg" ;;
esac
vorbiscomment -a -q -t "ARTIST=$artist" -t "ALBUM=$album" \
-t "GENRE=${genres[$album]}" -t "DATE=${dates[$album]}" \
-t "TRACKNUMBER=$i" -t "TITLE=$track" "tests/library/$OGG" \
"/tmp/$library/$artist/$album/$i - $track.ogg"
done
}
#
# gen_albums() $library $artist
#
function gen_albums()
{
for i in $(seq 0 2); do
gen_tracks $1 $2 $i
done
}
#
# gen_artists() $library
#
function gen_artists()
{
let begin=$1*5
let end=$begin+4
for i in $(seq $begin $end); do
gen_albums $1 $i
done
}
for i in $(seq 0 4); do
echo "Generating library: $i"
gen_artists $i
done
touch /tmp/library/file
##
# Set up legacy library files
#
mkdir -p $HOME/.ocarina-test/library/
cp tests/library/0 tests/library/1 tests/library/2 tests/library/3 $HOME/.ocarina-test/library/