blob: 6f8a2cd88da36664d75c0fe0629d90a40a55b748 [file] [log] [blame]
Alex Parkerdfd54d52013-03-07 18:23:38 +00001$publicrelease="3.13";
2$manualrelease="3.13";
3$voicerelease="3.13";
4$releasedate="05 March 2013";
5$releasenotes="/wiki/ReleaseNotes313";
Björn Stenberg9d4f0762009-12-07 12:20:56 +00006
7%builds = (
8 'archosav300' => {
9 name => 'Archos AV300',
10 status => 1, # 3=stable, 2=unstable, 1=unusable
11 },
12 'archosfmrecorder' => {
13 name => 'Archos FM Recorder',
14 status => 3,
Michael Chicoinef5c70522009-12-10 19:50:25 +000015 ram => 2,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000016 },
17 'archosondiofm' => {
18 name => 'Archos Ondio FM',
19 status => 3,
Michael Chicoinef5c70522009-12-10 19:50:25 +000020 ram => 2,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000021 },
22 'archosondiosp' => {
23 name => 'Archos Ondio SP',
24 status => 3,
Michael Chicoinef5c70522009-12-10 19:50:25 +000025 ram => 2,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000026 },
27 'archosplayer' => {
28 name => 'Archos Player/Studio',
29 status => 3,
Michael Chicoinef5c70522009-12-10 19:50:25 +000030 ram => 2,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000031 },
32 'archosrecorder' => {
33 name => 'Archos Recorder v1',
34 status => 3,
Michael Chicoinef5c70522009-12-10 19:50:25 +000035 ram => 2,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000036 },
37 'archosrecorderv2' => {
38 name => 'Archos Recorder v2',
39 status => 3,
Michael Chicoinef5c70522009-12-10 19:50:25 +000040 ram => 2,
Björn Stenbergbd3b58f2009-12-17 13:53:17 +000041 manual => "archosfmrecorder",
Björn Stenberg9d4f0762009-12-07 12:20:56 +000042 },
43 'cowond2' => {
44 name => 'Cowon D2',
45 status => 2,
Tomer Shalev13c78662009-12-14 20:18:38 +000046 manual => 'cowond2',
Björn Stenberg9d4f0762009-12-07 12:20:56 +000047 },
48 'gigabeatfx' => {
49 name => 'Toshiba Gigabeat F/X',
50 status => 3,
51 },
52 'gigabeats' => {
53 name => 'Toshiba Gigabeat S',
54 status => 2,
55 },
56 'gogearhdd1630' => {
57 name => 'Philips GoGear HDD1630',
Szymon Dziok92450a92016-09-22 22:28:42 +020058 status => 3,
Robert Menese68844a2010-11-02 21:46:59 +000059 },
Daniel Stenberga6db8262010-11-02 21:58:19 +000060 'gogearhdd6330' => {
61 name => 'Philips GoGear HDD6330',
Szymon Dziok92450a92016-09-22 22:28:42 +020062 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000063 },
64 'gogearsa9200' => {
65 name => 'Philips GoGear SA9200',
Szymon Dziok92450a92016-09-22 22:28:42 +020066 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +000067 },
Andrew Ryabininfc0cf8d2013-05-18 18:57:16 +040068 'hifietma9' => {
69 name => 'HiFi E.T MA9',
70 status => 2,
71 },
Andrew Ryabinina7fa7b92013-11-05 11:24:50 +040072 'hifietma9c' => {
73 name => 'HiFi E.T MA9C',
74 status => 2,
75 },
76 'hifietma8' => {
77 name => 'HiFi E.T MA8',
78 status => 2,
79 },
80 'hifietma8c' => {
81 name => 'HiFi E.T MA8C',
82 status => 2,
83 },
Andrew Ryabinin0e190672012-04-20 14:49:35 +040084 'hifimanhm60x' => {
85 name => 'HiFiMAN HM-60x',
86 status => 2,
87 },
88 'hifimanhm801' => {
89 name => 'HiFiMAN HM-801',
90 status => 2,
91 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +000092 'iaudio7' => {
93 name => 'iAudio 7',
94 status => 1,
95 },
96 'iaudiom3' => {
97 name => 'iAudio M3',
98 status => 3,
99 },
100 'iaudiom5' => {
101 name => 'iAudio M5',
102 status => 3,
103 },
104 'iaudiox5' => {
105 name => 'iAudio X5',
106 status => 3,
107 },
Simon Rothenb84fd872015-02-21 15:05:16 +0100108 'ibassodx50' => {
109 name => 'iBasso DX50',
110 status => 2,
111 },
112 'ibassodx90' => {
113 name => 'iBasso DX90',
114 status => 2,
115 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000116 'ipod1g2g' => {
117 name => 'iPod 1st and 2nd gen',
118 status => 3,
119 },
120 'ipod3g' => {
121 name => 'iPod 3rd gen',
122 status => 3,
123 },
124 'ipod4g' => {
125 name => 'iPod 4th gen Grayscale',
126 status => 3,
127 },
128 'ipodcolor' => {
129 name => 'iPod color/Photo',
130 status => 3,
131 },
132 'ipodmini1g' => {
133 name => 'iPod Mini 1st gen',
134 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000135 },
136 'ipodmini2g' => {
137 name => 'iPod Mini 2nd gen',
138 status => 3,
139 icon => 'ipodmini1g',
Björn Stenberg5ce515c2009-12-15 20:42:24 +0000140 manual => 'ipodmini1g',
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000141 },
142 'ipodnano1g' => {
143 name => 'iPod Nano 1st gen',
144 status => 3,
145 },
146 'ipodnano2g' => {
147 name => 'iPod Nano 2nd gen',
Frank Gevaerts560ee292012-03-31 14:25:15 +0200148 status => 2,
Dominik Riebeling094eca62012-09-10 23:22:01 +0200149 release => '3.10',
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000150 },
151 'ipodvideo' => {
Alex Parkere23075b2010-10-30 21:50:20 +0000152 name => 'iPod Video',
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000153 status => 3,
154 },
Frank Gevaerts2b3cff82012-07-01 21:06:52 +0200155 'ipod6g' => {
156 name => 'iPod 6th gen (Classic)',
157 status => 1,
158 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000159 'iriverh10' => {
160 name => 'iriver H10 20GB',
161 status => 3,
162 },
163 'iriverh10_5gb' => {
164 name => 'iriver H10 5GB',
165 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000166 },
167 'iriverh100' => {
168 name => 'iriver H100/115',
169 status => 3,
170 },
171 'iriverh120' => {
172 name => 'iriver H120/140',
173 status => 3,
174 icon => 'iriverh100',
175 manual => 'iriverh100',
176 },
177 'iriverh300' => {
178 name => 'iriver H320/340',
179 status => 3,
180 },
181 'iriverifp7xx' => {
182 name => 'iriver iFP-7xx',
183 status => 1,
184 },
185 'logikdax' => {
186 name => 'Logik DAX',
187 status => 1,
188 },
189 'lyreproto1' => {
190 name => 'Lyre Prototype 1',
191 status => 1,
192 },
193 'mini2440' => {
194 name => 'Mini 2440',
195 status => 1,
196 },
197 'meizum3' => {
198 name => 'Meizu M3',
199 status => 1,
200 },
201 'meizum6sl' => {
202 name => 'Meizu M6SL',
203 status => 1,
204 },
205 'meizum6sp' => {
206 name => 'Meizu M6SP',
207 status => 1,
208 },
209 'mrobe100' => {
210 name => 'Olympus M-Robe 100',
Szymon Dziokfeff0212014-01-13 00:58:24 +0100211 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000212 },
213 'mrobe500' => {
214 name => 'Olympus M-Robe 500',
215 status => 2,
216 },
217 'ondavx747' => {
218 name => 'Onda VX747',
219 status => 1,
220 },
221 'ondavx747p' => {
222 name => 'Onda VX747+',
223 status => 1,
224 },
225 'ondavx767' => {
226 name => 'Onda VX767',
227 status => 1,
228 },
229 'ondavx777' => {
230 name => 'Onda VX777',
231 status => 1,
232 },
Andrew Ryabinin0e190672012-04-20 14:49:35 +0400233 'rk27generic' => {
234 name => 'Rockchip rk27xx',
235 status => 1,
Björn Stenberg2315a232012-04-20 15:23:49 +0200236 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000237 'samsungyh820' => {
238 name => 'Samsung YH-820',
Szymon Dziok5869ad22016-09-22 21:48:01 +0200239 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000240 },
241 'samsungyh920' => {
242 name => 'Samsung YH-920',
Szymon Dziok5869ad22016-09-22 21:48:01 +0200243 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000244 },
245 'samsungyh925' => {
246 name => 'Samsung YH-925',
Szymon Dziok5869ad22016-09-22 21:48:01 +0200247 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000248 },
Frank Gevaertsdbcf1732012-01-29 13:54:46 +0100249 'samsungypr0' => {
250 name => 'Samsung YP-R0',
251 status => 2,
252 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000253 'samsungyps3' => {
254 name => 'Samsung YP-S3',
255 status => 1,
256 },
257 'sansac100' => {
258 name => 'SanDisk Sansa c100',
259 status => 1,
260 },
261 'sansac200' => {
262 name => 'SanDisk Sansa c200',
263 status => 3,
264 },
265 'sansac200v2' => {
266 name => 'SanDisk Sansa c200 v2',
Michael Giacomelli0e4a2982012-03-28 18:03:04 -0400267 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000268 icon => 'sansac200',
269 },
270 'sansaclip' => {
Dave Chapmanc391c112010-03-25 20:16:34 +0000271 name => 'SanDisk Sansa Clip v1',
Rafaël Carré829ddaa2010-09-06 18:48:04 +0000272 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000273 },
274 'sansaclipv2' => {
275 name => 'SanDisk Sansa Clip v2',
Thomas Martitz5ee1c402010-10-30 13:55:20 +0000276 status => 3,
Björn Stenbergab610e82010-03-24 20:28:10 +0000277 icon => 'sansaclip',
Björn Stenbergab610e82010-03-24 20:28:10 +0000278 },
279 'sansaclipplus' => {
280 name => 'SanDisk Sansa Clip+',
Thomas Martitz5ee1c402010-10-30 13:55:20 +0000281 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000282 },
Frank Gevaerts1107bf12011-10-31 20:35:11 +0000283 'sansaclipzip' => {
284 name => 'SanDisk Sansa Clip Zip',
Rafaël Carréc1305ce2013-02-09 16:36:19 +0100285 status => 3,
Frank Gevaerts1107bf12011-10-31 20:35:11 +0000286 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000287 'sansae200' => {
288 name => 'SanDisk Sansa e200',
289 status => 3,
290 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000291 'sansae200v2' => {
292 name => 'SanDisk Sansa e200 v2',
Dominik Wenger97865102010-02-03 21:11:39 +0000293 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000294 icon => 'sansae200',
295 },
296 'sansafuze' => {
297 name => 'SanDisk Sansa Fuze',
Dominik Wenger97865102010-02-03 21:11:39 +0000298 status => 3,
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000299 },
Rafaël Carré68535552010-04-01 07:26:47 +0000300 'sansafuzev2' => {
301 name => 'SanDisk Sansa Fuze v2',
Thomas Martitz5ee1c402010-10-30 13:55:20 +0000302 status => 3,
Rafaël Carré68535552010-04-01 07:26:47 +0000303 icon => 'sansafuze',
304 },
Amaury Poulyd6848582012-01-27 20:19:07 +0100305 'sansafuzeplus' => {
306 name => 'SanDisk Sansa Fuze+',
Amaury Poulyc534be02016-09-21 20:39:46 +0100307 status => 3,
Amaury Poulyc18a4e62012-01-27 20:41:04 +0100308 icon => 'sansafuzeplus',
Amaury Poulyd6848582012-01-27 20:19:07 +0100309 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000310 'sansam200' => {
311 name => 'SanDisk Sansa m200',
312 status => 1,
313 },
314 'sansam200v4' => {
315 name => 'SanDisk Sansa m200 v4',
316 status => 1,
317 },
318 'sansaview' => {
319 name => 'SanDisk Sansa View',
320 status => 1,
321 },
322 'tatungtpj1022' => {
323 name => 'Tatung Elio TPJ-1022',
324 status => 1,
325 },
Björn Stenbergc6f2a902010-02-18 10:30:00 +0000326 'vibe500' => {
327 name => 'Packard Bell Vibe 500',
Szymon Dziokf6a17bd2010-05-15 19:24:28 +0000328 status => 3,
Björn Stenbergc6f2a902010-02-18 10:30:00 +0000329 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000330 'zenvision' => {
331 name => 'Creative Zen Vision',
332 status => 1,
333 },
334 'zenvisionm30gb' => {
335 name => 'Creative Zen Vision:M 30GB',
336 status => 1,
337 },
338 'zenvisionm60gb' => {
339 name => 'Creative Zen Vision:M 60GB',
340 status => 1,
341 },
Marcin Bukate0803382010-09-15 08:34:48 +0000342 'mpiohd200' => {
Marcin Bukat021d4db2010-04-29 20:09:19 +0000343 name => 'MPIO HD200',
Marcin Bukat33a5f1a2010-08-08 18:22:44 +0000344 status => 2,
Marcin Bukat021d4db2010-04-29 20:09:19 +0000345 },
Marcin Bukatabc34aa2010-11-29 09:33:26 +0000346 'mpiohd300' => {
347 name => 'MPIO HD300',
Marcin Bukat3448f5b2012-03-10 14:26:31 +0100348 status => 3,
Marcin Bukatabc34aa2010-11-29 09:33:26 +0000349 },
Amaury Pouly2e0a3fc2013-10-02 17:08:15 +0200350 'creativezenxfi2' => {
351 name => 'Creative Zen X-Fi2',
Amaury Poulyc534be02016-09-21 20:39:46 +0100352 status => 2,
Amaury Pouly2e0a3fc2013-10-02 17:08:15 +0200353 },
354 'creativezenxfi3' => {
355 name => 'Creative Zen X-Fi3',
Amaury Poulyc534be02016-09-21 20:39:46 +0100356 status => 3,
Amaury Pouly2e0a3fc2013-10-02 17:08:15 +0200357 },
358 'sonynwze360' => {
359 name => 'Sony NWZ-E360',
Amaury Poulyc534be02016-09-21 20:39:46 +0100360 status => 3,
Amaury Pouly2e0a3fc2013-10-02 17:08:15 +0200361 },
362 'sonynwze370' => {
Amaury Poulyc534be02016-09-21 20:39:46 +0100363 name => 'Sony NWZ-E370/E380',
364 status => 3,
Amaury Pouly2e0a3fc2013-10-02 17:08:15 +0200365 },
Amaury Pouly6bff0f72013-11-12 16:24:20 +0000366 'creativezenxfi' => {
367 name => 'Creative Zen X-Fi',
Amaury Poulyc534be02016-09-21 20:39:46 +0100368 status => 3
369 },
370 'creativezenxfistyle' => {
371 name => 'Creative Zen X-Fi Style',
372 status => 3
Amaury Pouly6bff0f72013-11-12 16:24:20 +0000373 },
374 'creativezen' => {
375 name => 'Creative Zen',
Amaury Poulyc534be02016-09-21 20:39:46 +0100376 status => 2
Amaury Pouly6bff0f72013-11-12 16:24:20 +0000377 },
378 'creativezenmozaic' => {
379 name => 'Creative Zen Mozaic',
Amaury Poulyc534be02016-09-21 20:39:46 +0100380 status => 3
Amaury Pouly6bff0f72013-11-12 16:24:20 +0000381 },
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000382);
383
384sub manualname {
385 my $m = shift @_;
386
387 return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
388}
389
390sub voicename {
391 my $m = shift @_;
392
393 return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
394}
395
396sub byname {
Björn Stenbergf74fa912009-12-07 12:51:34 +0000397 return uc $builds{$a}{name} cmp uc $builds{$b}{name};
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000398}
399
400sub usablebuilds {
401 my @list;
402
403 for my $b (sort byname keys %builds) {
404 push @list, $b if ($builds{$b}{status} >= 2);
405 }
406
407 return @list;
408}
409
410sub stablebuilds {
411 my @list;
412
413 for my $b (sort byname keys %builds) {
Dominik Riebeling094eca62012-09-10 23:22:01 +0200414 push @list, $b if ($builds{$b}{status} >= 3) or $builds{$b}{release};
Björn Stenberg9d4f0762009-12-07 12:20:56 +0000415 }
416
417 return @list;
418}
419
Frank Gevaerts58b226e2012-02-25 15:26:11 +0100420sub allbuilds {
421 my @list;
422
423 for my $b (sort byname keys %builds) {
424 push @list, $b if ($builds{$b}{status} >= 1);
425 }
426
427 return @list;
428}
429
Björn Stenberg9d4f0762009-12-07 12:20:56 +00004301;