Makefile: add pickrand
[cmccabe-bin] / albumize.sh
1 #!/usr/bin/env bash
2
3 die() {
4     echo $@
5     exit 1
6 }
7
8 DIR="${1}"
9 [ x"${DIR}" == x ] && die "You must supply a directory to albumize"
10
11 # Check for invalid files
12 find "$DIR" -not -name '*.mp4' | while read $FILE; do
13     die "Found invalid file $FILE"
14 done
15
16 # Convert files to mp3
17 for FILE in "${DIR}"/*.mp4; do
18     mp4-to-mp3.sh "${FILE}" || die "mp4-to-mp3.sh ${FILE} failed"
19     BASE="$(dirname "${FILE}")/$(basename "${FILE}" .mp4)"
20     mv -f "${BASE}.mp4.mp3" "${BASE}.mp3" || \
21         die "failed to rename ${BASE}.mp4.mp3 to ${BASE}.mp3"
22 done
23
24 NUM_MP3=$(find "$DIR" -type f -name '*.mp3' | wc -l)
25 NUM_NON_MP3=$(find "$DIR" -type f -not -name '*.mp3' | wc -l)
26 [ $NUM_MP3 -eq $NUM_NON_MP3 ] || die "found $NUM_MP3 mp3s, \
27 but $NUM_NON_MP3 non-mp3 files."
28
29 # Remove non-mp3 files
30 rm "${DIR}/"*.mp4
31
32 # Add id3 labels to files
33 tagger.py "${DIR}"