A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

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

+339 -117
+19 -57
utils/themeeditor/buildtargetdb.php
··· 25 25 echo "# ----------------------------------------------------------- #\n"; 26 26 echo "# ----------------------------------------------------------- #\n"; 27 27 echo "# --- This file automatically generated, do not modify! --- #\n"; 28 - echo "# --- To add a target to the targetdb, add it to the --- #\n"; 29 - echo "# --- \$targets array in buildtargetdb.php and run that --- #\n"; 30 - echo "# --- script, ensuring that your current directory is --- #\n"; 31 - echo "# --- utils/themeeditor, and pipe the output into --- #\n"; 32 - echo "# --- utils/themeeditor/resources/targetdb --- #\n"; 33 28 echo "# ----------------------------------------------------------- #\n"; 34 29 echo "# ----------------------------------------------------------- #\n\n"; 35 30 36 - // This is the array of targets, with the target id as the key and the 37 - // plaintext name of the target as the value 38 - $targets = array( 'archosfmrecorder' => 'Archos FM Recorder', 39 - 'archosondiofm' => 'Archos Ondio FM', 40 - 'archosondiosp' => 'Archos Ondio SP', 41 - 'archosplayer' => 'Archos Player/Studio', 42 - 'archosrecorder' => 'Archos Recorder v1', 43 - 'archosrecorderv2' => 'Archos Recorder v2', 44 - 'cowond2' => 'Cowon D2', 45 - 'iaudiom3' => 'iAudio M3', 46 - 'iaudiom5' => 'iAudio M5', 47 - 'iaudiox5' => 'iAudio X5', 48 - 'ipod1g2g' => 'iPod 1st and 2nd gen', 49 - 'ipod3g' => 'iPod 3rd gen', 50 - 'ipod4g' => 'iPod 4th gen Grayscale', 51 - 'ipodcolor' => 'iPod Color/Photo', 52 - 'ipodmini1g' => 'iPod Mini 1st gen', 53 - 'ipodmini2g' => 'iPod Mini 2nd gen', 54 - 'ipodnano1g' => 'iPod Nano 1st gen', 55 - 'ipodnano2g' => 'iPod Nano 2nd gen', 56 - 'ipodvideo' => 'iPod Video', 57 - 'iriverh10' => 'iriver H10 20GB', 58 - 'iriverh10_5gb' => 'iriver H10 5GB', 59 - 'iriverh100' => 'iriver H100/115', 60 - 'iriverh120' => 'iriver H120/140', 61 - 'iriverh300' => 'iriver H320/340', 62 - 'mrobe100' => 'Olympus M-Robe 100', 63 - 'mrobe500' => 'Olympus M-Robe 500', 64 - 'vibe500' => 'Packard Bell Vibe 500', 65 - 'samsungyh820' => 'Samsung YH-820', 66 - 'samsungyh920' => 'Samsung YH-920', 67 - 'samsungyh925' => 'Samsung YH-925', 68 - 'sansac200' => 'SanDisk Sansa c200', 69 - 'sansaclip' => 'SanDisk Sansa Clip v1', 70 - 'sansaclipv2' => 'SanDisk Sansa Clip v2', 71 - 'sansaclipplus' => 'SanDisk Sansa Clip+', 72 - 'sansae200' => 'SanDisk Sansa e200', 73 - 'sansae200v2' => 'SanDisk Sansa e200 v2', 74 - 'sansafuze' => 'SanDisk Sansa Fuze', 75 - 'sansafuzev2' => 'SanDisk Sansa Fuze v2', 76 - 'gigabeatfx' => 'Toshiba Gigabeat F/X', 77 - 'gigabeats' => 'Toshiba Gigabeat S' 78 - ); 31 + // Importing the target array 32 + system('./includetargets.pl'); 33 + require('./targets.php'); 34 + unlink('./targets.php'); 79 35 80 36 // Looping through all the targets 81 37 foreach($targets as $target => $plaintext) 82 38 { 83 39 // Opening a cpp process 84 40 $configfile = '../../firmware/export/config/' . $target . '.h'; 41 + if(!file_exists($configfile)) 42 + continue; 85 43 $descriptor = array( 0 => array("pipe", "r"), //stdin 86 44 1 => array("pipe", "w") //stdout 87 45 ); ··· 122 80 fclose($pipes[1]); 123 81 $results = explode("\n", $results); 124 82 83 + $base = 0; 84 + while($results[$base] != 'lcd') 85 + $base++; 86 + 125 87 // Header for the target 126 88 echo $target . "\n{\n"; 127 89 echo ' name : ' . $plaintext . "\n"; 128 90 129 91 // Writing the LCD dimensions 130 - echo ' screen : ' . $results[7] . ' x ' . $results[8] . ' @ '; 131 - if($results[9] == 1) 92 + echo ' screen : ' . $results[$base + 1] . ' x ' . $results[$base + 2] . ' @ '; 93 + if($results[$base + 3] == 1) 132 94 echo 'mono'; 133 - else if($results[10] == 2) 95 + else if($results[$base + 3] == 2) 134 96 echo 'grey'; 135 97 else 136 98 echo 'rgb'; ··· 138 100 139 101 // Writing the remote dimensions if necessary 140 102 echo ' remote : '; 141 - if($results[12] == 0) 103 + if($results[$base + 6] == 0) 142 104 { 143 105 echo 'no'; 144 106 } 145 107 else 146 108 { 147 - echo $results[12] . ' x ' .$results[13] . ' @ '; 148 - if($results[14] == 1) 109 + echo $results[$base + 6] . ' x ' .$results[$base + 7] . ' @ '; 110 + if($results[$base + 8] == 1) 149 111 echo 'mono'; 150 - else if($results[14] == 2) 112 + else if($results[$base + 8] == 2) 151 113 echo 'grey'; 152 114 else 153 115 echo 'rgb'; ··· 156 118 157 119 // Writing FM capability 158 120 echo ' fm : '; 159 - if($results[18] == 'yes') 121 + if($results[$base + 12] == 'yes') 160 122 echo 'yes'; 161 123 else 162 124 echo 'no'; ··· 164 126 165 127 // Writing record capability 166 128 echo ' record : '; 167 - if($results[22] == 'yes') 129 + if($results[$base + 16] == 'yes') 168 130 echo 'yes'; 169 131 else 170 132 echo 'no';
+58
utils/themeeditor/includetargets.pl
··· 1 + #!/usr/bin/perl 2 + 3 + ########################################################################### 4 + # __________ __ ___. 5 + # Open \______ \ ____ ____ | | _\_ |__ _______ ___ 6 + # Source | _ / _ \_/ ___\| |/ /| __ \ / _ \ \/ / 7 + # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 8 + # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 9 + # \/ \/ \/ \/ \/ 10 + # $Id$ 11 + # 12 + # Copyright (C) 2010 Robert Bieber 13 + # 14 + # This program is free software; you can redistribute it and/or 15 + # modify it under the terms of the GNU General Public License 16 + # as published by the Free Software Foundation; either version 2 17 + # of the License, or (at your option) any later version. 18 + # 19 + # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 20 + # KIND, either express or implied. 21 + # 22 + ############################################################################/ 23 + 24 + require '../../tools/builds.pm'; 25 + 26 + open(FOUT, ">targets.php"); 27 + 28 + print FOUT '<?php $targets = array('; 29 + 30 + @keys = sort byname keys %builds; 31 + $size = @keys; 32 + $final = @keys[$size - 1]; 33 + for my $b (@keys) 34 + { 35 + $key = $b; 36 + $key =~ s/:/%:/; 37 + $name = $builds{$b}{name}; 38 + $name =~ s/:/%:/; 39 + 40 + print FOUT "\"$key\"" . "=>" . '"' . $name . '"' if ($builds{$b}{status} >= 3); 41 + print FOUT ',' if $b ne $final && $builds{$b}{status} >= 3; 42 + } 43 + 44 + for my $b (@keys) 45 + { 46 + $key = $b; 47 + $key =~ s/:/%:/; 48 + $name = $builds{$b}{name}; 49 + $name =~ s/:/%:/; 50 + 51 + print FOUT "\"$key\"" . "=>" . '"' . $name . '"' if ($builds{$b}{status} < 3); 52 + print FOUT ',' if $b ne $final && $builds{$b}{status} < 3; 53 + } 54 + 55 + print FOUT '); ?>'; 56 + 57 + close(FOUT); 58 +
+262 -60
utils/themeeditor/resources/targetdb
··· 1 1 # ----------------------------------------------------------- # 2 2 # ----------------------------------------------------------- # 3 3 # --- This file automatically generated, do not modify! --- # 4 - # --- To add a target to the targetdb, add it to the --- # 5 - # --- $targets array in buildtargetdb.php and run that --- # 6 - # --- script, ensuring that your current directory is --- # 7 - # --- utils/themeeditor, and pipe the output into --- # 8 - # --- utils/themeeditor/resources/targetdb --- # 9 4 # ----------------------------------------------------------- # 10 5 # ----------------------------------------------------------- # 11 6 ··· 63 58 record : yes 64 59 } 65 60 66 - cowond2 67 - { 68 - name : Cowon D2 69 - screen : 320 x 240 @ rgb 70 - remote : no 71 - fm : yes 72 - record : no 73 - } 74 - 75 61 iaudiom3 76 62 { 77 63 name : iAudio M3 78 - screen : 128 x 96 @ rgb 64 + screen : 128 x 96 @ grey 79 65 remote : no 80 66 fm : yes 81 67 record : yes ··· 84 70 iaudiom5 85 71 { 86 72 name : iAudio M5 87 - screen : 160 x 128 @ rgb 73 + screen : 160 x 128 @ grey 88 74 remote : 128 x 96 @ grey 89 75 fm : no 90 76 record : yes ··· 102 88 ipod1g2g 103 89 { 104 90 name : iPod 1st and 2nd gen 105 - screen : 160 x 128 @ rgb 91 + screen : 160 x 128 @ grey 106 92 remote : no 107 93 fm : no 108 94 record : no ··· 111 97 ipod3g 112 98 { 113 99 name : iPod 3rd gen 114 - screen : 160 x 128 @ rgb 100 + screen : 160 x 128 @ grey 115 101 remote : no 116 102 fm : no 117 103 record : no ··· 120 106 ipod4g 121 107 { 122 108 name : iPod 4th gen Grayscale 123 - screen : 160 x 128 @ rgb 109 + screen : 160 x 128 @ grey 124 110 remote : no 125 111 fm : yes 126 112 record : yes ··· 128 114 129 115 ipodcolor 130 116 { 131 - name : iPod Color/Photo 117 + name : iPod color/Photo 132 118 screen : 220 x 176 @ rgb 133 119 remote : no 134 120 fm : yes ··· 138 124 ipodmini1g 139 125 { 140 126 name : iPod Mini 1st gen 141 - screen : 138 x 110 @ rgb 127 + screen : 138 x 110 @ grey 142 128 remote : no 143 129 fm : no 144 130 record : no ··· 147 133 ipodmini2g 148 134 { 149 135 name : iPod Mini 2nd gen 150 - screen : 138 x 110 @ rgb 136 + screen : 138 x 110 @ grey 151 137 remote : no 152 138 fm : no 153 139 record : no ··· 162 148 record : yes 163 149 } 164 150 165 - ipodnano2g 166 - { 167 - name : iPod Nano 2nd gen 168 - screen : 176 x 132 @ rgb 169 - remote : no 170 - fm : no 171 - record : no 172 - } 173 - 174 151 ipodvideo 175 152 { 176 - name : iPod Video 153 + name : iPod Video 30GB 177 154 screen : 320 x 240 @ rgb 178 155 remote : no 179 156 fm : yes ··· 201 178 iriverh100 202 179 { 203 180 name : iriver H100/115 204 - screen : 160 x 128 @ rgb 181 + screen : 160 x 128 @ grey 205 182 remote : 128 x 64 @ mono 206 183 fm : yes 207 184 record : yes ··· 210 187 iriverh120 211 188 { 212 189 name : iriver H120/140 213 - screen : 160 x 128 @ rgb 190 + screen : 160 x 128 @ grey 214 191 remote : 128 x 64 @ mono 215 192 fm : yes 216 193 record : yes ··· 234 211 record : no 235 212 } 236 213 214 + vibe500 215 + { 216 + name : Packard Bell Vibe 500 217 + screen : 160 x 128 @ rgb 218 + remote : no 219 + fm : no 220 + record : yes 221 + } 222 + 223 + sansac200 224 + { 225 + name : SanDisk Sansa c200 226 + screen : 132 x 80 @ rgb 227 + remote : no 228 + fm : yes 229 + record : yes 230 + } 231 + 232 + sansae200 233 + { 234 + name : SanDisk Sansa e200 235 + screen : 176 x 220 @ rgb 236 + remote : no 237 + fm : yes 238 + record : yes 239 + } 240 + 241 + sansae200v2 242 + { 243 + name : SanDisk Sansa e200 v2 244 + screen : 176 x 220 @ rgb 245 + remote : no 246 + fm : yes 247 + record : yes 248 + } 249 + 250 + sansafuze 251 + { 252 + name : SanDisk Sansa Fuze 253 + screen : 220 x 176 @ rgb 254 + remote : no 255 + fm : yes 256 + record : yes 257 + } 258 + 259 + gigabeatfx 260 + { 261 + name : Toshiba Gigabeat F/X 262 + screen : 240 x 320 @ rgb 263 + remote : no 264 + fm : no 265 + record : no 266 + } 267 + 268 + cowond2 269 + { 270 + name : Cowon D2 271 + screen : 320 x 240 @ rgb 272 + remote : no 273 + fm : yes 274 + record : no 275 + } 276 + 277 + zenvision 278 + { 279 + name : Creative Zen Vision 280 + screen : 320 x 240 @ rgb 281 + remote : no 282 + fm : no 283 + record : no 284 + } 285 + 286 + zenvisionm30gb 287 + { 288 + name : Creative Zen Vision%:M 30GB 289 + screen : 320 x 240 @ rgb 290 + remote : no 291 + fm : no 292 + record : no 293 + } 294 + 295 + zenvisionm60gb 296 + { 297 + name : Creative Zen Vision%:M 60GB 298 + screen : 320 x 240 @ rgb 299 + remote : no 300 + fm : no 301 + record : no 302 + } 303 + 304 + iaudio7 305 + { 306 + name : iAudio 7 307 + screen : 160 x 128 @ rgb 308 + remote : no 309 + fm : yes 310 + record : yes 311 + } 312 + 313 + ipodnano2g 314 + { 315 + name : iPod Nano 2nd gen 316 + screen : 176 x 132 @ rgb 317 + remote : no 318 + fm : no 319 + record : no 320 + } 321 + 322 + iriverifp7xx 323 + { 324 + name : iriver iFP-7xx 325 + screen : 128 x 64 @ mono 326 + remote : no 327 + fm : no 328 + record : no 329 + } 330 + 331 + logikdax 332 + { 333 + name : Logik DAX 334 + screen : 128 x 64 @ mono 335 + remote : no 336 + fm : no 337 + record : no 338 + } 339 + 340 + lyreproto1 341 + { 342 + name : Lyre Prototype 1 343 + screen : 128 x 128 @ rgb 344 + remote : no 345 + fm : no 346 + record : no 347 + } 348 + 349 + meizum3 350 + { 351 + name : Meizu M3 352 + screen : 176 x 132 @ rgb 353 + remote : no 354 + fm : yes 355 + record : no 356 + } 357 + 358 + meizum6sl 359 + { 360 + name : Meizu M6SL 361 + screen : 320 x 240 @ rgb 362 + remote : no 363 + fm : yes 364 + record : no 365 + } 366 + 367 + meizum6sp 368 + { 369 + name : Meizu M6SP 370 + screen : 240 x 320 @ rgb 371 + remote : no 372 + fm : yes 373 + record : no 374 + } 375 + 376 + mini2440 377 + { 378 + name : Mini 2440 379 + screen : 240 x 320 @ rgb 380 + remote : no 381 + fm : no 382 + record : no 383 + } 384 + 237 385 mrobe500 238 386 { 239 387 name : Olympus M-Robe 500 ··· 243 391 record : no 244 392 } 245 393 246 - vibe500 394 + ondavx747 395 + { 396 + name : Onda VX747 397 + screen : 240 x 400 @ rgb 398 + remote : no 399 + fm : yes 400 + record : no 401 + } 402 + 403 + ondavx767 404 + { 405 + name : Onda VX767 406 + screen : 320 x 240 @ rgb 407 + remote : no 408 + fm : yes 409 + record : no 410 + } 411 + 412 + ondavx777 413 + { 414 + name : Onda VX777 415 + screen : 240 x 400 @ rgb 416 + remote : no 417 + fm : yes 418 + record : no 419 + } 420 + 421 + gogearhdd1630 247 422 { 248 - name : Packard Bell Vibe 500 249 - screen : 160 x 128 @ rgb 423 + name : Philips GoGear HDD1630 424 + screen : 128 x 128 @ rgb 250 425 remote : no 251 - fm : no 426 + fm : yes 252 427 record : yes 253 428 } 254 429 430 + gogearsa9200 431 + { 432 + name : Philips GoGear SA9200 433 + screen : 128 x 160 @ rgb 434 + remote : no 435 + fm : no 436 + record : no 437 + } 438 + 255 439 samsungyh820 256 440 { 257 441 name : Samsung YH-820 ··· 264 448 samsungyh920 265 449 { 266 450 name : Samsung YH-920 267 - screen : 160 x 128 @ rgb 451 + screen : 160 x 128 @ grey 268 452 remote : no 269 453 fm : no 270 454 record : no ··· 279 463 record : no 280 464 } 281 465 282 - sansac200 466 + samsungyps3 283 467 { 284 - name : SanDisk Sansa c200 468 + name : Samsung YP-S3 469 + screen : 176 x 220 @ rgb 470 + remote : no 471 + fm : yes 472 + record : no 473 + } 474 + 475 + sansac100 476 + { 477 + name : SanDisk Sansa c100 478 + screen : 128 x 64 @ rgb 479 + remote : no 480 + fm : no 481 + record : no 482 + } 483 + 484 + sansac200v2 485 + { 486 + name : SanDisk Sansa c200 v2 285 487 screen : 132 x 80 @ rgb 286 488 remote : no 287 489 fm : yes ··· 315 517 record : yes 316 518 } 317 519 318 - sansae200 520 + sansafuzev2 319 521 { 320 - name : SanDisk Sansa e200 321 - screen : 176 x 220 @ rgb 522 + name : SanDisk Sansa Fuze v2 523 + screen : 220 x 176 @ rgb 322 524 remote : no 323 525 fm : yes 324 526 record : yes 325 527 } 326 528 327 - sansae200v2 529 + sansam200 328 530 { 329 - name : SanDisk Sansa e200 v2 330 - screen : 176 x 220 @ rgb 531 + name : SanDisk Sansa m200 532 + screen : 128 x 64 @ mono 331 533 remote : no 332 - fm : yes 333 - record : yes 534 + fm : no 535 + record : no 334 536 } 335 537 336 - sansafuze 538 + sansam200v4 337 539 { 338 - name : SanDisk Sansa Fuze 339 - screen : 220 x 176 @ rgb 540 + name : SanDisk Sansa m200 v4 541 + screen : 128 x 64 @ mono 340 542 remote : no 341 543 fm : yes 342 544 record : yes 343 545 } 344 546 345 - sansafuzev2 547 + sansaview 346 548 { 347 - name : SanDisk Sansa Fuze v2 348 - screen : 220 x 176 @ rgb 549 + name : SanDisk Sansa View 550 + screen : 240 x 320 @ rgb 349 551 remote : no 350 - fm : yes 351 - record : yes 552 + fm : no 553 + record : no 352 554 } 353 555 354 - gigabeatfx 556 + tatungtpj1022 355 557 { 356 - name : Toshiba Gigabeat F/X 357 - screen : 240 x 320 @ rgb 558 + name : Tatung Elio TPJ-1022 559 + screen : 220 x 176 @ rgb 358 560 remote : no 359 561 fm : no 360 562 record : no