* 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
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
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
If no split tokens are found the string just goes off into space
instead shoten the string till it fits and continue on with the
remaining string
Change-Id: I7fa3619fe8c75ec6c849996d4c3518409938152b
* Only codecs and plugins are enabled
* Only native builds (so far)
* Only tested on xDuoo X3 (MIPS, monochrome)
* opus & speex generate some warnings
* Significant compile time impact
Change-Id: I519b0d179631a54b2103cd67225bd5ec6ad3bd2f
path_append throws away the basepath if currdir starts with a slash
I thought I had this fixed but it was just getting covered up
instead step past all the slashes and use that for our append dir
Change-Id: I170a2af99455cea09e6e695dfb89fdd42733bd4b
(This is a different implementation of the fix in g#5726, by Vencislav Atanasov)
The core problem is that the user is prompted to insert a USB cable
to fix the partitioning etc but the code that monitors for USB insertion
hasn't been started yet. Correct this.
If no USB support is present, reboot after 5 seconds if it's not a debug
build.
If USB support is present, want for insertion first, then do the
reboot-if-not-debug behavior.
Change-Id: I87827e7fe2fe9a02298918c6ebc4d8a9fb33d624
* Converted over all previously-translated strings
* Lots of comments added to mark the next phase
* Voice filename of the file being loaded if possible
Change-Id: Ia3219bbfa4505ad29a25bcf1d6eacc94c59a2a83
The strings in the struct configdata[] are only used in the settings
file, and not displayed. Therefore there is no need to translate them.
Change-Id: Id9e03c4b0454412b319ad678e6f57a46e1da0f6e
max I could get was 5 with the default tagnav cfg
but we allow user code too so might be possible to exceed the depth
Change-Id: Icf37916400b464be4f75a723d64a71cd6c4be1fb
the logic here is a bit fuzzy to me maybe one of the copies to the cuepath
buffer adds a dot but I don't see anything explicit
Change-Id: Idcc469b5d04e4d9125b36df53d6aaa32a10f3bfd
format_track_path() uses path_append_ex() which might use strlen on the
existing buffer likely a false positive but cheap enough to guard against
Change-Id: I7061a434460f235fc58016f9dcf2dfe4633b9f59
the math
size_t endpos = filename - path;
if (filename && endpos < MAX_PATH - 1)
should handle it just fine coverity doesn't think so
Change-Id: Ifa0494e56b40c8ab0081ebc771024a45cb24eb76
26c612f breaks file selections if you have filename extensions disabled
and filenames spelled out, because it modified the filename in place
breaking the caller.
Instead of using a lot of space to make a private copy, the simplest
approach is, if we strip the extension off, simply restore it
afterwards.
Change-Id: Iaf560e813053b8030c620bbed6d061a2423338d5
"Create Directory" option not applicable
in browse filter modes, since directories
do not get displayed
Change-Id: I68944264b03115f7f94254d9df766e5584d30e5a
Track Info can now be displayed for the set of
all tracks contained in a playlist. This lets
you calculate a playlist's length, for example,
even if it is not currently playing.
This functionality can be accessed from the
existing "Properties" screen for a selected
playlist file. A line has been added at the
very bottom to show Track Info.
Change-Id: I311532b7cfa9e29d46c0cd5623ba4c06c1dd5b5f
Instead of hiding this option when the current playlist
is unsaved, we can offer to save the playlist, if
necessary, before attempting to create a bookmark.
This simplifies the workflow by getting rid of steps 1
and 2 that a user currently needs to perform:
1) Open context menu, check if "Create Bookmark" option
is available
2) If not: Re-open context menu. Select Current Playlist
-> Save Current Playlist
3) Re-open context menu. Select Bookmarks
-> Create Bookmark
Change-Id: Ia9fb5f9db95e2fcbde03470a3c3745824424a339
This adds a "Legal Notices" entry under the System menu that will
launch the text viewer plugin to display:
1) COPYING.txt (containing the GPLv2 overall license for Rockbox)
2) LICENSES.txt (containing all other relevant licenses and notices)
Change-Id: Id41ae491b6f9a6ec5663090246d0f6b661cddea5
In verbose mode it will log valid the strings found, otherwise it will
only complain when we encounter a missing string.
Unfortunately a missing string is not inherently a problem, due to
conditional expressions. So all we can do is complain in checkwps
or if wps debugging is turned on.
Meanwhile, this is the first step in actually enumerating the translated
strings used by themes.
Change-Id: Ia93b333085e825d5b085c4d372ad8e13aa3e3ba1
The documentation says to not delete things but that dates back to when
we were a lot laxer in what we would accept at runtime.
I want to make things even stricter, and add a checksum or hash of
the string IDs, so that *any* change to the base language invalidates
translation and voice binaries at runtime.
Change-Id: I94a71781f839bec804dc04dd99660e5e866577bf