diff options
Diffstat (limited to 'media-radio/rivendell/files/rivendell-sox-14.patch')
-rw-r--r-- | media-radio/rivendell/files/rivendell-sox-14.patch | 404 |
1 files changed, 404 insertions, 0 deletions
diff --git a/media-radio/rivendell/files/rivendell-sox-14.patch b/media-radio/rivendell/files/rivendell-sox-14.patch new file mode 100644 index 000000000..87caa3ffc --- /dev/null +++ b/media-radio/rivendell/files/rivendell-sox-14.patch @@ -0,0 +1,404 @@ +# This patches three scripts to fix some sox version campatability issues and cut down +# audio conversion times. Some features are not fully functional but upstream will receive a +# submission, and will hopefully support sox's improved capabilities. + +diff -urN rivendell-1.2.1/scripts/rd_export_file rivendell-1.2.1.new/scripts/rd_export_file +--- rivendell-1.2.1/scripts/rd_export_file 2008-09-18 13:02:16.000000000 -0600 ++++ rivendell-1.2.1.new/scripts/rd_export_file 2009-01-14 22:18:51.000000000 -0600 +@@ -79,13 +79,6 @@ + CUSTOM_CMD=${13} + + # +-# Resampling Flag +-# +-if [ $SAMPRATE_IN != $SAMPRATE_OUT ] ; then +- RESAMPLE_FLAG="resample -q" +-fi +- +-# + # MPEG Stuff + # + if [ $CHANS_OUT = 1 ] ; then +@@ -121,22 +114,16 @@ + mpg321 -q -w $WORK $FILE_IN + fi + +-# +-# Get Peak Level +-# ++SOX_OPTIONS="$FILE_IN -r $SAMPRATE_OUT -c $CHANS_OUT" + if [ $NORMAL_LEVEL != 0 ] ; then +- PEAK_LEVEL=`sox $WORK -e stat -v 2>&1 | grep -v ^sox` ++ PEAK_LEVEL=`sox $WORK -n stat -v 2>&1` + SCALE=`echo "$NORMAL_LEVEL * $PEAK_LEVEL" | bc -l` +- if [ "$SCALE" == "1.00000000000000000000" ]; then +- SCALE="1" +- fi +- SOX_SCALE="-v $SCALE" +- chmod 644 $WORK ++ NORM_FLAG="norm vol $NORMAL_LEVEL" + fi + + case "$FORMAT_OUT" in + 0) # PCM16 +- sox $SOX_SCALE $WORK -r $SAMPRATE_OUT -c $CHANS_OUT "$FILE_OUT" $RESAMPLE_FLAG ++ sox $SOX_OPTIONS "$FILE_OUT" $NORM_FLAG + ;; + + 1) # MPEG Layer 1 +@@ -144,32 +131,26 @@ + ;; + + 2) # Mpeg Layer 2 +- sox $SOX_SCALE $WORK -r $SAMPRATE_OUT -c $CHANS_OUT -t wav - $RESAMPLE_FLAG | toolame -t 0 -s $TOOLAME_SAMPRATE -m $MPEG_MODE -b $BITRATE_OUT /dev/stdin "$FILE_OUT" ++ sox $SOX_OPTIONS -t wav $NORM_FLAG | toolame -t 0 -s $TOOLAME_SAMPRATE -m $MPEG_MODE -b $BITRATE_OUT /dev/stdin "$FILE_OUT" + ;; + + 3) # MPEG Layer 3 +- sox $SOX_SCALE $WORK -r $SAMPRATE_OUT -c $CHANS_OUT -t raw - $RESAMPLE_FLAG | lame --silent -r -x -s $SAMPRATE_OUT -m $MPEG_MODE $LAME_RATE - "$FILE_OUT" +- ;; +- +- 4) # FLAC +- sox $SOX_SCALE $WORK -r $SAMPRATE_OUT -c $CHANS_OUT -t raw - $RESAMPLE_FLAG | flac -f --silent --best --endian=little --sign=signed --bps=16 --channels=$CHANS_OUT --sample-rate=$SAMPRATE_OUT --force-raw-format -o "$FILE_OUT" - ++ sox $SOX_OPTIONS -t raw - $NORM_FLAG | lame --silent -r -x -s $SAMPRATE_OUT -m $MPEG_MODE $LAME_RATE - "$FILE_OUT" + ;; + +- 5) # OggVorbis +- sox $SOX_SCALE $WORK -r $SAMPRATE_OUT -c $CHANS_OUT -t raw - $RESAMPLE_FLAG | oggenc -r -B 16 -C $CHANS_OUT -R $SAMPRATE_OUT -q $QUALITY_OUT -o "$FILE_OUT" - ++ 4) # FLAC & OggVorbis ++ sox $SOX_OPTIONS -C $QUALITY_OUT "$FILE_OUT" $NORM_FLAG + ;; + + *) # Custom Format + if [ -z "$CUSTOM_CMD" ] ; then + rm -f $WORK +- rm -f $PEAK + exit 1 + fi +- sox $SOX_SCALE $WORK -r $SAMPRATE_OUT -c $CHANS_OUT -t raw - $RESAMPLE_FLAG | $CUSTOM_CMD ++ sox $SOX_OPTIONS $NORM_FLAG | $CUSTOM_CMD + ;; + esac + + rm -f $WORK +-rm -f $PEAK + + exit 0 +diff -urN rivendell-1.2.1/scripts/rd_import_file rivendell-1.2.1.new/scripts/rd_import_file +--- rivendell-1.2.1/scripts/rd_import_file 2007-02-14 15:59:12.000000000 -0600 ++++ rivendell-1.2.1.new/scripts/rd_import_file 2009-01-14 22:18:51.000000000 -0600 +@@ -70,169 +70,44 @@ + PEAK=${10} + WORK=${11} + +-set -e +- +-EXTENSION_IN=`echo $FILE_IN | sed 's/.*\.\([a-zA-Z0-9]\)/\1/'` +- +-case "$EXTENSION_IN" in +- atx) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- ATX) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- tmc) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- TMC) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- mp2) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- MP2) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- mp3) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- MP3) +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- ;; +- ogg) +- function convert() { +- ogg123 -q -d wav -f $2 "$1" +- } +- ;; +- OGG) +- function convert() { +- ogg123 -q -d wav -f $2 "$1" +- } +- ;; +- flac) +- function convert() { +- flac -f -s -d -o $2 "$1" +- } +- ;; +- FLAC) +- function convert() { +- flac -f -s -d -o $2 "$1" +- } +- ;; +- wav) +- if [ $FORMAT_IN = "0" ] ; then +- function convert() { +- cp "$1" $2 +- } +- else +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- fi +- ;; +- WAV) +- if [ $FORMAT_IN = "0" ] ; then +- function convert() { +- cp "$1" $2 +- } +- else +- function convert() { +- mpg321 -q --stereo -w $2 "$1" +- } +- fi +- ;; +- *) +- echo "unsupported input format: $FILE_IN" +- exit 1 +-esac +- +-case "$FORMAT_OUT" in +- 0) +- function masterize() { +- SOX_OPTIONS="$1 -t raw -s -w -c $CHANS_OUT -r $SAMPRATE_OUT -" +- +- if [ $SAMPRATE_OUT -ne $SAMPRATE_IN ]; then +-# SOX_OPTIONS="$SOX_OPTIONS resample -q" +- SOX_OPTIONS="$SOX_OPTIONS resample" +- fi +- +- if [ $3 != 1 ]; then +- SOX_OPTIONS="-v $3 $SOX_OPTIONS" +- fi +- sox $SOX_OPTIONS | rdfilewrite --channels=$4 --sample-rate=$5 $2 +- } +- ;; +- 1) +- function masterize() { +- SOX_OPTIONS="$1 -w -c $CHANS_OUT -r $SAMPRATE_OUT -t raw" +- if [ $3 != 1 ]; then +- SOX_OPTIONS="-v $3 $SOX_OPTIONS" +- fi +- +- SOX_OPTIONS="$SOX_OPTIONS -" +- +- if [ $SAMPRATE_OUT -ne $SAMPRATE_IN ]; then +- SOX_OPTIONS="$SOX_OPTIONS resample" +- fi +- +- if [ $CHANS_OUT = 1 ]; then +- MODE="m" +- else +- MODE="s" +- fi +- case "$SAMPRATE_OUT" in +- 32000) +- LAMERATE=32 +- ;; +- 44100) +- LAMERATE=44.1 +- ;; +- 48000) +- LAMERATE=48 +- ;; +- esac +- LAME_OPTIONS="-t 0 -m $MODE -s $LAMERATE -b $BITRATE_OUT" +- sox $SOX_OPTIONS | toolame $LAME_OPTIONS /dev/stdin -W $2 > /dev/null 2> /dev/null +- } +- ;; +- *) +- echo "unsupported output format $FORMAT_OUT"; +- ;; +-esac ++rm -f $FILE_OUT ++cp "$FILE_IN" $WORK + +-convert "$FILE_IN" $WORK +-# > /dev/null 2>&1 +- +-# TODO: extract the PEAK_LEVEL during the convertion +-SCALE=1 + if [ $NORMAL_LEVEL != 0 ]; then +- PEAK_LEVEL=`sox $WORK -t wav /dev/null stat -v 2>&1 | grep -v ^sox` +- # grep avoid sox warning messages +- +- SCALE=`echo "$NORMAL_LEVEL * $PEAK_LEVEL" | bc -l` +- if [ "$SCALE" == "1.00000000000000000000" ]; then +- SCALE="1" +- fi +- chmod 644 $WORK ++ PEAK_LEVEL=`sox $WORK -n stat -v 2>&1` ++ SCALE=`echo "$NORMAL_LEVEL * $PEAK_LEVEL" | bc -l` + fi + +-rm -f $FILE_OUT ++if [ $FORMAT_OUT = 0 ] ; then ++ SOX_OPTIONS="$WORK -2 -c $CHANS_OUT -r $SAMPRATE_OUT -t raw -" ++ if [ $NORMAL_LEVEL != 0 ] ; then ++ SOX_OPTIONS="$SOX_OPTIONS vol $SCALE" ++ fi ++ sox $SOX_OPTIONS | rdfilewrite --channels=$CHANS_OUT --sample-rate=$SAMPRATE_OUT $FILE_OUT ++fi + +-masterize $WORK $FILE_OUT $SCALE $CHANS_OUT $SAMPRATE_OUT +-# > /dev/null 2>&1 ++if [ $FORMAT_OUT = 1 ] ; then ++ SOX_OPTIONS="$WORK -2 -c $CHANS_OUT -r $SAMPRATE_OUT -t raw -" ++ if [ $NORMAL_LEVEL != 0 ] ; then ++ SOX_OPTIONS="$SOX_OPTIONS vol $SCALE" ++ fi ++ ++ if [ $CHANS_OUT = 1 ]; then ++ MODE="m" ++ else ++ MODE="s" ++ fi ++ case "$SAMPRATE_OUT" in ++ 32000) ++ LAMERATE=32 ++ ;; ++ 44100) ++ LAMERATE=44.1 ++ ;; ++ 48000) ++ LAMERATE=48 ++ ;; ++ esac ++ LAME_OPTIONS="-t 0 -m $MODE -s $LAMERATE -b $BITRATE_OUT" ++ sox $SOX_OPTIONS | toolame $LAME_OPTIONS /dev/stdin -W $FILE_OUT > /dev/null 2> /dev/null ++fi +\ No newline at end of file +diff -urN rivendell-1.2.1/scripts/rd_rip_cd rivendell-1.2.1.new/scripts/rd_rip_cd +--- rivendell-1.2.1/scripts/rd_rip_cd 2007-02-14 15:59:12.000000000 -0600 ++++ rivendell-1.2.1.new/scripts/rd_rip_cd 2009-01-14 22:18:51.000000000 -0600 +@@ -69,52 +69,16 @@ + PARANOIA_FLAG="-P 10" + fi + +-# +-# Set Resample Algorithm +-# +-if [ $SAMPRATE -ne 44100 ]; then +- RESAMPLE_FLAG="resample" +-# RESAMPLE_FLAG="resample -q" +-fi +- + # ############################################################################ + # Encode to PCM16 + if [ $FORMAT = 0 ]; then +- if [ $NORMAL_LEVEL = "0" ]; then +-# ############################################################################ +-# # No Normalization, do single pass +-# echo "SINGLE PASS, PCM, NO NORMALIZATION!" +- cdda2wav --quiet -D $RIPDEV -t $TRACK $PARANOIA_FLAG - | sox -t wav - -t raw -w -s -r $SAMPRATE -c $CHANS - $RESAMPLE_FLAG | rdfilewrite --channels=$CHANS --sample-rate=$SAMPRATE $WAVE +-# ############################################################################ ++ SOX_OPTIONS="-t wav - -t raw -2 -r $SAMPRATE -c $CHANS -" ++ if [ $NORMAL_LEVEL != 0 ] ; then ++ SOX_OPTIONS="$SOX_OPTIONS norm vol $NORMAL_LEVEL" ++ fi ++ cdda2wav --quiet -D $RIPDEV -t $TRACK $PARANOIA_FLAG - | sox $SOX_OPTIONS | rdfilewrite --channels=$CHANS --sample-rate=$SAMPRATE $WAVE + +-# ############################################################################ +-# # Normalization needed, do two passes +- else +-# +-# Phase One - Rip to 44.1 Stereo WAV, get peak level data +-# +-# echo "PASS ONE, PCM, NORMALIZATION!" +- cdda2wav --quiet -D $RIPDEV -t $TRACK $PARANOIA_FLAG - | sox -t wav - $WORK stat -v 2> $PEAK +- +-# +-# Calculate Needed Gain +-# +- PEAK_LEVEL=`cat $PEAK` +- RATIO=`echo $NORMAL_LEVEL*$PEAK_LEVEL | bc -l` +- +-# +-# Phase Two - Encode audio to final destination +-# +-# echo "PASS TWO, PCM, NORMALIZATION!" +- sox -v $RATIO $WORK -t raw -w -s -c $CHANS -r $SAMPRATE - $RESAMPLE_FLAG | rdfilewrite --channels=$CHANS --sample-rate=$SAMPRATE $WAVE +- +-# +-# Clean Up +-# +- rm -f $PEAK + rm -f $WORK +-# ############################################################################ +- fi + fi + # ############################################################################ + +@@ -137,41 +101,11 @@ + LAMERATE="48" + ;; + esac +- if [ $NORMAL_LEVEL = "0" ]; then +-# ############################################################################ +-# # No Normalization, do single pass +-# echo "SINGLE PASS, MPEG, NO NORMALIZATION!" +- cdda2wav --quiet -D $RIPDEV -t $TRACK $PARANOIA_FLAG - | sox -t wav - -t raw -r $SAMPRATE -c $CHANS - $RESAMPLE_FLAG | toolame -t 0 -W -m $MODE -b $BITRATE -s $LAMERATE - $WAVE +-# ############################################################################ +- +-# ############################################################################ +-# # Normalization needed, do two passes +- else +-# +-# Phase One - Rip to 44.1 Stereo WAV, get peak level data +-# +-# echo "PASS ONE, MPEG, NORMALIZATION!" +- cdda2wav --quiet -D $RIPDEV -t $TRACK $PARANOIA_FLAG - | sox -t wav - $WORK stat -v 2> $PEAK +- +-# +-# Calculate Needed Gain +-# +- PEAK_LEVEL=`cat $PEAK` +- RATIO=`echo $NORMAL_LEVEL*$PEAK_LEVEL | bc -l` +- +-# +-# Phase Two - Encode audio to final destination +-# +-# echo "PASS TWO, MPEG, NORMALIZATION!" +- sox -v $RATIO $WORK -t raw -c $CHANS -r $SAMPRATE - $RESAMPLE_FLAG | toolame -t 0 -W -m $MODE -b $BITRATE -s $LAMERATE - $WAVE +- +-# +-# Clean Up +-# +- rm -f $PEAK +- rm -f $WORK +-# ############################################################################ +- fi ++ SOX_OPTIONS="-t wav - -t raw -r $SAMPRATE -c $CHANS -" ++ if [ $NORMAL_LEVEL != 0 ] ; then ++ SOX_OPTIONS="$SOX_OPTIONS norm vol $NORMAL_LEVEL" ++ fi ++ cdda2wav --quiet -D $RIPDEV -t $TRACK $PARANOIA_FLAG - | sox $SOX_OPTIONS | toolame -t 0 -W -m $MODE -b $BITRATE -s $LAMERATE - $WAVE + + fi + |