This resolves a long-standing issue with ATA errors in certain
situations, mostly in CF card modified units.
Change-Id: Iec23fa6de117a6c9657320432ed585170e95a4eb
* HOME_DIR is now either "/" or special "<HOME>"
* target-specific "home dir path" is defined solely by PIVOT_ROOT
* PIVOT_ROOT path is now defined in toplevel config files
* Make Samsung YP-R0/R1 and SONY_NWZ use PIVOT_ROOT too
* Do not prepend PIVOT_ROOT path if the path already has it!
* Do not play these games for __PCTOOL__ builds
Change-Id: I3d51ad902a5f9cafe45ba15ba654f30f1ec6113a
The Q and K have a slightly different case, but the hardware under the
shell is completely identical.
These models are rebadged versions:
* Hifiwalker H2 (== Q)
* AGPTek H3 (== K)
* Surfans F20 (== K)
Other notes:
* Significant improvements in the shared Hiby-platform launcher/loader
* SD card can theoretically be hot-swapped now
* Support external USB mass storage!
* Some consolidation of Hiby-platform targets
* Some consolidation of plugin keymaps
Todo/known issues:
* Keymaps need to be gone over properly
* Convert to HAVE_SCROLLWHEEL?
Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
Most credit goes to: Roman Skylarov
Additional integration and refactoring by myself.
*** COMPLETELY UNTESTED ***
Change-Id: Ia64c36d92e0214c6b15f7a868df286f8113ea27b
This codec requires floating point.
Original author: Peter Sovietov
Ported to Rockbox: Roman Skylarov
Further integration and bugfixes: Solomon Peachy
Change-Id: I781ecd3592dfcdbbc694063334350342534f1d6c
lua gives you a memory used number that only reflects the current allocations
if fact it doesn't even give you a way to get the amount of ram free
rb.mem_stats() seeks to fill this gap by marking the memory allocated for lua
with a sentinel value which can later be checked to get a high water mark
of the ram used by lua and a pretty good idea of how much ram is available
Also includes an example script
usage:
used, allocd, free = rb.mem_stats()
Change-Id: Ia282869f989848324d7d88c7df4827fdbce4fb4e
checks button_status in rockev
strpbrk_n custom implementation allows setting max search len in source string
add some branch prediction where appropriate
fix formatting in splash_scroller script
Change-Id: Id5d8e9d83f4b3e361ccb67b403af8f9a8a31b8f0
lua currently splashes a stack traceback on error
for deep tracebacks and especially on devices with smaller screens
this leaves out a lot of vital information
in the past I have resorted to splitting the traceback string or
even saving the return to a file
This patch provides a scrollable buffer with rudimentary text reflow
to allow you to read the whole traceback string
Upon traceback if you press nothing the screen will display for 5 seconds
If you press OK or CANCEL it will quit immediately
PREV/NEXT scrolls the list on button press timeout is disabled
lua now provides rb.splash_scroller(timeout, str)
example script provided too
Change-Id: Idbc8ce0c514196f0fae48c43aeaea8b60d6da1a5
check if any buttons are waiting in the queue before triggering
the event thread for action & button events
makes button events quicker and also spend less time interrupting lua
both wins
Change-Id: I38346c084afdd99e4608f40b52053ee39730fb40
cool little lua based audio player
creates dynamic playlist of 10 mp3s found on device if no music loaded
I had to limit the depth of search to 3 levels due to the recursive
nature of the current dirbrowser functions this could be rectified with a
bit more code
fixed a bug in print.lua that kept scrolling text even after screen clear
Change-Id: Ifd285332df41a409ecaeb1ea447ad15537b5d04c
I had previously added the fuctionality to luadir but I didn't update
the examples
also breaks out the file_browser function to be a bit more accessible
Change-Id: I14067256b9d76a757f732840cbee1cf84d775b1b
Remove mp3_is_playing() entirely, in favor of pcm_is_playing()
Remove mp3_play_pause() entirely, as it's a dummy/no-op call
Remoce some archos-specific comments
Change-Id: I4e9ff323490a93add00809efd19e0d4e3f198b2d
Fixes deficiencies with the button system on the X3
The x3 has an interesting button layout.
Multiple key presses are NOT supported unless
[BUTTON_POWER] is one of the combined keys
As you can imagine this causes problems as the power button takes
precedence in the button system and initiates a shutdown if the
key is held too long
instead of BUTTON_POWER use BUTTON_PWRALT in combination with other keys
IF using as a prerequsite button then BUTTON_POWER should be used
Multiple buttons are emulated by button_read_device but there are a few
caveats to be aware of:
Button Order Matters!
different keys have different priorities, higher priority keys 'overide'
the lower priority keys
VOLUP[7] VOLDN[6] PREV[5] NEXT[4] PLAY[3] OPTION[2] HOME[1]
There will be no true release or repeat events, the user can let off the
button pressed initially and it will still continue to appear to be
pressed as long as the second key is held
Tree scrolling is PLAY+NEXT or PLAY+PREV
Change-Id: I88dfee1c70a6a99659e8227f5becacc50cc43910
shortcuts can be exported as .opx; now they can import as well
if parameter is a valid file..
plugins with parameters are now hashed on the parameter path
fix bug with empty parameters not overwriting last valid parameter
Change-Id: I149519811f07cb4ba22b7113449e2f89f77f1eee
OP allows you to use Open With.. to call plugins with parameters
called directly it acts as a shortcut list for plugins
open_plugins.rock interfaces with the open_plugin core
When opened directly it acts as a viewer for the plugin.dat file
this allows you to edit the paths and parameters for
core shortcuts as well as your added plugins
If a plugin is supplied to the viewer it is added to the dat file
If instead the plugin has previously been added then it is run
with the parameters you previously supplied
-----------------------------------------------------------------------------
Added export to .opx files
this allows shortcuts to plugins with parameters to be called from
the file browser
Change-Id: Ib8b05a60b049fb1d5881031ca09a07e3307d375a
open_plugin allows arbitrary plugins to be called
in hotkey and start screen
replaces PictureFlow Integration
shortcuts menu plays plugins now too
rather than store paths and parameters in the settings
that reside in memory instead entries in a file are searched by hash.
after all, the plugin has to be loaded from disk anyways
----------------------------------------------------------------------------
shortcut_viewer.rock-- can now call plugins rather than taking you to them
in the browser
-----------------------------------------------------------------------------
Added a new option to menus:
F_CB_ON_SELECT_ONLY
instead of option callback every time a item is accessed
F_CB_ON_SELECT_ONLY fires callback only when item is selected
-----------------------------------------------------------------------------
Added manual entries
-----------------------------------------------------------------------------
Change-Id: I078b57b1d2b4dd633c89212c1082fcbc1b516e6a
* Get rid of the non-functional GT2 loader
* Add the UMX loader
* Add HQ mixer routines (and make it configurable)
* Allow samplerate to be configured at run/playtime
* Support >64KHz mixing/playback
* Correctly restore non-boost status
(The diff to upstream is much smaller now too!)
Change-Id: Iaa4ac901ba9cd4123bb225656976e78271353a72
I'd overlooked this code path earlier. In the case of an unknown GRP, the
game would poll SDL for keyboard input, which it never received. Remove
that, and just warn the user instead.
Change-Id: Ibbabc0f8d43cb1276ed2fcfc3c6138517582e936
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