Commit graph

2532 commits

Author SHA1 Message Date
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
Solomon Peachy
67dc833e46 Toolchains: Update to GCC 8.5.0
All toolchain dependencies are circa the GCC 8.5.0 release:

  GCC 8.5.0, binutils 2.37, gmp 6.2.1, mpfr 4.1.0, mpc 1.2.1, isl 0.18

Native:

 * arm  (smoke tested on ipodvideo+mini2g)
 * mips (seems to be stable on xDuoo X3)
 * m68k (binaries untested)

Hosted:

 * arm (binaries untested)
 * mips (smoke tested on xDuoo X3ii)

Unchanged:

 * Android NDK (unchanged at GCC 4.9.4)

Change-Id: I1c2fca5d87d4a11e50aa495fad75f4f9c938c766
2024-06-30 15:05:08 -04:00
Solomon Peachy
8e280bdda8 configure: Hopefully resolve windows simulator builds issues for hosted targets
Change-Id: If4ded4cb3a19603ea0e5e0b7d3f4c281492dbc8b
2024-06-26 09:43:42 -04:00
Solomon Peachy
c2c8fcb561 updatelang: ignore "same as english" flag when determining suggested voice string
Change-Id: I78d416679c64b837fff29d51e15e1dbd78f9fc0b
2024-06-24 13:21:27 -04:00
Solomon Peachy
8f75b29aed voice.pl: Fix an issue with the piper tts engine
It only arose with the dailybuild scripts.

Change-Id: Iefb0fbab39846df6e52b3860f3d74e6dc9c39305
2024-06-23 19:41:53 -04:00
Solomon Peachy
c862769977 voices: Enable nightly generation of Czech voice files.
It has a higher completion state than some of the others we're already
generating.

Change-Id: I2cbb5f53872449591e3493d83f91dd38047ff14c
2024-06-23 14:06:46 -04:00
Solomon Peachy
d117debca9 voice: Don't touch the voice pool file when we reference it.
...With over 14,000 pool files, it's silly.

Change-Id: Ib615e0813caef0506bed4e53099578dc8e74cacc
2024-06-23 14:06:46 -04:00
Solomon Peachy
6319d71296 builds.pm: Add voices for the Piper TTS engine
This is only used by the nightly voice builds.  Default remains
espeak-ng.

Currently defined but disabled until their translation status improves:

   Spanish (68%)
   Swedish (66%)
   Danish (62%)
   Estonian (19%)

Change-Id: I96cd00b809bedb480392b84fc9546987a1f5a7c4
2024-06-23 13:50:29 -04:00
Solomon Peachy
bb12746972 voice: Make sure we always copy INVALID_VOICE and LANG_NAME clips
If they were in the pool, they'd not be copied out.

Change-Id: If3d7d72656eba18e2df7f7f1307f967494cb4ab6
2024-06-21 16:58:43 -04:00
Solomon Peachy
bd2f5760ab updatelang: More special VOICE_LANG_NAME handling.
If someone submits an incomplete translation without a VOICE_LANG_NAME,
it will add the phrase but with a blank string.  In subsequent runs,
the blank string will be treated as an error.. and copied from English.

Make it so that if it is blank, it stays blank.

Change-Id: Ib4a6645a5a52c9d0ff6dcfd0702c2a507bf8d756
2024-06-20 22:08:30 -04:00
Solomon Peachy
80cd799925 voice: If $POOL is not set, use <build-dir>/voice-pool by default
It will _vastly_ speed up repeated voice builds.

The voice pool directory will not be erased by a 'make clean'

Change-Id: Ice58d5c5355abfa5a385dfca749f8063e2ee8622
2024-06-20 21:00:48 -04:00
Solomon Peachy
f58c15440f build: 'make clean' should remove generated talk clips too
Change-Id: I06eb5ad4e6af53f6cc8e95f41ff0fcbca14cda37
2024-06-20 18:01:42 -04:00
Solomon Peachy
e100daf343 voice: Voiced strings for INVALID_VOICE and LANGUAGE_NAME
* Voice generation script will create standalone .talk clips
 * These talk clips will be included in the rockbox .zip file
 * All .voice files will be included in the rockbox .zip file
 * Added LANGUAGE_NAME for all languages in the nightly builds

This way, any voice pack installed will give you a the langauge
voiced in the browser, and if the voice file fails to load you
will get a natively translated error message.

Change-Id: I6b627a51746cd088d6e200666dd326ea2745f55f
2024-06-20 17:31:31 -04:00
Solomon Peachy
8ef20383b1 sims.pl: Skip over 'obsolete' targets
Change-Id: Ieb198a3de84d3d99b6f046ff340bcfac5c19fc7a
2024-06-19 17:29:32 -04:00
Solomon Peachy
637f93074e tools: Clean out some historical cruft from 'sims.pl'
It's intended to build all of the Windows Simulator builds in one fell
swoop but has bitrotten a bit.  Correct some of the glaring
problems.

Change-Id: I6073af629d2698624036ccf303a5d18398cefdc0
2024-06-19 17:26:47 -04:00
Solomon Peachy
2ef10ec734 Fix typo in the previous commit
Change-Id: I9e8de11ba86e147abc9bb5b3dfcc550655fe360d
2024-06-19 09:22:44 -04:00
Solomon Peachy
9beca004b9 simulator: Hopefully fix red introduced in 5b61c79cf
This problem only happened with GCC7 (and older?) simulator builds, and
was introduced by an incorrect test that always stripped our default
optimization (-Os) in simulator builds.

The fix is to correct the test to only strip -Os if the user explicitly
enables a debug build.

Also, use -Og instead of (implicit) -O0, as per GCC recommendations.

Change-Id: I61091b3cdf5323504961c0bb2d80aa65049eb8fb
2024-06-19 08:49:02 -04:00
Roman Artiukhin
5b61c79cf8 simulator: debugging: Disable -Os compiler optimizations when DEBUG is defined
Otherwise, breakpoints may not correspond with the source code

Change-Id: I0f8d4f578bde52c0219923d8be28e01c66c8dfbc
2024-06-18 20:42:59 -04:00
Solomon Peachy
73f40d8a23 build: Experimental LTO support, phase one
* Only codecs and plugins are enabled
 * Only native builds (so far)
 * Only tested on xDuoo X3 (MIPS, monochrome)
 * opus & speex generate some warnings
 * Significant compile time impact

Change-Id: I519b0d179631a54b2103cd67225bd5ec6ad3bd2f
2024-06-18 08:15:47 -04:00
Solomon Peachy
810e337a87 xduoox3: It doesn't have a radio, so don't put that in APPEXTRA
Change-Id: I4521598af49f91ab89d19bb6c2bf8bebf60bad51
2024-06-08 19:03:35 -04:00
Solomon Peachy
92b5255106 lang: Add a few more items to the "ignore if same as English" list
Change-Id: If65476d563b61a195de8554312c8a51e6aa4187d
2024-06-07 12:21:54 -04:00
Solomon Peachy
b9e6e67962 voice: Switch default piper voice for Italian
Change-Id: I9c234e258e0c32f7232851e7e431083b287f73dd
2024-06-07 12:21:54 -04:00
Solomon Peachy
d22dbe74cb updatelang: '~' is not a legal character in dest or voice strings
...Unless it's the very first character (and will get stripped).

So detect and complain about this!

Change-Id: I5e333e8ee134160f64a67783b0d5aa564716d44e
2024-05-30 21:02:18 -04:00
Solomon Peachy
8b8c0c7c2a checkwps: Validate translated strings (%Sx)
In verbose mode it will log valid the strings found, otherwise it will
only complain when we encounter a missing string.

Unfortunately a missing string is not inherently a problem, due to
conditional expressions.  So all we can do is complain in checkwps
or if wps debugging is turned on.

Meanwhile, this is the first step in actually enumerating the translated
strings used by themes.

Change-Id: Ia93b333085e825d5b085c4d372ad8e13aa3e3ba1
2024-05-24 21:37:54 -04:00
Solomon Peachy
27cb1abcec builds: Add disabled voice builds for Spanish, Estonian, and Czech
Including default voice selections

Note that piper does not have an Estonian voice option yet.

Change-Id: Ie3b9edcae222e70790eb01d38a13e2e69df8e7df
2024-05-18 10:45:36 -04:00
Solomon Peachy
8b1efab7a6 voice-corrections: move generic corrections to the END and document why
This is because a language may have a specific correction that should
take precedence over the global one, but if the global one is applied
first, then the language-specific correction gets skipped.

Change-Id: I45f736f20d6c83864df0bf764ca3d75ec4b9626a
2024-05-17 08:23:48 -04:00
Solomon Peachy
6c2f8f640f genlang: Strip _all_ leading '~' from dest/voice strings
(Instead of just the first)

Change-Id: I3c730fd4e570dc5ec77d63777c8499e81f1b0491
2024-05-17 08:07:58 -04:00
Solomon Peachy
1530bb4849 voice-corrections: Correct an error in English and sort languages alphabetically
('ADC' was being converted to 'A C C' for some reason..)

Change-Id: I0157813cad963cbfae3f63b00f0c75df01ec8e0c
2024-05-17 08:06:22 -04:00
Solomon Peachy
c615a02ee3 updatelang: Improve tests for illegal characters
Change-Id: I1a8ed93f1e7d6b449e634656c8ff087f28c259f5
2024-05-16 21:51:14 -04:00
Solomon Peachy
3a6ed727d4 lang: Add a special flag to differentiate "intentionally identical to english"
We normally treat "same as English" as a translation errors that needs to be
corrected.  However, many languages effectively use english words as-is, so
we need a way of distinguishing the "intentionally the same" situations with
our tools "automatically copying missing translated strings from English" to
avoid blank or missing UI strings.

The solution is to make sure these "intentionally same as english"
strings are actually different.  This will be accomplished by prepending
'~' to the these strings.  This special character is stripped from the
binary data files used by the player and the voice generation tools.

Change-Id: I90088cbd74de0e5cb9d65f75f26afe04f7e301bf
2024-05-16 20:40:37 -04:00
Solomon Peachy
0bfc5d8d99 voice: Switch default piper voice for english-us
The original one was picked at random; while I personally find it
pleasing, it's soft spoken and doesn't work well when voicing over
already-playing music.

Change-Id: I0ed033f02a54f42e2d0729cab883068ecaad6faa
2024-05-13 12:02:17 -04:00
Solomon Peachy
d0758c5330 builds: Add 'erosqnative' to the 'unstable' build list
This will add it to the nightly builds, and add voice etc generation

Change-Id: I8d792775f9db9da23271913e62a170f2a907ed41
2024-05-10 08:34:04 -04:00
Solomon Peachy
6e82897bfc make: Update help text
Change-Id: I069d3f62d93f0e8aab48f2cedbc8c7e65fde94d4
2024-05-08 22:40:18 -04:00
Solomon Peachy
54389dcf2f configure: fix test for LD version on non-macos systems
Change-Id: I6296a013def3e55b44cbba781f3a397a94d2c561
2024-05-08 22:40:18 -04:00
Solomon Peachy
8c86fb6da0 arm: Use -masm-syntax-unified when compiling with gcc8 or newer
Annoyingly, this makes all of the '.S' files we compile get treated as
divided syntax, so we need to make the syntax in them explicit.

Change-Id: I56a3916b7b24c84a1214a5d6bc4ed4d651f002cf
2024-05-08 21:45:42 -04:00
Solomon Peachy
6bb6c20479 voice: Don't generate talkclips for directories with 'talkclip.ignore'
Add one of these to the .rockbox directory

Change-Id: Ibc9733ba31d1b2c49b69ab833d284faa84f5cedd
2024-05-07 16:21:21 -04:00
Solomon Peachy
64e4f81ffc voice: Properly handle UTF8-encoded filenames when generating talkclips
Eg this was happening before:

  '11 - Breña.mp3' --> '11 - Breña.mp3'

As well as resulting in incorrect voicing, it was breaking the encoding
of the .wav to .talk.

Change-Id: I6cf844d843ddf1a459f92e1ebd55c9feec886f55
2024-05-07 16:21:21 -04:00
William Wilgus
d7c541742f Allow first level folders in plugin menu
add sorting directories as files
move picross files to a hidden folder

use directory for lua_scripts, sgt_puzzles

make plugin browser able to handle 1st level directories

Change-Id: I30852d71dc992c378d5790756e94f06f5a2e9bef
2024-05-05 14:01:43 -04:00
Solomon Peachy
b32266b7db updatelang: Avoid some runtime warnings
...And add '"' to the suspicious character list

Change-Id: Ia8a790882085a6e82c89cae09164ddbccf36e47f
2024-05-01 09:11:58 -04:00
Solomon Peachy
0c0b1b1a6b updatelang: Sanity-check the translated LANG_VOICED_DATE_FORMAT
This must be *localized* not translated!

Change-Id: I961eac91356a4b3ba7bba9828df69a08ce273543
2024-04-30 21:26:59 -04:00
Solomon Peachy
34c6ee539f updatelang: Include the old/incorrect format specifier in the error message
Change-Id: Ic8ea9430e1412d98b518bcb2d8508ef459d1700a
2024-04-30 06:18:46 -04:00
Solomon Peachy
73a47a1b5e updatelang: Make sure translated string has the correct format
We do this by parsing out the format specifiers and making sure the
translation has the correct number, type, and order of specifiers.
Percent literals ('%%') are ignored.

Mis-matched formats can lead to much badness, so to be safe, use the
untranslated string instead and flag it as a problem on the translation
site.

Change-Id: Ib48c2e5c3502735b1c724dd3621549faa8b602b7
2024-04-29 22:03:12 -04:00
Solomon Peachy
9fd4782c6a updatelang: Complain about suspicious characters in voiced strings.
The main intent is to catch printf() format specifiers (ie '%')

Change-Id: I8ed54993431e5f4d35e98de8faa7690198d5947f
2024-04-29 17:14:15 -04:00
Nathan Korth
2c7e47fc12 New plugin: Picross
Picross is a puzzle game also known as Picture Crossword, Nonograms, or
Paint By Numbers. See http://en.wikipedia.org/wiki/Nonogram for
information on how to play.

Update 1: nicer graphics with less images, fixed directory listing,
changed how the board works to make a lot of math more sane

Update 2: added missing rb.yield to viewPicture loop

Update 3: you can now save a game in progress

Update 4: fixed a file pointer leak, improved the numbers font

Update 5: no images, use vector num draw library add zoom, freedraw -- Bilgus

Change-Id: Idc476b46b6eaa10818400fa789701d5bac83467f
2024-04-28 00:21:16 -04:00