Commit graph

495 commits

Author SHA1 Message Date
Michael Sevakis
31b7122867 Implement time-based resume and playback start.
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>
2014-03-10 04:12:30 +01:00
Thomas Martitz
d146970ca1 lcd/grey: Enable viewport fg_pattern and bg_pattern for all bitmap targets.
Greylib performed a horrible hack and stored fg and bg patterns in other
struct viewport fields. One of them was just removed. So instead of
this hack simply enable the *_pattern fields for mono targets as well,
so that greylib can use them normally.

Change-Id: Ib0842ebcc97f5bf9d9382b4471903afa2f96f39f
2014-01-07 22:14:41 +01:00
Thomas Martitz
4978094480 lcd-common: Remove support for custom line heights from viewport.
Since scrolling is now pixel-based this is not necessary anymore. custom line
height is handled by put_line() but can also possible to implement with
lcd_puts_scroll_func().

Change-Id: Iee9b12bf99afac93d95d2a1a6f5d5b4db237b21c
2014-01-07 14:13:48 +01:00
Benjamin Brown
8b06039541 Fix typo in apps/plugins/lib/pluginlib_actions.c
BUTOTN_REL should be BUTTON_REL

Change-Id: I5b4aaeb87f31c5c0779656651b074512e22bcc4e
Reviewed-on: http://gerrit.rockbox.org/663
Reviewed-by: Benjamin Brown <foolshperson@gmail.com>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-11-17 21:27:18 +01:00
Amaury Pouly
e387a746d2 sonynwz: add pluginlib keymap
Change-Id: I7753fb8d9a5f9e2e95dfaa03ce8d2469ae0bd74a
2013-11-14 16:44:16 +00:00
Michael Sevakis
95e23defb0 Make fixepoint.c as a shared library (libfixedpoint.a).
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-04-26 00:11:04 +02:00
Thomas Martitz
fd9e256890 Use equivalent puts_scroll() call.
Change-Id: I09e5046f153a276fa6eb047e040b8f752e73d03c
2013-04-14 18:04:46 +02:00
Michael Sevakis
f49e750531 Move fixedpoint.h to be accessible in /firmware.
Will need it soon enough.

Combine the contents of all the various fixedpoint.h files.
Not moving fixedpoint.c for now since I'm not sure where it
should be and it causes some dependency issues.

Change-Id: Ideacbca2ca78f9158c2b114b113c274f68e908d5
2013-04-10 13:28:35 -04:00
Michael Sevakis
f5b7134f59 Consolidate identical fixedpoint exp and ln functions.
grey_core.c and fixedpoint.c each had their own copies. grey_core.c
can use the ones fixedpoint.c. fixedpoint.c gets the more complete and
optimized version of fp_16exp from grey_core.c.

Change-Id: I43ee3add60796b06ed12012fbbd91815d64675a6
2013-04-09 19:07:35 -04:00
Richard Quirk
212e7808d5 Use crc32 of filename to resume tracks
As well as using an index, which breaks when a file is added or
removed, use the crc32 of the filename. When the crc32 check passes the
index is used directly. When it fails, the slow path is taken checking
each file name in the playlist until the right crc is found. If that fails
the playlist is started from the beginning.

See http://www.rockbox.org/tracker/6411

Bump plugin API and nvram version numbers

Change-Id: I156f61a9f1ac428b4a682bc680379cb6b60b1b10
Reviewed-on: http://gerrit.rockbox.org/372
Tested-by: Jonathan Gordon <rockbox@jdgordon.info>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2013-01-02 08:29:38 +01:00
Michael Sevakis
371c86bf3f Adapt OSD in plugin lib to be greylib compatible.
Requires addition of viewports and alternate framebuffers to greylib
which are essentially similar to the core implementation except that
the framebuffer can be any size and relationship to a viewport. Drawing
is always fully clipped to the intersecting area.

Adapt oscilloscope.c to the API change. FFT will use the new features
(later update).

Get rid of silly and wrong lcd_bmp_part use in OSD. Remove it from
plugin API (must be made incompatible now).

Change-Id: Iafa5e2174148fb8ad11db6b9d4add0dcabc5c563
2012-12-18 19:16:26 -05:00
Michael Sevakis
0f8aedbe94 Add a true waveform display to the oscilloscope plugin.
* Adds some additional niftyness like a floating popup display that
is implemented in an OSD library for use by other plugins.

* Speed changes are now gradual for both views and follow a curve
derived from some fiddling around to get a nice feel.

* Refined a few behavioral things overall.

It needs a bit of help from a direct PCM channel callback so it may
capture PCM for waveform display. Also need a few other core routines
to help out for the OSD.

Messes with some keymaps. Some targets need keymaps to access the
different views. Some devices can't support the additional view
because it requires a large buffer ( > 1 s) for samples.

If the plugin buffer is small, they can still use the popup display
since the plugin is also much smaller in that case.

Slow speed waveform needs some refining so it draws gradually like
a real oscilloscope but I'll stick with what it is, for the moment.

Change-Id: Ieb5b7922a2238264e9b19a58cb437739194eb036
Reviewed-on: http://gerrit.rockbox.org/245
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-12-05 02:03:58 +01:00
Marcin Bukat
5dec7af1ec Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"
This was commited by accident, sorry.
2012-10-24 14:05:39 +02:00
Boris Gjenero
c975de1534 SH gcc 4.6.3 with link-time optimization, for Archos targets
This is work from FS#12431 synced to current HEAD and slightly
tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22)

Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
2012-10-24 14:02:41 +02:00
Thomas Martitz
d523fd6e64 load_code/overlay: Don't close plugin handle before calling the plugin.
Doesnt fix an actual bug because closing a handle is a no-op on all
native targets and others dont use overlay.

Change-Id: Ie55e3fd4abd08b174d86ca25aed54a970dddbebd
2012-05-26 22:57:21 +02:00
Frank Gevaerts
9db0cf0f93 Fix typo in error message
Change-Id: I69c87fac21b034b639fbce4324397b273d66d41b
2012-05-19 18:53:17 +02:00
Amaury Pouly
12c64a4b79 Initial commit for the Creative ZEN X-Fi2 and X-Fi3 ports
These are really similar devices so one commit for both is ok.

Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3
2012-05-19 16:10:52 +02:00
Andrew Ryabinin
6ee3fc81d9 hm801: Add support for plugins.
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
397863ab3d hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-04-19 17:31:13 +04:00
Jean-Louis Biasini
c978665025 Fuze+ PLA_EXIT slight mapping cleanup
1) On all non PLA plugin, power button is used for exit. For consistency,
we set PLA_EXIT to power button.
2) Manual updated accordingly

Change-Id: Ia4b8fce13bad2f8dc0710cdb29ccf6c74b3fd9c4
Reviewed-on: http://gerrit.rockbox.org/91
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2012-02-09 16:43:53 +01:00
Marcin Bukat
5863361fbf MPIOs: keymap tweaks
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2012-02-02 14:55:51 +01:00
Thomas Martitz
aba5c47dd6 pluginlib_touchscreen: Rework API to offer wait-for-button APIs.
The old touchscreen_get() needed an external button_get() call. Now two APIs are
added that do this call internally. This way they behave similar to get_action.

The old API is preserved (but renamed) since it's used in reversi.

Change-Id: I24902c64a357f2fdd7d0c2f5371cbfd20f34f1c8
2012-01-27 09:15:05 +01:00
Thomas Martitz
6eeca7096d PLA: Add map for android. Directional keys not available in point mode due to
touchscreen.

Fix cowond2 select repeat at the same time.

Change-Id: I3ee0c2a3fdc74978c159335949c183d36d5d29af
2012-01-27 09:15:05 +01:00
Thomas Martitz
8a43603975 Fix flag for the viewport. Text is supposed to be centered.
Change-Id: I8b29787fb99e0469c9e4a0b0ea08e61d3ff92589
2012-01-23 01:08:11 +01:00
Thomas Martitz
cf333a61c7 Move supprt-arm.S to separate library.
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery.
Don't build it for hosted targets.

Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2012-01-21 18:39:19 +01:00
Jean-Louis Biasini
7f26a10d31 fuzeplus: update plugins keymaps (FS#12405)
Signed-off-by: Amaury Pouly <amaury.pouly@gmail.com>

Change-Id: Ib94cec07c80892eb50471c87b83e2701911ea0d7
2012-01-15 02:29:30 +01:00
Amaury Pouly
fdf574adb4 fuze+: Update plugin keymaps (FS#12405). Thanks to Jean-Louis Biasini
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31598 a1c6a512-1295-4272-9138-f99709370657
2012-01-07 18:00:55 +00:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Tomasz Moń
e8a8a1be43 Sandisk Sansa Connect port (FS #12363)
Included are drivers for buttons, backlight, lcd, audio and storage.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 14:08:01 +00:00
Boris Gjenero
415f579bf3 Fix assembler .size directives. Currently used binutils don't complain, but 2.21.1 treats these as errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30945 a1c6a512-1295-4272-9138-f99709370657
2011-11-09 19:20:33 +00:00
Thomas Martitz
a13e9644b5 - Fix some reds by implementing lcd_get_dpi().
- Use the list item centering capabilities in the plugin lib
- Bump plugin ABI for the changed viewport struct (sort the API too).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30775 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 18:28:35 +00:00
Amaury Pouly
afb49fb452 fuze+: add pluginlib keymap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30640 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 15:39:23 +00:00
Marcin Bukat
6d5671a8d8 rk27xx - enable a few test plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30459 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 12:39:49 +00:00
Thomas Martitz
42f10e04df Remove buflib from the pluginlib and use the core one.
buflib_get_data() isn't inlined for plugins anymore, but can be if really needed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30387 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 16:48:36 +00:00
Thomas Jarosch
9dcde3571c Also fix uninitialized variables in xlcd_scroll_up()/xlcd_scroll_down()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30354 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 20:47:44 +00:00
Thomas Jarosch
bc6dd127e3 Fix use of uninitialized memory in xlcd_scroll_left() / xlcd_scroll_right() in special cases
Only valid for:
LCD_PIXELFORMAT == HORIZONTAL_PACKING && LCD_DEPTH != 2

Found by "cppcheck".

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30348 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 19:34:15 +00:00
Michael Giacomelli
0497adffcf Commit FS#12130 - Fix ADX decoding on 64-bit systems by Sean Bartell. Fixes an incorrect assumption in the ADX decoder that sizeof(int) == 32 when performing fixed point math. Update comments in the fixed point library to correct this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29927 a1c6a512-1295-4272-9138-f99709370657
2011-05-26 21:22:29 +00:00
Thomas Jarosch
f9f89cf5cb RaaA: Fix write locations of plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29506 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 23:43:54 +00:00
Thomas Martitz
bf1ca7041e Hopefully all green now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29263 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:51:11 +00:00
Thomas Martitz
c64e5e675a Fix remaining reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29262 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:38:36 +00:00
Teruaki Kawashima
01313d5039 * Rename backlight_force_on to backlight_ignore_timeout to make it clear what the function does.
* Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp.
No functional change except lamp.
See aslo FS#9883.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 12:29:16 +00:00
Marcin Bukat
c2c7628464 HD300 - greylib callibration data (taken from iAudio M5 - works well)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28713 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 10:52:31 +00:00
Marcin Bukat
dd61702fb0 HD300 - plugins keymaps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28712 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 10:52:14 +00:00
Robert Menes
450a4e4380 Commit a few more GoGear HDD6330 keymaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28445 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 10:58:08 +00:00
Marcin Bukat
59ba8fea22 MPIO HD200: rename button defines to adhere how they are labeled on the device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28443 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 10:44:34 +00:00
Teruaki Kawashima
f2dbbf45de lamp plugin:
-handles sys_events.
-disable idle poweroff (part of FS#11578 by Hayden Pearce.)
-correct button table in the manual.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28429 a1c6a512-1295-4272-9138-f99709370657
2010-11-01 13:37:00 +00:00
Robert Menes
0c8b5594ae Add plugin keymaps to fft for the GoGear SA9200.
Also fix some errors in pluginlib_actions.c which
were causing the SA9200 build to crap out when
building plugins, and also disable plugins for the
SA9200 in the configure script (no idea why they
were enabled in the first place!)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28316 a1c6a512-1295-4272-9138-f99709370657
2010-10-21 02:45:06 +00:00
Thomas Martitz
3022a60cc2 Rename {draw,fill}_viewport once more (to draw_border_viewport and fill_viewport) and remove the viewport parameter as suggested by Dave Chapman.
The parameter wasn't used yet and it's not clear whether it should be a absolute or relative viewport.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28242 a1c6a512-1295-4272-9138-f99709370657
2010-10-11 01:19:55 +00:00
Thomas Martitz
5462ef728f Add _rect to {draw,fill}_viewport as suggested by Jonathan Gordon to reduce the chance to confuse it with update_viewport().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28240 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:35:03 +00:00
Thomas Martitz
8a0152bd4a Two new lcd/multi screen api convinience functions: draw_viewport(), fill_viewport().
They work as the drawrect/fillrect pendants but work on a viewport basis; pass NULL to draw the current viewport (the one set with set_viewport()).
In conjunction with action_get_touchscreen_press_in_vp() it should be less of a pain to draw buttons and get presses on them.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28239 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:15:05 +00:00
Thomas Martitz
bf301fdbb6 Fix a few div0 cases forgotten in r27684 to enable enabling asm optimizations for android builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28235 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:43:40 +00:00
Teruaki Kawashima
462771066b correct comment in configfile.h, FS#11292 by Chris Savery.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28234 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:34:07 +00:00
Teruaki Kawashima
38e88f35f4 use different function to resize bitmap for greylib.
it is confusing that same function expects different data type (fb_data or unsigned char) depending on the target.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28233 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:24:11 +00:00
Marcin Bukat
2dbe569aff fix red
simple_resize_bitmap() can deal with greylib now but I missed
that it was compiled only for LCD_DEPTH > 1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28187 a1c6a512-1295-4272-9138-f99709370657
2010-09-29 21:09:03 +00:00
Marcin Bukat
289e862695 fix bitmap scallers smooth_resize_bitmap() and simple_resize_bitmap() to properly handle LCD_STRIDEFORMAT == VERTICAL_STRIDE case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28185 a1c6a512-1295-4272-9138-f99709370657
2010-09-29 20:38:08 +00:00
Thomas Martitz
0d4585b28f Extend lc_open() to also being able to load overlay plugins.
For this it needs to look at the plugin header. Since lc_open() doesn't know
it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
2010-09-09 16:17:21 +00:00
Rafaël Carré
17e5399d3d buflib_get_data(): static inline ensures it will be inlined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28018 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 14:09:06 +00:00
Rafaël Carré
ab9fd1840b plugins: use lcd_putsf/lcd_putsxyf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27926 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 21:46:45 +00:00
Frank Gevaerts
67096fae73 Fix typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27916 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 15:06:06 +00:00
Magnus Holmgren
1bf5777af2 Fix building simulator plugins on Cygwin. A DLL stub containing atexit is linked to the plugins, so give our version a prefix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27893 a1c6a512-1295-4272-9138-f99709370657
2010-08-26 15:44:32 +00:00
Rafaël Carré
5615881955 Remove a bunch of build conditions inside .c files
Fix logic in pacbox makefiles for asm optimizations

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27887 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 19:14:02 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
46454ac2a8 Move setjmp to lib and add setjmp for sh (imported from newlib) and compile it as separate library.
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 12:38:42 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Rafaël Carré
33f5b60999 strncpy.c / assert.h : need to include _ansi.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27549 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 14:53:06 +00:00
Teruaki Kawashima
ddbfffb217 improve displaying of string containing diacritic characters. add some characters to determine the position to break line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27401 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 14:59:16 +00:00
Teruaki Kawashima
5af120f1cb some improvements for simple viewer.
* displays a scrollbar if there is more text than currently displayed.
* enables to scroll text by scrollwheel.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27175 a1c6a512-1295-4272-9138-f99709370657
2010-06-29 13:33:19 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Teruaki Kawashima
926aae8161 reorder apps/plugins/lib/SOURCES.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26919 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:49:36 +00:00
Marcin Bukat
341653e3af HD200 - calibrate lcdlinear[] matrix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26910 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 11:58:26 +00:00
Teruaki Kawashima
8a52d171fe fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26688 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 11:13:30 +00:00
Teruaki Kawashima
0c7eb41da8 add simple text viewer to pluginlib and use this for dict to show description.
now dict can scroll the description. it might not show full description if it is too long or memory is not enough.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26687 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 11:07:36 +00:00
Marianne Arnold
9becb7a085 Add a mapping for the PLA_EXIT action for Iriver remote and provide it in the manual as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26591 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 17:29:06 +00:00
Marianne Arnold
15935a6b75 Fix PLA_EXIT and PLA_CANCEL for the Iaudio M5 and X5, make them more intuitive and add the missing remote actions for it at the same time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26587 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 16:21:34 +00:00
Michael Sevakis
e63e84a5df Convert some more stuff to mylcd_ and support pgfx as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26543 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 13:22:50 +00:00
Michael Sevakis
bc26fe7a96 Add a wrapper header, mylcd.h, in the lib subdirectory, which lets plugins' code automatically call the proper functions depending if compilation is for greylib or color display, also forms proper call to grey_ and xlcd_. mylcd_ub_ call greylib unbuffered routines, regular lcd routines otherwise. Form is mylcd_<fnname>, <fnname> is the symbol name stripped of prefixes lcd_, grey_, or xlcd_. Convert a couple plugins I know well (easy job).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26542 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 08:43:32 +00:00
Michael Sevakis
30e2f42c82 FFT Plugin: Revamp the main code to rid it of 64-bit math. Use 32-bit kiss_fft_scalar because 16-bit integers are generally a poor choice for computation on-target. Simplify display code to speed it up. Add logarithmic frequency display (need keymappings, guessed on some). On dual-core, perform FFT on COP. Add some support function to fixedpoint.c. ... and stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26470 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 08:34:10 +00:00
Szymon Dziok
06601e5fba Vibe 500: fix the scrolling through the lists by implementing BUTTON_REPEAT for the scrollstrip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26268 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 19:48:06 +00:00
Rafaël Carré
427e871319 Clipv2 / Clip+ : lcd scanrate checked with test_scanrate
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26217 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 22:35:44 +00:00
Thomas Martitz
9d7d0b5af6 Fix reds: add m3 keypad, fix typo in the ipods part, correct button for h10, don't error out for touchscreens (onda vx777 has almost no tactical buttons).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26209 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 19:05:24 +00:00
Thomas Martitz
20e9d56ba5 S#10387 - Rework pluginlib actions
It changes pluginlib actions to contain only a single and simple context (and
other one for remote directional buttons),
consisting of 7(9) buttons: up/down/left/right, select OR short select and long
select, exit and cancel (plus 2 for scrollwheel targets).
This ensures contexts don't clash with other contexts and simplifies them, at
the expense of reduced versatility. However, the versatility made it largely unusable
due to the great number of targets.
This should allow for using pluginlib actions safely for the most simple plugins (e.g. almost all demos).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26202 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 17:41:28 +00:00
Marcin Bukat
bb3a3ec7b0 HD200 - adjust LCD_SCANRATE (changed a bit after PLL settings change)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26187 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 10:21:55 +00:00
Rafaël Carré
6e15b710c0 apps/plugins/lib/SOURCES: make it more readable (space, comments, order)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26143 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 14:14:48 +00:00
Marcin Bukat
a62db97b38 HD200 - add support for the device in greylib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25930 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 13:06:38 +00:00
Frank Gevaerts
8d4ff638b9 Fix size_t handling in plugin_get_buffer()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25884 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 19:27:42 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Thomas Martitz
c61e89c0ed Make creat() posix compliant API-wise. Shouldn't affect the core as it's wrapped via a static inline.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:04 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Teruaki Kawashima
0cf4cab431 plugins/lib: remove out-dated comments about plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24907 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 12:14:36 +00:00
Teruaki Kawashima
c1bb06c3af plugin: implement highscore_show for player and use it in rockblox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24861 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 13:45:24 +00:00
Teruaki Kawashima
56d29e8977 some changes to use of display_text.
* add parameter, wait_key to display_text().
 - set this true to wait button press after all words is displayed.
* use ARRAYLEN macro instead of #define WORDS
* add macro to indicate end of style array.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24846 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 07:17:15 +00:00
Szymon Dziok
05577e48a8 Packard Bell Vibe 500: Start committing plugin keymaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24610 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 22:40:17 +00:00
Andrew Mahone
bff5a35c3c FS#10943, optimized division and clz routines to replace libgcc routines for ARM. Replaces libgcc support functions for unsigned and signed 32-bit division on ARMv4 and up, and leading-zero count on ARMv4.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24432 a1c6a512-1295-4272-9138-f99709370657
2010-02-01 01:36:46 +00:00
Torne Wuff
9e16161832 pluginlib: Support calling a function at exit time to clean up open files
or other similar work. This is not quite the same as atexit() on POSIX as
the function is *not* called if the plugin exits by returning from
plugin_start; only if exit() is called. No code overhead if it's not used.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24189 a1c6a512-1295-4272-9138-f99709370657
2010-01-05 22:17:32 +00:00
Bertrik Sikken
6fef14bd16 Set svn:keywords property on .c and .h files that didn't already have it. Correct svn:executable property on some files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 14:28:09 +00:00
Tomer Shalev
47ddbaa47b Cowon D2: Rename COWOND2_PAD -> COWON_D2_PAD to match macro used in manual, and
to target naming conventions in general


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24010 a1c6a512-1295-4272-9138-f99709370657
2009-12-15 20:51:41 +00:00
Tomer Shalev
82a6fb0649 Cowon: Fix wrong pluginlib action
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23937 a1c6a512-1295-4272-9138-f99709370657
2009-12-12 07:21:41 +00:00
Robert Menes
b4a40eb6f3 These are the last plugin keymaps needed for the GoGear SA9200.
Left to add in: a 128x160 backdrop for rockblox to stop errors
when compiling and then to finally enable plugins.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23915 a1c6a512-1295-4272-9138-f99709370657
2009-12-10 01:23:51 +00:00