1 In this file I will concentrate on the meaning and order of the files,
\r
2 rather than in their encoding format.
\r
4 Let say we add the following albums to a sony walkman (in this order):
\r
6 group | artist Names | albums Names | genre | nb songs
\r
7 ------+---------------+-----------------------+----------+--------------
\r
8 dir1 | the roots | game theory | hip hop | 2 songs
\r
9 dir2 | u_Artist | u_Album | ambient | 4 songs
\r
10 dir2 | j_Artist | j_Album | ambient | 5 songs
\r
11 dir3 | the roots | things fall apart | hip hop | 3 songs
\r
12 dir4 | MIG | dhikrayat | ethnic | 6 songs
\r
15 ----------------------------------------------------------------------------------
\r
16 04CNTINF.DAT explained : (contains one list)
\r
17 ------------------------
\r
18 in this file you have every song's tags (title, album, artist, genre)
\r
20 the songs are ordered by FILE_ORDER,
\r
21 FILE_ORDER correspond to the OMA file names.
\r
23 for example, the song with FILE_ORDER=63 is file 1000003f.OMA
\r
25 this FILE_ORDER is basically the order in which you added the songs.
\r
26 (but things can get complicated if you delete and then add another file)
\r
28 so in our case we have the following order:
\r
29 FILE_ORDER=01 game theory_song1
\r
30 FILE_ORDER=02 game theory_song2
\r
31 FILE_ORDER=03 u_album_song1
\r
32 FILE_ORDER=04 u_album_song2
\r
33 FILE_ORDER=05 u_album_song3
\r
34 FILE_ORDER=06 u_album_song4
\r
35 FILE_ORDER=07 j_album_song1
\r
36 FILE_ORDER=08 j_album_song2
\r
37 FILE_ORDER=09 j_album_song3
\r
38 FILE_ORDER=10 j_album_song4
\r
39 FILE_ORDER=11 j_album_song5
\r
40 FILE_ORDER=12 things fall apart_song1
\r
41 FILE_ORDER=13 things fall apart_song2
\r
42 FILE_ORDER=14 things fall apart_song3
\r
43 FILE_ORDER=15 dhikrayat_song1
\r
44 FILE_ORDER=16 dhikrayat_song2
\r
45 FILE_ORDER=17 dhikrayat_song3
\r
46 FILE_ORDER=18 dhikrayat_song4
\r
47 FILE_ORDER=19 dhikrayat_song5
\r
48 FILE_ORDER=20 dhikrayat_song6
\r
50 ----------------------------------------------------------------------------------
\r
51 03GINF02.DAT explained : (contains one list)
\r
52 ------------------------
\r
53 This file is the list of artist names,
\r
54 They are ordered in the FILE_ORDER they have been found when parsing 04CNTINF.DAT
\r
56 in our case we will have :
\r
57 ARTIST_ORDER=1 the roots
\r
58 ARTIST_ORDER=2 u_Artist
\r
59 ARTIST_ORDER=3 j_Artist
\r
62 ----------------------------------------------------------------------------------
\r
63 03GINF03.DAT explained : (contains one list)
\r
64 ------------------------
\r
65 This file is the list of album names,
\r
66 They are ordered in the FILE_ORDER they have been found when parsing 04CNTINF.DAT
\r
68 in our case we will have :
\r
69 ALBUM_ORDER=1 game theory
\r
70 ALBUM_ORDER=2 u_Album
\r
71 ALBUM_ORDER=3 j_Album
\r
72 ALBUM_ORDER=4 things fall apart
\r
73 ALBUM_ORDER=5 dhikrayat
\r
75 ----------------------------------------------------------------------------------
\r
76 03GINF04.DAT explained : (contains one list)
\r
77 ------------------------
\r
78 This file is the list of genre names,
\r
79 They are ordered in the FILE_ORDER they have been found when parsing 04CNTINF.DAT
\r
81 in our case we will have :
\r
82 GENRE_ORDER=1 hip hop
\r
83 GENRE_ORDER=2 ambiant
\r
84 GENRE_ORDER=3 ethnic
\r
86 ----------------------------------------------------------------------------------
\r
87 01TREE02 explained (contains 1 GPLB and 1 TPLB):
\r
88 --------------------
\r
89 this file is used to create a link from the artists names to the songs
\r
92 - ARTIST_ORDER numbers ordered by artists name alphabetically
\r
93 - the index in the TPLB list from which it start
\r
96 - FILE_ORDER numbers ordered by artist name alphabetically
\r
100 (artists alphabetically ordered)
\r
104 ARTIST_ORDER=3 j_Artist starts from IndexTPLB=01
\r
105 ARTIST_ORDER=4 MIG starts from IndexTPLB=06
\r
106 ARTIST_ORDER=1 the roots starts from IndexTPLB=12
\r
107 ARTIST_ORDER=2 u_Artist starts from IndexTPLB=17
\r
109 you get GPLB == 3 01, 4 06, 1 12, 2 17
\r
112 those indexes ares stored in the TPLB object
\r
114 | songs are ordered by artist name alphabetically
\r
115 | | AND THEN by title alphabetically
\r
118 IndexTPLB=01 FILE_ORDER=07 ( j_album_song1 )
\r
119 IndexTPLB=02 FILE_ORDER=08 ( j_album_song2 )
\r
120 IndexTPLB=03 FILE_ORDER=09 ( j_album_song3 )
\r
121 IndexTPLB=04 FILE_ORDER=10 ( j_album_song4 )
\r
122 IndexTPLB=05 FILE_ORDER=11 ( j_album_song5 )
\r
123 IndexTPLB=06 FILE_ORDER=15 ( dhikrayat_song1 )
\r
124 IndexTPLB=07 FILE_ORDER=16 ( dhikrayat_song2 )
\r
125 IndexTPLB=08 FILE_ORDER=17 ( dhikrayat_song3 )
\r
126 IndexTPLB=09 FILE_ORDER=18 ( dhikrayat_song4 )
\r
127 IndexTPLB=10 FILE_ORDER=19 ( dhikrayat_song5 )
\r
128 IndexTPLB=11 FILE_ORDER=20 ( dhikrayat_song6 )
\r
129 IndexTPLB=12 FILE_ORDER=01 ( game theory_song1 )
\r
130 IndexTPLB=13 FILE_ORDER=02 ( game theory_song2 )
\r
131 IndexTPLB=14 FILE_ORDER=12 ( things fall apart_song1 )
\r
132 IndexTPLB=15 FILE_ORDER=13 ( things fall apart_song2 )
\r
133 IndexTPLB=16 FILE_ORDER=14 ( things fall apart_song3 )
\r
134 IndexTPLB=17 FILE_ORDER=03 ( u_album_song1 )
\r
135 IndexTPLB=18 FILE_ORDER=04 ( u_album_song2 )
\r
136 IndexTPLB=19 FILE_ORDER=05 ( u_album_song3 )
\r
137 IndexTPLB=20 FILE_ORDER=06 ( u_album_song4 )
\r
139 TPLB = 07 08 09 10 11 15 16 17 18 19 20 01 02 12 13 14 03 04 05 06
\r
141 ----------------------------------------------------------------------------------
\r
142 01TREE03 explained (contains 1 GPLB and 1 TPLB):
\r
143 --------------------
\r
144 this file is used to create a link from the album names to the songs
\r
147 - ALBUM_ORDER numbers ordered by album name alphabetically
\r
148 - the index in the TPLB list from which it start
\r
151 - FILE_ORDER numbers ordered by album name alphabetically
\r
155 (albums alphabetically ordered)
\r
159 ALBUM_ORDER=5 dhikrayat starts from IndexTPLB=01
\r
160 ALBUM_ORDER=1 game theory starts from IndexTPLB=07
\r
161 ALBUM_ORDER=3 j_Album starts from IndexTPLB=09
\r
162 ALBUM_ORDER=4 things fall apart starts from IndexTPLB=14
\r
163 ALBUM_ORDER=2 u_Album starts from IndexTPLB=17
\r
165 you get GPLB == 5 01, 1 07, 3 09, 4 14, 2 17
\r
169 those indexes ares stored in the TPLB object
\r
172 | songs are ordered by album name alphabetically
\r
173 | | AND THEN by TRACK number
\r
176 IndexTPLB=01 FILE_ORDER=15 ( dhikrayat_song1 )
\r
177 IndexTPLB=02 FILE_ORDER=16 ( dhikrayat_song2 )
\r
178 IndexTPLB=03 FILE_ORDER=17 ( dhikrayat_song3 )
\r
179 IndexTPLB=04 FILE_ORDER=18 ( dhikrayat_song4 )
\r
180 IndexTPLB=05 FILE_ORDER=19 ( dhikrayat_song5 )
\r
181 IndexTPLB=06 FILE_ORDER=20 ( dhikrayat_song6 )
\r
182 IndexTPLB=07 FILE_ORDER=01 ( game theory_song1 )
\r
183 IndexTPLB=08 FILE_ORDER=02 ( game theory_song2 )
\r
184 IndexTPLB=09 FILE_ORDER=07 ( j_album_song1 )
\r
185 IndexTPLB=10 FILE_ORDER=08 ( j_album_song2 )
\r
186 IndexTPLB=11 FILE_ORDER=09 ( j_album_song3 )
\r
187 IndexTPLB=12 FILE_ORDER=10 ( j_album_song4 )
\r
188 IndexTPLB=13 FILE_ORDER=11 ( j_album_song5 )
\r
189 IndexTPLB=14 FILE_ORDER=12 ( things fall apart_song1 )
\r
190 IndexTPLB=15 FILE_ORDER=13 ( things fall apart_song2 )
\r
191 IndexTPLB=16 FILE_ORDER=14 ( things fall apart_song3 )
\r
192 IndexTPLB=17 FILE_ORDER=03 ( u_album_song1 )
\r
193 IndexTPLB=18 FILE_ORDER=04 ( u_album_song2 )
\r
194 IndexTPLB=19 FILE_ORDER=05 ( u_album_song3 )
\r
195 IndexTPLB=20 FILE_ORDER=06 ( u_album_song4 )
\r
197 TPLB = 15 16 17 18 19 20 01 02 07 08 09 10 11 12 13 14 03 04 05 06
\r
199 ----------------------------------------------------------------------------------
\r
200 01TREE04 explained (contains 1 GPLB and 1 TPLB):
\r
201 --------------------
\r
202 this file is used to create a link from the genre names to the songs
\r
205 - GENRE_ORDER numbers ordered by genre name alphabetically
\r
206 - the index in the TPLB list from which it start
\r
209 - FILE_ORDER numbers ordered by genre name alphabetically
\r
213 (genres alphabetically ordered)
\r
217 GENRE_ORDER=2 ambiant starts from index=01
\r
218 GENRE_ORDER=3 ethnic starts from index=10
\r
219 GENRE_ORDER=1 hip hop starts from index=16
\r
221 you get GPLB == 2 01, 3 10, 1 16
\r
225 those indexes ares stored in the TPLB object
\r
228 | songs are ordered by genre name alphabetically
\r
229 | | AND THEN by title alphabetically
\r
232 IndexTPLB=01 FILE_ORDER=07 ( j_album_song1 )
\r
233 IndexTPLB=02 FILE_ORDER=08 ( j_album_song2 )
\r
234 IndexTPLB=03 FILE_ORDER=09 ( j_album_song3 )
\r
235 IndexTPLB=04 FILE_ORDER=10 ( j_album_song4 )
\r
236 IndexTPLB=05 FILE_ORDER=11 ( j_album_song5 )
\r
237 IndexTPLB=06 FILE_ORDER=03 ( u_album_song1 )
\r
238 IndexTPLB=07 FILE_ORDER=04 ( u_album_song2 )
\r
239 IndexTPLB=08 FILE_ORDER=05 ( u_album_song3 )
\r
240 IndexTPLB=09 FILE_ORDER=06 ( u_album_song4 )
\r
241 IndexTPLB=10 FILE_ORDER=15 ( dhikrayat_song1 )
\r
242 IndexTPLB=11 FILE_ORDER=16 ( dhikrayat_song2 )
\r
243 IndexTPLB=12 FILE_ORDER=17 ( dhikrayat_song3 )
\r
244 IndexTPLB=13 FILE_ORDER=18 ( dhikrayat_song4 )
\r
245 IndexTPLB=14 FILE_ORDER=19 ( dhikrayat_song5 )
\r
246 IndexTPLB=15 FILE_ORDER=20 ( dhikrayat_song6 )
\r
247 IndexTPLB=16 FILE_ORDER=01 ( game theory_song1 )
\r
248 IndexTPLB=17 FILE_ORDER=02 ( game theory_song2 )
\r
249 IndexTPLB=18 FILE_ORDER=12 ( things fall apart_song1 )
\r
250 IndexTPLB=19 FILE_ORDER=13 ( things fall apart_song2 )
\r
251 IndexTPLB=20 FILE_ORDER=14 ( things fall apart_song3 )
\r
253 TPLB = 07 08 09 10 11 03 04 05 06 15 16 17 18 19 20 01 02 12 13 14
\r
255 ----------------------------------------------------------------------------------
\r
256 03GINF01.DAT explained : (contains one list)
\r
257 ------------------------
\r
258 This file is the list of group names,
\r
259 Group are used on some walkman to replace playlists,
\r
260 basically it is a directory in which you can put any track you want.
\r
262 They are ordered in the FILE_ORDER they have been found when parsing 04CNTINF.DAT
\r
264 in our case we will have (4 directories):
\r
271 ----------------------------------------------------------------------------------
\r
272 01TREE01 explained (contains 1 GPLB and 1 TPLB):
\r
273 --------------------
\r
274 this file is used to create a link from the group names to the songs
\r
277 - GROUP_ORDER numbers ordered by group name alphabetically
\r
278 - the index in the TPLB list from which it start
\r
281 - FILE_ORDER numbers ordered by group name alphabetically
\r
285 (group alphabetically ordered)
\r
289 GROUP_ORDER=1 dir1 starts from index=01
\r
290 GROUP_ORDER=2 dir2 starts from index=03
\r
291 GROUP_ORDER=3 dir3 starts from index=12
\r
292 GROUP_ORDER=4 dir4 starts from index=15
\r
294 you get GPLB == 1 01, 2 03, 3 12, 4 15
\r
298 those indexes ares stored in the TPLB object
\r
300 | songs are ordered by group name alphabetically
\r
301 | | AND THEN by title alphabetically
\r
304 IndexTPLB=01 FILE_ORDER=01 ( game theory_song1 )
\r
305 IndexTPLB=02 FILE_ORDER=02 ( game theory_song2 )
\r
306 IndexTPLB=03 FILE_ORDER=07 ( j_album_song1 )
\r
307 IndexTPLB=04 FILE_ORDER=08 ( j_album_song2 )
\r
308 IndexTPLB=05 FILE_ORDER=09 ( j_album_song3 )
\r
309 IndexTPLB=06 FILE_ORDER=10 ( j_album_song4 )
\r
310 IndexTPLB=07 FILE_ORDER=11 ( j_album_song5 )
\r
311 IndexTPLB=08 FILE_ORDER=03 ( u_album_song1 )
\r
312 IndexTPLB=09 FILE_ORDER=04 ( u_album_song2 )
\r
313 IndexTPLB=10 FILE_ORDER=05 ( u_album_song3 )
\r
314 IndexTPLB=11 FILE_ORDER=06 ( u_album_song4 )
\r
315 IndexTPLB=12 FILE_ORDER=12 ( things fall apart_song1 )
\r
316 IndexTPLB=13 FILE_ORDER=13 ( things fall apart_song2 )
\r
317 IndexTPLB=14 FILE_ORDER=14 ( things fall apart_song3 )
\r
318 IndexTPLB=15 FILE_ORDER=15 ( dhikrayat_song1 )
\r
319 IndexTPLB=16 FILE_ORDER=16 ( dhikrayat_song2 )
\r
320 IndexTPLB=17 FILE_ORDER=17 ( dhikrayat_song3 )
\r
321 IndexTPLB=18 FILE_ORDER=18 ( dhikrayat_song4 )
\r
322 IndexTPLB=19 FILE_ORDER=19 ( dhikrayat_song5 )
\r
323 IndexTPLB=20 FILE_ORDER=20 ( dhikrayat_song6 )
\r
325 TPLB = 01 02 07 08 09 10 11 03 04 05 06 12 13 14 15 16 17 18 19 20
\r