Commit graph

34735 commits

Author SHA1 Message Date
Solomon Peachy
fc4af2062b rbutil: Support 'espeak-ng' and 'mimic' TTS engines
Change-Id: Ibf6e46254f42b28800351fdb303539b2ec13d422
2020-07-19 19:32:43 +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
2b9c85a41b storage: Clean up storage_xxxx macros when STORAGE_MULTI is not set
Change-Id: I1652eac1743f4b8b84da08ea5a6d04ac7e17e21d
2020-07-16 23:23:25 -04:00
Solomon Peachy
805f531632 statusbar: explicitly #include <button.h>
This header relies on stuff that might get defined in button.h, and
was reliant upon being implicitly included.

The last thing we want is a struct to change layout underneath us!

Change-Id: If96451bc5e2219031a592ab82c56045188dbe645
2020-07-16 22:02:29 -04:00
Moshe Piekarski
e884140eae Add support for ID3 tags embedded in AIFF files
Change-Id: I15eb50b6ba1c26052f08e01861f47faede3b9b3b
2020-07-15 18:30:07 +00:00
Solomon Peachy
ff8cca70a4 imx233: rtc: Explicitly clear the soft reset bit when initializing
If we come up and the RTC is in a reset state, we need to release that
before trying to initialze anything else.  (See IMX23RM 23.8.1 and 39.3.10)

Change-Id: I1820ab771ba81f7d428d07040b7d188d9f688127
2020-07-15 18:29:49 +00:00
Solomon Peachy
650eaa39c4 rk27xx: rename 'start' to '__start'
Change-Id: I3c5bbbc952222e840e82171431ba996a6a5d298b
2020-07-15 14:18:09 -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
058ba97f62 xduoox3: Add HID mappings for multimedia and presentation modes
Change-Id: I7264fed77c448db4b54104d81a10e118923c361d
2020-07-15 11:43:39 -04:00
Solomon Peachy
c54170e8f6 mips: Adjust stack sizes
Main/IRQ  from:   7.5/0.75   to:  7.25/1.0

With the reduction of the opus codec stack usage, giving the IRQ stack
some additional breathing room is now possible.

Change-Id: Id0cd3747fcaab70e2360667ac8c1a97ba7234ccf
2020-07-15 11:43:39 -04:00
Solomon Peachy
82943ea1c7 opus: shrink stack usage by nearly 700 bytes
By moving three structures to the heap.  None are in the hot decode
  loop, instead having to do with file sync / header state.

  Has neglible impact on performance (within measurement noise) on Clip+,
  Rocker, and Xduoo X3.

  On PP5022 (ipodmini2g) performance drops from 138.66% to 138.22% realtime.
  (0.3%)

  Unknown effect on Coldfire which lacks D$.

  Stack savings are pretty significant especially on lowmem devices.

Change-Id: Ic8a1e93062ff5a46230e824134032053c4e1986d
2020-07-15 15:09:08 +00:00
William Wilgus
8577d5aea3 Buflib_init Bugfix Minsize
when buflib_init is called with a buffer smaller than
sizeof(union buflib_data); size will be zero
Later when the alloc fails buflib will keep try to free items
in order to satisify the request this crashes in the sim
I suspect this behavior holds true on device as well
but I havent verified this as of yet.

patch adds minimal overhead to the buflib and panics when the size is too small

Change-Id: I46e510367fc1cac19ce01ee6f92d8cf0d65ef914
2020-07-15 13:29:21 +00:00
Franklin Wei
7d005335ba puzzles: always reset input state before pause menu
We were improperly conditioning the state reset with `do_pausemenu'. We
should reset the input state no matter what.

Change-Id: Iaafc59b95e9f1f053b57a34f0f28f7c672c0e327
2020-07-14 23:04:46 -04:00
Franklin Wei
987c6575b3 puzzles: more verbose debug output in font loading
No functional changes.

Change-Id: I7baa7bf37b3bdd57064c654a72d0e4e0d5600245
2020-07-14 23:04:46 -04:00
Solomon Peachy
0e97132314 talk: only show the "failed reading .voice" splash if talking is enabled
Change-Id: I4046294e39c621ddeeceeb6f21eab05a1e687cb5
2020-07-15 03:02:28 +00:00
Solomon Peachy
4a1988d31b debug ata: Distinguish between Advanced power management and basic PM
The old debug menu item covered APM, which is optional in the ATA spec
However, despite basic power management being mandatory, several popular
ATA/CF->SD adapters do not advertise PM support and have problems when
it is used.

An earlier patch (g#2500 / 5462907) disabled sleep when the PM
capability bit was not set; this makes it visible in the debug menu.

Change-Id: I2f3dd1244798d7bbb8239ac159c6470774b0c05e
2020-07-15 01:43:07 +00:00
Solomon Peachy
385d2eaa19 FS#13215: Russian translation update (Alexander Levin)
Change-Id: I0c53ef10b7cd3488176ffd670ab273ba4638e8de
2020-07-14 22:38:55 +00: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
William Wilgus
c731674dd8 Pictureflow manual update
Change-Id: Id917971792fefb842f855e14ed809cc830ff518e
2020-07-14 13:24:49 +00:00
Solomon Peachy
66d7c21cde rbutil: Handle the new Retired target status.
It's considerd stable, but does not have dev builds any more

So don't display download options to get RC or dev builds.

Change-Id: I68ed6adc2dd72d54464d3ff8d8e8df28088f8020
2020-07-14 13:03:06 +00:00
Igor B. Poretsky
30fb53d47f Enabled hotkey for Sansa Clip players
Change-Id: Ic0fb331415bf0cc0fce5916befce64f4a41c46ee
2020-07-14 12:42:16 +00:00
William Wilgus
45915101d5 Pictureflow Bugfixes & Usability fixes
First I discovered a bug in the code to display the currently playing
album from the WPS
--on a NULL id3->albumartist field PF would crash
  now checks for a match in id3->albumartist and then id3->artist
  if neither exists then the search uses <untagged>
  ditto for album

The album index feature (recently added) did not check for enough
room in the buffer on restore
--save and restore code cleaned up a bit
  moved all buffers to their own struct

tracks with no title now show filename rather than <UNTAGGED>

Reworked album search function
 album search was going quadriatic resulting in some outrageous
 index build times [40mins+ for 4000 albums]
 building now done in stages and duplicates removed at end
 *MUCH FASTER*

Album art
 empty album art is no longer stored in the art cache

 PF will now allow you to cancel building album art without
 forcing a rebuild next run,
 it will continue searching for album art in the background
 album art is now updated in the background on each start as well

tracklist now rolls over at the end

artist_index is now discarded after album_index is created

Cleaned up some of the myriad of global variables

Added quit prompt for index building

Added sanity checking for album_index loaded from disk

Change-Id: I8494cb7abcb1ae8645c223fc3c11dc0ee749883a
2020-07-14 03:57:56 +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
cb3363f57d Fix warnings in Estonian language
Change-Id: I2ec07665a5d09703a67fa13852ed99bfb13d9f6e
2020-07-13 09:19:37 -04:00
Solomon Peachy
b84a153c76 lang: Fix boneheaded mistake in ca31bad8
Change-Id: Iee3842ab7b5d4660855b683141a45a09c187b29f
2020-07-13 09:19:37 -04:00
Solomon Peachy
ca31bad8a5 voice: Ensure all voicelist files in voicefiles.zip are complete
Backfill all missing strings from the English master translation.

Change-Id: Ie28f4cf804c22141a2c62f82ed8b2d71c822c74a
2020-07-13 08:26:53 -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
54629073ae ATA: Make sure "hard disk" supports power management
The FC-1307 CF->SD converter that is the basis of a lot of ATA->CF
devices (including several iflash iFlash models) claims to not support
ATA power management commands.

Rockbox unconditionally issues those commands as support is mandated by
the ATA spec.  This patch checks the capability bit, and if it's not
supported, does not attempt to put the ATA subsystem to sleep.

It is not clear if the problems lie with the SLEEP commands or the wakeup
process, but who knows where else the FC1307 violates the ATA specs, and
reliability is much more important than power savings.

Change-Id: I8b539c579d0449a8a3cfa63cdd1387db990fe820
2020-07-11 22:17:13 -04:00
Solomon Peachy
7249fabe63 fat: Validate FS Info Sector signature when attempting to mount volume
The "try to mount as superfloppy" fails with some partitioning layouts
because sector 0 can have a mostly-valid FAT32 signature.  However, in
all dumps I've looked at, sector 0's fsinfo offset value points at a place
which lacks the fsinfo signature.

Resolves FS#13213, no known regressions.

Change-Id: Ib323d35cca6ca54e11aca6ba77041bf33a05a277
2020-07-11 18:23:46 -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
17a367e0c4 FS#12966: display '+' for positive replaygain values
Change-Id: I976d5511096c2d4d19eb14fa1c6adf8dd3cd9006
2020-07-09 22:18:25 +00:00
LiveboxAndy
77f8c9c9f1 Update to allow the Apple Radio Remote to function on iPod Video 5G.
This was broken when the major update to iap was comitted.
ia-lingo7.c created and various iap related files modified.
On 4G, 6G and Nano 1/2Gen iPods the remote will function
even though the radio won't.
Tested on 4G Greyscale, 4G Color, 4G Photo, 4G Mini 1st Gen,
4G Mini 2Gen, Nano 1G, Nano 2G, Video 5G, Video 5.5G

Change-Id: Ia74e3d07d9ab5edc6da8eafa96801ede722be331
2020-07-09 18:02:07 +00:00
Solomon Peachy
dcdf2713f6 Python3-related fixes in some of our scripts
Change-Id: I8acbe43e3f27e51159a7a78fcc361476d7406cbb
2020-07-09 14:39:27 +00:00
Amaury Pouly
278a76b3a6 add some documentation in usb.h and usb_drv.h
Change-Id: Icd39ee5c017fc219144b33ef96b0df85c5d430da
2020-07-09 14:09:10 +00:00
Peter Sealy
b64a286a81 voice file not loading
>
> I ran into an issue where my voice file would only load if I changed language while playing music. It seems to happen because when no other file is open, file.c alloc_filestr returns the first free handle which is 0. In talk.c this is treated as an invalid handle, so the voice file is not loaded.

Change-Id: I42db40b10cc7a900bdd72012d99265300e783e44
2020-07-09 14:07:37 +00:00
Solomon Peachy
65a91333ef FS#12082: Add Tuner support to the Nano2G (Bertrik Sikken)
(The serial portions of the patch were already present, this just pulls
 in the tuner enablements)

Change-Id: I8090e318f34835769ac0a56d7a48b9250631eb4f
2020-07-09 13:24:14 +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
5e98eba8ab FS#13211: Updated Serbian Translation (Boris Kovačević)
Change-Id: I4c893e3c6394c12067e07b1f3ed00f96b2deee9e
2020-07-08 20:40:25 +00:00
Solomon Peachy
e9a51ae28b Fix build errors introduced in a2fbccf
Change-Id: I413989858432cd206e09d6d71dec07b4f7e06836
2020-07-08 20:02:30 +00:00
Solomon Peachy
a2fbccf194 playback: Nothing should call ata_spinup_time() directly
Change-Id: I9d20b8bfd0f1e47f33ca402f80a9e08bd00fbcd8
2020-07-08 19:36:23 +00:00