|Age||Commit message (Collapse)||Author||Files||Lines|
(So if genlang is updated, regenerate the language headers)
If we update english.lang, we need to re-run genlang on the other
language files so any changes are picked up.
This is in keeping with un-hardcoding stuff from rbutil.
When a voice file is invalid or fails to load the voice system splash a
message 'Invalid Voice'
Now we supply a single voice file (currently only english is used)
the support for other languages is in but I haven't set it up to
look for anything but InvalidVoice_english.talk
Also adds a one time kill voice thread function
ie. it doesn't allow re-init after killing the voice thread & queue
* 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.
* 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
Backfill all missing strings from the English master translation.
Original patch by Mario Lang
Heavily updated by Igor Poretsky
Further updated by myself
This patch breaks binary API compatibility by placing the new
functions where they make the most logical sense. IMO this is
the better approach to take given the scope of the changes needed
for talk support.
Since binary API is changing, the patch also moves some other
functions around to more logical locations.
As well as voice support in plugins, this patch voice-enables several
simple plugins. There will be follow-up patches for many plugins that
build on this one.
The bug is due to a stupid make misfeature. The article  contains much more
information but in a nutshell, the following code:
a b: c
is equivalent to:
This is bad because in parallel runs (make -j typically), "bla" can be run
TWICE and even worse, twice in PARALLEL. Obviously the result will be
completely unexpected. This is a real bummer because on the other hand,
the following code:
%.c %.h: %:in
actually expresses the fact that bla produces two files. For some reasons,
pattern rules work differently from implicit rules.
This commit attempts to fix the problem with lang.h by rewriting (simplified):
lang.c lang.h: lang.in
This works (it correctly expresses the dependency chain and ensures genlang runs
once) but as one drawback: if one manually removes lang.c, then genlang will not
re-run since the second rule does nothing. This is minor drawback since no one
ever removes lang.c manually and "clean" removes lang.h which triggers a rebuild.
Hopefully this will help narrow down the problem with LANG_* error message,
I have the feeling that lang.h is not generated in time but it's very hard to
This hopefully fixes occasional build failures
Since the build system now creates files holding the voice strings and an
archive holding those creating MAX_LANGUAGE_SIZE needs to be created using a
more specific wildcard.
Extend genlang to create files holding the voice strings in a binary format
similar to lng. Create such files for all languages during a normal build, put
them in a zip file and add them to rockbox.zip so they are installed with a
Creating a voice file requires access to the voice strings, which are currently
not distributed with Rockbox. Therefore it is necessary to either have access
to the source code of the installed build or to use a build the genlang service
on rockbox.org can retrieve the strings for, making it impossible for normal
users to generate a voice file for custom builds, test builds and older builds
that aren't supported by the rockbox.org script. It also requires a network
connection when creating voice files with Rockbox Utility even if creating a
voice file by itself isn't network related.
Furthermore, putting the voice strings on the target is also a prerequisite for
eventually supporting a TTS on the player.
Strip voice strings path.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27469 a1c6a512-1295-4272-9138-f99709370657
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27411 a1c6a512-1295-4272-9138-f99709370657
used to have a leading colon. Fix missing target and feature specific strings resulting from that (mashed target name and first feature) by inserting a colon into the command line explicitly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27410 a1c6a512-1295-4272-9138-f99709370657
* apps.make: depends on ctype.o instead of errno.o to depend on config-*.h so that it works for simulator.
* lang.make: add dependency of lang.h to make it sure that the file is updated properly when needed.
* plugins.make: object files don't depend on libpluginbitmaps.a.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24256 a1c6a512-1295-4272-9138-f99709370657
hard-coded to only output the core strings for now. Should be the majority of the core changes needed for translatable plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23241 a1c6a512-1295-4272-9138-f99709370657
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20170 a1c6a512-1295-4272-9138-f99709370657
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
speeds up the dependency generation, especially in cygwin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19169 a1c6a512-1295-4272-9138-f99709370657
tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657