Update of /cvsroot/gtkpod/gtkpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2975/src

Modified Files:
        display_itdb.h file.c file_itunesdb.c mp3file.c mp4file.c 
        tools.c 
Log Message:
         * src/display_itdb.h
           src/file.c
           src/file_itunesdb.c
           src/mp3file.c
           src/mp4file.c
           src/tools.c
           Got rid of radio_gain, audiophile_gain, peak_signal_set,
           radio_gain_set, audiophile_gain_set.

           TODO: rework normalisation process -- probably do not
           support mp3gain any more. "Normalize" would then just
           re-read the gain tags.



Index: display_itdb.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_itdb.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- display_itdb.h      21 May 2006 15:51:34 -0000      1.31
+++ display_itdb.h      10 Jun 2006 16:49:19 -0000      1.32
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-05-22 00:37:59 jcs>
+/* Time-stamp: <2006-06-11 01:35:38 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -64,14 +64,6 @@
 {
   gint32  oldsize;        /* used when updating tracks: size on iPod */
   gchar   *year_str;      /* year as string -- always identical to year */
-  guint32 peak_signal;   /* LAME Peak Signal * 0x800000             */
-  gdouble radio_gain;    /* RadioGain in dB
-                            (as defined by www.replaygain.org)      */
-  gdouble audiophile_gain;/* AudiophileGain in dB 
-                            (as defined by www.replaygain.org)      */
-  gboolean peak_signal_set;    /* has the peak signal been set?      */
-  gboolean radio_gain_set;     /* has the radio gain been set?       */
-  gboolean audiophile_gain_set;/* has the audiophile gain been set?  */
   gchar   *pc_path_locale;/* path on PC (local encoding)             */
   gchar   *pc_path_utf8;  /* PC filename in utf8 encoding            */
   time_t  mtime;          /* modification date of PC file            */

Index: file.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file.c,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -d -r1.166 -r1.167
--- file.c      8 Jun 2006 05:53:49 -0000       1.166
+++ file.c      10 Jun 2006 16:49:19 -0000      1.167
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-06-06 21:50:44 jcs>
+/* Time-stamp: <2006-06-11 01:37:08 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -814,12 +814,6 @@
     to->bitrate = from->bitrate;
     to->samplerate = from->samplerate;
     to->soundcheck = from->soundcheck;
-    eto->peak_signal = efrom->peak_signal;
-    eto->radio_gain = efrom->radio_gain;
-    eto->audiophile_gain = efrom->audiophile_gain;
-    eto->peak_signal_set = efrom->peak_signal_set;
-    eto->radio_gain_set = efrom->radio_gain_set;
-    eto->audiophile_gain_set = efrom->audiophile_gain_set;
     eto->mtime = efrom->mtime;
     to->time_added = from->time_added;
     to->time_modified = from->time_modified;
@@ -1120,9 +1114,6 @@
            if (nti->tracklen)
                nti->bitrate = nti->size * 8 / nti->tracklen;
        }
-       if (enti->radio_gain_set) 
-           nti->soundcheck = 
-               replaygain_to_soundcheck (enti->radio_gain);
        /* Set unset strings (album...) from filename */
        set_unset_entries_from_filename (nti);
 

Index: file_itunesdb.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_itunesdb.c,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -d -r1.91 -r1.92
--- file_itunesdb.c     10 Jun 2006 10:38:58 -0000      1.91
+++ file_itunesdb.c     10 Jun 2006 16:49:19 -0000      1.92
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-06-10 18:20:19 jcs>
+/* Time-stamp: <2006-06-11 01:38:32 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -69,12 +69,6 @@
     gint32 oldsize;
     guint32 playcount;
     guint32 rating;        /* still read but never written */
-    guint32 peak_signal;
-    gdouble radio_gain;
-    gdouble audiophile_gain;
-    gboolean peak_signal_set;
-    gboolean radio_gain_set;
-    gboolean audiophile_gain_set;
     gboolean transferred;
 };
 
@@ -155,27 +149,6 @@
          etr->hostname = g_strdup (sei->hostname);
       etr->oldsize = sei->oldsize;
       track->playcount += sei->playcount;
-      if (sei->peak_signal_set)
-      {
-         etr->peak_signal_set = sei->peak_signal_set;
-         etr->peak_signal = sei->peak_signal;
-      }
-      if (extendedinfoversion > 0.81)
-      {
-         /* before 0.82 we used gint instead of double, so re-reading
-            the tags is safer (0.81 was CVS only and was a bit messed
-            up for a while) */
-         if (sei->radio_gain_set)
-         {
-             etr->radio_gain_set = sei->radio_gain_set;
-             etr->radio_gain = sei->radio_gain;
-         }
-         if (sei->audiophile_gain_set)
-         {
-             etr->audiophile_gain_set = sei->audiophile_gain_set;
-             etr->audiophile_gain = sei->audiophile_gain;
-         }
-      }
       /* FIXME: This means that the rating can never be reset to 0
        * by the iPod */
       if (track->rating == 0)
@@ -392,21 +365,6 @@
                sei->transferred = atoi (arg);
            else if (g_ascii_strcasecmp (line, "filename_ipod") == 0)
                sei->ipod_path = g_strdup (arg);
-           else if (g_ascii_strcasecmp (line, "peak_signal") == 0)
-           {
-               sei->peak_signal_set = TRUE;
-               sei->peak_signal = g_ascii_strtod (arg, NULL);
-           }
-           else if (g_ascii_strcasecmp (line, "radio_gain") == 0)
-           {
-               sei->radio_gain_set = TRUE;
-               sei->radio_gain = g_ascii_strtod (arg, NULL);
-           }
-           else if (g_ascii_strcasecmp (line, "audiophile_gain") == 0)
-           {
-               sei->audiophile_gain_set = TRUE;
-               sei->audiophile_gain = g_ascii_strtod (arg, NULL);
-           }
            else if (g_ascii_strcasecmp (line, "pc_mtime") == 0)
            {
                sei->mtime = (time_t)g_ascii_strtoull (arg, NULL, 10);
@@ -1149,24 +1107,6 @@
          fprintf (fp, "charset=%s\n", etr->charset);
       if (!track->transferred && etr->oldsize)
          fprintf (fp, "oldsize=%d\n", etr->oldsize);
-      if (etr->peak_signal_set)
-      {
-         gchar buf[20];
-         g_ascii_dtostr (buf, 20, (gdouble)etr->peak_signal);
-         fprintf (fp, "peak_signal=%s\n", buf);
-      }
-      if (etr->radio_gain_set)
-      {
-         gchar buf[20];
-         g_ascii_dtostr (buf, 20, etr->radio_gain);
-         fprintf (fp, "radio_gain=%s\n", buf);
-      }
-      if (etr->audiophile_gain_set)
-      {
-         gchar buf[20];
-         g_ascii_dtostr (buf, 20, etr->audiophile_gain);
-         fprintf (fp, "audiophile_gain=%s\n", buf);
-      }
       if (etr->mtime)
          fprintf (fp, "pc_mtime=%llu\n", (unsigned long long)etr->mtime);
       fprintf (fp, "transferred=%d\n", track->transferred);

Index: mp3file.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/mp3file.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- mp3file.c   13 May 2006 16:41:06 -0000      1.64
+++ mp3file.c   10 Jun 2006 16:49:19 -0000      1.65
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-05-10 00:33:54 jcs>
+/* Time-stamp: <2006-06-11 01:36:34 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -48,6 +48,8 @@
  * Description of each item of the TagList list
  */
 typedef struct _File_Tag File_Tag;
+typedef struct _GainData GainData;
+
 struct _File_Tag
 {
     gchar *title;          /* Title of track */
@@ -74,6 +76,20 @@
                             of the Track structure */
 };
 
+
+struct _GainData
+{
+  guint32 peak_signal;   /* LAME Peak Signal * 0x800000             */
+  gdouble radio_gain;    /* RadioGain in dB
+                            (as defined by www.replaygain.org)      */
+  gdouble audiophile_gain;/* AudiophileGain in dB 
+                            (as defined by www.replaygain.org)      */
+  gboolean peak_signal_set;    /* has the peak signal been set?      */
+  gboolean radio_gain_set;     /* has the radio gain been set?       */
+  gboolean audiophile_gain_set;/* has the audiophile gain been set?  */
+};
+
+
 /* This code is taken from the mp3info code. Only the code needed for
  * the playlength calculation has been extracted */
 
@@ -1433,13 +1449,10 @@
 /* buf[] must be declared unsigned -- otherwise the casts, shifts and
    additions below produce funny results */             
 static void read_lame_replaygain(unsigned char buf[],
-                                Track *track, int gain_adjust) {
+                                GainData *etr, int gain_adjust) {
        char oc, nc;
        gint gain;
-       ExtraTrackData *etr;
 
-       g_return_if_fail (track);
-       etr = track->userdata;
        g_return_if_fail (etr);
 
        /* buf[0] and buf[1] are a bit field:
@@ -1509,7 +1522,7 @@
  * TODO: Check CRC.
  */
 
-gboolean mp3_get_track_lame_replaygain (gchar *path, Track *track)
+gboolean mp3_get_track_lame_replaygain (gchar *path, GainData *etr)
 {
        struct {
                /* All members are defined in terms of chars so padding does not
@@ -1527,10 +1540,7 @@
        int gain_adjust = 0;
        int sideinfo;
        guint32 ps;
-       ExtraTrackData *etr;
 
-       g_return_val_if_fail (track, FALSE);
-       etr = track->userdata;
        g_return_val_if_fail (etr, FALSE);
 
        etr->radio_gain = 0;
@@ -1660,13 +1670,13 @@
                goto rg_fail;
 
        /* radio gain */
-       read_lame_replaygain (buf, track, gain_adjust);
+       read_lame_replaygain (buf, etr, gain_adjust);
 
        if (fread(&buf[0], 1, 2, file) != 2)
                goto rg_fail;
 
        /* audiophile gain */
-       read_lame_replaygain (buf, track, gain_adjust);
+       read_lame_replaygain (buf, etr, gain_adjust);
 
        fclose(file);
        return TRUE;
@@ -1688,7 +1698,7 @@
  * The function only modifies the gains if they have not previously been set.
  */
 
-gboolean mp3_get_track_ape_replaygain(gchar *path, Track *track)
+gboolean mp3_get_track_ape_replaygain(gchar *path, GainData *etr)
 {
        /* The Ape Tag is located a t the end of the file. Or at least that
         * seems where it can most likely be found. Either it is at the very end
@@ -1709,10 +1719,7 @@
        guint32 entry_length = 0;
        guint32 entries;
        double d;
-       ExtraTrackData *etr;
 
-       g_return_val_if_fail (track, FALSE);
-       etr = track->userdata;
        g_return_val_if_fail (etr, FALSE);
        g_return_val_if_fail (path, FALSE);
 
@@ -1955,25 +1962,40 @@
 
 gboolean mp3_get_gain (gchar *path, Track *track) 
 {
-    ExtraTrackData *etr;
+    GainData etr;
 
     g_return_val_if_fail (track, FALSE);
-    etr = track->userdata;
-    g_return_val_if_fail (etr, FALSE);
 
-    etr->radio_gain_set = FALSE;
-    etr->audiophile_gain_set = FALSE;
-    etr->peak_signal_set = FALSE;
+    memset (&etr, 0, sizeof (GainData));
 
-    mp3_get_track_lame_replaygain (path, track);
-/*    printf ("%d:%d\n", track->radio_gain_set, track->peak_signal_set); */
-    if (etr->radio_gain_set && etr->peak_signal_set) return TRUE;
-    mp3_get_track_ape_replaygain (path, track);
-    if (etr->radio_gain_set) return TRUE;
+    etr.radio_gain_set = FALSE;
+    etr.audiophile_gain_set = FALSE;
+    etr.peak_signal_set = FALSE;
+
+    mp3_get_track_lame_replaygain (path, &etr);
+    if (etr.radio_gain_set)
+    {
+       track->soundcheck = replaygain_to_soundcheck (etr.radio_gain);
+       return TRUE;
+    }
+
+    mp3_get_track_ape_replaygain (path, &etr);
+    if (etr.radio_gain_set)
+    {
+       track->soundcheck = replaygain_to_soundcheck (etr.radio_gain);
+       return TRUE;
+    }
            
     if (mp3_calc_gain (path, track))
-       mp3_get_track_ape_replaygain (path, track);
-    if (etr->radio_gain_set) return TRUE;
+    {
+       mp3_get_track_ape_replaygain (path, &etr);
+    }
+    if (etr.radio_gain_set)
+    {
+       track->soundcheck = replaygain_to_soundcheck (etr.radio_gain);
+       return TRUE;
+    }
+
     return FALSE;
 }
 
@@ -1983,27 +2005,35 @@
  * mp3_read_gain - as mp3_get_gain() above, but will never run
  * mp3gain.
  *
- * Returns TRUE if at least the radio_gain could be read.
+ * Returns TRUE if the soundcheck field could be set.
  */
 
 gboolean mp3_read_gain (gchar *path, Track *track) 
 {
-    ExtraTrackData *etr;
+    GainData etr;
 
     g_return_val_if_fail (track, FALSE);
-    etr = track->userdata;
-    g_return_val_if_fail (etr, FALSE);
 
-    etr->radio_gain_set = FALSE;
-    etr->audiophile_gain_set = FALSE;
-    etr->peak_signal_set = FALSE;
+    memset (&etr, 0, sizeof (GainData));
 
-    mp3_get_track_lame_replaygain (path, track);
-    if (etr->radio_gain_set && etr->peak_signal_set) return TRUE;
+    etr.radio_gain_set = FALSE;
+    etr.audiophile_gain_set = FALSE;
+    etr.peak_signal_set = FALSE;
+
+    mp3_get_track_lame_replaygain (path, &etr);
+    if (etr.radio_gain_set)
+    {
+       track->soundcheck = replaygain_to_soundcheck (etr.radio_gain);
+       return TRUE;
+    }
+
+    mp3_get_track_ape_replaygain (path, &etr);
+    if (etr.radio_gain_set)
+    {
+       track->soundcheck = replaygain_to_soundcheck (etr.radio_gain);
+       return TRUE;
+    }
 
-    mp3_get_track_ape_replaygain (path, track);
-    if (etr->radio_gain_set) return TRUE;
-    
     return FALSE;
 }
 

Index: mp4file.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/mp4file.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- mp4file.c   10 Jun 2006 16:14:15 -0000      1.29
+++ mp4file.c   10 Jun 2006 16:49:19 -0000      1.30
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-06-11 01:11:48 jcs>
+/* Time-stamp: <2006-06-11 01:35:38 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -72,13 +72,6 @@
    gint32  bitrate;           /+ bitrate in kbps       +/
    guint16 samplerate;        /+ e.g.: CD is 44100     +/
    guint32 peak_signal;              /+ LAME Peak Signal * 0x800000         +/
-   gint32  radio_gain;       /+ RadioGain in dB*10
-                               (as defined by www.replaygain.org)   +/
-   gint32  audiophile_gain;   /+ AudiophileGain in dB*10 
-                               (as defined by www.replaygain.org)   +/
-   gboolean peak_signal_set;  /+ has the peak signal been set?       +/
-   gboolean radio_gain_set;   /+ has the radio gain been set?        +/
-   gboolean audiophile_gain_set;/+ has the audiophile gain been set? +/
    gboolean compilation;      /+ Track is part of a compilation CD   +/
 
    If prefs_get_tag_readtags() returns FALSE you only should fill in

Index: tools.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/tools.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- tools.c     20 May 2006 16:16:07 -0000      1.45
+++ tools.c     10 Jun 2006 16:49:20 -0000      1.46
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-05-21 01:13:19 jcs>
+/* Time-stamp: <2006-06-11 01:44:51 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -70,18 +70,21 @@
 /* will get the volume either from mp3gain or from LAME's ReplayGain */
 static gint32 nm_get_soundcheck (Track *track)
 {
-    ExtraTrackData *etr;
     gint32 sc = TRACKVOLERROR;
 
     g_return_val_if_fail (track, sc);
-    etr = track->userdata;
-    g_return_val_if_fail (etr, sc);
 
-    if (!etr->radio_gain_set)
-       get_gain (track);
-    if (etr->radio_gain_set) 
-       sc = replaygain_to_soundcheck (etr->radio_gain);
-    return sc;
+    if (track->soundcheck != 0)
+    {
+       return track->soundcheck;
+    }
+    else
+    {
+       if (get_gain (track))
+           return track->soundcheck;
+       else
+           return sc;
+    }
 }
 
 
@@ -129,6 +132,7 @@
 {
   gint count, succ_count, n, nrs;
   gint32 new_soundcheck = 0;
+  gint32 old_soundcheck = 0;
   static gboolean abort;
   GtkWidget *dialog, *progress_bar, *label, *track_label;
   GtkWidget *image, *hbox;
@@ -227,6 +231,8 @@
      while (widgets_blocked && gtk_events_pending ())
         gtk_main_iteration ();
 
+     old_soundcheck = track->soundcheck;
+
 #ifdef G_THREADS_ENABLED
      mutex_data = FALSE;
      thread = g_thread_create (th_nm_get_soundcheck, track, TRUE, NULL);



_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to