Added Sansa Clip+ and moved Clip v2 to status 2 (unstable).
[kugel-rb.git] / tools / builds.pm
blob632f57f5b313697c49f7cbb8312df17c23d844f1
1 $publicrelease="3.5.1";
2 $releasedate="March 4, 2010";
3 $releasenotes="/wiki/ReleaseNotes351";
5 %builds = (
6 'archosav300' => {
7 name => 'Archos AV300',
8 status => 1, # 3=stable, 2=unstable, 1=unusable
9 },
10 'archosfmrecorder' => {
11 name => 'Archos FM Recorder',
12 status => 3,
13 ram => 2,
15 'archosondiofm' => {
16 name => 'Archos Ondio FM',
17 status => 3,
18 ram => 2,
20 'archosondiosp' => {
21 name => 'Archos Ondio SP',
22 status => 3,
23 ram => 2,
25 'archosplayer' => {
26 name => 'Archos Player/Studio',
27 status => 3,
28 ram => 2,
30 'archosrecorder' => {
31 name => 'Archos Recorder v1',
32 status => 3,
33 ram => 2,
35 'archosrecorderv2' => {
36 name => 'Archos Recorder v2',
37 status => 3,
38 ram => 2,
39 manual => "archosfmrecorder",
41 'cowond2' => {
42 name => 'Cowon D2',
43 status => 2,
44 manual => 'cowond2',
46 'gigabeatfx' => {
47 name => 'Toshiba Gigabeat F/X',
48 status => 3,
50 'gigabeats' => {
51 name => 'Toshiba Gigabeat S',
52 status => 2,
54 'gogearhdd1630' => {
55 name => 'Philips GoGear HDD1630',
56 status => 1,
58 'gogearsa9200' => {
59 name => 'Philips GoGear SA9200',
60 status => 1,
62 'iaudio7' => {
63 name => 'iAudio 7',
64 status => 1,
66 'iaudiom3' => {
67 name => 'iAudio M3',
68 status => 3,
70 'iaudiom5' => {
71 name => 'iAudio M5',
72 status => 3,
74 'iaudiox5' => {
75 name => 'iAudio X5',
76 status => 3,
78 'ipod1g2g' => {
79 name => 'iPod 1st and 2nd gen',
80 status => 3,
82 'ipod3g' => {
83 name => 'iPod 3rd gen',
84 status => 3,
86 'ipod4g' => {
87 name => 'iPod 4th gen Grayscale',
88 status => 3,
90 'ipodcolor' => {
91 name => 'iPod color/Photo',
92 status => 3,
94 'ipodmini1g' => {
95 name => 'iPod Mini 1st gen',
96 status => 3,
98 'ipodmini2g' => {
99 name => 'iPod Mini 2nd gen',
100 status => 3,
101 icon => 'ipodmini1g',
102 manual => 'ipodmini1g',
104 'ipodnano1g' => {
105 name => 'iPod Nano 1st gen',
106 status => 3,
108 'ipodnano2g' => {
109 name => 'iPod Nano 2nd gen',
110 status => 2,
112 'ipodvideo' => {
113 name => 'iPod Video 30GB',
114 status => 3,
115 ram => 32,
117 'ipodvideo64mb' => {
118 name => 'iPod Video 60/80GB',
119 status => 3,
120 icon => 'ipodvideo',
121 manual => 'ipodvideo',
122 voice => 'ipodvideo',
123 configname => 'ipodvideo',
124 ram => 64,
126 'iriverh10' => {
127 name => 'iriver H10 20GB',
128 status => 3,
130 'iriverh10_5gb' => {
131 name => 'iriver H10 5GB',
132 status => 3,
134 'iriverh100' => {
135 name => 'iriver H100/115',
136 status => 3,
138 'iriverh120' => {
139 name => 'iriver H120/140',
140 status => 3,
141 icon => 'iriverh100',
142 manual => 'iriverh100',
144 'iriverh300' => {
145 name => 'iriver H320/340',
146 status => 3,
148 'iriverifp7xx' => {
149 name => 'iriver iFP-7xx',
150 status => 1,
152 'logikdax' => {
153 name => 'Logik DAX',
154 status => 1,
156 'lyreproto1' => {
157 name => 'Lyre Prototype 1',
158 status => 1,
160 'mini2440' => {
161 name => 'Mini 2440',
162 status => 1,
164 'meizum3' => {
165 name => 'Meizu M3',
166 status => 1,
168 'meizum6sl' => {
169 name => 'Meizu M6SL',
170 status => 1,
172 'meizum6sp' => {
173 name => 'Meizu M6SP',
174 status => 1,
176 'mrobe100' => {
177 name => 'Olympus M-Robe 100',
178 status => 3,
180 'mrobe500' => {
181 name => 'Olympus M-Robe 500',
182 status => 2,
184 'ondavx747' => {
185 name => 'Onda VX747',
186 status => 1,
188 'ondavx747p' => {
189 name => 'Onda VX747+',
190 status => 1,
192 'ondavx767' => {
193 name => 'Onda VX767',
194 status => 1,
196 'ondavx777' => {
197 name => 'Onda VX777',
198 status => 1,
200 'samsungyh820' => {
201 name => 'Samsung YH-820',
202 status => 2,
204 'samsungyh920' => {
205 name => 'Samsung YH-920',
206 status => 2,
208 'samsungyh925' => {
209 name => 'Samsung YH-925',
210 status => 2,
212 'samsungyps3' => {
213 name => 'Samsung YP-S3',
214 status => 1,
216 'sansac100' => {
217 name => 'SanDisk Sansa c100',
218 status => 1,
220 'sansac200' => {
221 name => 'SanDisk Sansa c200',
222 status => 3,
224 'sansac200v2' => {
225 name => 'SanDisk Sansa c200 v2',
226 status => 1,
227 icon => 'sansac200',
229 'sansaclip' => {
230 name => 'SanDisk Sansa Clip',
231 status => 2,
233 'sansaclipv2' => {
234 name => 'SanDisk Sansa Clip v2',
235 status => 2,
236 icon => 'sansaclip',
237 manual => 'sansaclip',
239 'sansaclipplus' => {
240 name => 'SanDisk Sansa Clip+',
241 status => 2,
242 manual => 'sansaclip',
244 'sansae200' => {
245 name => 'SanDisk Sansa e200',
246 status => 3,
248 'sansae200r' => {
249 name => 'SanDisk Sansa e200R',
250 status => 3,
251 icon => 'sansae200',
252 manual => 'sansae200',
254 'sansae200v2' => {
255 name => 'SanDisk Sansa e200 v2',
256 status => 3,
257 icon => 'sansae200',
259 'sansafuze' => {
260 name => 'SanDisk Sansa Fuze',
261 status => 3,
263 'sansam200' => {
264 name => 'SanDisk Sansa m200',
265 status => 1,
267 'sansam200v4' => {
268 name => 'SanDisk Sansa m200 v4',
269 status => 1,
271 'sansaview' => {
272 name => 'SanDisk Sansa View',
273 status => 1,
275 'tatungtpj1022' => {
276 name => 'Tatung Elio TPJ-1022',
277 status => 1,
279 'vibe500' => {
280 name => 'Packard Bell Vibe 500',
281 status => 2,
283 'zenvision' => {
284 name => 'Creative Zen Vision',
285 status => 1,
287 'zenvisionm30gb' => {
288 name => 'Creative Zen Vision:M 30GB',
289 status => 1,
291 'zenvisionm60gb' => {
292 name => 'Creative Zen Vision:M 60GB',
293 status => 1,
297 sub manualname {
298 my $m = shift @_;
300 return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
303 sub voicename {
304 my $m = shift @_;
306 return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
309 sub byname {
310 return uc $builds{$a}{name} cmp uc $builds{$b}{name};
313 sub usablebuilds {
314 my @list;
316 for my $b (sort byname keys %builds) {
317 push @list, $b if ($builds{$b}{status} >= 2);
320 return @list;
323 sub stablebuilds {
324 my @list;
326 for my $b (sort byname keys %builds) {
327 push @list, $b if ($builds{$b}{status} >= 3);
330 return @list;