1
0
Fork 0
forked from len0rd/rockbox
Commit graph

792 commits

Author SHA1 Message Date
Solomon Peachy
8cb555460f [3/4] Completely remove HWCODEC support
'swcodec' is now always set (and recording_swcodec for recording-capable
units) in feature.txt so the manual and language strings don't need to
all be fixed up.

Change-Id: Ib2c9d5d157af8d33653e2d4b4a12881b9aa6ddb0
2020-07-24 21:20:13 +00:00
Solomon Peachy
092c340a20 [1/4] Remove SH support and all archos targets
This removes all code specific to SH targets

Change-Id: I7980523785d2596e65c06430f4638eec74a06061
2020-07-24 21:20:13 +00:00
Solomon Peachy
a5df94beb5 build: Tweaks to better support non-English as primary language
* 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.

Change-Id: If5cf76019d416e838628a2eccd4ec7d6cbaeeb74
2020-07-21 17:22:45 +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
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
Sebastian Leonhardt
0769b34a23 fix configure script failing on gcc version numbers
There were two problems on my system:
* MinGW-gcc returns version "7.3-win32" => the "-win32"-part must be
  stripped off
* gcc -dumpversion returns only the major version number => use
  both -dumpfullversion and -dumpversion (in this order) as described here:
  https://stackoverflow.com/questions/45168516/gcc-7-1-1-on-fedora-26-dumpversion-now-only-includes-major-version-by-default

Change-Id: I74fa1c572426aab2525a00a80170d859c166e31c
2020-05-24 13:45:46 +02:00
Solomon Peachy
e0d7c7c632 voice: Add support for Mimic TTS engine.
...It generates decent voice files in 1/10th the time of festival.

Change-Id: I1bf9271633a8a0e9c483761b8685f296d2f303b8
2020-04-16 21:28:09 +02:00
Solomon Peachy
d37ea94f2a Android: Compile native android bits with armv7-a CPU flags
DX50/DX90 has a Cortex-A9 with NEON, use those specific flags
for speed.

Generic Android targets is for v4.4 (API 19) which doesn't support
pre-v7 ARM CPUs, so target generic armv7-a with hardfp support.

(This patch includes a rearrangement of the android toolchain helpers to
 allow target-specific GCCOPTS.  Huzzah)

Change-Id: I696051ef3fae25e1569c7b904decb7a3a0c6b674
2020-04-15 00:39:45 +02:00
Solomon Peachy
a820a98361 obsolete: Nuke the very-incomplete Archos AV300 target
It's even missing a config header file.  Just shoot it in the head.

Change-Id: I4c5cdb4fb63361a4e4fc893e93d73d3890fe17df
2020-04-13 22:06:22 +02:00
Solomon Peachy
cfc02cadcc android: Fix configure script for "newer" versions of the NDK
The oldest verison of the NDK one can still download today is version
10e from mid-2015, which comes with GCC 4.9, and no longer supports
32-bit hosts.

With this, one can actually compile the iBasso DX50/DX90 targets again,
as well as the generic android target, as long as one has the correct
SDK platforms (v16 for ibasso, v19 for generic) and SDK tools installed.

Change-Id: I62f2e742d5cfc13133244aeff75a928a7294ac91
2020-04-13 16:51:58 +02:00
Marcin Bukat
180cef835b xDuoo X3II and X20 port
Provided by Roman Stolyarov
Integration, Refactoring, and Upstreaming by Solomon Peachy

X3II confirmed working by forum tester, X20 is nearly identical.

This includes bootloader, main firmware, and the flash image patcher.

Eventual Todo:

 * Further refactor AGPTek Rocker & xduoo hiby bootloaders
 * Further refactor AGPTek Rocker & xduoo hosted platform code

Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
2020-04-06 18:15:41 +02:00
Franklin Wei
7b118eccac configure: add --32-bit option to build a 32-bit simulator/application
I use this to test duke3d in the sim, because it does some nasty pointer
arithmetic with 32-bit ints.

Should be useful for other things as well.

Change-Id: I807c81b32c61538de9edc3fca77fde193dc4e617
2019-06-17 23:11:25 -04:00
Solomon Peachy
1b2fd8918f Fix a capitalization typo in the ihifi770c configure target name.
Change-Id: Iccdb109329cec2de477e1f96f30335dbdea535ad
2019-01-02 16:50:05 +01:00
Solomon Peachy
d4942cc74c Add Xuelin iHIFI 770/770C/800 support
Taken from the xvortex fork (Roman Stolyarov)
Ported, rebased, and cleaned up by myself.

Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978
2019-01-02 08:10:01 -05:00
Solomon Peachy
e598ba13f5 Support using 'rbspeak' to generate voice files.
(Full credit to Igor Poretsky)

Change-Id: Ib9c5d2748cd7e0543b7fd110e83b4656089254b8
2018-12-22 20:27:39 -05:00
William Wilgus
4055f90f08 Fix host build for newer linux distros
I realized there was a better way to do this..

Instead of specifying a path just have gcc run the preprocessor (-E) on
an input file consisting of only '#include <byteswap.h>' if it succeeds
then we can use it if not then don't define OS_USE_BYTESWAP_H

Change-Id: I0de8e469445221bc1b5ad8cc032de5b89a85ab66
2018-12-10 01:36:33 -06:00
William Wilgus
0f5f5c3390 Fix Sim & checkwps for newer distros
__builtin found fix for rbendian.h
tools/configure defines SIM_USE_BYTESWAP_H if byteswap.h is found in
/usr/include/ maybe there is a better mechanism for this

Change-Id: I4d004e68313e8b32aa5587582be36bc459fdaf6b
2018-12-08 03:19:14 -06:00
William Wilgus
9450689483 Fix Sim for newer distros
__builtin found fix for rbendian.h
tools/configure defines SIM_USE_BYTESWAP_H if byteswap.h is found in
/usr/include/ maybe there is a better mechanism for this

genshortcut.sh is a simple script to make .desktop shortcut files
several newer distros don't allow you to run the simulator from the
file manager, this or perhaps a different method can probably be
included while building a sim at a later date.

for now it can be run manually like so:
similar to ../tools/configure
run from your simulator folder
../tools/genshortcut.sh exepath shortname icon
ex. ../tools/genshortcut.sh ./rockboxui clip+sim music-app

Change-Id: Ia05d3a9349b27c5968a4a7a68b2eb480e60faec3
2018-12-07 21:04:30 +01:00
Solomon Peachy
0662793ca0 Add cleaned-up xDuoo X3 support
Cleaned up, rebased, and forward-ported from the xvortex fork.

(original credit to vsoftster@gmail.com)

Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-07-28 10:56:31 -04:00
Amaury Pouly
b3e2bd619b Update MIPS toolchain to GCC 4.9.4 and binutils 2.26.1, update configure
Change-Id: I4d3dad4521bdf0b0d6ee5d1635ddbf57483d2b42
2018-07-28 10:56:31 -04:00
Marcin Bukat
fbb6a2ff6d Agptek Rocker: Build plugins
Patch provided by Aapo Tahkola.

Change-Id: I37a42a950d78d6b8aa3927ec7aeb30030f7be7a5
2018-06-12 10:31:15 +02:00
Marcin Bukat
0538ba3d59 Agptek Rocker: Restrict root directory to SD only
Actual / of underlying linux OS should not be available to user.
I am still not sure if implementation is correct. It doesn't
perform any relative path sandboxing for example.

Change-Id: Ic577a10f3947f6e950e2c4d03173f9f207395eb7
2018-06-12 10:31:15 +02:00
Marcin Bukat
d55680993d Agptek Rocker: Initial commit
Change-Id: I26b51106c7b1c36a603fba6d521e917d79b5a95b
2018-06-12 10:31:14 +02:00
Sebastian Leonhardt
0486e5b93e Zen XFi2: Enable Plugins
Keymaps aren't tested, there may be room for improvement.


Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2018-04-03 11:34:01 +02:00
Amaury Pouly
5da0cbea31 nwz: enable plugins on all targets except NWZ-A860
Keymap might be suboptimal.

Change-Id: Ibaf51e91cf935c96b7f419647fe1147dee6cc8be
2017-11-14 00:28:00 +01:00
Amaury Pouly
0fe7b8becf nwzlinux: add support for radio
None of the Sony up to A15 seem to support RDS (they use either Si4702 or Si4708),
thus I did not add any code to support RDS.

Change-Id: I64838993b9705b36b94665f8470c7a89c772c961
2017-11-06 21:37:06 +01:00
Amaury Pouly
127e6bbfdd Add support for the NWZ-E350
Strangely it has the SAME encryption key as the E450. Either they didn't bother
changing it or more likely they have exactly the same internals and a slightly
different case.

Change-Id: I39ab88845b3e40db34160c2e61dde421f391df44
2017-09-17 23:47:49 +02:00
Amaury Pouly
91d3c8e459 Add support for the Sony NWZ-S750
Change-Id: I9050129949809b3dbe9f4f9e816f8980c4f3a904
2017-09-17 14:35:58 +02:00
Amaury Pouly
ac57f96838 Add support for the NWZ-A860
Change-Id: Ibf0c5168ac31d4ba2aeaa86cbeca37a1011b75fa
2017-09-17 00:03:02 +02:00
Johannes Rauh
3a5ae7dd3a Add support for Sony NW-A20
Add original author to CREDITS

Change-Id: I7a0159635c7896e2b5521c078ef62618f568d89e
2017-09-06 17:16:55 +02:00
Amaury Pouly
1d121e8c08 Initial commit for the Sony NWZ linux port
SUPPORTED SERIES:
- NWZ-E450
- NWZ-E460
- NWZ-E470
- NWZ-E580
- NWZ-A10

NOTES:
- bootloader makefile convert an extra font to be installed alongside the bootloader
  since sysfont is way too small
- the toolsicon bitmap comes from the Oxygen iconset
- touchscreen driver is untested

TODO:
- implement audio routing driver (pcm is handled by pcm-alsa)
- fix playback: it crashes on illegal instruction in DEBUG builds
- find out why the browser starts at / instead of /contents
- implement radio support
- implement return to OF for usb handling
- calibrate battery curve (NB: of can report a battery level on a 0-5 scale but
  probabl don't want to use that ?)
- implement simulator build (we need a nice image of the player)
- figure out if we can detect jack removal

POTENTIAL TODOS:
- try to build a usb serial gadget and gdbserver

Change-Id: Ic77d71e0651355d47cc4e423a40fb64a60c69a80
2017-09-05 21:42:12 +02:00
Franklin Wei
27ca56d241 Implement warning silencing in a cleaner way
Change-Id: Iae6356c7e9e04f4e975b1995f77a35f6252293a4
2017-08-27 13:22:49 -04:00
Franklin Wei
99e467e4ff Revert "Silence GCC 7.x warnings when building simulator"
This reverts commit b13f6e5b67.
2017-08-27 13:13:49 -04:00
Franklin Wei
b13f6e5b67 Silence GCC 7.x warnings when building simulator
Adds -Wno-expansion-to-defined and -Wimplicit-fallthrough=0 to sim
opts.

Change-Id: I62148e392446ae6a3fbe4c4d55770b72962e393d
2017-08-23 14:32:39 -04:00
Amaury Pouly
7482b82175 Fix formatting in configure
Change-Id: Ie877121bb60df6fb1fed4f778cc9aa0f5c426ed8
2017-05-16 12:16:25 +10:00
Amaury Pouly
2c45548f65 Fix typo in configure
Change-Id: I142822983bf1144ab265caf5e9a488c5e423da4f
2017-01-16 20:09:56 +01:00
Matthias Mohr
955be5b34a Fix configure for windows simulator builds in cygwin / mingw cross-compiling environments.
Fixes and Changes to configure the Windows simulator builds mostly for cygwin / mingw cross-compiling environments:
  - fix CROSS_COMPILE values including detection for old and newer mingw
environments
  - fix detection of sdl-config by searching inside CROSS_COMPILE
sys-root
  - fix call of sdl-config and use correct (found) version
  - add possibility to build a 64-bit simulator
  - added several -Wno- options to GCCOPTS to prevent annoying compiler
warnings
  - use cross-compiler as HOST_CC if no "native" HOST_CC is available

Change-Id: Ib5dd288c3f9a11be9b66e53e3406eadfa65f7604
2017-01-15 21:32:25 +01:00
Frank Gevaerts
d938411a94 Print make version in configure output.
This should make it easier to figure out random build issues.

Change-Id: Ic037ecc94a3c8386043349db1573c3587d7e1fda
2016-08-21 17:19:26 +02:00
Frank Gevaerts
37cc433628 Silence newer toolchains a bit
Newer toolchains (both gcc and libc related) add a lot of warnings.
While these can be useful and correct, cleaning them up woult be a
lot of work and isn't likely to actually happen any time soon.

Change-Id: I8c4e8cd3dc92f9afa4bf003c63ca65e895e3ef00
2016-08-12 14:42:31 +02:00
Franklin Wei
615c638c7d Fix broken simulator build with weird sdl-config
* --static-libs isn't supported on some (possibly newer) SDL installs, falls back to --libs if this is the case

Patch mostly by Amaury Pouly.

Change-Id: I6dd2f4847f2a2d1de7b2d287c0af6651cec461ff
2016-06-01 15:11:09 -04:00
Frank Gevaerts
9327885d14 Use an actually reliable method to determine 32 vs 64 bit
Change-Id: Idba256ae66e67efa7a03f3817bc588e0b4ccd4ba
2016-05-25 13:41:44 +02:00
Amaury Pouly
60fb707203 configure: statically link sdl on win32 cross compile
Change-Id: If9115da0470e2c301589329af67433f7260d24d3
2016-05-13 23:55:33 +01:00
Amaury Pouly
16c915ec18 configure: allow for compiler toolchain override (with warnings)
The current configure script unfortunately does not allow one to use another
toolchain than the one hardwire in the script. Although this is good to ensure
working builds, it can be burden when one wants to either test other compilers,
does not want to have to multiple redundant compilers or when the compiler
install script fails for unknown reasons (MIPS I'm looking at you).

The syntax is simple, for example:
/path/to/configure --compiler-prefix arm-none-eabi-
Also 'make reconf' will properly keep the prefix.

Change-Id: I5ee3bc61afa10193586ddd3aef694a8ac08854e2
2016-02-02 22:54:48 +00:00
Thomas Martitz
2e58102174 configure: harden arch autodetected a bit
Some arm gcc versions have multiple cpp symbols beginning with
__ARM_ARCH, but want only the one that contains the arch version.

Change-Id: I6792572e29200fc4e62ba07bdd63dc722356c2bb
2015-04-19 18:14:23 +02:00
Franklin Wei
74fc3efb60 Prevent configure from being run in the root of the tree, fix a typo in the configure script
Change-Id: I61205c2f00edbdcd726ca455a67c810fafe3ca92
2015-02-15 21:03:36 +01:00
Udo Schläpfer
dbabd0d9c3 iBasso DX50/DX90: Major code cleanup and reorganization.
Reorganization

- Separated iBasso devices from PLATFORM_ANDROID. These are now standlone
  hosted targets. Most device specific code is in the
  firmware/target/hosted/ibasso directory.
- No dependency on Android SDK, only the Android NDK is needed.
  32 bit Android NDK and Android API Level 16.
- Separate implementation for each device where feasible.

Code cleanup

- Rewrite of existing code, from simple reformat to complete reimplementation.
- New backlight interface, seperating backlight from touchscreen.
- Rewrite of device button handler, removing unneeded code and fixing memory
  leaks.
- New Debug messages interface logging to Android adb logcat (DEBUGF, panicf,
  logf).
- Rewrite of lcd device handler, removing unneeded code and fixing memory leaks.
- Rewrite of audiohw device handler/pcm interface, removing unneeded code and
  fixing memory leaks, enabling 44.1/48kHz pthreaded playback.
- Rewrite of power and powermng, proper shutdown, using batterylog results
  (see http://gerrit.rockbox.org/r/#/c/1047/).
- Rewrite of configure (Android NDK) and device specific config.
- Rewrite of the Android NDK specific Makefile.

Misc

- All plugins/games/demos activated.
- Update tinyalsa to latest from https://github.com/tinyalsa/tinyalsa.

Includes

- http://gerrit.rockbox.org/r/#/c/993/
- http://gerrit.rockbox.org/r/#/c/1010/
- http://gerrit.rockbox.org/r/#/c/1035/

Does not include http://gerrit.rockbox.org/r/#/c/1007/ due to new backlight
interface and new option for hold switch, touchscreen, physical button
interaction.

Rockbox needs the iBasso DX50/DX90 loader for startup, see
http://gerrit.rockbox.org/r/#/c/1099/

The loader expects Rockbox to be installed in /mnt/sdcard/.rockbox/. If
/mnt/sdcard/ is accessed as USB mass storage device, Rockbox will exit
gracefully and the loader will restart Rockbox on USB disconnect.

Tested on iBasso DX50.
Compiled (not tested) for iBasso DX90.
Compiled (not tested) for PLATFORM_ANDROID.

Change-Id: I5f5e22e68f5b4cf29c28e2b40b2c265f2beb7ab7
2015-02-02 21:57:55 +01:00
Simon Rothen
0b5ad60c26 Introducing Targets iBasso DX50 & iBasso DX90
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source
can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port
was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port.
The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port.
Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did
was to separate the code for DX50 (&DX90) from the android target.
On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it.
What else I changed from Ilias sources besides the separation from the target "android":
* removed a dirty hack to keep backlight off
* changed value battery meter to voltage battery meter
* made all plugins compile (named target as "standalone") and added keymaps
* i added the graphics for the manual but did not do anything else for the manual yet
* minor optimizations

known bugs:
* timers are slowed donw when playback is active (tinyalsa related?)
* some minor bugs

Things to do:
* The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the
  official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with
  ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights.
  Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go.
* All the wiki and manual

to build:
needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed

./tools/configure
select iBasso DX50 or iBasso DX90
make -j apk

the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed)
the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed)

The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There
is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary.

Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his
bitbucket page, using the CWM-OF and his installation script package.

Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0
Reviewed-on: http://gerrit.rockbox.org/941
Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-09-18 18:19:01 +02:00
Amaury Pouly
e08331eef4 zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable plugins
Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size.

Change-Id: If4651c87b402060faa24530985c6e871379c8ea1
2014-07-17 10:40:17 +02:00