Age | Commit message (Collapse) | Author |
|
Prior to this patch the Lua plugin used version 5.1.4. This change
reduces the number of modifications in the Lua source using some new
defines and because the upstream source is now more flexible.
Unless otherwise stated, l*.[ch] files are taken unmodified from the
upstream lua-5.2.3.
fscanf.c:
file descriptors in rockbox are just ints, they are hidden behind a
void* now so liolib requires less modifications. fscanf is updated to
use void* too.
getc.c: this is a new file required for getc implementation in lauxlib.c
lauxlib.c: LoadF replaced FILE* with int, the rockbox file
descriptor int are cast to FILE* (actually void* due to typedef).
getc uses the PREFIX version. stdin is not used, as per 5.1.4.
lbaselib.c: now uses strspn in the number parsing. print uses DEBUGF now
rather than being commented out.
lbitlib.c: use the built-in version from 5.2.3 rather than Reuben
Thomas's external library. Backwards compatible and adds some new bit
operations.
ldo.c: the LUAI_THROW/TRY defines are now in the core lua code, so have
been removed from rockconf.h
liolib.c: here the implementation has changed to use the LStream from
the original source, and cast the FILE* pointers to int. This has
reduced the number of modifications from the upstream version.
llex.c: the only change from upstream is to remove the locale include.
lmathlib.c: updated from the 5.2.3 version and re-applied the changes
that were made vs 5.1.4 for random numbers and to remove unsupported
float functions.
loadlib.c: upstream version, with the 5.1.4 changes for missing
functions.
lobject.c: upstream version, with ctype.h added and sprintf changed to
snprintf.
loslib.c: upstream version with locale.h removed and 5.1.4 changes for
unsupportable functions.
lstrlib.c: sprintf changed to snprintf.
ltable.c: upstream with the hashnum function from 5.1.4 to avoid frexp
in luai_hashnum.
luaconf.h: updated to 5.2.3 version, restored relevant parts from the
original 5.1.4 configuration. The COMPAT defines that are no longer
available are not included.
lundump.c: VERSION macro conflicts with the core Rockbox equivalent.
rocklib.c: luaL_reg is no longer available, replaced by luaL_Reg
equivalent. Moved checkboolean/optboolean functions to this file and out
of core lua files. luaL_getn is no longer available, replaced by
luaL_rawlen. luaL_register is deprecated, use the newlib/setfuncs
replacements. rli_init has to be called before setting up the newlib to
avoid overwriting the rb table.
rocklib_aux.pl: use rli_checkboolean from rocklib.c.
rocklua.c: new default bits library used, update the library loading
code with idiomatic 5.2 code.
strcspn.c: no longer needed, but strspn.c is required for strspn in
lbaselib.c
Change-Id: I0c7945c755f79083afe98ec117e1e8cf13de2651
Reviewed-on: http://gerrit.rockbox.org/774
Tested: Richard Quirk <richard.quirk@gmail.com>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
|
|
Change-Id: I88c813227c1c4c79fbf9cc2e0288d576a981c995
Reviewed-on: http://gerrit.rockbox.org/758
Reviewed-by: Avi Eisenberg <613ike@gmail.com>
Tested: Avi Eisenberg <613ike@gmail.com>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
|
|
Change-Id: I21c408e8c25c42a1e6c3d3e44c0999ae85d73154
|
|
Change-Id: Ia8bb739cd60b1b2d8a8cd7ad2c536e22553083c6
|
|
Change-Id: I71cdca3b6e73e29d487e0c6d02a69a31dcf3e6bf
|
|
It's not easy for the originating screen to perform cleanup in case of USB
because the usb screen is invoked indirectly via default_event_handler(). To
avoid stale scrolling lines perform the cleanup in the usb screen itself.
Side effect should be no worse than scrolling lines to restart in SBSes that
show during USB.
Change-Id: I9aa491b3d4b649c0b3be70048ebcb9d817c0356c
|
|
This is consistent with other screens (pitch, id3) on the WPS and in other
places.
Change-Id: Iafae52507867ff9815a60cf44faaf09a29c55091
|
|
Change-Id: Id55f81011a9ce47589d879203ca4f8fd4c54f593
Reviewed-on: http://gerrit.rockbox.org/757
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
|
Change-Id: I4f065a5b9f96df4d70ee8bb2836effc9b97b01fa
|
|
add_event_ex is added that takes an extra user_data pointer. This pointer is
passed to the callback (add_event and add_event_ex have slightly different
callbacks types). All callbacks also get the event id passed. Events added
with add_event_ex must be removed with remove_event_ex because the user_data
pointer must match in addition to the callback pointer.
On the other add_event is simplified to omit the oneshort parameter which
was almost always false (still there with add_event_ex).
As a side effect the ata_idle_notify callbacks are changed as well, they
do not take a data parameter anymore which was always NULL anyway.
This commit also adds some documentation to events.h
Change-Id: I13e29a0f88ef908f175b376d83550f9e0231f772
|
|
compiled headless.
Change-Id: I4fa3b8ef7139313891ca70df11f7f17c5df38cb7
|
|
Before time-based resume this was impossible since playback could not
be started at a specified elapsed time, only seeked with playback already
running.
Right now the "FILE" field is used, if present, to do the lookup from
from the .cue to the audio file when it is separate from the audio file.
If no path is specified, the .cue and audio file must be in the same
directory.
When the cuesheet is embedded, the containing file is used and the FILE
field is ignored.
Supports starting playback and seeking to cue points from the cuesheet
browser even without Cuesheet Support turned on.
Change-Id: Ib5b534c406f179a7f8c7042a31572b24a62c0731
Reviewed-on: http://gerrit.rockbox.org/522
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
|
|
This complements offset-based resume and playback start funcionality.
The implementation is global on both HWCODEC and SWCODEC.
Basically, if either the specified elapsed or offset are non-zero,
it indicates a mid-track resume.
To resume by time only, set elapsed to nonzero and offset to zero.
To resume by offset only, set offset to nonzero and elapsed to zero.
Which one the codec uses and which has priority is up to the codec;
however, using an elapsed time covers more cases:
* Codecs not able to use an offset such as VGM or other atomic
formats
* Starting playback at a nonzero elapsed time from a source that
contains no offset, such as a cuesheet
The change re-versions pretty much everything from tagcache to nvram.
Change-Id: Ic7aebb24e99a03ae99585c5e236eba960d163f38
Reviewed-on: http://gerrit.rockbox.org/516
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
|
|
Somehow, a long long time ago, I put MAX*/MAX* in the config data range
fields instead of MIN*/MAX* which forced the settings loader to acknowledge
only 100 as a valid setting other than the default.
Change-Id: Ifbfcafad27e239942449848d6a09426173bbde54
|
|
dir.
No code changed, just shuffling stuff around. This should make it easier to
build only select parts kernel and use different implementations.
Change-Id: Ie1f00f93008833ce38419d760afd70062c5e22b5
|
|
Change-Id: I511376eb42d1109dbe10d4fc5aa849b21d9f7582
|
|
This patch adds a configurable line separator between list items, very
similar to lists in Android. Additionally, below the list item there is a
thicker line. It can be disabled in the settings. Its color can
be configured as well.
Remote and monochrome displays are explicitly unsupported. If there is desire
this can be changed but it doesn't seem useful to me.
Change-Id: I005313b0d8f5ecd15864bf20e66ea4e3390d8b7d
|
|
The icon pixel position must be calculated before y is modified.
Change-Id: I16947dd8862683530dd7c5f00cfa7cf8d9636e61
|
|
Since eec89a9 icons have been centered using same calculation as for fonts.
In edge cases this is visually different from before and didn't align
well to the font's baseline. Revert to the old calculation just for centering
icons to fix.
A proper aligorithm would take the baseline into account but this has
worked sufficiently well for us (fix this if needed)
Change-Id: I86593529b16cd28ae4552641e216e73795f2450c
|
|
Especially on hosted dir_get_info() can be relatively. It is commonly called
after every readdir() for further information about the dir entry. So it's
peformance compared to readdir()-only is interesting.
Change-Id: I03ab41fb190acf738e04a5d3b2a4fe29276094f6
|
|
Change-Id: I2baa5532ddcbca8a839c31434309013f02173ed8
|
|
Change-Id: I089ea4756e0c824993c65062290c40b3e67f9181
|
|
CONFIG_STORAGE & STORAGE_HOSTFS allows to use parts of the storage_* API to be
compiled for application targets without compiling storage.c or performing
actually raw storage access. This is primarily to enable application targets to
implement HAVE_MULTIVOMULE/HAVE_HOTSWAP (in a later commit).
SIMULATOR uses the same mechanism without explicitely defining STORAGE_HOSTFS
(how to add a bit to an existing preprocessor token?).
Change-Id: Ib3f8ee0d5231e2ed21ff00842d51e32bc4fc7292
|
|
Fits better and including dir.h is more messy for some places.
Change-Id: I3ec30dcc1ac2734ad3844c903238b6cc2f4e134c
|
|
Change-Id: I5237f4bdf49f2fb7d5a6e072f0e8a7bb58daa8de
Reviewed-on: http://gerrit.rockbox.org/759
Reviewed-by: Andrew Ryabinin <ryabinin.a.a@gmail.com>
|
|
Change-Id: Ifb884a53d801db9534dd0c5ab5921800e971963e
|
|
Plugins/Applications/main_menu_config allows you to edit the
main menu order without having to manually edit config.cfg.
Press the standard OK button to access the internal menu
which allows you to move items up/down in the order and toggle
their visibility. Exit via this menu to have the order saved.
(Suggestions welcome to improve this UI)
Change-Id: I59715ef1ca265aeb6f9666ef27026bc1093f2579
|
|
Change-Id: I8f53d8811a3c6ee6507f1a81e3b007073909ca38
|
|
that file unable to be read the next time.
Change-Id: I1924fe68c8528c03c4197f74a4f014edb0ac9f2a
|
|
This is the basic port to the new target Samsung
YP-R1, which runs on a similar platform as YP-R0.
Port is usable, although there are still
some optimizations that have to be done.
Change-Id: If83a8e386369e413581753780c159026d9e41f04
|
|
Even though the DMA buffer itself does not move the ISR copies from a movable
buffer into the static commit buffer. To ensure this copying yields consistent
data it must not be interrupted by this ISR..
Also bump the commit buffer size to 2k, this should reduce the overhead
considerably because many clips are smaller than that (especially on
swcodec/speex).
Change-Id: I4e1ab83074f31fc91b51a58baa1df55ce659ac73
|
|
Change-Id: If3cbcd7557797684f1b7fea8e1bb134777680dee
|
|
The voice engine can now request more voice data during decoding, it does
not require the entire clip to be available before start of decoding anymore.
Therefore the commit buffer does not need to hold an entire voice clip anymore,
and can be made greatly smaller.
Change-Id: I3eca9026448e725b9b8d0dae1efca0ad185371da
|
|
well.
This unifies the talk.c for all possible voice payload. .talk clips are placed
onto the same unified clip cache, along with normal clips. This allows for more
effecient memory usage.
The cache handling makes a slight difference between normal clips and .talk
ones: .talk clips can be cached multiple and are always freed first.The extra
logic to avoid loading multiple copies of .talks is not necessary because the
will be freed first anyway.
Change-Id: I88d056a0a613b129f5875f50fdb757b58bac0a42
|
|
This unifies the talk.c for all targets. The only separation is left is
TALK_PROGRESSIVE_LOAD: When this is defined the talk buffer will not be
initially prefilled. This is useful for super slow storage or when the buffer
is not large enough to prefill it with useful clips (the prefill code could
be made smarter too).
The buffer size can be adjusted. By default lowmem uses 100k while
other targets load the entire file. The bigger the more clips can be cached
but with diminishing returns.
Change-Id: Ife38fb101c53093117e6638c40c65f7d177a31d4
|
|
Previously the clip cache of TALK_PARTIAL_LOAD reserved space N clips, each slot
was as big as the maximum sized clip which was necessary to replace clips
in-memory in MRU-style.
The cache management now uses buflib to allocate and free each clip, using the
clip's real size. This allows the clip cache to be much more compact, because
no space is wasted for the max. sized clip. This makes use of buflib's ability
to easily manage differently-sized memory chunks by moving them to make free
space.
As an example: for english.voice TALK_PARTIAL_LOAD allocated 288k in advance.
for just 64 clips. With this patch ~70 clips can be stored in a 100k buffer.
This, the memory usage is cut by 2/3 and almost optimal (there's still the
buflib per-alloc cookie overhead).
As a result the TALK_PARTIAL_LOAD buffer is restricted to 100k which still
allows for more clips than previously, on average.
Change-Id: I257654071e9a95770cd6db2c2765f020befce412
|
|
This engine includes voicefile, memory usage and cache
hits/misses for TALK_PARTIAL_LOAD.
Change-Id: I331981ddda39ea30c57b4b74504accb3c556c3b9
|
|
Change-Id: I3a04760d550efab7f011a917597ef29c039b05bd
|
|
This is necessary because when voice is active audio is disabled. But only
audio was able to shrink it's buffer to let other memory allocs succeed.
talk needs to be able to do this too when it owns the audio buffer exclusively.
Change-Id: Idea8ab90da7169f977c0c766cccb42c4fe6d6e81
|
|
talk_init() is called by settings_apply() already which is called on boot.
Doing it again means loading the voicefile a second time which isn't necessary.
Change-Id: I4decd16401e63bf87338d3163c99d06d69fe3a3c
|
|
63cfbe0 fixed the number of codepages for bitmap targets. The same issue is
present on charcell, so update the number for that as well, fixing UTF-8
missing in the list.
Change-Id: Ib5d3494ed3d80e839ae3f59ec0a4277e5aa9d6fd
|
|
hopeless.
Change-Id: I420155d7f01ca0ea301c0678ac7245d251d365b0
|
|
When the policy is not set, it'll by default not give the clip buffer away.
Callers of core_alloc_maximum() suffer from this. However, the thumbnail
buffer can be easily freed when needed because nothing needs to be
reloaded from disk when it is reallocated (thumbnail clips are loaded on
demand, when in the file browser). Do this to give core_alloc_maximum() callers
a better chance to succeed with the default talk buffer policy.
Change-Id: I8c0da29c520612ca903f6c930bd7c74ae97eca3b
|
|
In most of the translations strings with SYSFONT in title is
translated. This leads to displaying problem in (at least) graphical
equalizer due to the lack of non-latin character support in the
built-in font.
Change-Id: I0d27a5358e4eb539d4247c84975d8501d7668836
Reviewed-on: http://gerrit.rockbox.org/727
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
|
Change-Id: Ice40c81d0d07f7ec2014697e4de446dcb956afe8
|
|
changed.
When skins use the default backdrop (via %X(-) or no %X at all) and the setting
changes it needs to be reloaded, otherwise when changing themes the new theme
could show the backdrop from the previous theme. The same needs to be
done when re-selecting the same theme after USB because the backdrop file was
potentially overwritten.
Fixes FS#12892 and FS#12942.
Change-Id: Ic2d20740cc385fa99667ce8a71507dbda2efceaf
|
|
Change-Id: I1259c43019c51828b2af73f312aee9cf399d57cf
|
|
2d9c0bab added a codepage but didn't increase the number of choices
for the setting, so UTF8 dropped off the list.
Change-Id: I154032bddaabcb783212370a12b2e5cdea305302
|
|
The old method simply polled the lastbtn variable in button.c. This approach
does not clear the button event queue which overflows as a result (panic
in the simulator). Use proper APIs to fix that and adopt the
method from the old read_scroll_wheel() function, which reads buttons until
the button queue is empty, for all targets.
Change-Id: Ibf198f6e597e7f51ab4ebcfcae4ebebbe8d7845c
|
|
Change-Id: I703d967e9288e5c74556b54ad4f72ef2f6247083
|