allows user to run plugin in background that voices
status messages
grouping is now working it counts ; as the end of a group
sleep timer remaining is not voiced if sleep timer is not active
TODO
manual entries
Change-Id: I39e8500df6440c07d2a3347513c749d5e155d1cc
As the PP series has no sense of cache coherency between its multiple
cores, we need to ensure the vo_data structure does not share cachelines
with anything else.
This was previously done by defining a uint8_t array and trying to
access it via typecasting hell, triggering a large pile of aliasing
violation warnings on newer toolchains and/or higher optimization
levels.
Instead of violating the C spec in an undefined-behaviour-sort-of-way,
create a union of the right size and alignment, and make one of its members
the structure we care about. Voila, everyone is happy.
Change-Id: Iad78f8132225437cd4aa10e6e5f6ae58ba996c19
statusbars, gui_syncstatusbar_draw(), and set_time()
mp3_play_data(), mp3_play_pause(), mp3_play_stop()
[mp3_is_playing() is still used by imageviewer]
(followup to the sh/archos exorcism..)
Change-Id: I06a1d981ffc86b8073fcfa2380a393a07347ab3b
Note: I left behind lcd_bitmap in features.txt, because removing it
would require considerable work in the manual and the translations.
Change-Id: Ia8ca7761f610d9332a0d22a7d189775fb15ec88a
'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
HAVE_LCD_BITMAP is now redundant.
lcd_bitmap is always-on in features.txt so manual and lang strings
don't have to change
Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794
Otherwise we might actually be talking when we try to switch, or
otherwise trash the state of the running talk thread, leading to
memory corruption or an outright crash
(This fixes a panic observed on the xDuoo X3)
Change-Id: I78e4232085c5c160c9ee4f18167dad8dad2b9287
rb core allows you to load custom keyboard layouts
this patch adds the ability to load a keyboard layout in a buffer
the custom layout is temporary and does not overwrite the current layout
use like so:
unsigned short kbd[64];
unsigned short *kbd_p = kbd;
if (!kbd_create_layout("ABCD1234\n", kbd, sizeof(kbd)))
kbd_p = NULL;
rb->kbd_input(buf,sizeof(buf), kbd_p);
Change-Id: I7be2bd4a1b4797a147fa70228a9749dc56ac052a
* 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
* Use consistent ID numbering
* Use consistent logic for voicelist and voicebin files
* Fix situations where English <-> English would fail in strange ways
* Delete leftover tmpfile.
* Off-by-one error in voice validation code
* Off-by-one error in voicelist generation
Change-Id: Ib3cea2c6612138b1cbe614dacbe51000199cc9ad
Check against min/max/step parameters
Many places this value is used as an index into an array; this will
help prevent array overflows and undefined/undesireable behavior.
Some fields accept arbitary values, continue to accept those.
Change-Id: Idbb5a17b7ceae5500660987703e2d6c16e920c92
keep running into the rigid nature of do_menu
it isn't too bad when you don't need voice but once
you do the fun awaits
do_menu likes to talk on menu enter which is in a loop when you use do_menu
I would like to move the processing to the callback
TOO BAD you only get an action and the menu_item_ex struct
you sent it when calling the function
Change-Id: Iaefd0cc133435d675b7dd27a558c504d6ccb327a
This header relies on stuff that might get defined in button.h, and
was reliant upon being implicitly included.
The last thing we want is a struct to change layout underneath us!
Change-Id: If96451bc5e2219031a592ab82c56045188dbe645
We were improperly conditioning the state reset with `do_pausemenu'. We
should reset the input state no matter what.
Change-Id: Iaafc59b95e9f1f053b57a34f0f28f7c672c0e327
The old debug menu item covered APM, which is optional in the ATA spec
However, despite basic power management being mandatory, several popular
ATA/CF->SD adapters do not advertise PM support and have problems when
it is used.
An earlier patch (g#2500 / 5462907) disabled sleep when the PM
capability bit was not set; this makes it visible in the debug menu.
Change-Id: I2f3dd1244798d7bbb8239ac159c6470774b0c05e
First I discovered a bug in the code to display the currently playing
album from the WPS
--on a NULL id3->albumartist field PF would crash
now checks for a match in id3->albumartist and then id3->artist
if neither exists then the search uses <untagged>
ditto for album
The album index feature (recently added) did not check for enough
room in the buffer on restore
--save and restore code cleaned up a bit
moved all buffers to their own struct
tracks with no title now show filename rather than <UNTAGGED>
Reworked album search function
album search was going quadriatic resulting in some outrageous
index build times [40mins+ for 4000 albums]
building now done in stages and duplicates removed at end
*MUCH FASTER*
Album art
empty album art is no longer stored in the art cache
PF will now allow you to cancel building album art without
forcing a rebuild next run,
it will continue searching for album art in the background
album art is now updated in the background on each start as well
tracklist now rolls over at the end
artist_index is now discarded after album_index is created
Cleaned up some of the myriad of global variables
Added quit prompt for index building
Added sanity checking for album_index loaded from disk
Change-Id: I8494cb7abcb1ae8645c223fc3c11dc0ee749883a
This was broken when the major update to iap was comitted.
ia-lingo7.c created and various iap related files modified.
On 4G, 6G and Nano 1/2Gen iPods the remote will function
even though the radio won't.
Tested on 4G Greyscale, 4G Color, 4G Photo, 4G Mini 1st Gen,
4G Mini 2Gen, Nano 1G, Nano 2G, Video 5G, Video 5.5G
Change-Id: Ia74e3d07d9ab5edc6da8eafa96801ede722be331
>
> I ran into an issue where my voice file would only load if I changed language while playing music. It seems to happen because when no other file is open, file.c alloc_filestr returns the first free handle which is 0. In talk.c this is treated as an invalid handle, so the voice file is not loaded.
Change-Id: I42db40b10cc7a900bdd72012d99265300e783e44
This works around an odd issue in Mines involving the zoom feature. The
chain of events leading to it is rather convoluted:
1. No save game is found, so no fonts are loaded from disk.
2. A new game is started.
3. The user selects the "Zoom" option.
4. The allocation of the zoom framebuffer causes the malloc code to grab
the audiobuffer. This causes all further font_load() calls to FAIL, due
to buflib allocations no longer working.
5. The user goes back to the normal view and uncovers a square.
6. Font loading fails, causing the drawing code to fall back to the system
font.
7. An unrelated bug (not yet tracked down) causes font_get(FONT_UI) to
return a different font.
8. font_getstringsize() returns the right size of the "wrong" font, leading
to centering issues upon rb_draw_text().
The real solution to this would be to fix font_get(), but this fix should
prevent the issue from happening if Mines has been run and saved at least
once before.
Change-Id: Ib9ad51376eeb3ca1113a1f3786124b612db88cd7
Frontends now have a way to retrieve the backend cursor position with some
changes I've submitted upstream. With this information, we can now follow
the cursor around in "interaction mode" while zoomed in, eliminating (most)
need for mode switching.
Also does some cleanup of the frontend code.
Change-Id: I1ba118f67564a3baed95435f5619b73cfa3ae87a
- zoom now remembers position between activations (but not when exiting the
plugin)
- key repeat enabled when panning
- moving mouse out of frame while zoomed will pan
- mouse can be moved diagonally
Change-Id: I39380ef7f36238700b6baa54cac036832933df67
We had some issues in Keen with the arithmetic operators not being rendered
properly. This is still a kludge (we should intelligently search the font)
but is still less ugly than the garbage it was drawing before.
Change-Id: I5b957c7371b659ea6d64847145f9913b2a892e48
We have a couple games like Untangle and mouse-mode games in which the
software poweroff is very annoying.
Change-Id: I554b89aecf8c7cc20c6c7f305be1b8807dc9283b
On some devices, the button driver allows a "software poweroff" by long-
pressing a certain key. This behavior is inconvnient when that button needs
to be held down for other purposes, such as moving the cursor in rockpaint
or sgt-untangle.
This patch allows selectively disabling the software poweroff (enabled by
default) from both core and plugin code.
Change-Id: I7580752888ae5c7c7c5eb1be5966e3d67f17d4b4
For some reason lcd_getstringsize was occasionally reverting to the system
font, rather than the loaded font. This was leading to improper font sizes
being reported.
Change-Id: Ie5fc31de9a6a7af739beb22efc3ec1383206eaea
I can't believe this has gone unnoticed for so long... We need to update
the game size upon loading games. Who knew?
Change-Id: I929f8139457853440ae687bd937af989fa7c6f93
The name buffer is using too much ram for some targets
will revisit later...
removed extraneous call to set_scrol_lline
Change-Id: I56d658149bcb0c50857d25924e37bcb46a612c75
- Extra data structure to store artist info.
- Create_album_index modified to perform a different query.
- Added load and save functions to store the data index in HDD.
- Album collisions fixed.
- New config options to perform rescans.
- Extra fields added to lang files: english and spanish.
Update CREDITS
Change-Id: I31814b38d8b4e7fa4b65f5e6e51aa5f00d271ece
using rockev for button presses
misc code refactoring, comments
drawing code is now split from game logic
cpu boost for targets that support it
removed quite a few if then statements by using dynamic functions
for ball draw, step, hit_check
shows two ways to do OO functions (closure and reference)
Change-Id: I63e795bbe90b033eabadc1f519cf3b635cf5e1a7
just a few tweaks to the RockEv backend to allow tighter event timing
originally there was a timeout where events would be consolidated
prior to running the event thread, this slowed the faster events
but it turns out this isn't really a big waster of time
The callback from C => lua is a far bigger bottleneck
Change-Id: Iffacbe49c4b83155099b1304590450f746576fa4