This covers the voiced directory and filenames
* Don't regenerate a talk clip if one is present (?)
* Format awareness; ie if the TTS engine generates an mp3 file,
convert it to a wav file so we can encode it properly
* Use a global variable for the wavtrim threshold
Change-Id: I9f441b573704bdf7675794fd0e1984446308463b
I updated the scripts to use a generic '.enc' as the filename as we
haven't used true '.mp3' files for some time (and even then, only on the
Archos devices) but I missed the voicefont generation tool.
Change-Id: I450de9215664b6559058b175afc25aa874d11dcc
* Language and dialect need to be specified separately
* Convert the mp3 files generated by gtts into wav into rbspeex
(Uses ffmpeg currently)
Change-Id: I6d7b9494e70a61537519221522202ea28469cc70
A playlist that hasn't finished and is resumed without starting
playback has its index set to 0 by empty_playlist_unlocked.
So ignore the index for stopped playlists.
Change-Id: I575ceacbcd2369eaa3ae4e47de7b2f7e999248f5
Commits 5aa0fc3 and 32f1418 (g#4451, g#4452) changed the
amount of space that was allocated for loading bitmaps
used to display album art.
Testing revealed that the size of the JPEG decode buffer
can reach up to (38 * 1024)B in some cases.
When the limit is reached, additional space is required
by the resize_on_load function.
Change-Id: If93b45754a4f5948b6160f659182e4618e01912e
leading slashes in directory components to path_append
makes a path with a leading slash absolute and discards
the basepath
Change-Id: I65253080c0ca4278b559894104ab25ab199a3100
Causes a warning with GCC8 as the protoypes are not the same.
Only affects targets that lack an asm-optimized version (eg mips)
Change-Id: I22e4657f3fb71ebbb915e4f290bf3670b1b87636
I'm not sure why but on my fuze v2 I don't get the '.' nd '..'
directories back from readdir
that make removing '.' to find /.rockbox inconsistent
Instead filter out files and strcmp the incoming dirs
to BOOTDIR (.rockbox) and clear it when they match
Change-Id: Id8f3312cb3ae624dff1be21f745034c08c4ae1a7
do the depth check outside of the loop
make a helper function to have same
fn signatures between
mono_bitmap_part & lcd_alpha_bitmap_part
Change-Id: I42fab535133607f937430357dab7a20fa97805a8
The overly-generic name "find_tag()" is part of the skin parser
library and this can cause problems depending on what's included
from headers. Unfortunately.
Change-Id: I0cb02b1203daa6ff36595ed6c6f40b5b56bd3e58
Allow the database path to be set from the file browser's
"Set As" context menu, so it can be changed without editing
the .cfg file by hand.
Change-Id: Ie1a84bcb2084ee3b1a0a18cc51f564238515f164
Max allowed size: 120860
Old thumb build: 128494
New thumb build: 118514 (fits!)
Disabled:
Logo;
alpha blending capabilities for bitmaps;
Arm stack unwinder (backtrace);
Related forum discussion: https://forums.rockbox.org/index.php/topic,54768.0.html
Fixes FS#12380
Change-Id: I978720d795cb0ef5169103e467cf8386c21d8e93
sprintf, strcpy, memccpy can all just go thru path_append
with the added benefit of some path sanitizing too
Change-Id: I33510b56a364b8b3a0b06f2ff14b76491f6e3870
Make ft_exit() ignore trailing slashes. Previously if these
ended up in "currdir" then pressing the back button would just
leave you in the same directory.
Change-Id: Ic539e02a9860fa13ca3235beaf99bb474c66e151
v1 passes the drive and partition number of the boot volume
instead of using the volume number. The volume number isn't
reliable because the same filesystem might get a different
volume number once the firmware is loaded, which will cause
the firmware to use the wrong root volume and fail to locate
the correct .rockbox directory.
Using drive and partition numbers avoids this issue because
drive numbering is fixed and determined by the target.
Change-Id: I7e68b892d9424a1f686197a6122e139b438e5f7e
Instead of verifying the CRC before every access of the boot data,
verify the CRC once at startup and set a flag to indicate the boot
data is valid.
Also add a framework to support multiple boot protocol versions.
Firmware declares the maximum supported protocol version using a
version byte in the boot data header. The bootloader chooses the
highest version supported by it and the firmware when deciding
what boot protocol to use.
Change-Id: I810194625dc0833f026d2a23b8d64ed467fa6aca
These functions just reset some state related to the scroll engine,
which is already disabled for bootloaders. They get called from the
LCD code and compiled into the binary, but have no real effect when
the rest of the scroll engine is not present. Replacing the calls
with inline stubs gets rid of this dead code from bootloaders.
Change-Id: I12a6d8926e19477ae3a5913e7fc8aff41cecd970
The standard load_firmware() function is used on targets which
use the "scramble -add" method for generating Rockbox binaries.
While it tries to be a bit more generic and allows the CRC/data
offsets to be placed anywhere in the file, there are no targets
which actually need this flexibility, because they are all using
plain old "scramble -add".
So we can actually simplify load_firmware() and remove defines
from the target headers. All the targets used CRC offset = 0 and
data offset = 8, except for a few which I assume never supported
ROLO or were never tested -- eg. samsungyh820: the CRC and data
offsets cannot both be 0.
The actual motivation for this is removing the calls to lseek(),
which can help make bootloaders a tiny bit smaller, as lseek is
typically not used anywhere else in bootloaders.
Change-Id: Ic2d01e5b75a32e88363f085e3e839146a0710bf4
Turn off legacy codepage handling in the filesystem code for
bootloaders, and support ISO-8859-1 (Latin-1) only.
This only affects DOS 8.3 filename parsing when FAT32 long
names are unavailable; long names are Unicode and can always
be decoded properly regardless of this setting.
In reality, bootloaders never supported codepages other than
Latin-1 in the first place. They did contain the code to load
codepages from disk, but had no way to actually change the
codepage away from Latin-1.
Compiling out this useless codepage handling code frees up
precious space for very size-constrained bootloaders like the
Sansa e200v2.
Change-Id: I26b049dd648fed4a0cc61fa938faa84e9816ab7d
Some distros, including Ubuntu/Debian, don't provide a "python"
command unless an additional package is installed. Using "python3"
explicitly should work everywhere.
Using "/usr/bin/env" respects the user's PATH, so they can choose
a specific Python version instead of forcing the systemwide copy.
Change-Id: I02e3ead92939c42df6def79dec3dc2a62c62b1c3
Allocates several SBR + PS arrays and variables statically
Prevents out of memory exceptions for long audiobooks
Note from original commit a602f46d why it was disabled:
For now malloc is not fully removed but used by a few arrays needed for AAC-HE SBR+PS only. Reason to keep malloc is to have this amount of memory available for AAC-LC files which might require large m4a tables.
But now with "shrinkable" seek table 2c6dfd06 it's no longer a critical issue for aac-lc files (we just load less seek entries) but might be critical for aac-he files.
Fixes issue described here https://www.rockbox.org/tracker/task/13049#comment44587
Change-Id: Id9c20bad4c46034299a2a4de95d41c807b3af412
Unifies codec size with most targets.
Apart from other things increased size improves seek accuracy in long m4b audiobooks.
Tested on Agptek Rocker and XDuoo X3II
Related discussion: https://www.rockbox.org/tracker/task/13049#comment44591
Change-Id: Id246969e78386b71ac66aace128cfba72a3f209e
Buflib pinning was introduced here in 1718cf5.
If the device has to immediately shut down after booting
because of a low battery, the directory cache may be disabled
by the time core_unpin() is reached.
Its handle will have been reset to 0 in that case, triggering
a panic message due to an invalid buflib handle.
Change-Id: Ie34c3f7142d8406b66277ef185bc9ecf387d7295
Navigating to track listing by Filename in the database
passed the whole directory to the playlist and track info plugin
insead of the track filename
this was due to 'tag_virt_basename' not being recognized as a valid
audio file
Change-Id: I3d1cd0b6998a2e55d4f7d70711af9ced46cf2c44
Basically the namespace code _never_ actually linked properly on hosted
targets, but nobody noticed as there were no users, causing the symbols
to be dropped with no fuss.
The tagcache namespace awareness stuff pulled in the namespace code,
which made things go kaboom due to it relying on native FAT parsing
code.
Change-Id: Idef5f44b026c875022436809ca1f5015eece714a