Commit graph

2525 commits

Author SHA1 Message Date
Solomon Peachy
1694101b23 voice: Also apply voice corrections to talkclips
Change-Id: I8846610933dd286d39f930f004787d9a5345a9ce
2024-10-12 16:41:46 -04:00
Solomon Peachy
e1bed147a3 build: Add advanced option to treat all warnings as errors.
Change-Id: I235f93d72bfc33243454edd04e45805b5c795f17
2024-10-12 10:34:45 -04:00
Solomon Peachy
49b6853c19 rockboxdev.sh: bump required version of GMP and MPFR
GMP 4.3.2 was quite old even at the time of the GCC 4.9.4 release, and
it refuses to compile out of the box on modern toolchains (eg GCC 14)
due to issues in the configure script.  Instead of trying to backport
fixes, just bump it up to 6.1.2, the final release in the 6.1.x series
that was current when GCC 4.9.4 was released.

Meanwhile, with the update to GMP, the also-quite-old MPFR 3.1.0 fails
to compile; instead bump it up to 3.1.6, which is the final release in
the 3.1.x series.

Change-Id: I356c07282b20629c90fb0de1b8be40d2c55bbefc
2024-10-11 13:01:26 -04:00
Solomon Peachy
7927423e34 SDL: Migrate to SDL2
Incorporates large portions of g#5879 g#5282 g#5285 g#5286 g#5287

Differences from the above patches:

 * Removed all MacOS-specific stuff
 * Removed support for SDL1 entirely
 * Properly implement mousewheel support
 * Bumped up minimum stack size for sigalstack threading
 * Check for overflow before enqueing scrollwheel events

Tested on:

 * sdl application (Linux)
 * Simulator (x86_64, Linux) -- xduoox3/ipod4g/sansafuze
 * Simulator (i686, Windows) -- xduoox3
 * Simulator (arm64, Linux)

Change-Id: Ia3012dd1be123feb2888798a42d5b7cc149f382b
2024-10-06 12:05:53 -04:00
Solomon Peachy
a056150d52 updatelang: Flag '|' in voice strings too
Change-Id: Id82bf7bd19741e7275d188ceeea872ebeb30e1eb
2024-09-18 10:43:34 -04:00
Solomon Peachy
24ae4aee33 updatelang: Expand suspicius character tests.
* dest:  < >
 * voice: [ ] < > { }

Change-Id: I97701e52807db996037b7542fb0b01f9db0dbc0f
2024-09-17 10:18:29 -04:00
Solomon Peachy
84375e5524 builds: Promote erosqnative, m3k, and q1 to stable
Change-Id: I6dde4a0d980544df2872f10cac9c0d085af688d0
2024-09-15 09:08:12 -04:00
Solomon Peachy
563137b480 builds: Mark the 'erosqnative' manual as okay, so it gets built nightly
Change-Id: I83ed24961e708b722b4c988577aeafa466c43943
2024-09-13 10:19:20 -04:00
Dana Conrad
2a0f3c8276 hibyos_nativepatcher: rewrite for either fresh install or uninstall
Since we can easily create our own install files for erosqnative,
modify script to create fresh install image from bootloader.erosq
or add bootloader to installation manifest of stock update file
to uninstall rockbox.

USAGE:

    hibyos_nativepatcher.sh <mkrbinstall/mkstockuboot> [arguments depend on mode, see below]

    hibyos_nativepatcher.sh mkrbinstall <OFVERNAME (erosq or eros_h2)>
        <path/to/output> <path/to/bootloader.erosq> <HWVER (hw1hw2 or hw3)>
        Output file will be path/to/output/erosqnative_RBVER-HWVER-OFVERNAME.upt.
        Only the Hifiwalker H2 v1.3 uses "eros_h2", everything else uses "erosq".

    hibyos_nativepatcher.sh mkstockuboot <path/to/OFupdatefile.upt>
        Output file will be path/to/OFupdatefile-rbuninstall.upt.

Change-Id: I16bc6e43c42f99475ebdd5ec1ac1bae047129745
2024-09-12 17:09:52 -04:00
Dana Conrad
89fd4d0a51 hibyOS: OF patcher script for Native ports
This is a script to patch a native bootloader
(bootloader.*) into a stock OF firmware image (update.upt).

Usage: hibyos_nativepatcher.sh <path/to/update.upt>
<path/to/bootloder.*>

Resulting file will be placed next to the original update, and will
be named [$orig_name]_patched_[$rbver].upt

Now with some rudimentary error checking at key points!

Works on macos.
Works on linux, at least debian in docker. Linux
usage requires 7z and genisoimage.

Change-Id: I2878e7ab4652b73f44c6f1efd54047953f636c86
2024-09-08 12:29:23 -04:00
Dana Conrad
a5462d6192 erosqnative: Give erosqnative_v3 its own target ID and modelname
This is needed so "make clean; make reconf" will work correctly.

Change-Id: Ife13e59ac6054f04f7095aa2263ec64595eeb3a2
2024-09-08 12:29:03 -04:00
Dana Conrad
878e29396c ErosQNative: Add v3 LCD support, conditional on bootloader
bootloader passes the player version to rockbox for LCD init changes

Credit ZappBranigan2972 on forums for original changes
Credit Bilgus for devicedata additions

Change-Id: Ia2ca493edef49b7457e84dc19b05397dc915fa5a
2024-09-02 13:29:43 -04:00
Aidan MacDonald
ec8fb871f0 rockboxdev: fix glib compile error on hosts with Python 3.12 (FS#13471)
On hosts running Python 3.12, building the hosted MIPS toolchain fails
on glib with the error

    Traceback (most recent call last):
      File "<string>", line 2, in <module>
    ModuleNotFoundError: No module named 'imp'
    gmake[6]: *** [Makefile:982: install-codegenPYTHON] Error 1
    gmake[6]: Leaving directory '/tmp/rbdev-build/build-glib-2.46.2/gio/gdbus-2.0/codegen'

due to 'imp' being removed from Python 3.12 after a long deprecation
period. The module is imported by automake's py-compile script, but
in newer versions of automake this has been updated to use 'importlib'
instead, so running autoreconf fixes this.

We need to patch m4macros/glib-gettext.m4 to avoid an error running
autoreconf (see: https://gitlab.gnome.org/GNOME/glib/-/issues/1159):

    ac-wrapper: autoreconf: warning: auto-detected versions not found ( 2.69 2.69); falling back to latest available
    autoreconf-2.71: export WARNINGS=
    autoreconf-2.71: Entering directory '.'
    autoreconf-2.71: configure.ac: not using Gettext
    autoreconf-2.71: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS}
    am-wrapper: aclocal: warning: auto-detected versions not found (1.15); falling back to latest available
    m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN
    m4macros/glib-gettext.m4:39: the top level
    autom4te-2.71: error: /usr/bin/m4 failed with exit status: 1
    aclocal-1.16: error: /usr/bin/autom4te-2.71 failed with exit status: 1
    autoreconf-2.71: error: aclocal failed with exit status: 1

This problem goes away in glib 2.47.5 when they switched to using
upstream gettext.

Change-Id: I878a9d7086d17c6de43470b6e5f14917f0ae1bb9
2024-08-26 16:44:42 +01:00
Solomon Peachy
4d26f559ee fonts: Rename COPYING to COPYING-fonts.txt in the fonts zip
Change-Id: I45c4a768de5a3c9b57e632bf796f08246a035cc3
2024-07-30 10:18:18 -04:00
Solomon Peachy
ea1ad28cfc fonts: Include fonts/COPYING license text in fonts zip packages
Change-Id: I9352bdfac0012c3bf97e6a4cac20aad64604d774
2024-07-30 10:10:11 -04:00
Solomon Peachy
cff56c8e8c builds: Temporarily switch nightly Bulgarian voice back to 'espeak'
Turns out the 'gtts' tool on the buildserver is too old to support
Bulgarian.  Once this is dealt with, go ahead and switch back.

Change-Id: I507b3b736a722569a2050a2e1f61ed4dce210a44
2024-07-29 07:25:26 -04:00
Solomon Peachy
2363c7b095 genlang: Remove ability to output a sorted lang file.
This is handled by updatelang (if desired) and helps simplify genlang

Change-Id: I69b02c831fcfe5d06086c4f33472c890c7092fac
2024-07-28 20:45:37 -04:00
Solomon Peachy
3c2a110728 updatelang: Add the ability to sort output file in the English file's order
Change-Id: Ia115549b96365cbee6f1f96c5b0351dcec538955
2024-07-28 20:45:34 -04:00
Solomon Peachy
adbb005fd2 builds: Switch default Bulgarian voice to 'gtts'
I don't like hitting an external service but the voice pool makes
this largely a one-off.

Change-Id: Icbf7951800ef4cdf863f1e7eef7c490f2329f504
2024-07-27 08:31:31 -04:00
Solomon Peachy
566d99aced voice: Switch default English Piper voice to 'en_GB-semaine-medium'
The former one ('cori') had some very pathological corner cases
especiallly when voicing single letters. This one is just
better all around.

Change-Id: I275256a637cf70ba196aafdecc24038bfe841955
2024-07-27 07:47:12 -04:00
Solomon Peachy
2dddf16e2c voice: Shorten silence threshold to 250ms (from 500ms)
Change-Id: I32ef8691f9e0adad1af4fce3c167cfcd950ca120
2024-07-26 21:03:29 -04:00
Solomon Peachy
bcaeaa135a build-info: Add a trailing newline to the output
Change-Id: I994cd41c7d9f3767e42d6a5de935f8b7965426d2
2024-07-24 20:03:39 -04:00
Solomon Peachy
a872e38ccc voices: Use espeak, not piper, to build bulgarian voices.
As there was no bulgarian piper voice, it defaulted to czech, with
very bad results.

Change-Id: I15dd7c3007d7b7e50a40bea20c37640e7aebb39e
2024-07-24 09:47:43 -04:00
Solomon Peachy
334def8431 configure: Fix android x86 build
Change-Id: Iea1d92bcf83f016e724496ebf037c8402ede170c
2024-07-24 09:01:04 -04:00
Solomon Peachy
6dd9b9786c voice: Fix typo in Bulgarian gtts default cmdline
Change-Id: I56b285aa1ba89f645702b514339d60e3679fc98c
2024-07-23 13:55:37 -04:00
Solomon Peachy
a153f6c266 voice: Add defaults for Bulgarian voicing, and add it to the nightly builds.
Change-Id: I40e9eaf34c68c3e1f77591862f5c4eb6c2a2c059
2024-07-23 12:15:27 -04:00
Solomon Peachy
c72030f98c voice: Add default voice entries for Korean for gtts and espeak
(Piper does not have a Korean voice set yet)

Change-Id: I6675aed6f7b1f376cd80bcb447ceae8e6bedac36
2024-07-22 20:34:40 -04:00
Solomon Peachy
e8257580c6 voices: Add Korean (using espeak-ng) to the nightly voice build set
Change-Id: I8dd3db1fa571353e8a3c06fb6db0d8205530bfd5
2024-07-22 20:27:24 -04:00
Solomon Peachy
9f366b1b8a voice: Flag ':' in voiced strings.
Also corrected the 100% languages:

   English, English-US, Chinese-Simplified, German, and Italian

(There is one Italian string I didn't know how to fix)

Change-Id: I958c6737810ad0199333d17fc092eab3120cef40
2024-07-21 11:22:24 -04:00
Solomon Peachy
3294337a4c builds: Based on feedback, switch default Slovak TTS to espeak-ng
Change-Id: I399ed08fd5e4facd96c16791e0fea91d69e37cc2
2024-07-21 09:46:59 -04:00
Solomon Peachy
130ad0a262 voice: Have allvoices() sort voices by shortname (eg en_us)
Change-Id: Id4c8b28b09732082cb4b35b3e5f4c05874e6f83c
2024-07-19 08:15:31 -04:00
Solomon Peachy
5d53c94255 voice: Switch all daily builds over to the Piper TTS engine
(And flip on Chinese as well)

Change-Id: Id5429c6d0dc323e09a5db4c968f741f16cfd4142
2024-07-18 20:57:24 -04:00
Solomon Peachy
e32b1d6bd6 builds: More manual-related fixes
Change-Id: I53cb4afaff434a054e5007d8577f1e401b8fba21
2024-07-18 14:55:06 -04:00
Solomon Peachy
a7159ad483 voice: Encode all tts options in the POOL filename.
It was only including about half.  Unfortunately this will likely
invalidate all existing pools.

Change-Id: Ib1da430259823a5429b4119067ba9ef0c16b7900
2024-07-18 10:30:34 -04:00
Solomon Peachy
16094fca33 voice: Minor tweaks for Chineese TTS
Change-Id: I717a40cd00e9deabf093aabd05bc2608488c5f56
2024-07-18 10:30:34 -04:00
Solomon Peachy
8ddd94f3fd voice: Add default mappings for Chinese-Simplified TTS
Change-Id: I89aaedf4843a4323af0f2a734e05ccd87b9b2530
2024-07-18 10:03:20 -04:00
Solomon Peachy
c3b83c0a5c builds: tweak the 'manualbuilds' filter
Change-Id: I56bb898d8f2f013b51b7972098b558c22d5625d5
2024-07-18 08:16:32 -04:00
Solomon Peachy
b072c60571 build-info: Unreleased 'stable' targets get demoted to 'unstable'
This keeps rbutil from being confused.

When a new release happens, all of this automagically fixes itself!

Change-Id: I15e3ebb5e274638b9b88f670ce53f950061e9044
2024-07-17 23:35:17 -04:00
Solomon Peachy
35fb94fc9b builds: Flag several stable targets that don't have manuals
Change-Id: Ic70dec49844a2f070ee6ebfd0d810c1deb9cc931
2024-07-17 22:03:50 -04:00
Solomon Peachy
350bb5fd74 builds: promote xDuoo X3ii and X20 to stable
They don't need a manual to be considered stable, but rbutil
can install them just fine.

Change-Id: I9c110711d78254f24f5813f3169ad7a4cefb19cc
2024-07-17 21:43:00 -04:00
Solomon Peachy
4d97a4f3f2 builds: Create a function that generates a list of all manual builds
Change-Id: Ib7869f89c9ccec727bc9ed691cd1ee120c1ec7ae
2024-07-17 21:43:00 -04:00
Solomon Peachy
d5dd295ace builds: Promote AGPTek Rocker to 'stable'
Change-Id: I0dbee4f9dfd5c268ac3ea6b97c23069e50bf791d
2024-07-17 21:11:03 -04:00
Solomon Peachy
8753c41b2e tools: Fix the tools/release/manuals.pl script
It was looking for the versioned pdf filename, which it
then renamed immediately anyway.

Change-Id: I3173fde3cdde56b4bf0b95f9d08b2b8468381972
2024-07-12 12:08:37 -04:00
Solomon Peachy
af1eddb6e9 release/voices: Update script to check for global POOL
...If it's already defined, don't override it.

And don't wipe its contents!

Change-Id: I83ca2ffbd443c1d9766f4a5662a5da5fccbaf3c5
2024-07-07 09:02:27 -04:00
Solomon Peachy
3e9ca6ec8e configure: Stray unquoted space in a sed expression
Should fix SDL builds where --static-libs are not present

Change-Id: I96056f3e4d9a4ae971ad2d9e792ba542478f331b
2024-07-04 10:38:49 -04:00
Solomon Peachy
30ef953393 configure: Fix 'make reconf' when win64 sim builds are enabled
Change-Id: I9d3c23dee58cb3b4edce7bfcc0429500ffe23e58
2024-07-04 09:48:02 -04:00
Solomon Peachy
961f8a0f56 configure: if we can't link SDL statically, drop -static from the cmdline
Fixes building windows simulator builds on Fedora systems

Change-Id: I1e17e8f2f395a0298fc9d3d7e03c621d23208221
2024-07-04 09:48:02 -04:00
Solomon Peachy
d0e47affa9 xduoox3: Script to patch a firmware image with a new bootloader binary
Change-Id: Ie4cfc34ea1d40ca660b8f23e7782d617b31d7ff4
2024-07-03 16:51:58 -04:00
Solomon Peachy
6f1e67e5e3 builds: Add an explicit 'simbuilds' list
It includes all targets that have a working simulator build.

 * All stable targets except those that are flagged as bad
 * All unstable targets that are flagged as good

Change-Id: Id0e20a10af72236c819077f919ee5cc168ebf14e
2024-06-30 16:25:58 -04:00
Solomon Peachy
1c3f77eccd Revert "Toolchains: Update to GCC 8.5.0"
Accidental push instead of going to gerrit.   #!$!#!

This reverts commit 67dc833e46.

Change-Id: I42a7c9dfd0f1a3dd676b1a5d3eee0a900f2561f7
2024-06-30 15:06:44 -04:00