Commit graph

2119 commits

Author SHA1 Message Date
Solomon Peachy
a5df94beb5 build: Tweaks to better support non-English as primary language
* get rid of $(LANGUAGE) in top-level makefile (and configure script)
 * un-hardcode English-as-primary-language in a couple more places
 * allow DEFAULT_VOICE_LANG to be overriden

To actually change the primary from English, one must change:

 * $english in voice.pl
 * hardcoded 'english' in rbutil
 * $ENGLISH in apps/lang/lang.make
 * DEFAULT_VOICE_LANG in apps/talk.c
 * configure script (default prompt)

Of course, if one wants to change the default UI language, it's simpler
to change the default language setting variable at compile time, or
perhaps by adding a configuration file with the desired value into the
.rockbox directory when the .zip is assembled.

Change-Id: If5cf76019d416e838628a2eccd4ec7d6cbaeeb74
2020-07-21 17:22:45 +00:00
Solomon Peachy
688c89cfe1 genlang: More voice-related fixes.
* Use consistent ID numbering
 * Use consistent logic for voicelist and voicebin files
 * Fix situations where English <-> English would fail in strange ways
 * Delete leftover tmpfile.
 * Off-by-one error in voice validation code
 * Off-by-one error in voicelist generation

Change-Id: Ib3cea2c6612138b1cbe614dacbe51000199cc9ad
2020-07-21 11:59:47 +00:00
Solomon Peachy
1748b475a9 voice: Allow use of an existing (textual) voiceids file
If it's present, we don't need to generate one, which means we don't
need to know the target name and features list.

The next step is to accept the binary variant that rbutil uses
so we can generate a complete voice file on the cmdline.

Change-Id: I1a355f985e6af46b11610de781996000110ae9de
2020-07-19 01:34:42 -04:00
Solomon Peachy
df14f12675 mkinfo: Make memory size computation more accurate
* imx233 had disjoint memory map
 * hosted binaries not computing start address properly

Change-Id: Ia45571e0c41f07f1d4f34f6e1a0067dcac530148
2020-07-15 14:08:14 -04:00
Solomon Peachy
a69acbb2c1 FS#13214: Update Italian translation (Alessio Lenzi)
Enable the Italian voice nightly build too.

Change-Id: I34f36202714c51ec65d6b5ce288a3e10a2b32f37
2020-07-14 16:13:13 +00:00
Solomon Peachy
9adfab9b2b builds.pm: Enable Greek and Slovak voice builds.
Change-Id: Idf322dd4367cf250885b7f040b1e0de10ee8b945
2020-07-13 15:59:31 -04:00
Solomon Peachy
ead398a8f3 builds: Allow voices to be filtered by an 'enabled' flag.
(So only voices that are confirmed okay are built)

Change-Id: I78dae45182352e5939941744fba2c0e015866804
2020-07-13 10:52:50 -04:00
Solomon Peachy
73a0a9f5aa genlang: Skip strings not present in english in all voicelist modes
Change-Id: If4a4c8c42ce68ecac4aee4400ea82cc709e26c1a
2020-07-13 08:05:06 -04:00
Solomon Peachy
ab1cf209ec build: We don't want '-r' in MAKEFLAGS for toolchain builds.
Change-Id: Id1a96fb2274572ae7520a146b13f044f68e0c3aa
2020-07-12 22:24:32 -04:00
Solomon Peachy
980124ec73 voice: Ensure there are no missing strings when generating the voicelist.
If the translation is not 100% complete, we need to make sure anything
missing is copied from English so there won't be any gaps in the voice
files.

(This behavior is similar to what we do for the regular binary lang files)

Change-Id: I5fd2a50d08317eb8445926145a74a38033e0ebcc
2020-07-12 17:03:19 -04:00
Solomon Peachy
aa20b6af7a voice: Two more fixes.
Change-Id: I5aaf10c588f4396e61942b8fcd6c62c792ea175b
2020-07-11 18:28:54 +00:00
Solomon Peachy
b546d9d172 voice: More fixes, and add more languages
* Pass strings via stdin where possible
 * Add German, Italian, and Norweigan to the build list.
   (in other words, everything with >=95% coverage)

Change-Id: I0154b178b15ddd0b79566c1cb62f76ade32824aa
2020-07-11 17:22:06 +00:00
Solomon Peachy
aad57ea1cc voice: Further enhancements for multi-lingual voice generation
* configure: allow use of full tts engine names when making selection
 * voice.pl:  fixes for espeak-ng
 * build.pm:  Add a list of "standard" voices for tooling use

The latter will be used by the nightly builder infrastructure to
determine what voices to generate.

Change-Id: Iff55288f94a30fbe08d8345b730969b7264b5e0f
2020-07-11 15:01:33 +00:00
Solomon Peachy
185d2bbb6a voice: More voice generation fixes:
* espeak vs espeak-ng  (prefer the latter!)
 * voicepool was busted for most non-english strings

Change-Id: Iae6df0f5426155b7b1f444160814ff9ef4581f21
2020-07-11 01:33:04 +00:00
Solomon Peachy
938d820355 voices: Add tts language mappings for the top 19 languages
festival: english and spanish only
gtts:  all but nederlands
espeak: all (need espeak-ng for czech, greek, and japanese)

Change-Id: I7df1b3235b48f352b0af3c13e3742e85432bc692
2020-07-11 00:09:49 +00:00
Solomon Peachy
711bff47b7 voice: Enhance 'espeak' to automatically pick the language + voice
Most of the 'perfect' or 'good' translations are covered.

Also, don't override user-specified voice

Change-Id: I837bd67e9df2b8bcc7e020f12a2f411c9175565b
2020-07-10 23:28:25 +00:00
Solomon Peachy
c914b148e5 build: Get rid of svn vestiges from version script
Set 10-character git shortrevs for consistency with modern git
defaults

Change-Id: I694f09acd5da1c9b837c9a71a82bd7b72578efd7
2020-07-09 20:29:33 -04:00
Solomon Peachy
dcdf2713f6 Python3-related fixes in some of our scripts
Change-Id: I8acbe43e3f27e51159a7a78fcc361476d7406cbb
2020-07-09 14:39:27 +00:00
Solomon Peachy
5d8a1a305d voice: Fix some perl warnings
(got lost in the output during my test runs)

Change-Id: I3467b96a9607a4d6cf1e26348cd496be508809d3
2020-07-09 11:35:06 +00:00
Solomon Peachy
2c3399537c voice: Add support for Google Translate's speech synthesizer
Uses the 'gtts-cli' command line client.  Supports a wide variety of
languages, including all "Complete" and "Good" Rockbox translations.

Additional changes:

 * voice synth script can accept pre-encoded mp3 files
 * Move language->synth options mapping into the voice script
 * Additional cleanups

Change-Id: I9523e2bca87cbcee2d8c4111f9892e8e458c7419
2020-07-08 23:16:57 +00:00
Solomon Peachy
08c6f9104c build: add '-fcommon' to the toolchain build flags.
This allows binutils 2.16 to build successfully with GCC10.

Change-Id: Iddcd4156720f4fa05936ea459991866fc6e1524d
2020-07-02 20:04:10 +00:00
Solomon Peachy
aec381c4c6 database: Fix makefile syntax for GNU Make 4.3+
Change-Id: If8749aff19f92aae28f5f73aaf843428d7f4b462
2020-06-30 16:12:10 +00:00
Franklin Wei
4d52a42e07 docker-rbclient: use CMD instead of ENTRYPOINT
This makes it easier to override from the command line.

Change-Id: I4bbd2995ed442b119b696da94ce1670304e59933
2020-06-25 17:42:42 -04:00
Solomon Peachy
ff665a26d6 mi4: Correct a build warning/error that pops up on stricter hosts
Change-Id: Ibf549472aa75a1f5e63eccb5ca7974dec506710f
2020-06-07 02:50:30 +00:00
Solomon Peachy
2434b6ca25 misc: Remove all 'twiki' references in favor of up-to-date 'wiki' links.
(This migration happened over a decade ago!)

Change-Id: Ib396414a16f2d763e549af49e3f3b03047dab49c
2020-06-07 01:38:55 +00:00
Sebastian Leonhardt
0769b34a23 fix configure script failing on gcc version numbers
There were two problems on my system:
* MinGW-gcc returns version "7.3-win32" => the "-win32"-part must be
  stripped off
* gcc -dumpversion returns only the major version number => use
  both -dumpfullversion and -dumpversion (in this order) as described here:
  https://stackoverflow.com/questions/45168516/gcc-7-1-1-on-fedora-26-dumpversion-now-only-includes-major-version-by-default

Change-Id: I74fa1c572426aab2525a00a80170d859c166e31c
2020-05-24 13:45:46 +02:00
Solomon Peachy
bbe8c73bb8 builds: Mark the Archos Recorder v1 as officially retired.
The last successful build was 87c6df9-131213, shortly after the 3.13
relase, but even before that, it had been problematic due to severe
firmware image size limitations (200KB) of the hardware bootrom.

(Current git code genrates an image about 220KB)

Change-Id: Ibaf7bd61cbc0f0656c5e119bbb9934437aa9c47c
2020-05-20 21:29:57 +02:00
Solomon Peachy
0c3380f9ef builds: Archos recorder v1 hasn't seen a release since 3.13 (in 2013)
Fix this, so the download metadata will do the right thing.

Change-Id: I7f51f0252e0f72667374143a9cad1021acc58538
2020-05-19 03:45:30 +02:00
Solomon Peachy
93fcd569ab mkinfo: Use correct binary file for "actual size" on hosted targets
Change-Id: Ia22743f3cab18fb1285bcec6429bb198525f37f8
2020-05-17 15:46:47 +02:00
William Wilgus
c93666d08e talk.h make voice files check for proper number of entries on load
In addition to version and target also check id1_max & id2_max
for proper length before allowing voice file to be loaded

Change-Id: I36016059d07781b0bb43dd9873bbb6e565298d76
2020-04-17 07:30:23 +02:00
Solomon Peachy
e0d7c7c632 voice: Add support for Mimic TTS engine.
...It generates decent voice files in 1/10th the time of festival.

Change-Id: I1bf9271633a8a0e9c483761b8685f296d2f303b8
2020-04-16 21:28:09 +02:00
Solomon Peachy
d37ea94f2a Android: Compile native android bits with armv7-a CPU flags
DX50/DX90 has a Cortex-A9 with NEON, use those specific flags
for speed.

Generic Android targets is for v4.4 (API 19) which doesn't support
pre-v7 ARM CPUs, so target generic armv7-a with hardfp support.

(This patch includes a rearrangement of the android toolchain helpers to
 allow target-specific GCCOPTS.  Huzzah)

Change-Id: I696051ef3fae25e1569c7b904decb7a3a0c6b674
2020-04-15 00:39:45 +02:00
Solomon Peachy
a87c96cd79 checkwps: have the ./buildall.sh script log all build failures.
Change-Id: I61be0fca0cb65e7c7108180150df5585fd83c3b5
2020-04-13 17:26:22 -04:00
Solomon Peachy
a820a98361 obsolete: Nuke the very-incomplete Archos AV300 target
It's even missing a config header file.  Just shoot it in the head.

Change-Id: I4c5cdb4fb63361a4e4fc893e93d73d3890fe17df
2020-04-13 22:06:22 +02:00
Solomon Peachy
cfc02cadcc android: Fix configure script for "newer" versions of the NDK
The oldest verison of the NDK one can still download today is version
10e from mid-2015, which comes with GCC 4.9, and no longer supports
32-bit hosts.

With this, one can actually compile the iBasso DX50/DX90 targets again,
as well as the generic android target, as long as one has the correct
SDK platforms (v16 for ibasso, v19 for generic) and SDK tools installed.

Change-Id: I62f2e742d5cfc13133244aeff75a928a7294ac91
2020-04-13 16:51:58 +02:00
Solomon Peachy
b1d7d897d3 rockboxdev: Remove the ability to build the special cy-ng ypr0 toolchain
We don't actually use it any more; let's not confuse folks with it.

Change-Id: Ic8fbe9bc95495b0969249dc774c5adf2126a2b98
2020-04-13 00:39:01 +02:00
Solomon Peachy
3e0a644b5b build: Fix iHIFI 770c nightly builds. Bad CaPiTaLiZaTiOn.
Change-Id: I921e2e6e1ed8f30e162c6183b9000cc1de3382de
2020-04-12 03:46:06 +02:00
Solomon Peachy
c9ec110b6a voice: Add corrections for 'DAC' and 'ADC'
Change-Id: I9079382926ce19dd7afa50312179987f181855c3
2020-04-10 22:21:08 +02:00
Solomon Peachy
6fcd69a365 hiby_patcher: Mangle the version string in the update payload if necessary
Change-Id: I204837f8a0e56fe51b3ee317be7d9f597b89f877
2020-04-08 05:57:06 +02:00
Solomon Peachy
61847fbf13 build: Update builds.pm with xDuoo X3ii & X20
Better document the file too

Change-Id: I75148785b8ed95d1d6b442b34adee23cccd7da68
2020-04-07 15:17:33 +02:00
Marcin Bukat
180cef835b xDuoo X3II and X20 port
Provided by Roman Stolyarov
Integration, Refactoring, and Upstreaming by Solomon Peachy

X3II confirmed working by forum tester, X20 is nearly identical.

This includes bootloader, main firmware, and the flash image patcher.

Eventual Todo:

 * Further refactor AGPTek Rocker & xduoo hiby bootloaders
 * Further refactor AGPTek Rocker & xduoo hosted platform code

Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
2020-04-06 18:15:41 +02:00
Solomon Peachy
0efa73f0ec tools: Add a tool that patches Hiby_player-derived firmware images.
Confirmed to work on the AGPTek Rocker and xDuoo X3ii targets!

Change-Id: I721c62b88b28282d1c85fd33e49262265cd2d6a5
2020-04-05 18:18:03 +02:00
Solomon Peachy
00c0d2012f rockboxdev: Store toolchain patches in-tree, instead of downloading them
This frees us from having to keep the web site in sync.

Note that only currently-referenced patches were kept.

Change-Id: I50da1b75baeac214cf142c8b76a05a8c56b4c1d4
2020-04-04 21:56:30 +02:00
Solomon Peachy
74ab8d1490 toolchain: Parallelize the toolchain build if possible
Let's actually use those newfangled multicore processors!

Change-Id: Idfc21f10d634b969c49e7f22ab723e48951db0f0
2020-04-03 09:04:20 +02:00
Solomon Peachy
5fa6acf39f FS#13184: Support 2048 byte sectors and images without bootloader in ipod_fw
(From Stefan Ott)

I wrote a little patch for ipod_fw.c that allows me to create bootable
images for the iPod video without using any external software.

The patch adds two new options:

- The -s option can now be used to specify the sector size in blocks (typically 512 or 2048) when generating an image.
- The -n option can be used to create an image without a boot loader

Change-Id: I35ebcd19ba1491bba76dfc8011e5a856108bb9ad
2020-03-29 18:48:09 +02:00
Franklin Wei
54e7eaf8fc Bump versions for 3.15.
Change-Id: Iecea72d420ded89023798e6d613cba1413adec73
2019-11-15 01:25:26 +01:00
Franklin Wei
ec8b3d3147 Add some scripts to automate target listing and generating build-info
This adds tools/list_targets.pl and tools/build-info.pl. list_targets does
exactly what it sounds like - it lists targets by target status. build-info
automates the generation of build-info.release for new releases.

Change-Id: I4c859fdeb54c8cc645832a7c4192f9d18590031e
2019-10-30 23:56:05 -04:00
Franklin Wei
f72b9082c6 Promote ipod6g to stable.
Manual is done and rbutil support is merged.

Change-Id: I27d8dcb88782a5c7f9ad08d17c8521be8dfe58af
2019-10-28 00:09:35 -04:00
Franklin Wei
370f9fa018 builds.pm: Note that last Recorder build was 3.13
We didn't build for the Recorder when doing 3.14.

Change-Id: I141cba5d821a86b5aa84217d8b011e2112282ff0
2019-10-28 00:09:35 -04:00
William Wilgus
90118f14cf lua add demo scripts, atexit handler, gui_scrollbar_draw
Change-Id: Ie8794e8a487f73952dae43e036787b6972fdbbee
2019-07-29 02:51:29 -05:00