Commit graph

37175 commits

Author SHA1 Message Date
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
36fdd3dfed bootloader: Improvements for hibyos targets
* Make sure SD card is mounted prior to reading or writing
   boot mode file
 * If rockbox boot fails, fall back into the tools menu
 * Use a 1s timeout instead of 10s if booting from previous mode
   (special case for first boot)

Change-Id: I61e1ee1ee5c2a1849a2632220275ae7767fae823
2024-06-30 15:05:08 -04:00
William Wilgus
dc7486c7de [Feature] onplay.c show file progress
first some clean-up of onplay.c

extend/move fileobject copy, move, delete routines in prep for other users

add error checking, better error codes
pre scan to make sure the operation doesn't exceed system resources
show progress for file and directory copies

Change-Id: Ife2e62df554892dab651bab40433bf70b27e73ff
2024-06-30 02:09:40 -04:00
Solomon Peachy
c87c09658a Minor German translation update (add credit, and one mecanical correction)
Change-Id: I0c7d42d1da4f901252b7dd965a5d125b3dabc5e0
2024-06-29 22:09:00 -04:00
Solomon Peachy
16a3f6d41e FS#13436: Updated German Translation (Wilfried Winkler)
Change-Id: Id985c78761a5e7268343e8420fb36ac9efc1d2b5
2024-06-29 21:25:47 -04:00
Solomon Peachy
025841cfb5 ata: Use consistent error values for all invocations of set_features()
set_features() returns an error between -1 and -39, so make sure
every caller adds -60 to that so no matter where an error is printed
the value is consistent.

Change-Id: Ic81108ee70a2cb5ff7ea2445f086420fe850d07e
2024-06-29 10:07:25 -04:00
Solomon Peachy
f3de4729ce Fix an issue building the fft plugin on greyscale targets on some simulator toolchains
The fft plugin uses pluginlib osd stuff _and_ greylib together,
which results in two conflicting declarations of the _grey_info struct.

Normally we treat the one in pluginlib as __weak but we disable that on
windows simulator builds, because the osd code ends up requiring it.
due to not using-function-sections and -fdata-sections on simulator builds.
Simply disabling all of that crap doesn't seem to help.

So instead, for simulator builds, mark the fft's struct as extern, only
using the one in pluginlib.

Change-Id: I1adf9acc265a60f91b8ac0fcad9d792e3240a9d9
2024-06-27 20:42:32 -04:00
Solomon Peachy
dca5fb9514 simulator: Fix Samsung YP-R0 windows simulator build
Change-Id: I2940cd9fed7e24c17d221402928737606d4d0ab6
2024-06-26 20:45:59 -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
3611266d0f simulator: fix ipod6g simulator build.
This wasn't caught because the ipod6gsim target was inadvertantly left
out of the buildfarm.

Change-Id: Id0c250f29a999f8722f8911e061166f0e9c35502
2024-06-26 07:50:19 -04:00
Vencislav Atanasov
4691152f92 Add SysCfg viewer for iPod 6G in the debug menu
Change-Id: I4e142f40777c7f8ae58f2b46fc6a3ec4f12aa530
2024-06-24 21:00:25 -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
f22a8c1c9b FS#13438: Updated Polish translation (Adam Rak)
(With a few "Intentionally same as English" additions by me)

Change-Id: I2a074a83addb5d18d4959e9556537d30def550ad
2024-06-24 12:50:26 -04:00
Solomon Peachy
b4bcabe532 Update english-us "Translation"
Change-Id: Idcebbb841bfa9df2e21abdd7626a7550d8b8f266
2024-06-24 11:17:23 -04:00
Solomon Peachy
a9254da767 build: Fix yellow introduced in 5d39d987c0
Change-Id: If17a04922006e1fa1f65543563da69f8bb6c503a
2024-06-24 10:59:27 -04:00
Roman Artiukhin
95d8168385 plugins: playing time: Increase buffer for size strings
10 is too short for some localizations (for instance russian 103.23МиБ requires 13 chars due to utf8 encoding). Use 20 instead

Change-Id: I4c7d1233358c8322545fce45dc798691410dd21e
2024-06-24 16:59:14 +03:00
Roman Artiukhin
5d39d987c0 plugins: playing time: Show info in 2 lines (header + details)
Improves readability on small screens.
See WPS -> Context Menu -> Current Playlist -> Playing time

Also, Russian translation is adjusted accordingly.

Change-Id: I23662ccb324f07a742179ff274453416bb8eff08
2024-06-24 16:59:14 +03:00
Solomon Peachy
54e2facb85 Fix yellow introduced in f7a3b4dfa
Change-Id: I38d53cfe52745762f89fa017dc8199c897379493
2024-06-23 20:58:10 -04:00
Szymon Dziok
f7a3b4dfa3 Radio support and detection for Samsung YH92X [FOR TESTING].
Status:

- tested on:

  Samsung YH920 - it uses this detection too, it always should have
                the radio.
  Samsung YH925 with the radio.

- untested on:

  Samsung YH925 without the radio.

Change-Id: I68b39c09d6b7e26a4c373fbd8bf9401a97e86123
2024-06-23 20:11:59 -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
4c9d346cb2 translations: Add VOICE_LANG_NAME for Czech.
Change-Id: I415fa9b49443954b2d8c839b3c70475048542b85
2024-06-23 14:18:47 -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
Vencislav Atanasov
4ea3732bd7 Add ATA serial number to Disk info debug menu
Change-Id: I73cc3d85ac28c7bd090859b6c19a5b67a41cfa04
2024-06-23 07:29:15 -04:00
Vencislav Atanasov
9c458bbb0d Use literal ATA serial number for USB SN descriptor if the string is printable
Change-Id: Ic2c853a0b124d7b590ea36229347c56f96a32f33
2024-06-23 08:00:06 +03:00
Vencislav Atanasov
9fda39d1ad Prevent using PP-based iPods' set_serial_descriptor on S5L87xx-based ones
On PortalPlayer iPods, it looks like the serial number is available in a
specific memory location. When adding support for Samsung S5L87xx-based
iPods, this algorithm has not been limited to PP-only, so it sets the
serial number USB descriptor to random memory data.
With this change, it will use the ATA HDD serial number on iPod 6G. On
Nano 2G it won't provide a serial number at all.

Change-Id: I53d48915d629dbd87b2dbbcba5f228ca5949fa9b
2024-06-23 05:24:04 +03:00
Solomon Peachy
a1c526f35f lua: Fix Windows Simulator build.
(Basically, use the OS-provided gmtime() instead.  It's pulled in via
 another header we need..)

Change-Id: Ia09609a3a38dc58133a4a209cc803f0d9d0802f4
2024-06-22 10:06:47 -04:00
Solomon Peachy
231797dfa8 mikmod: use -DMIKMOD_STATIC to make building under windows happier
Change-Id: Ib42c336d592358c7b53bbd94d43c69ed9977679f
2024-06-22 10:03:01 -04:00
Solomon Peachy
fa6b6b6c2d talk: Don't kill the talk engine after voicing the "invalid voice" clip
Unfortunately, this brings us back to the "Default" behavior of simply
not voicing talk clips at all if there's no voice file.

Change-Id: I457ec4e3fcefaaffcbf6222fe01617bf0903518c
2024-06-22 07:03:59 -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
eb8f6e578e libspeex: Fix up two build regressions in 547b6a570
Broke rbspeex build if we weren't using system libspeex
2024-06-21 16:38:45 -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
William Wilgus
8cb8a30f9d [Feature] talk.c allow Invalid voice files for selected language
(if it exists)

Change-Id: I3aacfc31e3e8a9cac7c9dae0e99c234e43da953a
2024-06-20 16:00:27 -04:00
Solomon Peachy
b4668e2bd6 libc: Check for a null string argument in *printf
If we are passed a null string argument, use the fixed string "(null)"
instead.

Change-Id: I4f70ae76cdcac1104ff1e42dc3b1a5f03e2723fe
2024-06-20 15:22:36 -04:00
Solomon Peachy
53a43522a3 mikmod: Fix null pointer dereference in mikmod plugin
While playing, the user can switch between
status/samples/instruments/comments screens.  The instrument names are
blindly passed to printf, which will lead to a null pointer dereference if
the instrument name is NULL.

...Which happens with some .IT modules that I have.

This should arguably be fixed in the printf implementation, but we still
shouldn't be passing in NULLs as string arguments!

Change-Id: I2899e2f7e10565c251e495752b3ef1bbccea82c7
2024-06-20 15:16:22 -04:00
William Wilgus
4d0d41a0f4 [Cleanup] abrepeat.c
ab_repeat_init() doesn't do anything and some of the checks are redundant

Change-Id: Icc861c57b119f541c0cbdb9e0074b78f1f4f10bb
2024-06-20 11:14:27 -04:00
Solomon Peachy
547b6a570d codecs: Update libspeex from 1.2beta3 to 1.2rc1
This is a relatively minor bump, but it's the first step towards
bringing this current.

Change-Id: Iab6c9b0c77f0ba705280434ea74b513364719499
2024-06-20 07:08:35 -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
William Wilgus
204551444e [Cleanup] viewport.c
hopefully the order of the events enable / disable don't matter
as far as I can tell it doesn't

Change-Id: Ia6bbe83ede788712e67aae6599585d6f79bfbcdc
2024-06-19 14:28:28 -04:00
Solomon Peachy
6f4d0b7eb1 m4a: Fix a warning under GCC 8.
...Not sure why this just cropped up now.

Change-Id: I2318ee929fb5fddbf033680d92f21bba73631db6
2024-06-19 09:22:44 -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
Vencislav Atanasov
b3e6b12266 Prevent rebooting in early USB mode in case of a RAM disk
If disk_mount_all() fails at startup, the device should enter USB mode,
so the storage can be repartitioned/reformatted. After
unmounting/ejecting, the device is rebooted. Unfortunately if the
storage is a RAM disk, the data won't persist after a reboot, so this
patch tries to mount the storage again, instead of just rebooting.

Change-Id: I421a9fd8ae536bee07d292f27d1da0615456df62
2024-06-18 20:45:40 -04:00