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
main build.
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.
Change-Id: Ic2f86130909b3b257986a348e5cfcf618c4500c3
voicefont uses the id prefix VOICE_ to recognize voice-only strings. Unused ids
get a NOT_USED prefixed entry to keep order correct. However, since this
applies to voice-only entries as well voicefont doesn't recognize those as
voice entries and puts them at the end of the lang strings table. This messes
up the order in the created voice file, so add VOICE_ as prefix so voicefont
can identify them.
Change-Id: Ic3f2ec038ce1ed93c84286979e6583b478fa697e
Make hardcoded format version a parameter to allow adjusting depending on the
installed Rockbox version. Rockbox Utility will read the version from the
installed version. Since the command line voicefont tool is only intended for
use in the current tree it uses a fixed version.
Change-Id: I1ec935d47c71961e93b3c6bc6c5d816cd9fc83ff
When the voicefile binary format changes there is no easy way to figure which
format is compatible with a given Rockbox installation. Add the version number
to rockbox-info.txt so tools like Rockbox Utility can easily retrieve it and
therefore support different versions.
Change-Id: Ia5b8f00f89065f0dd0adf061612d844dcaff39c6
Reviewed-on: http://gerrit.rockbox.org/269
Tested-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
Voice-only strings are identified when reading the strings, so there is no
reason to first store that information and then count them later.
Change-Id: Ie6bd2c4bbf5736630e58d06a20739ef527e3cd69
Those macros actually swap to big endian. Since the macro names didn't tell
what way to swap (and on big endian they don't swap anything at all) they are
somewhat confusing. Change names for clarity.
Change-Id: Ie4b0026458a69d7533abb66109a6f83bc5ee2c0e
Overlay plugins got broken because ovl_offset.pl assumes the audio buffer
ends where the plugin buffer starts. Buflib however keeps its handle table
there, so there are a few hundred bytes fewer available, so loading the
overlay fails. We work around this by linking the overlay at a slightly
lower address (1024 bytes lower). If the handle table ever grows more than
that, overlays will start failing again and we either need a different
solution or increase the margin a bit.
Change-Id: Id98cb52da2c8c4a4bc773362a46f646774112f85
mr100 audio is broken in 3.11. It's working again in master since
da6cebb6b0, but backporting that is
not realistic.
Change-Id: I11118a0d228da866259e4e01ed00ac010a3838a3
Prevent Android from adding theme files to its media database by putting a
.nomedia file in the rockbox folder.
Change-Id: I76ee3381a6599b9d1ecfe34d15a4fdd35da80336
In Europe Windows defaults to its own codepage cp1252 (also known as "WinLatin"
or "Windows-1252"). cp1252 adds some characters to ISO-8859-1.
Some mp3 tagging software on Windows uses cp1252 instead of ISO-8859-1. This
violates the ID3 specification, which requires tags to be ISO-8859-1 or
Unicode. However, similar violations are made for other codepages and supported
by Rockbox using the "Default Codepage" setting. Add support for cp1252 to
enable people using such broken tools to override the correct decoding to get
their tags displayed properly.
Change-Id: I9f2ec478afe2503e99ee8e6609416c92b0f453e0
Reviewed-on: http://gerrit.rockbox.org/209
Reviewed-by: Jens Arnold <amiconn@rockbox.org>
Tested-by: Jens Arnold <amiconn@rockbox.org>
librbcodec users must provide these two files when the library is built.
rbcodecconfig.h provides configuration #defines and basic types, and
will be included by public librbcodec headers, so it must not conflict
with the user's code. rbcodecplatform.h provides various OS functions,
and will only be included by source files and private headers. This
system is intended to provide maximum flexibility for use on embedded
systems, where no operating system headers are included. Unix systems
can just copy rbcodecconfig-example.h and rbcodecplatform-unix.h with
minimal changes.
Change-Id: I350a2274d173da391fd1ca00c4202e9760d91def
Reviewed-on: http://gerrit.rockbox.org/143
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
BSD sed doesn't handle \n the way GNU sed does, and in this case the
substitution is trivially done using tr anyway, so use tr.
Change-Id: Iedb459d871ae6758d76352225e91dd4dc4717a53
The old script depended on svn. An earlier version of this script has already
been used in the 3.11. branch.
Change-Id: Id03abb8f7bd005ede343243194c4453f0b2e8943
This reverts the builds.pm part of d5859c6 (which was accidentally
pushed too soon) to avoid having the website link to nonexistent files.
The modifications need to be re-done as soon as 3.11.1 is actually on
the server.
Change-Id: Ifee2ed497ffcaefe32b75fa25d829cf0c7b6d17d
The warnings 1207c7b was supposed to get rid of are sim-only. This
means the binsize argument used for the _FORTIFY_SOURCE fix did not
apply at all. This one actually checks the return values.
Change-Id: Ic4cd8c25de4305310baa868c077a66981cdfcb4b
Most of our code was written to be efficient. While adding return value
checks everywhere would be a good idea in theory, it would increase binsize
a lot, and #ifdeffing those checks for sim-only is not doable. Disabling
_FORTIFY_SOURCE makes the warning disappear for innocent commits that
can't be blamed for them.
Change-Id: I8171869a140580cbf89f39776856eb3f65641366
1) use " instead of ' to expand variable
2) fix x86 arch autodetection (android toolchain doesnt use _X86_)
Change-Id: Ibf73b6ccfdb1baee3bb2f77d8f298119ecbfe16c
These were originally held back as unstable due to bugs in rockbox's
audio buffering that only occuried on very low memory targets. The
c200v2 is the lowest memory target we have. Various improvements
to our buffering system seem to have fully corrected these problems.
Change-Id: I4404fe9b85c037904aea4b720e5a1fcb266f3d18
The existing ARCH Makefile variable is exported to the C code as well.
Additionally the version (arm-only for now) is detected as well. This
allows to for complete autodetection, i.e. that optimized ASM is picked up
if determined by preprocessor (CPU_ARM, etc).
Building a sim/raaa on a arm host will now automatically generate a arm
optmized build like we have for native targets.
Change-Id: I0b35393f8fb3ebd20beaa9e7371fa57bf3782107