summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-07-30 20:47:25 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-07-30 20:47:25 +0000
commitd73c81f912f51abcfb034ed3e563fd4b39db5854 (patch)
tree2bedc4c76cb29f1d06ef3bc91eadbe3035cccbcc /utils
parent66f8c73dcdcf98b8c6c2ed0f3c83be19f02dad59 (diff)
downloadrockbox-d73c81f912f51abcfb034ed3e563fd4b39db5854.tar.gz
rockbox-d73c81f912f51abcfb034ed3e563fd4b39db5854.tar.bz2
rockbox-d73c81f912f51abcfb034ed3e563fd4b39db5854.zip
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
Diffstat (limited to 'utils')
-rwxr-xr-xutils/themeeditor/buildtargetdb.php76
-rwxr-xr-xutils/themeeditor/includetargets.pl58
-rw-r--r--utils/themeeditor/resources/targetdb322
3 files changed, 339 insertions, 117 deletions
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 '<?php $targets = array(';
+
+@keys = sort byname keys %builds;
+$size = @keys;
+$final = @keys[$size - 1];
+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;
+}
+
+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