Re: [Easytag-mailing] about the id3v1 genre associations



 Hi,

I made a patch for that problem a few months ago. I've attached the patch in the email. The patch adds a checkbox option to the preferences menu 'Write Genre in text only'. If you enable this it won't write numbers but the text in the genre tag.

Cheers, Daniel

On 24-8-2010 0:15, J.R.Cosignani wrote:
Please could developers prevent easytag to tag wellknown genres such as pop with the number 20 instead of the word? This is very troublesome when playing the songs in different players.

Thanks for your attention and disposal.

--
*/"every spilled tear will feed the roots, of a tree, which the heavens will reach"/*


------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d


_______________________________________________
Easytag-mailing mailing list
Easytag-mailing lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/easytag-mailing

diff -crB ../easytag-2.1.6/src/id3_tag.c src/id3_tag.c
*** ../easytag-2.1.6/src/id3_tag.c	2008-03-22 23:03:06.000000000 +0100
--- src/id3_tag.c	2010-06-16 22:29:01.000000000 +0200
***************
*** 277,283 ****
  
          genre_value = Id3tag_String_To_Genre(FileTag->genre);
          // If genre not defined don't write genre value between brackets! (priority problem noted with some tools)
!         if (genre_value == ID3_INVALID_GENRE)
              genre_string_tmp = g_strdup_printf("%s",FileTag->genre);
          else
              genre_string_tmp = g_strdup_printf("(%d)",genre_value);
--- 277,283 ----
  
          genre_value = Id3tag_String_To_Genre(FileTag->genre);
          // If genre not defined don't write genre value between brackets! (priority problem noted with some tools)
!         if ((genre_value == ID3_INVALID_GENRE)||(FILE_WRITING_ID3V2_TEXT_ONLY_GENRE))
              genre_string_tmp = g_strdup_printf("%s",FileTag->genre);
          else
              genre_string_tmp = g_strdup_printf("(%d)",genre_value);
diff -crB ../easytag-2.1.6/src/id3v24_tag.c src/id3v24_tag.c
*** ../easytag-2.1.6/src/id3v24_tag.c	2008-07-12 16:32:12.000000000 +0200
--- src/id3v24_tag.c	2010-06-16 22:29:00.000000000 +0200
***************
*** 910,916 ****
      if (FileTag->genre)
          genre_value = Id3tag_String_To_Genre(FileTag->genre);
  
!     if (genre_value == ID3_INVALID_GENRE)
          string1 = g_strdup(FileTag->genre);
      else
          string1 = g_strdup_printf("%d",genre_value);
--- 910,916 ----
      if (FileTag->genre)
          genre_value = Id3tag_String_To_Genre(FileTag->genre);
  
!     if ((genre_value == ID3_INVALID_GENRE)||(FILE_WRITING_ID3V2_TEXT_ONLY_GENRE))
          string1 = g_strdup(FileTag->genre);
      else
          string1 = g_strdup_printf("%d",genre_value);
diff -crB ../easytag-2.1.6/src/prefs.c src/prefs.c
*** ../easytag-2.1.6/src/prefs.c	2008-01-18 23:01:39.000000000 +0100
--- src/prefs.c	2010-06-16 22:29:02.000000000 +0200
***************
*** 713,718 ****
--- 713,724 ----
      gtk_table_attach(GTK_TABLE(Table),FileWritingId3v2UseCompression,1,2,1,2,GTK_FILL,GTK_FILL,0,0);
      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FileWritingId3v2UseCompression),FILE_WRITING_ID3V2_USE_COMPRESSION);
      gtk_tooltips_set_tip(Tips,FileWritingId3v2UseCompression,_("Set Compression in the ID3v2 tags"),NULL);
+ 	
+ 	/* Write Genre in text */
+     FileWritingId3v2TextOnlyGenre = gtk_check_button_new_with_label(_("Write Genre in text only"));
+     gtk_table_attach(GTK_TABLE(Table),FileWritingId3v2TextOnlyGenre,1,2,2,3,GTK_FILL,GTK_FILL,0,0);
+     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(FileWritingId3v2TextOnlyGenre),FILE_WRITING_ID3V2_TEXT_ONLY_GENRE);
+     gtk_tooltips_set_tip(Tips,FileWritingId3v2TextOnlyGenre,_("Don't use ID3v1 number references in genre tag. Enable this if you see numbers as genre in your music player."),NULL);	
  
      /* Character Set for writing ID3 tag */
      Frame = gtk_frame_new (_("Character Set for writing ID3 tags"));
***************
*** 1511,1516 ****
--- 1517,1523 ----
      ||   !FileWritingId3v2IconvOptionsIgnore
      ||   !FileWritingId3v2UseCrc32
      ||   !FileWritingId3v2UseCompression
+ 	||   !FileWritingId3v2TextOnlyGenre
      ||   !ConvertOldId3v2TagVersion
      ||   !LabelId3v1Charset
      ||   !FileWritingId3v1CharacterSetCombo
***************
*** 1553,1558 ****
--- 1560,1566 ----
          gtk_widget_set_sensitive(FileWritingId3v2IconvOptionsIgnore, !active);
          gtk_widget_set_sensitive(FileWritingId3v2UseCrc32, TRUE);
          gtk_widget_set_sensitive(FileWritingId3v2UseCompression, TRUE);
+ 		gtk_widget_set_sensitive(FileWritingId3v2TextOnlyGenre, TRUE);
          gtk_widget_set_sensitive(ConvertOldId3v2TagVersion, TRUE);
  
      }else
***************
*** 1572,1577 ****
--- 1580,1586 ----
          gtk_widget_set_sensitive(FileWritingId3v2IconvOptionsIgnore, FALSE);
          gtk_widget_set_sensitive(FileWritingId3v2UseCrc32, FALSE);
          gtk_widget_set_sensitive(FileWritingId3v2UseCompression, FALSE);
+ 		gtk_widget_set_sensitive(FileWritingId3v2TextOnlyGenre, FALSE);
          gtk_widget_set_sensitive(ConvertOldId3v2TagVersion, 0);
      }
  
diff -crB ../easytag-2.1.6/src/prefs.h src/prefs.h
*** ../easytag-2.1.6/src/prefs.h	2007-11-28 09:54:33.000000000 +0100
--- src/prefs.h	2010-06-16 22:29:02.000000000 +0200
***************
*** 79,84 ****
--- 79,85 ----
  GtkWidget *WriteId3TagsInFlacFiles;
  GtkWidget *FileWritingId3v2UseCrc32;
  GtkWidget *FileWritingId3v2UseCompression;
+ GtkWidget *FileWritingId3v2TextOnlyGenre;
  GtkWidget *StripTagWhenEmptyFields;
  GtkWidget *ConvertOldId3v2TagVersion;
  
diff -crB ../easytag-2.1.6/src/setting.c src/setting.c
*** ../easytag-2.1.6/src/setting.c	2008-05-25 00:32:38.000000000 +0200
--- src/setting.c	2010-06-16 22:29:03.000000000 +0200
***************
*** 708,713 ****
--- 708,714 ----
          FILE_WRITING_ID3V2_WRITE_TAG                 = GTK_TOGGLE_BUTTON(FileWritingId3v2WriteTag)->active;
          FILE_WRITING_ID3V2_USE_CRC32                 = GTK_TOGGLE_BUTTON(FileWritingId3v2UseCrc32)->active;
          FILE_WRITING_ID3V2_USE_COMPRESSION           = GTK_TOGGLE_BUTTON(FileWritingId3v2UseCompression)->active;
+ 		FILE_WRITING_ID3V2_TEXT_ONLY_GENRE           = GTK_TOGGLE_BUTTON(FileWritingId3v2TextOnlyGenre)->active;
          FILE_WRITING_ID3V2_USE_UNICODE_CHARACTER_SET = GTK_TOGGLE_BUTTON(FileWritingId3v2UseUnicodeCharacterSet)->active;
  
          active = gtk_combo_box_get_active(GTK_COMBO_BOX(FileWritingId3v2UnicodeCharacterSetCombo));
diff -crB ../easytag-2.1.6/src/setting.h src/setting.h
*** ../easytag-2.1.6/src/setting.h	2008-01-19 01:08:17.000000000 +0100
--- src/setting.h	2010-06-16 22:29:03.000000000 +0200
***************
*** 107,112 ****
--- 107,113 ----
  gint    FILE_WRITING_ID3V2_WRITE_TAG;
  gint    FILE_WRITING_ID3V2_USE_CRC32;
  gint    FILE_WRITING_ID3V2_USE_COMPRESSION;
+ gint    FILE_WRITING_ID3V2_TEXT_ONLY_GENRE;
  gint    FILE_WRITING_ID3V2_USE_UNICODE_CHARACTER_SET;
  gchar  *FILE_WRITING_ID3V2_UNICODE_CHARACTER_SET;
  gchar  *FILE_WRITING_ID3V2_NO_UNICODE_CHARACTER_SET;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]