From d73c81f912f51abcfb034ed3e563fd4b39db5854 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Fri, 30 Jul 2010 20:47:25 +0000 Subject: Theme Editor: Modified buildtargetdb.php to read targets list from tools/builds.pm using includetargets.pl git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27630 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/buildtargetdb.php | 76 +++------ utils/themeeditor/includetargets.pl | 58 +++++++ utils/themeeditor/resources/targetdb | 322 ++++++++++++++++++++++++++++------- 3 files changed, 339 insertions(+), 117 deletions(-) create mode 100755 utils/themeeditor/includetargets.pl diff --git a/utils/themeeditor/buildtargetdb.php b/utils/themeeditor/buildtargetdb.php index 26b6f119c2..a5ae650426 100755 --- a/utils/themeeditor/buildtargetdb.php +++ b/utils/themeeditor/buildtargetdb.php @@ -25,63 +25,21 @@ echo "# ----------------------------------------------------------- #\n"; echo "# ----------------------------------------------------------- #\n"; echo "# --- This file automatically generated, do not modify! --- #\n"; -echo "# --- To add a target to the targetdb, add it to the --- #\n"; -echo "# --- \$targets array in buildtargetdb.php and run that --- #\n"; -echo "# --- script, ensuring that your current directory is --- #\n"; -echo "# --- utils/themeeditor, and pipe the output into --- #\n"; -echo "# --- utils/themeeditor/resources/targetdb --- #\n"; echo "# ----------------------------------------------------------- #\n"; echo "# ----------------------------------------------------------- #\n\n"; -// This is the array of targets, with the target id as the key and the -// plaintext name of the target as the value -$targets = array( 'archosfmrecorder' => 'Archos FM Recorder', - 'archosondiofm' => 'Archos Ondio FM', - 'archosondiosp' => 'Archos Ondio SP', - 'archosplayer' => 'Archos Player/Studio', - 'archosrecorder' => 'Archos Recorder v1', - 'archosrecorderv2' => 'Archos Recorder v2', - 'cowond2' => 'Cowon D2', - 'iaudiom3' => 'iAudio M3', - 'iaudiom5' => 'iAudio M5', - 'iaudiox5' => 'iAudio X5', - 'ipod1g2g' => 'iPod 1st and 2nd gen', - 'ipod3g' => 'iPod 3rd gen', - 'ipod4g' => 'iPod 4th gen Grayscale', - 'ipodcolor' => 'iPod Color/Photo', - 'ipodmini1g' => 'iPod Mini 1st gen', - 'ipodmini2g' => 'iPod Mini 2nd gen', - 'ipodnano1g' => 'iPod Nano 1st gen', - 'ipodnano2g' => 'iPod Nano 2nd gen', - 'ipodvideo' => 'iPod Video', - 'iriverh10' => 'iriver H10 20GB', - 'iriverh10_5gb' => 'iriver H10 5GB', - 'iriverh100' => 'iriver H100/115', - 'iriverh120' => 'iriver H120/140', - 'iriverh300' => 'iriver H320/340', - 'mrobe100' => 'Olympus M-Robe 100', - 'mrobe500' => 'Olympus M-Robe 500', - 'vibe500' => 'Packard Bell Vibe 500', - 'samsungyh820' => 'Samsung YH-820', - 'samsungyh920' => 'Samsung YH-920', - 'samsungyh925' => 'Samsung YH-925', - 'sansac200' => 'SanDisk Sansa c200', - 'sansaclip' => 'SanDisk Sansa Clip v1', - 'sansaclipv2' => 'SanDisk Sansa Clip v2', - 'sansaclipplus' => 'SanDisk Sansa Clip+', - 'sansae200' => 'SanDisk Sansa e200', - 'sansae200v2' => 'SanDisk Sansa e200 v2', - 'sansafuze' => 'SanDisk Sansa Fuze', - 'sansafuzev2' => 'SanDisk Sansa Fuze v2', - 'gigabeatfx' => 'Toshiba Gigabeat F/X', - 'gigabeats' => 'Toshiba Gigabeat S' - ); +// Importing the target array +system('./includetargets.pl'); +require('./targets.php'); +unlink('./targets.php'); // Looping through all the targets foreach($targets as $target => $plaintext) { // Opening a cpp process $configfile = '../../firmware/export/config/' . $target . '.h'; + if(!file_exists($configfile)) + continue; $descriptor = array( 0 => array("pipe", "r"), //stdin 1 => array("pipe", "w") //stdout ); @@ -122,15 +80,19 @@ STR; fclose($pipes[1]); $results = explode("\n", $results); + $base = 0; + while($results[$base] != 'lcd') + $base++; + // Header for the target echo $target . "\n{\n"; echo ' name : ' . $plaintext . "\n"; // Writing the LCD dimensions - echo ' screen : ' . $results[7] . ' x ' . $results[8] . ' @ '; - if($results[9] == 1) + echo ' screen : ' . $results[$base + 1] . ' x ' . $results[$base + 2] . ' @ '; + if($results[$base + 3] == 1) echo 'mono'; - else if($results[10] == 2) + else if($results[$base + 3] == 2) echo 'grey'; else echo 'rgb'; @@ -138,16 +100,16 @@ STR; // Writing the remote dimensions if necessary echo ' remote : '; - if($results[12] == 0) + if($results[$base + 6] == 0) { echo 'no'; } else { - echo $results[12] . ' x ' .$results[13] . ' @ '; - if($results[14] == 1) + echo $results[$base + 6] . ' x ' .$results[$base + 7] . ' @ '; + if($results[$base + 8] == 1) echo 'mono'; - else if($results[14] == 2) + else if($results[$base + 8] == 2) echo 'grey'; else echo 'rgb'; @@ -156,7 +118,7 @@ STR; // Writing FM capability echo ' fm : '; - if($results[18] == 'yes') + if($results[$base + 12] == 'yes') echo 'yes'; else echo 'no'; @@ -164,7 +126,7 @@ STR; // Writing record capability echo ' record : '; - if($results[22] == 'yes') + if($results[$base + 16] == 'yes') echo 'yes'; else echo 'no'; diff --git a/utils/themeeditor/includetargets.pl b/utils/themeeditor/includetargets.pl new file mode 100755 index 0000000000..3708c6a55c --- /dev/null +++ b/utils/themeeditor/includetargets.pl @@ -0,0 +1,58 @@ +#!/usr/bin/perl + +########################################################################### +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _ / _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id$ +# +# Copyright (C) 2010 Robert Bieber +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +############################################################################/ + +require '../../tools/builds.pm'; + +open(FOUT, ">targets.php"); + +print FOUT '" . '"' . $name . '"' if ($builds{$b}{status} >= 3); + print FOUT ',' if $b ne $final && $builds{$b}{status} >= 3; +} + +for my $b (@keys) +{ + $key = $b; + $key =~ s/:/%:/; + $name = $builds{$b}{name}; + $name =~ s/:/%:/; + + print FOUT "\"$key\"" . "=>" . '"' . $name . '"' if ($builds{$b}{status} < 3); + print FOUT ',' if $b ne $final && $builds{$b}{status} < 3; +} + +print FOUT '); ?>'; + +close(FOUT); + diff --git a/utils/themeeditor/resources/targetdb b/utils/themeeditor/resources/targetdb index e466747b88..18977b305a 100644 --- a/utils/themeeditor/resources/targetdb +++ b/utils/themeeditor/resources/targetdb @@ -1,11 +1,6 @@ # ----------------------------------------------------------- # # ----------------------------------------------------------- # # --- This file automatically generated, do not modify! --- # -# --- To add a target to the targetdb, add it to the --- # -# --- $targets array in buildtargetdb.php and run that --- # -# --- script, ensuring that your current directory is --- # -# --- utils/themeeditor, and pipe the output into --- # -# --- utils/themeeditor/resources/targetdb --- # # ----------------------------------------------------------- # # ----------------------------------------------------------- # @@ -63,19 +58,10 @@ archosrecorderv2 record : yes } -cowond2 -{ - name : Cowon D2 - screen : 320 x 240 @ rgb - remote : no - fm : yes - record : no -} - iaudiom3 { name : iAudio M3 - screen : 128 x 96 @ rgb + screen : 128 x 96 @ grey remote : no fm : yes record : yes @@ -84,7 +70,7 @@ iaudiom3 iaudiom5 { name : iAudio M5 - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : 128 x 96 @ grey fm : no record : yes @@ -102,7 +88,7 @@ iaudiox5 ipod1g2g { name : iPod 1st and 2nd gen - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : no fm : no record : no @@ -111,7 +97,7 @@ ipod1g2g ipod3g { name : iPod 3rd gen - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : no fm : no record : no @@ -120,7 +106,7 @@ ipod3g ipod4g { name : iPod 4th gen Grayscale - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : no fm : yes record : yes @@ -128,7 +114,7 @@ ipod4g ipodcolor { - name : iPod Color/Photo + name : iPod color/Photo screen : 220 x 176 @ rgb remote : no fm : yes @@ -138,7 +124,7 @@ ipodcolor ipodmini1g { name : iPod Mini 1st gen - screen : 138 x 110 @ rgb + screen : 138 x 110 @ grey remote : no fm : no record : no @@ -147,7 +133,7 @@ ipodmini1g ipodmini2g { name : iPod Mini 2nd gen - screen : 138 x 110 @ rgb + screen : 138 x 110 @ grey remote : no fm : no record : no @@ -162,18 +148,9 @@ ipodnano1g record : yes } -ipodnano2g -{ - name : iPod Nano 2nd gen - screen : 176 x 132 @ rgb - remote : no - fm : no - record : no -} - ipodvideo { - name : iPod Video + name : iPod Video 30GB screen : 320 x 240 @ rgb remote : no fm : yes @@ -201,7 +178,7 @@ iriverh10_5gb iriverh100 { name : iriver H100/115 - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : 128 x 64 @ mono fm : yes record : yes @@ -210,7 +187,7 @@ iriverh100 iriverh120 { name : iriver H120/140 - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : 128 x 64 @ mono fm : yes record : yes @@ -234,6 +211,177 @@ mrobe100 record : no } +vibe500 +{ + name : Packard Bell Vibe 500 + screen : 160 x 128 @ rgb + remote : no + fm : no + record : yes +} + +sansac200 +{ + name : SanDisk Sansa c200 + screen : 132 x 80 @ rgb + remote : no + fm : yes + record : yes +} + +sansae200 +{ + name : SanDisk Sansa e200 + screen : 176 x 220 @ rgb + remote : no + fm : yes + record : yes +} + +sansae200v2 +{ + name : SanDisk Sansa e200 v2 + screen : 176 x 220 @ rgb + remote : no + fm : yes + record : yes +} + +sansafuze +{ + name : SanDisk Sansa Fuze + screen : 220 x 176 @ rgb + remote : no + fm : yes + record : yes +} + +gigabeatfx +{ + name : Toshiba Gigabeat F/X + screen : 240 x 320 @ rgb + remote : no + fm : no + record : no +} + +cowond2 +{ + name : Cowon D2 + screen : 320 x 240 @ rgb + remote : no + fm : yes + record : no +} + +zenvision +{ + name : Creative Zen Vision + screen : 320 x 240 @ rgb + remote : no + fm : no + record : no +} + +zenvisionm30gb +{ + name : Creative Zen Vision%:M 30GB + screen : 320 x 240 @ rgb + remote : no + fm : no + record : no +} + +zenvisionm60gb +{ + name : Creative Zen Vision%:M 60GB + screen : 320 x 240 @ rgb + remote : no + fm : no + record : no +} + +iaudio7 +{ + name : iAudio 7 + screen : 160 x 128 @ rgb + remote : no + fm : yes + record : yes +} + +ipodnano2g +{ + name : iPod Nano 2nd gen + screen : 176 x 132 @ rgb + remote : no + fm : no + record : no +} + +iriverifp7xx +{ + name : iriver iFP-7xx + screen : 128 x 64 @ mono + remote : no + fm : no + record : no +} + +logikdax +{ + name : Logik DAX + screen : 128 x 64 @ mono + remote : no + fm : no + record : no +} + +lyreproto1 +{ + name : Lyre Prototype 1 + screen : 128 x 128 @ rgb + remote : no + fm : no + record : no +} + +meizum3 +{ + name : Meizu M3 + screen : 176 x 132 @ rgb + remote : no + fm : yes + record : no +} + +meizum6sl +{ + name : Meizu M6SL + screen : 320 x 240 @ rgb + remote : no + fm : yes + record : no +} + +meizum6sp +{ + name : Meizu M6SP + screen : 240 x 320 @ rgb + remote : no + fm : yes + record : no +} + +mini2440 +{ + name : Mini 2440 + screen : 240 x 320 @ rgb + remote : no + fm : no + record : no +} + mrobe500 { name : Olympus M-Robe 500 @@ -243,15 +391,51 @@ mrobe500 record : no } -vibe500 +ondavx747 { - name : Packard Bell Vibe 500 - screen : 160 x 128 @ rgb + name : Onda VX747 + screen : 240 x 400 @ rgb remote : no - fm : no + fm : yes + record : no +} + +ondavx767 +{ + name : Onda VX767 + screen : 320 x 240 @ rgb + remote : no + fm : yes + record : no +} + +ondavx777 +{ + name : Onda VX777 + screen : 240 x 400 @ rgb + remote : no + fm : yes + record : no +} + +gogearhdd1630 +{ + name : Philips GoGear HDD1630 + screen : 128 x 128 @ rgb + remote : no + fm : yes record : yes } +gogearsa9200 +{ + name : Philips GoGear SA9200 + screen : 128 x 160 @ rgb + remote : no + fm : no + record : no +} + samsungyh820 { name : Samsung YH-820 @@ -264,7 +448,7 @@ samsungyh820 samsungyh920 { name : Samsung YH-920 - screen : 160 x 128 @ rgb + screen : 160 x 128 @ grey remote : no fm : no record : no @@ -279,9 +463,27 @@ samsungyh925 record : no } -sansac200 +samsungyps3 { - name : SanDisk Sansa c200 + name : Samsung YP-S3 + screen : 176 x 220 @ rgb + remote : no + fm : yes + record : no +} + +sansac100 +{ + name : SanDisk Sansa c100 + screen : 128 x 64 @ rgb + remote : no + fm : no + record : no +} + +sansac200v2 +{ + name : SanDisk Sansa c200 v2 screen : 132 x 80 @ rgb remote : no fm : yes @@ -315,46 +517,46 @@ sansaclipplus record : yes } -sansae200 +sansafuzev2 { - name : SanDisk Sansa e200 - screen : 176 x 220 @ rgb + name : SanDisk Sansa Fuze v2 + screen : 220 x 176 @ rgb remote : no fm : yes record : yes } -sansae200v2 +sansam200 { - name : SanDisk Sansa e200 v2 - screen : 176 x 220 @ rgb + name : SanDisk Sansa m200 + screen : 128 x 64 @ mono remote : no - fm : yes - record : yes + fm : no + record : no } -sansafuze +sansam200v4 { - name : SanDisk Sansa Fuze - screen : 220 x 176 @ rgb + name : SanDisk Sansa m200 v4 + screen : 128 x 64 @ mono remote : no fm : yes record : yes } -sansafuzev2 +sansaview { - name : SanDisk Sansa Fuze v2 - screen : 220 x 176 @ rgb + name : SanDisk Sansa View + screen : 240 x 320 @ rgb remote : no - fm : yes - record : yes + fm : no + record : no } -gigabeatfx +tatungtpj1022 { - name : Toshiba Gigabeat F/X - screen : 240 x 320 @ rgb + name : Tatung Elio TPJ-1022 + screen : 220 x 176 @ rgb remote : no fm : no record : no -- cgit v1.2.3