#!/bin/sh
#FIXME:Replacements file
# The implementation of mp3-book creation process
# Michael Pozhidaev <msp@altlinux.org>

# You can freely modify these three parameters:
RATE=1.4
MAXSIZE=9600000
BITRATE=128

TMPFILE=.mp3-book
PARTFILE=.mp3-book-current-part

[ -r "$PARTFILE" ] || exit 1
PARTNUM="$(cat "$PARTFILE")"

if [ "$1" == '--final' ]; then
    if [ "$PARTNUM" -lt 10 ]; then
	PARTNUM="0$PARTNUM"
    fi
    sox -t raw  -r 16000 -s -c 1 -b 16 "$TMPFILE" -t wav "$TMPFILE.wav"
    lame -b "$BITRATE" "$TMPFILE.wav" "$PARTNUM.mp3" &> /dev/null
    /bin/rm -f "$TMPFILE" "$TMPFILE.wav" "$PARTFILE"
    exit 0
fi

if [ -e "$TMPFILE" ]; then
    SIZE="$(wc -c "$TMPFILE" | cut -f1 -d' ')"
    if [ "$SIZE" -gt "$MAXSIZE" ]; then
	FILENAME="$PARTNUM"
	if [ "$FILENAME" -lt 10 ]; then
	    FILENAME="0$FILENAME"
	fi
	FILENAME="$FILENAME.mp3"
	sox -t raw  -r 16000 -s -c 1 -b 16 "$TMPFILE" -t wav "$TMPFILE.wav"
	lame -b "$BITRATE" "$TMPFILE.wav" "$FILENAME" &> /dev/null
	/bin/rm -f "$TMPFILE" "$TMPFILE.wav"
	let PARTNUM=$PARTNUM+1
	echo "$PARTNUM" > "$PARTFILE"
    fi
fi

dd if=/dev/zero bs=1000 count=8 2> /dev/null >> "$TMPFILE"
exec RHVoice -r "$RATE" | sox -t wav - -t raw -r 16000 -s -c 1 -b 16 - 2> /dev/null >> "$TMPFILE"
