Add a subsection for Replaygain to the runtime optimisation section.
[kugel-rb.git] / tools / builds.pm
blobe82fc942edc1a81f6d8fe0e0edaf2f7cf4bbd147
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 v1',
231 status => 2,
233 'sansaclipv2' => {
234 name => 'SanDisk Sansa Clip v2',
235 status => 2,
236 icon => 'sansaclip',
238 'sansaclipplus' => {
239 name => 'SanDisk Sansa Clip+',
240 status => 2,
242 'sansae200' => {
243 name => 'SanDisk Sansa e200',
244 status => 3,
246 'sansae200v2' => {
247 name => 'SanDisk Sansa e200 v2',
248 status => 3,
249 icon => 'sansae200',
251 'sansafuze' => {
252 name => 'SanDisk Sansa Fuze',
253 status => 3,
255 'sansafuzev2' => {
256 name => 'SanDisk Sansa Fuze v2',
257 status => 1,
258 icon => 'sansafuze',
260 'sansam200' => {
261 name => 'SanDisk Sansa m200',
262 status => 1,
264 'sansam200v4' => {
265 name => 'SanDisk Sansa m200 v4',
266 status => 1,
268 'sansaview' => {
269 name => 'SanDisk Sansa View',
270 status => 1,
272 'tatungtpj1022' => {
273 name => 'Tatung Elio TPJ-1022',
274 status => 1,
276 'vibe500' => {
277 name => 'Packard Bell Vibe 500',
278 status => 2,
280 'zenvision' => {
281 name => 'Creative Zen Vision',
282 status => 1,
284 'zenvisionm30gb' => {
285 name => 'Creative Zen Vision:M 30GB',
286 status => 1,
288 'zenvisionm60gb' => {
289 name => 'Creative Zen Vision:M 60GB',
290 status => 1,
294 sub manualname {
295 my $m = shift @_;
297 return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
300 sub voicename {
301 my $m = shift @_;
303 return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
306 sub byname {
307 return uc $builds{$a}{name} cmp uc $builds{$b}{name};
310 sub usablebuilds {
311 my @list;
313 for my $b (sort byname keys %builds) {
314 push @list, $b if ($builds{$b}{status} >= 2);
317 return @list;
320 sub stablebuilds {
321 my @list;
323 for my $b (sort byname keys %builds) {
324 push @list, $b if ($builds{$b}{status} >= 3);
327 return @list;