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