52 lines
1.9 KiB
Bash
52 lines
1.9 KiB
Bash
#!/bin/bash
|
|
encodeFile::opus() {
|
|
opusencopts=(${ionice}opusenc --quiet)
|
|
opusencopts+=(--bitrate ${destinationquality[$destination]})
|
|
[ -n "${destinationloss["$destination"]}" ] \
|
|
&& opusencopts+=(--expect-loss "${destinationloss["$destination"]}")
|
|
[ -n "$albumartist" ] && opusencopts+=(--comment "ALBUMARTIST=$albumartist")
|
|
[ -n "$album" ] && opusencopts+=(--comment "ALBUM=$album")
|
|
[ -n "$artist" ] && opusencopts+=(--artist "$artist")
|
|
[ -n "$composer" ] && opusencopts+=(--comment "COMPOSER=$composer")
|
|
[ -n "$disc" ] && opusencopts+=(--comment "DISCNUMBER=$disc")
|
|
[ -n "$genre" ] && opusencopts+=(--comment "GENRE=$genre")
|
|
[ -n "$performer" ] && opusencopts+=(--comment "PERFORMER=$performer")
|
|
[ -n "$title" ] && opusencopts+=(--title "$title")
|
|
[ -n "$track" ] && opusencopts+=(--comment "TRACKNUMBER=${track%/*}")
|
|
[ -n "${track#*/}" ] && opusencopts+=(--comment "TRACKTOTAL=${track#*/}")
|
|
[ -n "$year" ] && opusencopts+=(--comment "DATE=$year")
|
|
opusencopts+=("$tempdir/$tmpfile".wav "$destdir/$destfile.opus")
|
|
encodetaskid=$(
|
|
Insert tasks <<-EOInsert
|
|
key ${fileid}opusenc$destination
|
|
requires ${soxtaskid:-$decodetaskid}
|
|
fileid $destfileid
|
|
filename $destdir/$destfile.opus
|
|
$(
|
|
for key in ${!opusencopts[@]}
|
|
do
|
|
cleanedopts="${opusencopts[key]//\&/\\\&}"
|
|
cleanedopts="${cleanedopts//\[/\\[}"
|
|
cleanedopts="${cleanedopts//\]/\\]}"
|
|
cleanedopts="${cleanedopts//\{/\\{}"
|
|
cleanedopts="${cleanedopts//\}/\\\}}"
|
|
echo "cmd_arg$key $cleanedopts"
|
|
done
|
|
)
|
|
source_file $fileid
|
|
status 0
|
|
rename_pattern ${destinationrenamepath[$destination]}/${destinationrename[$destination]}
|
|
fat32compat ${destinationfat32compat["$destination"]}
|
|
ascii ${destinationascii["$destination"]}
|
|
EOInsert
|
|
)
|
|
parent_required=$(
|
|
Select tasks required_by \
|
|
<<<"id = ${soxtaskid:-$decodetaskid}"
|
|
)
|
|
Update tasks required_by $((++parent_required)) \
|
|
<<<"id = ${soxtaskid:-$decodetaskid}"
|
|
progressSpin
|
|
soxtaskid=''
|
|
}
|