}
+ReadFlacToOggTags()
+{
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUFILE="$2"
+ local readonly COVERFILE="${INPUTFILE%/*}/cover.txt"
+
+ metaflac --export-tags-to=- $INPUTFILE \
+ | vorbiscomment --commentfile - --write $OUTPUTFILE
+ if [ -f $COVERFILE ]; then
+ echo "METADATA_BLOCK_PICTURE=$(base64 --wrap 0 $COVERFILE)" \
+ | vorbiscomment --commentfile - --raw --append $OUTPUTFILE
+ fi
+}
+
+EncodingFlacToOgg()
+{
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUTFILE="$2"
+
+ # stream flac into the ogg vorbis
+ nice --adjustment=10 flac --silent --stdout --decode "$INPUTFILE" \
+ | nice --adjustment=15 oggenc --quiet --quality 6 \
+ --output "$OUTPUTFILE" -
+}
+
+FlacToVorbis()
+{
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUTFILE="${INPUTFILE[@]/%flac/ogg}"
+
+ EncodingFlacToOgg "$INPUTFILE" "$OUTPUTFILE"
+ ReadFlacToOggTags "$INPUTFILE" "$OUTPUTFILE"
+}
+
ConvertFlacToOgg()
{
local readonly workdir="$1"
local readonly paralleopts="$2"
local readonly scriptdir="$3"
+ export -f FlacToVorbis
+ export -f ReadFlacToOggTags
+ export -f EncodingFlacToOgg
find $workdir -name '*.flac' \
| sort \
| parallel --will-cite --ungroup --eta --progress \
- --sshlogin $parallelopts $scriptdir/flactovorbis {}
+ --sshlogin $parallelopts FlacToVorbis {}
}
ConvertCoverToMeta()
+++ /dev/null
-#!/bin/bash
-
-ReadFlacToOggTags()
-{
- local readonly INPUTFILE="$1"
- local readonly OUTPUFILE="$2"
- local readonly COVERFILE="${INPUTFILE%/*}/cover.txt"
-
- metaflac --export-tags-to=- $INPUTFILE \
- | vorbiscomment --commentfile - --write $OUTPUTFILE
- if [ -f $COVERFILE ]; then
- echo "METADATA_BLOCK_PICTURE=$(base64 --wrap 0 $COVERFILE)" \
- | vorbiscomment --commentfile - --raw --append $OUTPUTFILE
- fi
-}
-
-EncodingFlacToOgg()
-{
- local readonly INPUTFILE="$1"
- local readonly OUTPUTFILE="$2"
-
- # stream flac into the ogg vorbis
- nice --adjustment=10 flac --silent --stdout --decode "$INPUTFILE" \
- | nice --adjustment=15 oggenc --quiet --quality 6 \
- --output "$OUTPUTFILE" -
-}
-
-main()
-{
- local readonly INPUTFILE="$1"
- local readonly OUTPUTFILE="${INPUTFILE[@]/%flac/ogg}"
-
- EncodingFlacToOgg "$INPUTFILE" "$OUTPUTFILE"
- ReadFlacToOggTags "$INPUTFILE" "$OUTPUTFILE"
-}
-
-main "$1"
-exit 0