On Sun, Feb 02, 2020 at 07:43:07PM +0100, Marcel Dischinger wrote:
> Package: abcde
> Version: 2.9.3-1
> Followup-For: Bug #913479
> 
> You can avoid this error by setting
> EYED3OPTS="--non-std-genres"
> in your /etc/abcde.conf or ~/.abcde.conf

Won't that break the mapping in eyed3 and always store the number abcde
passes a an literal string?

Attached is a patch that skips passing -G if GENREID is 255.
>From a107140b46a311b2472602faa6218849c5972981 Mon Sep 17 00:00:00 2001
From: Evgeni Golov <[email protected]>
Date: Wed, 3 Sep 2025 16:17:24 +0200
Subject: [PATCH] only pass -G to eyed3 when the ID is not 255

eyed3 chokes when you pass it an invalid ID (255) and doesn't write
*any* ID3 tag at all to the file
---
 abcde | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/abcde b/abcde
index b53593a..7aae91d 100755
--- a/abcde
+++ b/abcde
@@ -912,10 +912,13 @@ do_tag ()
                                                        
${COMMENTOUTPUT:+--comment "$COMMENTOUTPUT"} \
                                                        );;
                                        esac
+                                       if [ "${GENREID}" != "255" ]; then
+                                               addopts+=(-G "$GENREID")
+                                       fi
                                        run_command "tagtrack-$OUTPUT-$1" nice 
$ENCNICE $TAGGER $TAGGEROPTS \
                                                -A "$DALBUM" \
                                                -a "$TRACKARTIST" -t 
"$TRACKNAME" \
-                                               -G "$GENREID" -n 
"${TRACKNUM:-$1}" \
+                                               -n "${TRACKNUM:-$1}" \
                                                ${TRACKNUM:+-N "$TRACKS"} \
                                                "${addopts[@]}" \
                                                
"${ABCDETEMPDIR}/track$1.$OUTPUT"
-- 
2.51.0

Reply via email to