Sansa e200r uses e200 manual
[kugel-rb.git] / tools / builds.pm
blobe23ff4e6902c7584fa770a239c3fe5c6894297e0
1 $publicrelease="3.4";
2 $releasedate="September 24, 2009";
3 $releasenotes="/wiki/ReleaseNotes34";
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,
40 'cowond2' => {
41 name => 'Cowon D2',
42 status => 2,
44 'gigabeatfx' => {
45 name => 'Toshiba Gigabeat F/X',
46 status => 3,
48 'gigabeats' => {
49 name => 'Toshiba Gigabeat S',
50 status => 2,
52 'gogearhdd1630' => {
53 name => 'Philips GoGear HDD1630',
54 status => 1,
56 'gogearsa9200' => {
57 name => 'Philips GoGear SA9200',
58 status => 1,
60 'iaudio7' => {
61 name => 'iAudio 7',
62 status => 1,
64 'iaudiom3' => {
65 name => 'iAudio M3',
66 status => 3,
68 'iaudiom5' => {
69 name => 'iAudio M5',
70 status => 3,
72 'iaudiox5' => {
73 name => 'iAudio X5',
74 status => 3,
76 'ipod1g2g' => {
77 name => 'iPod 1st and 2nd gen',
78 status => 3,
80 'ipod3g' => {
81 name => 'iPod 3rd gen',
82 status => 3,
84 'ipod4g' => {
85 name => 'iPod 4th gen Grayscale',
86 status => 3,
88 'ipodcolor' => {
89 name => 'iPod color/Photo',
90 status => 3,
92 'ipodmini1g' => {
93 name => 'iPod Mini 1st gen',
94 status => 3,
95 manual => 'ipodmini2g',
97 'ipodmini2g' => {
98 name => 'iPod Mini 2nd gen',
99 status => 3,
100 icon => 'ipodmini1g',
102 'ipodnano1g' => {
103 name => 'iPod Nano 1st gen',
104 status => 3,
106 'ipodnano2g' => {
107 name => 'iPod Nano 2nd gen',
108 status => 2,
110 'ipodvideo' => {
111 name => 'iPod Video 30GB',
112 status => 3,
113 ram => 32,
115 'ipodvideo64mb' => {
116 name => 'iPod Video 60/80GB',
117 status => 3,
118 icon => 'ipodvideo',
119 manual => 'ipodvideo',
120 voice => 'ipodvideo',
121 configname => 'ipodvideo',
122 ram => 64,
124 'iriverh10' => {
125 name => 'iriver H10 20GB',
126 status => 3,
128 'iriverh10_5gb' => {
129 name => 'iriver H10 5GB',
130 status => 3,
131 manual => 'iriverh10',
133 'iriverh100' => {
134 name => 'iriver H100/115',
135 status => 3,
137 'iriverh120' => {
138 name => 'iriver H120/140',
139 status => 3,
140 icon => 'iriverh100',
141 manual => 'iriverh100',
143 'iriverh300' => {
144 name => 'iriver H320/340',
145 status => 3,
147 'iriverifp7xx' => {
148 name => 'iriver iFP-7xx',
149 status => 1,
151 'logikdax' => {
152 name => 'Logik DAX',
153 status => 1,
155 'lyreproto1' => {
156 name => 'Lyre Prototype 1',
157 status => 1,
159 'mini2440' => {
160 name => 'Mini 2440',
161 status => 1,
163 'meizum3' => {
164 name => 'Meizu M3',
165 status => 1,
167 'meizum6sl' => {
168 name => 'Meizu M6SL',
169 status => 1,
171 'meizum6sp' => {
172 name => 'Meizu M6SP',
173 status => 1,
175 'mrobe100' => {
176 name => 'Olympus M-Robe 100',
177 status => 3,
179 'mrobe500' => {
180 name => 'Olympus M-Robe 500',
181 status => 2,
183 'ondavx747' => {
184 name => 'Onda VX747',
185 status => 1,
187 'ondavx747p' => {
188 name => 'Onda VX747+',
189 status => 1,
191 'ondavx767' => {
192 name => 'Onda VX767',
193 status => 1,
195 'ondavx777' => {
196 name => 'Onda VX777',
197 status => 1,
199 'samsungyh820' => {
200 name => 'Samsung YH-820',
201 status => 2,
203 'samsungyh920' => {
204 name => 'Samsung YH-920',
205 status => 2,
207 'samsungyh925' => {
208 name => 'Samsung YH-925',
209 status => 2,
211 'samsungyps3' => {
212 name => 'Samsung YP-S3',
213 status => 1,
215 'sansac100' => {
216 name => 'SanDisk Sansa c100',
217 status => 1,
219 'sansac200' => {
220 name => 'SanDisk Sansa c200',
221 status => 3,
223 'sansac200v2' => {
224 name => 'SanDisk Sansa c200 v2',
225 status => 1,
226 icon => 'sansac200',
228 'sansaclip' => {
229 name => 'SanDisk Sansa Clip',
230 status => 2,
232 'sansaclipv2' => {
233 name => 'SanDisk Sansa Clip v2',
234 status => 1,
236 'sansae200' => {
237 name => 'SanDisk Sansa e200',
238 status => 3,
240 'sansae200r' => {
241 name => 'SanDisk Sansa e200R',
242 status => 3,
243 icon => 'sansae200',
244 manual => 'sansae200',
246 'sansae200v2' => {
247 name => 'SanDisk Sansa e200 v2',
248 status => 2,
249 icon => 'sansae200',
251 'sansafuze' => {
252 name => 'SanDisk Sansa Fuze',
253 status => 2,
255 'sansam200' => {
256 name => 'SanDisk Sansa m200',
257 status => 1,
259 'sansam200v4' => {
260 name => 'SanDisk Sansa m200 v4',
261 status => 1,
263 'sansaview' => {
264 name => 'SanDisk Sansa View',
265 status => 1,
267 'tatungtpj1022' => {
268 name => 'Tatung Elio TPJ-1022',
269 status => 1,
271 'zenvision' => {
272 name => 'Creative Zen Vision',
273 status => 1,
275 'zenvisionm30gb' => {
276 name => 'Creative Zen Vision:M 30GB',
277 status => 1,
279 'zenvisionm60gb' => {
280 name => 'Creative Zen Vision:M 60GB',
281 status => 1,
285 sub manualname {
286 my $m = shift @_;
288 return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
291 sub voicename {
292 my $m = shift @_;
294 return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
297 sub byname {
298 return uc $builds{$a}{name} cmp uc $builds{$b}{name};
301 sub usablebuilds {
302 my @list;
304 for my $b (sort byname keys %builds) {
305 push @list, $b if ($builds{$b}{status} >= 2);
308 return @list;
311 sub stablebuilds {
312 my @list;
314 for my $b (sort byname keys %builds) {
315 push @list, $b if ($builds{$b}{status} >= 3);
318 return @list;