New version of the --ignore-tag-errors option. With changes as Alexander
suggests.
-Adam Luter
diff -x CVS -ur lame/frontend/parse.c lame-g2/frontend/parse.c
--- lame/frontend/parse.c 2003-06-01 12:20:34.000000000 -0500
+++ lame-g2/frontend/parse.c 2003-07-10 11:34:31.000000000 -0500
@@ -77,7 +77,8 @@
/* we need to clean this up */
sound_file_format input_format;
int swapbytes; /* force byte swapping default=0*/
-int silent;
+int silent; /* Verbosity */
+int ignore_tag_errors; /* Ignore errors in values passed for tags */
int brhist;
float update_interval; /* to use Frank's time status display */
int mp3_delay; /* to adjust the number of samples truncated
@@ -435,6 +436,7 @@
" --quiet don't print anything on screen\n"
" --brief print more useful information\n"
" --verbose print a lot of useful information\n"
+ " --ignore-tag-errors Ignore errors in values passed for tags.\n"
"\n"
" Noise shaping & psycho acoustic algorithms:\n"
" -q <arg> <arg> = 0...9. Default -q 5 \n"
@@ -991,6 +993,7 @@
outPath[0] = '\0';
/* turn on display options. user settings may turn them off below */
silent = 0;
+ ignore_tag_errors = 0;
brhist = 1;
enc_padding=-1;
enc_delay=-1;
@@ -1269,34 +1272,41 @@
T_ELIF ("tt")
argUsed=1;
id3tag_set_title(gfp, nextArg);
-
+
T_ELIF ("ta")
argUsed=1;
id3tag_set_artist(gfp, nextArg);
-
+
T_ELIF ("tl")
argUsed=1;
id3tag_set_album(gfp, nextArg);
-
+
T_ELIF ("ty")
argUsed=1;
id3tag_set_year(gfp, nextArg);
-
+
T_ELIF ("tc")
argUsed=1;
id3tag_set_comment(gfp, nextArg);
-
+
T_ELIF ("tn")
argUsed=1;
id3tag_set_track(gfp, nextArg);
-
+
T_ELIF ("tg")
argUsed=1;
if (id3tag_set_genre(gfp, nextArg)) {
- fprintf(stderr,"Unknown genre: %s. Specify genre name or
number\n", nextArg);
- return -1;
+ if( ignore_tag_errors ) {
+ if( silent < 10 ) {
+ fprintf(stderr,"Unknown genre: '%s'. Setting to
'Other'\n", nextArg);
+ }
+ id3tag_set_genre(gfp, "other");
+ } else {
+ fprintf(stderr,"Unknown genre: '%s'. Specify genre name
or number\n", nextArg);
+ return -1;
+ }
}
-
+
T_ELIF ("add-id3v2")
id3tag_add_v2(gfp);
@@ -1485,6 +1495,8 @@
T_ELIF ("verbose")
silent = -10; /* print a lot on screen */
+ T_ELIF ("ignore-tag-errors")
+ ignore_tag_errors = 1;
T_ELIF2 ("version", "license")
print_license ( gfp, stdout, ProgramName );
_______________________________________________
mp3encoder mailing list
[EMAIL PROTECTED]
http://minnie.tuhs.org/mailman/listinfo/mp3encoder