summaryrefslogtreecommitdiff
path: root/tools/builds.pm
diff options
context:
space:
mode:
Diffstat (limited to 'tools/builds.pm')
-rw-r--r--tools/builds.pm125
1 files changed, 124 insertions, 1 deletions
diff --git a/tools/builds.pm b/tools/builds.pm
index fe400b6777..a69300cd3f 100644
--- a/tools/builds.pm
+++ b/tools/builds.pm
@@ -2,12 +2,15 @@ $publicrelease="3.15";
2$releasedate="15 Nov 2019"; 2$releasedate="15 Nov 2019";
3$releasenotes="/wiki/ReleaseNotes315"; 3$releasenotes="/wiki/ReleaseNotes315";
4 4
5# { 'modelname' => { 5################################################################
6
7# 'modelname' => {
6# name => 'Full Name', 8# name => 'Full Name',
7# status => 1, # 0=retired, 1=unusable, 2=unstable, 3=stable 9# status => 1, # 0=retired, 1=unusable, 2=unstable, 3=stable
8# ram => 2, # optional (used?) 10# ram => 2, # optional (used?)
9# manual => 'modelname2', # optional (uses modelname2's manual) 11# manual => 'modelname2', # optional (uses modelname2's manual)
10# icon => 'modelname3', # optional (uses modelname3's icon) 12# icon => 'modelname3', # optional (uses modelname3's icon)
13# voice => 'modelname4' # optional (uses modelname4's voice)
11# release => '3.14', # optional (final release version, if different from above) 14# release => '3.14', # optional (final release version, if different from above)
12# } 15# }
13 16
@@ -493,4 +496,124 @@ sub allbuilds {
493 return @list; 496 return @list;
494} 497}
495 498
499################################################################
500
501# 'voicename' => {
502# lang => 'langname', # source rockbox .lang file
503# name => 'Native Name ( English Name )', # descriptive text
504# short => 'sss', # short iso-ish text
505# defengine => 'enginename', # which engine to prefer
506# engines => { # supported engines
507# enginea = '-opt1=x -opt2=y', # options for enginea
508# engineb = '-lang=xx', # options for engineb
509# },
510# }
511
512# A single source language file can have many voice variants.
513# For example, Mandarin and Cantonese use the same "Chinese" script.
514# Also, different genders or regional accents for the same language
515
516%voices = (
517 # UK English always comes first
518 'english' => {
519 'lang' => 'english',
520 'name' => 'UK English',
521 'short' => 'en-uk',
522 'defengine' => 'espeak',
523 'engines' => {
524 'festival' => '--language english',
525 'espeak' => '-ven-gb',
526 'gtts' => '-l en-gb',
527 },
528 },
529 # Everything else in alphabetical order
530 'english-us' => {
531 'lang' => 'english-us',
532 'name' => 'American English',
533 'short' => 'en-us',
534 'defengine' => 'espeak',
535 'engines' => {
536 'festival' => '--language english',
537 'espeak' => '-ven-us',
538 'gtts' => '-l en-us',
539 },
540 },
541 'greek' => {
542 'lang' => 'greek',
543 'name' => 'Ελληνικά (Greek)',
544 'short' => 'el',
545 'defengine' => 'espeak',
546 'engines' => {
547 'espeak' => '-vel',
548 'gtts' => '-l el',
549 },
550 },
551 'polski' => {
552 'lang' => 'polski',
553 'name' => 'Polski (Polish)',
554 'short' => 'pl',
555 'defengine' => 'espeak',
556 'engines' => {
557 'espeak' => '-vpl',
558 'gtts' => '-l pl',
559 },
560 },
561 'russian' => {
562 'lang' => 'russian',
563 'name' => 'Русский (Russian)',
564 'short' => 'ru',
565 'defengine' => 'espeak',
566 'engines' => {
567 'espeak' => '-vru',
568 'gtts' => '-l ru',
569 },
570 },
571 'slovak' => {
572 'lang' => 'slovak',
573 'name' => 'Slovenský (Slovak)',
574 'short' => 'sk',
575 'defengine' => 'espeak',
576 'engines' => {
577 'espeak' => '-vsk',
578 'gtts' => '-l sk',
579 },
580 },
581 'srpski' => {
582 'lang' => 'srpski',
583 'name' => 'српски (Serbian)',
584 'short' => 'sr',
585 'defengine' => 'espeak',
586 'engines' => {
587 'espeak' => '-vsr',
588 'gtts' => '-l sr',
589 },
590 },
591);
592
593sub bylang {
594 return uc $voices{$a}{lang} cmp uc $voices{$b}{lang};
595}
596
597sub allvoices {
598 my @list;
599
600 for my $b (sort bylang keys %voices) {
601 push @list, $b;
602 }
603
604 return @list;
605}
606
607sub voicesforlang($) {
608 my $l = shift @_;
609 my @list;
610
611 for my $b (sort bylang keys %voices) {
612 push @list, $b if ($voices{$b}{lang} eq $b);
613 }
614
615 return @list;
616}
617
618
4961; 6191;