2011-04-06 21:43:50 +00:00
|
|
|
$publicrelease="3.8.1";
|
|
|
|
$manualrelease="3.8.1";
|
|
|
|
$voicerelease="3.8.1";
|
|
|
|
$releasedate="April 06, 2011";
|
|
|
|
$releasenotes="/wiki/ReleaseNotes381";
|
2009-12-07 12:20:56 +00:00
|
|
|
|
|
|
|
%builds = (
|
|
|
|
'archosav300' => {
|
|
|
|
name => 'Archos AV300',
|
|
|
|
status => 1, # 3=stable, 2=unstable, 1=unusable
|
|
|
|
},
|
|
|
|
'archosfmrecorder' => {
|
|
|
|
name => 'Archos FM Recorder',
|
|
|
|
status => 3,
|
2009-12-10 19:50:25 +00:00
|
|
|
ram => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'archosondiofm' => {
|
|
|
|
name => 'Archos Ondio FM',
|
|
|
|
status => 3,
|
2009-12-10 19:50:25 +00:00
|
|
|
ram => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'archosondiosp' => {
|
|
|
|
name => 'Archos Ondio SP',
|
|
|
|
status => 3,
|
2009-12-10 19:50:25 +00:00
|
|
|
ram => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'archosplayer' => {
|
|
|
|
name => 'Archos Player/Studio',
|
|
|
|
status => 3,
|
2009-12-10 19:50:25 +00:00
|
|
|
ram => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'archosrecorder' => {
|
|
|
|
name => 'Archos Recorder v1',
|
|
|
|
status => 3,
|
2009-12-10 19:50:25 +00:00
|
|
|
ram => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'archosrecorderv2' => {
|
|
|
|
name => 'Archos Recorder v2',
|
|
|
|
status => 3,
|
2009-12-10 19:50:25 +00:00
|
|
|
ram => 2,
|
2009-12-17 13:53:17 +00:00
|
|
|
manual => "archosfmrecorder",
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'cowond2' => {
|
|
|
|
name => 'Cowon D2',
|
|
|
|
status => 2,
|
2009-12-14 20:18:38 +00:00
|
|
|
manual => 'cowond2',
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'gigabeatfx' => {
|
|
|
|
name => 'Toshiba Gigabeat F/X',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'gigabeats' => {
|
|
|
|
name => 'Toshiba Gigabeat S',
|
|
|
|
status => 2,
|
|
|
|
},
|
|
|
|
'gogearhdd1630' => {
|
|
|
|
name => 'Philips GoGear HDD1630',
|
2010-11-02 21:46:59 +00:00
|
|
|
status => 2,
|
|
|
|
},
|
2010-11-02 21:58:19 +00:00
|
|
|
'gogearhdd6330' => {
|
|
|
|
name => 'Philips GoGear HDD6330',
|
2010-11-03 14:38:20 +00:00
|
|
|
status => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'gogearsa9200' => {
|
|
|
|
name => 'Philips GoGear SA9200',
|
2011-01-26 18:10:42 +00:00
|
|
|
status => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'iaudio7' => {
|
|
|
|
name => 'iAudio 7',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'iaudiom3' => {
|
|
|
|
name => 'iAudio M3',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iaudiom5' => {
|
|
|
|
name => 'iAudio M5',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iaudiox5' => {
|
|
|
|
name => 'iAudio X5',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipod1g2g' => {
|
|
|
|
name => 'iPod 1st and 2nd gen',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipod3g' => {
|
|
|
|
name => 'iPod 3rd gen',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipod4g' => {
|
|
|
|
name => 'iPod 4th gen Grayscale',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipodcolor' => {
|
|
|
|
name => 'iPod color/Photo',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipodmini1g' => {
|
|
|
|
name => 'iPod Mini 1st gen',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipodmini2g' => {
|
|
|
|
name => 'iPod Mini 2nd gen',
|
|
|
|
status => 3,
|
|
|
|
icon => 'ipodmini1g',
|
2009-12-15 20:42:24 +00:00
|
|
|
manual => 'ipodmini1g',
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'ipodnano1g' => {
|
|
|
|
name => 'iPod Nano 1st gen',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'ipodnano2g' => {
|
|
|
|
name => 'iPod Nano 2nd gen',
|
|
|
|
status => 3,
|
|
|
|
},
|
2010-10-30 21:50:20 +00:00
|
|
|
'ipodvideo' => {
|
|
|
|
name => 'iPod Video',
|
2009-12-07 12:20:56 +00:00
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iriverh10' => {
|
|
|
|
name => 'iriver H10 20GB',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iriverh10_5gb' => {
|
|
|
|
name => 'iriver H10 5GB',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iriverh100' => {
|
|
|
|
name => 'iriver H100/115',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iriverh120' => {
|
|
|
|
name => 'iriver H120/140',
|
|
|
|
status => 3,
|
|
|
|
icon => 'iriverh100',
|
|
|
|
manual => 'iriverh100',
|
|
|
|
},
|
|
|
|
'iriverh300' => {
|
|
|
|
name => 'iriver H320/340',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'iriverifp7xx' => {
|
|
|
|
name => 'iriver iFP-7xx',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'logikdax' => {
|
|
|
|
name => 'Logik DAX',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'lyreproto1' => {
|
|
|
|
name => 'Lyre Prototype 1',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'mini2440' => {
|
|
|
|
name => 'Mini 2440',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'meizum3' => {
|
|
|
|
name => 'Meizu M3',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'meizum6sl' => {
|
|
|
|
name => 'Meizu M6SL',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'meizum6sp' => {
|
|
|
|
name => 'Meizu M6SP',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'mrobe100' => {
|
|
|
|
name => 'Olympus M-Robe 100',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'mrobe500' => {
|
|
|
|
name => 'Olympus M-Robe 500',
|
|
|
|
status => 2,
|
|
|
|
},
|
|
|
|
'ondavx747' => {
|
|
|
|
name => 'Onda VX747',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'ondavx747p' => {
|
|
|
|
name => 'Onda VX747+',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'ondavx767' => {
|
|
|
|
name => 'Onda VX767',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'ondavx777' => {
|
|
|
|
name => 'Onda VX777',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'samsungyh820' => {
|
|
|
|
name => 'Samsung YH-820',
|
|
|
|
status => 2,
|
|
|
|
},
|
|
|
|
'samsungyh920' => {
|
|
|
|
name => 'Samsung YH-920',
|
|
|
|
status => 2,
|
|
|
|
},
|
|
|
|
'samsungyh925' => {
|
|
|
|
name => 'Samsung YH-925',
|
|
|
|
status => 2,
|
|
|
|
},
|
|
|
|
'samsungyps3' => {
|
|
|
|
name => 'Samsung YP-S3',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'sansac100' => {
|
|
|
|
name => 'SanDisk Sansa c100',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'sansac200' => {
|
|
|
|
name => 'SanDisk Sansa c200',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'sansac200v2' => {
|
|
|
|
name => 'SanDisk Sansa c200 v2',
|
2010-07-29 23:37:07 +00:00
|
|
|
status => 2,
|
2009-12-07 12:20:56 +00:00
|
|
|
icon => 'sansac200',
|
|
|
|
},
|
|
|
|
'sansaclip' => {
|
2010-03-25 20:16:34 +00:00
|
|
|
name => 'SanDisk Sansa Clip v1',
|
2010-09-06 18:48:04 +00:00
|
|
|
status => 3,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'sansaclipv2' => {
|
|
|
|
name => 'SanDisk Sansa Clip v2',
|
2010-10-30 13:55:20 +00:00
|
|
|
status => 3,
|
2010-03-24 20:28:10 +00:00
|
|
|
icon => 'sansaclip',
|
|
|
|
},
|
|
|
|
'sansaclipplus' => {
|
|
|
|
name => 'SanDisk Sansa Clip+',
|
2010-10-30 13:55:20 +00:00
|
|
|
status => 3,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
|
|
|
'sansae200' => {
|
|
|
|
name => 'SanDisk Sansa e200',
|
|
|
|
status => 3,
|
|
|
|
},
|
|
|
|
'sansae200v2' => {
|
|
|
|
name => 'SanDisk Sansa e200 v2',
|
2010-02-03 21:11:39 +00:00
|
|
|
status => 3,
|
2009-12-07 12:20:56 +00:00
|
|
|
icon => 'sansae200',
|
|
|
|
},
|
|
|
|
'sansafuze' => {
|
|
|
|
name => 'SanDisk Sansa Fuze',
|
2010-02-03 21:11:39 +00:00
|
|
|
status => 3,
|
2009-12-07 12:20:56 +00:00
|
|
|
},
|
2010-04-01 07:26:47 +00:00
|
|
|
'sansafuzev2' => {
|
|
|
|
name => 'SanDisk Sansa Fuze v2',
|
2010-10-30 13:55:20 +00:00
|
|
|
status => 3,
|
2010-04-01 07:26:47 +00:00
|
|
|
icon => 'sansafuze',
|
|
|
|
},
|
2009-12-07 12:20:56 +00:00
|
|
|
'sansam200' => {
|
|
|
|
name => 'SanDisk Sansa m200',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'sansam200v4' => {
|
|
|
|
name => 'SanDisk Sansa m200 v4',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'sansaview' => {
|
|
|
|
name => 'SanDisk Sansa View',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'tatungtpj1022' => {
|
|
|
|
name => 'Tatung Elio TPJ-1022',
|
|
|
|
status => 1,
|
|
|
|
},
|
2010-02-18 10:30:00 +00:00
|
|
|
'vibe500' => {
|
|
|
|
name => 'Packard Bell Vibe 500',
|
2010-05-15 19:24:28 +00:00
|
|
|
status => 3,
|
2010-02-18 10:30:00 +00:00
|
|
|
},
|
2009-12-07 12:20:56 +00:00
|
|
|
'zenvision' => {
|
|
|
|
name => 'Creative Zen Vision',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'zenvisionm30gb' => {
|
|
|
|
name => 'Creative Zen Vision:M 30GB',
|
|
|
|
status => 1,
|
|
|
|
},
|
|
|
|
'zenvisionm60gb' => {
|
|
|
|
name => 'Creative Zen Vision:M 60GB',
|
|
|
|
status => 1,
|
|
|
|
},
|
2010-09-15 08:34:48 +00:00
|
|
|
'mpiohd200' => {
|
2010-04-29 20:09:19 +00:00
|
|
|
name => 'MPIO HD200',
|
2010-08-08 18:22:44 +00:00
|
|
|
status => 2,
|
2010-04-29 20:09:19 +00:00
|
|
|
},
|
2010-11-29 09:33:26 +00:00
|
|
|
'mpiohd300' => {
|
|
|
|
name => 'MPIO HD300',
|
2010-12-26 22:31:42 +00:00
|
|
|
status => 2,
|
2010-11-29 09:33:26 +00:00
|
|
|
},
|
2009-12-07 12:20:56 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
sub manualname {
|
|
|
|
my $m = shift @_;
|
|
|
|
|
|
|
|
return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
|
|
|
|
}
|
|
|
|
|
|
|
|
sub voicename {
|
|
|
|
my $m = shift @_;
|
|
|
|
|
|
|
|
return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
|
|
|
|
}
|
|
|
|
|
|
|
|
sub byname {
|
2009-12-07 12:51:34 +00:00
|
|
|
return uc $builds{$a}{name} cmp uc $builds{$b}{name};
|
2009-12-07 12:20:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
sub usablebuilds {
|
|
|
|
my @list;
|
|
|
|
|
|
|
|
for my $b (sort byname keys %builds) {
|
|
|
|
push @list, $b if ($builds{$b}{status} >= 2);
|
|
|
|
}
|
|
|
|
|
|
|
|
return @list;
|
|
|
|
}
|
|
|
|
|
|
|
|
sub stablebuilds {
|
|
|
|
my @list;
|
|
|
|
|
|
|
|
for my $b (sort byname keys %builds) {
|
|
|
|
push @list, $b if ($builds{$b}{status} >= 3);
|
|
|
|
}
|
|
|
|
|
|
|
|
return @list;
|
|
|
|
}
|
|
|
|
|
|
|
|
1;
|