| Field |
Size |
Description |
Data |
Hexdump |
|---|---|---|---|---|
| header_id |
4 |
Header |
shdb |
62 64 68 73 |
| unknown_1 |
4 |
? |
0x03000002 |
03 00 00 02 |
| header_length |
4 |
size of this header |
64 |
40 00 00 00 |
| total_no_of_tracks |
4 |
126 |
7e 00 00 00 |
|
| total_no_of_playlists |
4 |
10 |
0a 00 00 00 |
|
| unknown_2 |
8 |
0x0000 0000 0000 0000 |
00 00 00 00 00 00 00 00 |
|
| max_volume |
1 |
0x00 do not limit the volume 0x03 is the min setting 0x20 is the max setting |
0x00 |
00 |
| voiceover_enabled |
1 |
1 |
01 |
|
| unknown_3 |
2 |
0x0000 |
00 00 |
|
| total_no_of_tracks2 |
4 |
Does not include podcasts or audiobooks in the count. |
126 |
7e 00 00 00 |
| track_header_chunk_offset |
4 |
0x00000040 |
40 00 00 00 |
|
| playlist_header_chunk_offset |
4 |
0x0000b964 |
64 b9 00 00 |
|
| unknown_4 |
20 |
0x0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| Field |
Size |
Data |
Hexdump |
| header_id |
4 |
shth |
68 74 68 73 |
| total_length |
4 |
524 |
0c 02 00 00 |
| number_of_tracks |
4 |
126 |
7e 00 00 00 |
| unknown_1 |
8 |
0x0000 0000 0000 0000 |
00 00 00 00 00 00 00 00 |
| offset_of_track_chunk_0 |
4 |
0x0000024c |
4c 02 00 00 |
| offset_of_track_chunk_1 |
4 |
0x000003c0 |
c0 03 00 00 |
| offset_of_track_chunk_2 |
4 |
0x00000534 |
34 05 00 00 |
| offset_of_track_chunk_3 |
4 |
0x000006a8 |
a8 06 00 00 |
| offset_of_track_chunk_4 |
4 |
0x0000081c |
1c 08 00 00 |
| ... |
... |
... |
| Field |
Size |
Description |
Data |
Hexdump |
|---|---|---|---|---|
| header_id |
4 |
shtr |
72 74 68 73 |
|
| total_length |
4 |
372 |
74 01 00 00 |
|
| start_at_pos_ms |
4 |
0 |
00 00 00 00 |
|
| stop_at_pos_ms |
4 |
Rythmbox IPod plugin sets this value always 0. |
112169 |
29 b6 01 00 |
| volume_gain |
4 |
0x00000000 |
00 00 00 00 |
|
| filetype |
4 |
Type 1 are mpeg, mp3 files Type 2 arere aac, mp4, m4a files Type 4 are wav files |
1 (MP3) |
01 00 00 00 |
| filename |
256 |
/iPod_Control/Music/F02/NNCN.mp3 |
2f 69 50 6f 64 5f 43 6f 6e 74 72 6f 6c 2f 4d 75 73 69 63 2f 46 30 32 2f 4e 4e 43 4e 2e 6d 70 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
|
| Bookmark |
4 |
In milliseconds |
0x00000000 |
00 00 00 00 |
| dont_skip_on_shuffle |
1 |
If all songs in a playlist don't have this bit set the playlist is skipped when the ipod is set to shuffle and a playlist is being chosen. It seems to be ignored when shuffling within a playlist! |
1 |
01 |
| remember_playing_pos |
1 |
0 |
00 |
|
| part_of_uninterruptable_album |
1 |
0 |
00 |
|
| unknown_1 |
1 |
0x00 |
00 |
|
| pregap |
4 |
0x240 = 576 |
40 02 00 00 |
|
| postgap |
4 |
0xc9c= 3228 |
9c 0c 00 00 |
|
| number_of_samples |
4 |
0x4b6c24 = 4942884 |
24 6c 4b 00 |
|
| unknown_file_related_data1 |
4 |
0 |
00 00 00 00 |
|
| gapless_data |
4 |
0x24a2a2 = 2400930 |
a2 a2 24 00 |
|
| unknown_file_related_data2 |
4 |
0 |
00 00 00 00 |
|
| Album ID |
4 |
0x0000007f |
7f 00 00 00 |
|
| track_number |
2 |
1 |
01 00 |
|
| disc_number |
2 |
0 |
00 00 |
|
| unknown_2 |
8 |
0x0000 0000 0000 0000 |
00 00 00 00 00 00 00 00 |
|
| dbid |
8 |
Serves as the filename for the voiceover |
0xdfa209b7ce6f2db9 |
b9 2d 6f ce b7 09 a2 df |
| Artist ID |
4 |
0x00000146 |
46 01 00 00 |
|
| unknown_3 |
32 |
0x0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| Field |
Size |
Description |
Data |
Hexdump |
|---|---|---|---|---|
| header_id |
4 |
shph |
68 70 68 73 |
|
| total_length |
4 |
20 00 00 00 |
||
| number_of_playlists |
4? |
3 |
03 00 00 00 |
|
| number_of_playlists_1 |
2 |
The number of non-podcast playlists, 0xffff if all playlists are not podcast playlists. |
0xffff |
ff ff |
| number_of_playlists_2 |
2 |
The number of master playlists, 0xffff if all playlists are not master playlists. |
0x0100 |
01 00 |
| number_of_playlists_3 |
2 |
The number of non-audiobook playlists, 0xffff if all playlists are not audiobook playlists. |
0xffff |
ff ff |
| unknown_2 |
2 |
00 00 |
||
| offset_of_playlist_1 |
4 |
0x00015b14 |
14 5b 01 00 |
|
| offset_of_playlist_2 |
4 |
0x00015ef0 |
f0 5e 01 00 |
|
| ... |
... |
... |
| Field |
Size |
Description |
Data |
Hexdump |
|---|---|---|---|---|
| header_id |
4 |
shpl |
6c 70 68 73 |
|
| total_length |
4 |
dc 03 00 00 |
||
| number_of_songs |
4 |
236 |
ec 00 00 00 |
|
| number_of_songs2 |
4 |
Number of non podcast or audiobook songs. |
236 |
ec 00 00 00 |
| dbid |
8 |
Serves as the filename for the voiceover |
6bed |
48 4d 19 eb 4e 34 ed 6b |
| type |
4 |
1 is the master playlist 2 is a normal playlist 3 is a podcast playlist 4 is a audiobook playlist |
2 |
02 00 00 00 |
| unknown_1 |
16 |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
||
| playlist_track_1 |
4 |
118 |
76 00 00 00 |
|
| playlist_track_2 |
4 |
119 |
77 00 00 00 |
|
| ... |
... |
... |
Original Source: http://shuffle3db.wikispaces.com/iTunesSD3gen (expired)