[Easytag-mailing] [PULL REQUEST 1/2] Port MP4 support to taglib



As libmp4v2 cannot be legally linked to from GPL programs because of its
MPL license [1], the version of easytag in Debian instead patches
easytag to use taglib for MP4 tag reading and writing. Sadly, taglib's C
API does not expose all the tags that were supported by libmp4v2.

Attached are the same changes as a patch file.

Git branch: https://github.com/Sikon/easytag/tree/taglib

[1] http://bugs.debian.org/552705
Description: Replace libmp4v2 with taglib for MP4 support
 Use taglib instead of libmp4v2 for MP4 files. Only the basic tags are
 available for editing this way, but due to the licensing issues with
 libmp4v2, it's better than nothing.
Origin: vendor
Author: Maia Kozheva <sikon ubuntu com>
Forwarded: https://github.com/stsquad/easytag/issues/13
Last-Update: 2011-06-08
---
Index: easytag/configure.in
===================================================================
--- easytag.orig/configure.in	2011-06-08 23:28:43.000000000 +0700
+++ easytag/configure.in	2011-06-08 23:28:50.000000000 +0700
@@ -63,9 +63,9 @@
               AC_HELP_STRING([--disable-flac],[Disable support for FLAC files (default=enabled)]),
               , enable_flac=yes)
 
-AC_ARG_ENABLE(mp4,
-              AC_HELP_STRING([--disable-mp4],[Disable support for MP4 files (default=enabled)]),
-              , enable_mp4=yes)
+AC_ARG_ENABLE(taglib,
+              AC_HELP_STRING([--disable-taglib],[Disable support for MP4 files via taglib (default=enabled)]),
+              , enable_taglib=yes)
 
 AC_ARG_ENABLE(wavpack,
               AC_HELP_STRING([--disable-wavpack],[Disable support for Wavpack files (default=enabled)]),
@@ -313,67 +313,35 @@
 
 
 dnl ################################################
-dnl # libmp4v2 library
+dnl # taglib library
 dnl ################################################
-if test "x$enable_mp4" = "xyes"; then
-    dnl Librairies required for mp4 files, if not found 'enable_mp4' is disabled
-    AC_MSG_CHECKING(for MP4 file support)
-    AC_CHECK_HEADER(mp4v2/mp4v2.h, [], [mp4_available=no])
-    AC_CHECK_LIB(mp4v2, MP4GetTrackMediaDataName, [], [mp4_available=no], [-lmp4v2])
+if test "x$enable_taglib" = "xyes"; then
+    dnl Libraries required for mp4 files, if not found 'enable_taglib' is disabled
+    PKG_CHECK_MODULES(TAGLIB_C, taglib_c >= 1.6.0, , taglib_available=no)
 fi
 
-AC_MSG_CHECKING(for MP4/AAC file support)
-if test "x$enable_mp4" = "xyes"; then
-    if test "x$mp4_available" = "xno"; then
+AC_MSG_CHECKING(for taglib_c)
+if test "x$enable_taglib" = "xyes"; then
+    if test "x$taglib_available_available" = "xno"; then
         AC_MSG_RESULT(no)
-        enable_mp4="no"
+        enable_taglib="no"
         echo "***"
         echo "*** Warning: MP4 file support disabled"
-        echo "*** (Install libmp4v2 >= 1.9.0 to enable it)"
+        echo "*** (Install taglib_c >= 1.6.0 to enable it)"
         echo "***"
     else
 
-        dnl Check version of mp4v2 installed
-        LIBS_SAVE="$LIBS"
-        CFLAGS_SAVE="$CFLAGS"
-        LIBS="$LIBS $LIBMP4V2_LIBS"
-        CFLAGS="$CFLAGS $LIBMP4V2_CFLAGS"
-        AC_MSG_CHECKING(for libmp4v2 version)
-            AC_TRY_RUN([
-                #include <stdio.h>
-                #include <mp4v2/mp4v2.h>
-                int main (void)
-                {
-                    FILE *output;
-                    output=fopen("conftest.mp4v2","w");
-                    fprintf(output,"MP4V2_PROJECT_name=%s\nMP4V2_PROJECT_version=%s\n",PACKAGE_TARNAME,PACKAGE_VERSION);
-                    fclose(output);
-                    exit(0);
-                }
-            ], . ./conftest.mp4v2; echo "${LIBMP4V2_NAME}-${LIBMP4V2_VERSION}", AC_MSG_WARN(could not determine libmp4v2 version),[echo $ac_n "cross compiling; assuming ${LIBMP4V2_NAME}-${LIBMP4V2_VERSION} $ac_c"])
-        LIBS="$LIBS_SAVE"
-        CFLAGS="$CFLAGS_SAVE"
-        if test "$LIBMP4V2_VERSION" != ""; then
-            LIBMP4V2_VERSION="($LIBMP4V2_NAME-$LIBMP4V2_VERSION)"
-        fi
-
-        dnl Version 1.6 of libmp4v2 introduces an index argument for MP4GetMetadataCoverart. So we define 'NEWMP4' if it is the case
-        AC_COMPILE_IFELSE([
-           #include <mp4v2/mp4v2.h>
-           main () {
-           MP4FileHandle hFile;
-           MP4GetMetadataCoverArt(hFile, NULL, NULL,0); }
-        ], AC_DEFINE(NEWMP4,1,[Define for MP4 lib with multiple image support]),)
-
         AC_MSG_RESULT(yes)
-        AC_DEFINE(ENABLE_MP4,1,[Define for MP4 support])
+        AC_DEFINE(ENABLE_MP4,1,[Define for taglib support])
+        CFLAGS="$CFLAGS $TAGLIB_C_CFLAGS"
+        LIBS="$LIBS $TAGLIB_C_LIBS"
     fi
 else
     AC_MSG_RESULT(no)
-    enable_mp4="no"
+    enable_taglib="no"
     echo "***"
     echo "*** MP4 file support disabled on commandline"
-    echo "*** (Install libmp4v2 and use --enable-mp4 to enable it)"
+    echo "*** (Install taglib_c and use --enable-taglib to enable it)"
     echo "***"
 fi
 
@@ -494,7 +462,7 @@
 echo Ogg Vorbis file support .: $enable_ogg
 echo Speex file support ......: $enable_speex
 echo FLAC file support .......: $enable_flac $LIBFLAC_VERSION
-echo MP4 file support ........: $enable_mp4 $LIBMP4V2_VERSION
+echo MP4 file support ........: $enable_taglib
 echo WavPack support .........: $enable_wavpack
 echo NLS/gettext .............: $USE_NLS
 echo Install path ............: $prefix
Index: easytag/src/mp4_header.c
===================================================================
--- easytag.orig/src/mp4_header.c	2011-06-08 23:28:43.000000000 +0700
+++ easytag/src/mp4_header.c	2011-06-08 23:36:48.433768764 +0700
@@ -44,13 +44,13 @@
 #undef PACKAGE_STRING
 #undef PACKAGE_TARNAME
 #undef PACKAGE_VERSION
-#include <mp4v2/mp4v2.h>
+#include <tag_c.h>
 
 
 /****************
  * Declarations *
  ****************/
-
+/*
 static const struct
 {
     uint8_t profile;
@@ -106,7 +106,7 @@
 };
 
 #define NUMBER_OF(A) (sizeof(A) / sizeof(A[0]))
-
+*/
 
 /**************
  * Prototypes *
@@ -122,6 +122,7 @@
  *
  * Returns a format/sub-format information. Taken from mp4.h/mp4info.
  */
+/*
 static void getType(MP4FileHandle file, MP4TrackId trackId, const char **format, const char **subformat )
 {
     unsigned i;
@@ -184,7 +185,7 @@
         *subformat = media_data_name;
     }
 }
-
+*/
 
 /*
  * Mp4_Header_Read_File_Info:
@@ -193,10 +194,8 @@
  */
 gboolean Mp4_Header_Read_File_Info (gchar *filename, ET_File_Info *ETFileInfo)
 {
-    MP4FileHandle file;
-    MP4TrackId trackId = 1;
-    //const char* trackType;
-    const char *format, *subformat;
+    TagLib_File *file;
+    const TagLib_AudioProperties *properties;
 
     if (!filename || !ETFileInfo)
         return FALSE;
@@ -204,7 +203,7 @@
     /* Get size of file */
     ETFileInfo->size = Get_File_Size(filename);
 
-    if ((file = MP4Read(filename, 0)) == MP4_INVALID_FILE_HANDLE )
+    if ((file = taglib_file_new_type(filename, TagLib_File_MP4)) == NULL )
     {
         gchar *filename_utf8 = filename_to_display(filename);
         //g_print(_("ERROR while opening file: '%s' (%s)."),filename_utf8,g_strerror(errno));
@@ -214,23 +213,20 @@
     }
 
     /* Check for audio track */
-    if( MP4GetNumberOfTracks(file,MP4_AUDIO_TRACK_TYPE,0) < 1 )
+    if( !taglib_file_is_valid(file))
     {
         gchar *filename_utf8 = filename_to_display(filename);
         Log_Print(LOG_ERROR,_("ERROR while opening file: '%s' (%s)."),filename_utf8,("Contains no audio track"));
-        MP4Close(file);
         g_free(filename_utf8);
         return FALSE;
     }
-
-    /* Get the first track id (index 0) */
-    trackId = MP4FindTrackId(file, 0, MP4_AUDIO_TRACK_TYPE, 0);
+    
+    properties = taglib_file_audioproperties(file);
 
     /* Get format/subformat */
     {
-        getType( file, trackId, &format, &subformat );
-        ETFileInfo->mpc_version = g_strdup( format );
-        ETFileInfo->mpc_profile = g_strdup( subformat );
+        ETFileInfo->mpc_version = g_strdup( "MPEG" );
+        ETFileInfo->mpc_profile = g_strdup( "4, Unknown" );
     }
 
     ETFileInfo->version = 4;
@@ -238,12 +234,12 @@
     ETFileInfo->layer = 14;
 
     ETFileInfo->variable_bitrate = TRUE;
-    ETFileInfo->bitrate = MP4GetTrackBitRate(file, trackId) / 1000;
-    ETFileInfo->samplerate = MP4GetTrackTimeScale(file, trackId);
-    ETFileInfo->mode = MP4GetTrackAudioChannels(file, trackId);
-    ETFileInfo->duration = MP4ConvertFromTrackDuration(file, trackId, MP4GetTrackDuration(file, trackId), MP4_SECS_TIME_SCALE);
+    ETFileInfo->bitrate = taglib_audioproperties_bitrate(properties);
+    ETFileInfo->samplerate = taglib_audioproperties_samplerate(properties);
+    ETFileInfo->mode = taglib_audioproperties_channels(properties);
+    ETFileInfo->duration = taglib_audioproperties_length(properties);
 
-    MP4Close(file);
+    taglib_file_free(file);
     return TRUE;
 }
 
Index: easytag/src/mp4_tag.c
===================================================================
--- easytag.orig/src/mp4_tag.c	2011-06-08 23:28:43.000000000 +0700
+++ easytag/src/mp4_tag.c	2011-06-08 23:41:36.263768968 +0700
@@ -21,7 +21,7 @@
  */
 
 /* Portions of this code was borrowed from the MPEG4IP tools project */
-#include <config.h> // For definition of ENABLE_MP4
+#include <config.h> // For definition of ENABLE_TAGLIB
 
 #ifdef ENABLE_MP4
 
@@ -50,7 +50,7 @@
 #undef PACKAGE_STRING
 #undef PACKAGE_TARNAME
 #undef PACKAGE_VERSION
-#include <mp4v2/mp4v2.h>
+#include <tag_c.h>
 
 
 /****************
@@ -79,15 +79,9 @@
 gboolean Mp4tag_Read_File_Tag (gchar *filename, File_Tag *FileTag)
 {
     FILE   *file;
-    MP4FileHandle mp4file = NULL;
-    uint16_t track, track_total;
-    uint16_t disk, disktotal;
-    u_int8_t *coverArt;
-    u_int32_t coverSize;
-    Picture *prev_pic = NULL;
-#ifdef NEWMP4
-    gint pic_num;
-#endif
+    TagLib_File *mp4file;
+    TagLib_Tag *tag;
+    unsigned track;
     
     if (!filename || !FileTag)
         return FALSE;
@@ -102,8 +96,8 @@
     fclose(file); // We close it cause mp4 opens/closes file itself
 
     /* Get data from tag */
-    mp4file = MP4Read(filename, 0);
-    if (mp4file == MP4_INVALID_FILE_HANDLE)
+    mp4file = taglib_file_new_type(filename, TagLib_File_MP4);
+    if (mp4file == NULL)
     {
         gchar *filename_utf8 = filename_to_display(filename);
         Log_Print(LOG_ERROR,_("ERROR while opening file: '%s' (%s)."),filename_utf8,_("MP4 format invalid"));
@@ -112,25 +106,27 @@
     }
 
     /* TODO Add error detection */
+    tag = taglib_file_tag(mp4file);
 
     /*********
      * Title *
      *********/
-    MP4GetMetadataName(mp4file, &FileTag->title);
+    FileTag->title = g_strdup(taglib_tag_title(tag));
 
     /**********
      * Artist *
      **********/
-    MP4GetMetadataArtist(mp4file, &FileTag->artist);
+    FileTag->artist = g_strdup(taglib_tag_artist(tag));
 
     /*********
      * Album *
      *********/
-    MP4GetMetadataAlbum(mp4file, &FileTag->album);
+    FileTag->album = g_strdup(taglib_tag_album(tag));
 
     /**********************
      * Disk / Total Disks *
      **********************/
+    /*
     if (MP4GetMetadataDisk(mp4file, &disk, &disktotal))
     {
         if (disk != 0 && disktotal != 0)
@@ -142,42 +138,44 @@
         //if (disktotal != 0)
         //    FileTag->disk_number_total = g_strdup_printf("%d",(gint)disktotal);
     }
+    */
 
     /********
      * Year *
      ********/
-    MP4GetMetadataYear(mp4file, &FileTag->year);
+    FileTag->year = g_strdup_printf("%u", taglib_tag_year(tag));
 
     /*************************
      * Track and Total Track *
      *************************/
-    if (MP4GetMetadataTrack(mp4file, &track, &track_total))
+    track = taglib_tag_track(tag);
+    
     {
         if (track != 0)
             FileTag->track = g_strdup_printf("%.*d",NUMBER_TRACK_FORMATED_SPIN_BUTTON,(gint)track); // Just to have numbers like this : '01', '05', '12', ...
-        if (track_total != 0)
-            FileTag->track_total = g_strdup_printf("%.*d",NUMBER_TRACK_FORMATED_SPIN_BUTTON,(gint)track_total); // Just to have numbers like this : '01', '05', '12', ...
+        //if (track_total != 0)
+        //    FileTag->track_total = g_strdup_printf("%.*d",NUMBER_TRACK_FORMATED_SPIN_BUTTON,(gint)track_total); // Just to have numbers like this : '01', '05', '12', ...
     }
 
     /*********
      * Genre *
      *********/
-    MP4GetMetadataGenre(mp4file, &FileTag->genre);
+    FileTag->genre = g_strdup(taglib_tag_genre(tag));
 
     /***********
      * Comment *
      ***********/
-    MP4GetMetadataComment(mp4file, &FileTag->comment);
+    FileTag->comment = g_strdup(taglib_tag_comment(tag));
 
     /**********************
      * Composer or Writer *
      **********************/
-    MP4GetMetadataWriter(mp4file, &FileTag->composer);
+    // MP4GetMetadataWriter(mp4file, &FileTag->composer);
 
     /*****************
      * Encoding Tool *
      *****************/
-    MP4GetMetadataTool(mp4file, &FileTag->encoded_by);
+    // MP4GetMetadataTool(mp4file, &FileTag->encoded_by);
 
     /* Unimplemented
     Tempo / BPM
@@ -187,6 +185,7 @@
     /***********
      * Picture *
      ***********/
+     /*
 #ifdef NEWMP4
     // There version can handle multiple pictures!
     // Version 1.6 of libmp4v2 introduces an index argument for MP4GetMetadataCoverart
@@ -210,10 +209,11 @@
         pic->type = PICTURE_TYPE_FRONT_COVER;
         pic->description = NULL;
     }
-
+    */
 
     /* Free allocated data */
-    MP4Close(mp4file);
+    taglib_tag_free_strings();
+    taglib_file_free(mp4file);
 
     return TRUE;
 }
@@ -233,7 +233,8 @@
     gchar    *filename;
     gchar    *filename_utf8;
     FILE     *file;
-    MP4FileHandle mp4file = NULL;
+    TagLib_File *mp4file = NULL;
+    TagLib_Tag *tag;
     gint error = 0;
 
     if (!ETFile || !ETFile->FileTag)
@@ -252,23 +253,25 @@
     fclose(file);
 
     /* Open file for writing */
-    mp4file = MP4Modify(filename,0,0);
-    if (mp4file == MP4_INVALID_FILE_HANDLE)
+    mp4file = taglib_file_new_type(filename, TagLib_File_MP4);
+    if (mp4file == NULL)
     {
         Log_Print(LOG_ERROR,_("ERROR while opening file: '%s' (%s)."),filename_utf8,_("MP4 format invalid"));
         return FALSE;
     }
+    
+    tag = taglib_file_tag(mp4file);
 
     /*********
      * Title *
      *********/
     if (FileTag->title && g_utf8_strlen(FileTag->title, -1) > 0)
     {
-        MP4SetMetadataName(mp4file, FileTag->title);
+        taglib_tag_set_title(tag, FileTag->title);
     }else
     {
         //MP4DeleteMetadataName(mp4file); // Not available on mpeg4ip-1.2 (only in 1.3)
-        MP4SetMetadataName(mp4file, "");
+        taglib_tag_set_title(tag, "");
     }
 
     /**********
@@ -276,11 +279,11 @@
      **********/
     if (FileTag->artist && g_utf8_strlen(FileTag->artist, -1) > 0)
     {
-        MP4SetMetadataArtist(mp4file, FileTag->artist);
+        taglib_tag_set_artist(tag, FileTag->artist);
     }else
     {
         //MP4DeleteMetadataArtist(mp4file);
-        MP4SetMetadataArtist(mp4file, "");
+        taglib_tag_set_artist(tag, "");
     }
 
     /*********
@@ -288,11 +291,11 @@
      *********/
     if (FileTag->album && g_utf8_strlen(FileTag->album, -1) > 0)
     {
-        MP4SetMetadataAlbum(mp4file, FileTag->album);
+        taglib_tag_set_album(tag, FileTag->album);
     }else
     {
         //MP4DeleteMetadataAlbum(mp4file);
-        MP4SetMetadataAlbum(mp4file, "");
+        taglib_tag_set_album(tag, "");
     }
 
     /**********************
@@ -301,12 +304,9 @@
     if (FileTag->disc_number && g_utf8_strlen(FileTag->disc_number, -1) > 0)
     //|| FileTag->disc_number_total && g_utf8_strlen(FileTag->disc_number_total, -1) > 0)
     {
-        uint16_t disk      = 0;
-        uint16_t disktotal = 0;
-
         /* At the present time, we manage only disk number like '1' or '1/2', we
          * don't use disk number total... so here we try to decompose */
-        if (FileTag->disc_number)
+        /*if (FileTag->disc_number)
         {
             gchar *dn_tmp = g_strdup(FileTag->disc_number);
             gchar *tmp    = strchr(dn_tmp,'/');
@@ -325,16 +325,16 @@
             }
             g_free(dn_tmp);
         }
-        /*if (FileTag->disc_number)
+        if (FileTag->disc_number)
             disk = atoi(FileTag->disc_number);
         if (FileTag->disc_number_total)
             disktotal = atoi(FileTag->disc_number_total);
         */
-        MP4SetMetadataDisk(mp4file, disk, disktotal);
+        // MP4SetMetadataDisk(mp4file, disk, disktotal);
     }else
     {
         //MP4DeleteMetadataDisk(mp4file);
-        MP4SetMetadataDisk(mp4file, 0, 0);
+        //MP4SetMetadataDisk(mp4file, 0, 0);
     }
 
     /********
@@ -342,30 +342,29 @@
      ********/
     if (FileTag->year && g_utf8_strlen(FileTag->year, -1) > 0)
     {
-        MP4SetMetadataYear(mp4file, FileTag->year);
+        taglib_tag_set_year(tag, atoi(FileTag->year));
     }else
     {
         //MP4DeleteMetadataYear(mp4file);
-        MP4SetMetadataYear(mp4file, "");
+        taglib_tag_set_year(tag, 0);
     }
 
     /*************************
      * Track and Total Track *
      *************************/
     if ( (FileTag->track       && g_utf8_strlen(FileTag->track, -1) > 0)
-    ||   (FileTag->track_total && g_utf8_strlen(FileTag->track_total, -1) > 0) )
+    /*||   (FileTag->track_total && g_utf8_strlen(FileTag->track_total, -1) > 0) */)
     {
-        uint16_t track       = 0;
-        uint16_t track_total = 0;
+        unsigned track       = 0;
         if (FileTag->track)
             track = atoi(FileTag->track);
-        if (FileTag->track_total)
-            track_total = atoi(FileTag->track_total);
-        MP4SetMetadataTrack(mp4file, track, track_total);
+        //if (FileTag->track_total)
+        //    track_total = atoi(FileTag->track_total);
+        taglib_tag_set_track(tag, track);
     }else
     {
         //MP4DeleteMetadataTrack(mp4file);
-        MP4SetMetadataTrack(mp4file, 0, 0);
+        taglib_tag_set_track(tag, 0);
     }
 
     /*********
@@ -373,11 +372,11 @@
      *********/
     if (FileTag->genre && g_utf8_strlen(FileTag->genre, -1) > 0 )
     {
-        MP4SetMetadataGenre(mp4file, FileTag->genre);
+        taglib_tag_set_genre(tag, FileTag->genre);
     }else
     {
         //MP4DeleteMetadataGenre(mp4file);
-        MP4SetMetadataGenre(mp4file, "");
+        taglib_tag_set_genre(tag, "");
     }
 
     /***********
@@ -385,16 +384,17 @@
      ***********/
     if (FileTag->comment && g_utf8_strlen(FileTag->comment, -1) > 0)
     {
-        MP4SetMetadataComment(mp4file, FileTag->comment);
+        taglib_tag_set_comment(tag, FileTag->comment);
     }else
     {
         //MP4DeleteMetadataComment(mp4file);
-        MP4SetMetadataComment(mp4file, "");
+        taglib_tag_set_comment(tag, "");
     }
 
     /**********************
      * Composer or Writer *
      **********************/
+    /*
     if (FileTag->composer && g_utf8_strlen(FileTag->composer, -1) > 0)
     {
         MP4SetMetadataWriter(mp4file, FileTag->composer);
@@ -403,10 +403,12 @@
         //MP4DeleteMetadataWriter(mp4file);
         MP4SetMetadataWriter(mp4file, "");
     }
+    */
 
     /*****************
      * Encoding Tool *
      *****************/
+    /*
     if (FileTag->encoded_by && g_utf8_strlen(FileTag->encoded_by, -1) > 0)
     {
         MP4SetMetadataTool(mp4file, FileTag->encoded_by);
@@ -415,10 +417,12 @@
         //MP4DeleteMetadataTool(mp4file);
         MP4SetMetadataTool(mp4file, "");
     }
+    */
 
     /***********
      * Picture *
      ***********/
+    /*
     {
         // Can handle only one picture...
         Picture *pic;
@@ -433,9 +437,10 @@
             }
         }
     }
+    */
 
-
-    MP4Close(mp4file);
+    taglib_file_save(mp4file);
+    taglib_file_free(mp4file);
 
     if (error) return FALSE;
     else       return TRUE;
Index: easytag/src/easytag.c
===================================================================
--- easytag.orig/src/easytag.c	2011-06-08 23:28:43.000000000 +0700
+++ easytag/src/easytag.c	2011-06-08 23:28:50.000000000 +0700
@@ -4318,12 +4318,12 @@
 
 #ifdef ENABLE_MP4
         case MP4_TAG:
-            gtk_widget_show(GTK_WIDGET(DiscNumberLabel));
-            gtk_widget_show(GTK_WIDGET(DiscNumberEntry));
-            gtk_widget_show(GTK_WIDGET(DiscNumberMButton));
-            gtk_widget_show(GTK_WIDGET(ComposerLabel));
-            gtk_widget_show(GTK_WIDGET(ComposerEntry));
-            gtk_widget_show(GTK_WIDGET(ComposerMButton));
+            gtk_widget_hide(GTK_WIDGET(DiscNumberLabel));
+            gtk_widget_hide(GTK_WIDGET(DiscNumberEntry));
+            gtk_widget_hide(GTK_WIDGET(DiscNumberMButton));
+            gtk_widget_hide(GTK_WIDGET(ComposerLabel));
+            gtk_widget_hide(GTK_WIDGET(ComposerEntry));
+            gtk_widget_hide(GTK_WIDGET(ComposerMButton));
             gtk_widget_hide(GTK_WIDGET(OrigArtistLabel));
             gtk_widget_hide(GTK_WIDGET(OrigArtistEntry));
             gtk_widget_hide(GTK_WIDGET(OrigArtistMButton));
@@ -4333,16 +4333,16 @@
             gtk_widget_hide(GTK_WIDGET(URLLabel));
             gtk_widget_hide(GTK_WIDGET(URLEntry));
             gtk_widget_hide(GTK_WIDGET(URLMButton));
-            gtk_widget_show(GTK_WIDGET(EncodedByLabel));
-            gtk_widget_show(GTK_WIDGET(EncodedByEntry));
-            gtk_widget_show(GTK_WIDGET(EncodedByMButton));
-            gtk_widget_show(GTK_WIDGET(PictureLabel));
-            gtk_widget_show(GTK_WIDGET(PictureScrollWindow));
-            gtk_widget_show(GTK_WIDGET(PictureMButton));
-            gtk_widget_show(GTK_WIDGET(PictureClearButton));
-            gtk_widget_show(GTK_WIDGET(PictureAddButton));
-            gtk_widget_show(GTK_WIDGET(PictureSaveButton));
-            gtk_widget_show(GTK_WIDGET(PicturePropertiesButton));
+            gtk_widget_hide(GTK_WIDGET(EncodedByLabel));
+            gtk_widget_hide(GTK_WIDGET(EncodedByEntry));
+            gtk_widget_hide(GTK_WIDGET(EncodedByMButton));
+            gtk_widget_hide(GTK_WIDGET(PictureLabel));
+            gtk_widget_hide(GTK_WIDGET(PictureScrollWindow));
+            gtk_widget_hide(GTK_WIDGET(PictureMButton));
+            gtk_widget_hide(GTK_WIDGET(PictureClearButton));
+            gtk_widget_hide(GTK_WIDGET(PictureAddButton));
+            gtk_widget_hide(GTK_WIDGET(PictureSaveButton));
+            gtk_widget_hide(GTK_WIDGET(PicturePropertiesButton));
             break;
 #endif
 


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