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

Reply via email to