From 311617cefb0eb5472b5a47f5628574102ed990b8 Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Mon, 29 Apr 2013 23:18:10 +0200 Subject: [PATCH] move code to decodeFile() --- atom | 70 +----------------------- lib/decode/decodeFile | 120 +++++++++++++++++++++++++++++++++--------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/atom b/atom index 2a2d80b..c338785 100755 --- a/atom +++ b/atom @@ -420,75 +420,7 @@ do rest=${rest#*|} performer=${rest%%|*} unset rest - case "$mimetype" in - 'audio/mpeg') - if [[ ${destinationformat[$destination]} = mp3 ]] \ - && checkCopy - then - copied=1 - else - decodeSox - fi - ;; - 'application/ogg opus') - if [[ ${destinationformat[$destination]} = opus ]] \ - && checkCopy - then - copied=1 - else - decodeOpusdec - if (( ${destinationnormalize["$destination"]}))\ - || ( - [ -n "${destinationfrequency["$destination"]}" ]\ - && (( ${rate:-0} != ${destinationfrequency["$destination"]}))\ - ) || ( - [ -n "${destinationchannels["$destination"]}" ]\ - && (( ${channels:-0} != ${destinationchannels["$destination"]} )) - ) - then - sox_needed=1 - fi - fi - ;; - 'application/ogg'*) - if [[ ${destinationformat[$destination]} = vorbis ]] \ - && checkCopy - then - copied=1 - else - decodeSox - fi - ;; - 'audio/x-flac') - decodeSox - ;; - *) - extendedtype=$(file -b "$sourcepath/$filename") - case "$extendedtype" in - *'Musepack '*) - decodeMpcdec - if (( ${destinationnormalize["$destination"]}))\ - || ( - [ -n "${destinationfrequency["$destination"]}" ]\ - && (( ${rate:-0} != ${destinationfrequency["$destination"]}))\ - ) || ( - [ -n "${destinationchannels["$destination"]}" ]\ - && (( ${channels:-0} != ${destinationchannels["$destination"]} )) - ) - then - sox_needed=1 - fi - ;; - *) - decodeSox - ;; - esac - ;; - esac - if ! (( copied )) - then - decodeFile - fi + decodeFile getDestDir getDestFile if (( copied )) diff --git a/lib/decode/decodeFile b/lib/decode/decodeFile index b66c6ef..f1e2762 100644 --- a/lib/decode/decodeFile +++ b/lib/decode/decodeFile @@ -1,33 +1,77 @@ #!/bin/bash decodeFile() { - if ! decodetaskid=$( - Select tasks id <<<"key = $tmpfile" - ) - then - decodetaskid=$( - Insert tasks <<-EOInsert - key $tmpfile - source_file $fileid - $( - for key in ${!commandline[@]} - do - echo "cmd_arg$key ${commandline[key]}" - done + case "$mimetype" in + 'audio/mpeg') + if [[ ${destinationformat[$destination]} = mp3 ]] \ + && checkCopy + then + copied=1 + else + decodeSox + fi + ;; + 'application/ogg opus') + if [[ ${destinationformat[$destination]} = opus ]] \ + && checkCopy + then + copied=1 + else + decodeOpusdec + if (( ${destinationnormalize["$destination"]}))\ + || ( + [ -n "${destinationfrequency["$destination"]}" ]\ + && (( ${rate:-0} != ${destinationfrequency["$destination"]}))\ + ) || ( + [ -n "${destinationchannels["$destination"]}" ]\ + && (( ${channels:-0} != ${destinationchannels["$destination"]} )) ) - status 0 - EOInsert - ) - progressSpin - fi - if (( sox_needed )) + then + sox_needed=1 + fi + fi + ;; + 'application/ogg'*) + if [[ ${destinationformat[$destination]} = vorbis ]] \ + && checkCopy + then + copied=1 + else + decodeSox + fi + ;; + 'audio/x-flac') + decodeSox + ;; + *) + extendedtype=$(file -b "$sourcepath/$filename") + case "$extendedtype" in + *'Musepack '*) + decodeMpcdec + if (( ${destinationnormalize["$destination"]}))\ + || ( + [ -n "${destinationfrequency["$destination"]}" ]\ + && (( ${rate:-0} != ${destinationfrequency["$destination"]}))\ + ) || ( + [ -n "${destinationchannels["$destination"]}" ]\ + && (( ${channels:-0} != ${destinationchannels["$destination"]} )) + ) + then + sox_needed=1 + fi + ;; + *) + decodeSox + ;; + esac + ;; + esac + if ! (( copied )) then - cleanup="$tempdir/$tmpfile" - decodeSox "$tempdir/$tmpfile.wav" - if ! soxtaskid=$( + if ! decodetaskid=$( Select tasks id <<<"key = $tmpfile" ) then - soxtaskid=$( + decodetaskid=$( Insert tasks <<-EOInsert key $tmpfile source_file $fileid @@ -37,13 +81,37 @@ decodeFile() { echo "cmd_arg$key ${commandline[key]}" done ) - requires $decodetaskid - required $decodetaskid status 0 - cleanup $cleanup EOInsert ) progressSpin fi + if (( sox_needed )) + then + cleanup="$tempdir/$tmpfile" + decodeSox "$tempdir/$tmpfile.wav" + if ! soxtaskid=$( + Select tasks id <<<"key = $tmpfile" + ) + then + soxtaskid=$( + Insert tasks <<-EOInsert + key $tmpfile + source_file $fileid + $( + for key in ${!commandline[@]} + do + echo "cmd_arg$key ${commandline[key]}" + done + ) + requires $decodetaskid + required $decodetaskid + status 0 + cleanup $cleanup + EOInsert + ) + progressSpin + fi + fi fi }