Update of /cvsroot/gtkpod/libgpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10317/src
Modified Files:
itdb.h itdb_itunesdb.c itdb_track.c
Log Message:
* itdb.h:
itdb_itunesdb.c:
itdb_track.c:
renamed some formerly unknown Itdb_Track entries and added
comments:
- unk184->pregap
- samplecount: guint32 -> guint64.
- unk192->(removed)
- unk200->postgap
- unk208->mediatype
- unk212->season_nr
- unk216->episode_nr
Index: itdb.h
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb.h,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- itdb.h 29 Oct 2006 10:37:47 -0000 1.47
+++ itdb.h 7 Nov 2006 12:08:18 -0000 1.48
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-10-29 19:18:27 jcs>
+/* Time-stamp: <2006-11-07 20:51:08 jcs>
|
| Copyright (C) 2002-2006 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -766,7 +766,9 @@
(middle button) with further information
about the track will be shown. */
guint64 dbid2; /* not clear. if not set, itdb will set this to
- the same value as dbid when adding a track */
+ the same value as dbid when adding a
+ track. (With iTunes, since V0x12, this field
+ value differs from the dbid one.) */
guint8 lyrics_flag; /* set to 0x01 if lyrics are present in MP3 tag
("ULST"), 0x00 otherwise */
guint8 movie_flag; /* set to 0x01 if it's a movie file, 0x00
@@ -775,15 +777,48 @@
on the iPod (bullet) once played it is set to
0x01. Non-podcasts have this set to 0x01. */
guint8 unk179; /* unknown (always 0x00 so far) */
- guint32 unk180, unk184;
- guint32 samplecount;/* Number of samples in the song. First observed
+ guint32 unk180;
+ guint32 pregap; /* Number of samples of silence before the songs
+ starts (for gapless playback). */
+ guint64 samplecount;/* Number of samples in the song. First observed
in dbversion 0x0d, and only for AAC and WAV
- files (not MP3?!?). */
- guint32 unk192, unk196, unk200;
- guint32 unk204; /* unknown - added in dbversion 0x0c, first
- values observed in 0x0d. Observed to be 0x0
- or 0x1. */
- guint32 unk208, unk212, unk216, unk220, unk224;
+ files (for gapless playback). */
+ guint32 unk196;
+ guint32 postgap; /* Number of samples of silence at the end of
+ the song (for gapless playback). */
+ guint32 unk204; /* unknown - added in dbversion 0x0c, first
+ values observed in 0x0d. Observed to be 0x0
+ or 0x1. */
+ guint32 mediatype; /* It seems that this field denotes the type of
+ the file on (e.g.) the 5g video iPod. It must
+ be set to 0x00000001 for audio files, and set
+ to 0x00000002 for video files. If set to
+ 0x00, the files show up in both, the audio
+ menus ("Songs", "Artists", etc.) and the
+ video menus ("Movies", "Music Videos",
+ etc.). It appears to be set to 0x20 for music
+ videos, and if set to 0x60 the file shows up
+ in "TV Shows" rather than "Movies".
+
+ The following list summarizes all observed types:
+
+ * 0x00 00 00 00 - Audio/Video
+ * 0x00 00 00 01 - Audio
+ * 0x00 00 00 02 - Video
+ * 0x00 00 00 04 - Podcast
+ * 0x00 00 00 06 - Video Podcast
+ * 0x00 00 00 08 - Audiobook
+ * 0x00 00 00 20 - Music Video
+ * 0x00 00 00 40 - TV Show (shows up ONLY in TV Shows
+ * 0x00 00 00 60 - TV Show (shows up in the
+ Music lists as well) */
+ guint32 season_nr; /* the season number of the track, for TV shows only. */
+ guint32 episode_nr; /* the episode number of the track, for TV shows
+ only - although not displayed on the iPod,
+ the episodes are sorted by episode number. */
+ guint32 unk220; /* Has something to do with protected files -
+ set to 0x0 for non-protected files. */
+ guint32 unk224;
guint32 unk228, unk232, unk236, unk240;
/* Chapter data: defines where the chapter stops are in the track,
Index: itdb_itunesdb.c
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb_itunesdb.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- itdb_itunesdb.c 21 Sep 2006 11:39:05 -0000 1.68
+++ itdb_itunesdb.c 7 Nov 2006 12:08:18 -0000 1.69
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-09-21 20:12:24 jcs>
+/* Time-stamp: <2006-11-07 20:53:26 jcs>
|
| Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -2126,15 +2126,14 @@
track->mark_unplayed = get8int (cts, seek+178);
track->unk179 = get8int (cts, seek+179);
track->unk180 = get32lint (cts, seek+180);
- track->unk184 = get32lint (cts, seek+184);
- track->samplecount = get32lint (cts, seek+188);
- track->unk192 = get32lint (cts, seek+192);
+ track->pregap = get32lint (cts, seek+184);
+ track->samplecount = get64lint (cts, seek+188);
track->unk196 = get32lint (cts, seek+196);
- track->unk200 = get32lint (cts, seek+200);
+ track->postgap = get32lint (cts, seek+200);
track->unk204 = get32lint (cts, seek+204);
- track->unk208 = get32lint (cts, seek+208);
- track->unk212 = get32lint (cts, seek+212);
- track->unk216 = get32lint (cts, seek+216);
+ track->mediatype = get32lint (cts, seek+208);
+ track->season_nr = get32lint (cts, seek+212);
+ track->episode_nr = get32lint (cts, seek+216);
track->unk220 = get32lint (cts, seek+220);
track->unk224 = get32lint (cts, seek+224);
track->unk228 = get32lint (cts, seek+228);
@@ -3313,15 +3312,14 @@
put8int (cts, track->mark_unplayed);
put8int (cts, track->unk179);
put32lint (cts, track->unk180);
- put32lint (cts, track->unk184);
- put32lint (cts, track->samplecount);
- put32lint (cts, track->unk192);
+ put32lint (cts, track->pregap);
+ put64lint (cts, track->samplecount);
put32lint (cts, track->unk196);
- put32lint (cts, track->unk200);
+ put32lint (cts, track->postgap);
put32lint (cts, track->unk204);
- put32lint (cts, track->unk208);
- put32lint (cts, track->unk212);
- put32lint (cts, track->unk216);
+ put32lint (cts, track->mediatype);
+ put32lint (cts, track->season_nr);
+ put32lint (cts, track->episode_nr);
put32lint (cts, track->unk220);
put32lint (cts, track->unk224);
put32lint (cts, track->unk228);
Index: itdb_track.c
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb_track.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- itdb_track.c 22 Oct 2006 08:42:49 -0000 1.22
+++ itdb_track.c 7 Nov 2006 12:08:19 -0000 1.23
@@ -1,4 +1,4 @@
-/* Time-stamp: <2006-10-22 17:42:23 jcs>
+/* Time-stamp: <2006-11-07 20:54:45 jcs>
|
| Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -169,17 +169,17 @@
* proven that setting unk208 to non-0 doesn't upset older
* ipod models
*/
- if (tr->unk208 == 0)
+ if (tr->mediatype == 0)
{
if (haystack (tr->filetype, m4v_desc))
{
/* set type to video (0x00000002) */
- tr->unk208 = 0x00000002;
+ tr->mediatype = 0x00000002;
}
else
{
/* set type to audio */
- tr->unk208 = 0x00000001;
+ tr->mediatype = 0x00000001;
}
}
}
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2