Skip to content

Commit af0a056

Browse files
committed
Release 3.0.1
1 parent a8f6085 commit af0a056

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

root/usr/local/bin/flac2mp3.sh

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,7 +1037,7 @@ function execute_ff_command {
10371037
unset flac2mp3_ffresult
10381038
# This must be a declare statement to avoid the 'Argument list too long' error with some large returned JSON
10391039
declare -g flac2mp3_ffresult
1040-
flac2mp3_ffresult=$($command "${ff_args[@]}")
1040+
flac2mp3_ffresult=$($command "${ff_args[@]}" 2>&1)
10411041
local return=$?
10421042
[ $flac2mp3_debug -ge 1 ] && echo "Debug|$shortcommand returned ${#flac2mp3_ffresult} bytes" | log
10431043
[ $flac2mp3_debug -ge 2 ] && [ ${#flac2mp3_ffresult} -ne 0 ] && echo "$shortcommand returned: $flac2mp3_ffresult" | awk '{print "Debug|"$0}' | log
@@ -1172,7 +1172,7 @@ function process_tracks {
11721172

11731173
# Set metadata options to fix tags if asked
11741174
if [ -n "$flac2mp3_tags" ]; then
1175-
local metadata=""
1175+
local -a metadata=()
11761176
[ $flac2mp3_debug -ge 1 ] && echo "Debug|Detecting and fixing common problems with the following metadata tags: $flac2mp3_tags" | log
11771177

11781178
# Get track metadata
@@ -1186,15 +1186,15 @@ function process_tracks {
11861186
[ $flac2mp3_debug -ge 1 ] && echo "Debug|Original metadata: title=$tag_title" | log
11871187
local pattern='\([^)]+\)$' # Rough way to limit editing metadata for every track
11881188
if [[ "$tag_title" =~ $pattern ]]; then
1189-
metadata+="-metadata title=\"$(echo "$tag_title" | sed -r 's/\((live|acoustic|demo|[^)]*((re)?mix(es)?|dub|edit|version))\)$/[\1]/i')\" "
1189+
metadata+=(-metadata "title=$(echo "$tag_title" | sed -r 's/\((live|acoustic|demo|[^)]*((re)?mix(es)?|dub|edit|version))\)$/[\1]/i')")
11901190
fi
11911191
;;
11921192
disc )
11931193
# Fix one disc by itself
11941194
local tag_disc=$(echo "$flac2mp3_ffprobe_json" | jq -crM '.format.tags | to_entries[] | select(.key | match("disc"; "i")).value')
11951195
[ $flac2mp3_debug -ge 1 ] && echo "Debug|Original metadata: disc=$tag_disc" | log
11961196
if [ "$tag_disc" = "1" ]; then
1197-
metadata+='-metadata disc="1/1" '
1197+
metadata+=(-metadata 'disc=1/1')
11981198
fi
11991199
;;
12001200
genre )
@@ -1204,20 +1204,20 @@ function process_tracks {
12041204
# Only trigger on multiple genres
12051205
if [[ $tag_genre =~ \; ]]; then
12061206
case "$tag_genre" in
1207-
*Synth-Pop*) metadata+='-metadata genre="Electronica & Dance" ' ;;
1208-
*Pop*) metadata+='-metadata genre="Pop" ' ;;
1209-
*Indie*) metadata+='-metadata genre="Alternative & Indie" ' ;;
1210-
*Industrial*) metadata+='-metadata genre="Industrial Rock" ' ;;
1211-
*Electronic*) metadata+='-metadata genre="Electronica & Dance" ' ;;
1212-
*Punk*|*Alternative*) metadata+='-metadata genre="Alternative & Punk" ' ;;
1213-
*Rock*) metadata+='-metadata genre="Rock" ' ;;
1207+
*Synth-Pop*) metadata+=(-metadata 'genre=Electronica & Dance') ;;
1208+
*Pop*) metadata+=(-metadata 'genre=Pop') ;;
1209+
*Indie*) metadata+=(-metadata 'genre=Alternative & Indie') ;;
1210+
*Industrial*) metadata+=(-metadata 'genre=Industrial Rock') ;;
1211+
*Electronic*) metadata+=(-metadata 'genre=Electronica & Dance') ;;
1212+
*Punk*|*Alternative*) metadata+=(-metadata 'genre=Alternative & Punk') ;;
1213+
*Rock*) metadata+=(-metadata 'genre=Rock') ;;
12141214
esac
12151215
fi
12161216
;;
12171217
esac
12181218
done
12191219
# shellcheck disable=SC2090
1220-
[ $flac2mp3_debug -ge 1 ] && echo "Debug|New metadata: ${metadata//-metadata /}" | log
1220+
[ $flac2mp3_debug -ge 1 ] && echo "Debug|New metadata: $(echo "${metadata[@]}" | sed -E 's/-metadata //g')" | log
12211221
else
12221222
echo "Warn|ffprobe did not return any data when querying track: '$track'" | log
12231223
change_exit_status 12
@@ -1229,7 +1229,7 @@ function process_tracks {
12291229
local ffcommand="nice /usr/bin/ffmpeg"
12301230
local IFS=$' \t\n' # Temporarily restore IFS
12311231
# shellcheck disable=SC2090
1232-
execute_ff_command "converting track: '$track' to '$tempTrack'" "$ffcommand" -loglevel $flac2mp3_ffmpeg_log -nostdin -i "$track" $flac2mp3_ffmpeg_opts $metadata "$tempTrack"
1232+
execute_ff_command "converting track: '$track' to '$tempTrack'" "$ffcommand" -loglevel $flac2mp3_ffmpeg_log -nostdin -i "$track" $flac2mp3_ffmpeg_opts "${metadata[@]}" "$tempTrack"
12331233
local return=$?; [ $return -ne 0 ] && {
12341234
change_exit_status 13
12351235
# Delete the temporary file if it exists

0 commit comments

Comments
 (0)