Commit graph

31 commits

Author SHA1 Message Date
Rafaël Carré
7014faee69 Remove build conditions inside .c plugin files
Rather use the Makefile to specify which files must be built
Fix color builds with test plugins enabled (test_scanrate gave an empty
.o file)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27886 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 19:00:58 +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
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
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
Andrew Mahone
23d9812273 loader-initialized global plugin API:
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by
__header.api

the loader uses this pointer to initialize rb before calling entry_point

entry_point is no longer passed a pointer to the plugin API

all plugins, and pluginlib functions, are modified to refer to the
global rb

pluginlib functions which only served to copy the API pointer are
removed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 10:34:40 +00:00
Björn Stenberg
c6b3d38a15 New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 11:27:31 +00:00
Peter D'Hoye
205f3df781 Remove a viewport ambiguity by changing the screens width/heigth members into lcdwidth/lcdheight. Normal usercode should always use getwidth()/getheigth() as that returns the viewport width/height. Fixes issues that would have appeared in many places when introducing viewports with sizes != lcd sizes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17857 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 20:45:21 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Steve Bavin
6526577818 Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 09:57:56 +00:00
Jens Arnold
bf2a33485f Fix some plugins not using the helper functions for the new backlight timeout handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15849 a1c6a512-1295-4272-9138-f99709370657
2007-11-29 23:55:58 +00:00
Kevin Ferrare
9fe6e0214f Demystify plugin would have crashed ...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13928 a1c6a512-1295-4272-9138-f99709370657
2007-07-19 04:28:10 +00:00
Kevin Ferrare
e68a2e6c41 Remote keys support for the demystify plugin (added remote_directions to the plugins actions), updated key bindings in manual
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13927 a1c6a512-1295-4272-9138-f99709370657
2007-07-19 03:49:43 +00:00
Kevin Ferrare
f074b4635b Cleaned up the demistify plugin a litle bit, switched the key handling to the action API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13926 a1c6a512-1295-4272-9138-f99709370657
2007-07-18 11:18:52 +00:00
Michael Sevakis
8970055ec1 Hopefully take care of the scrollwheel difficulties in plugins on e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13460 a1c6a512-1295-4272-9138-f99709370657
2007-05-22 06:31:44 +00:00
Marcoen Hirschberg
a7168feeac attempt to make the Gigabeat button mappings in the plugins more logical and in line with the mapping in rockbox itself
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13436 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 23:38:09 +00:00
Jens Arnold
85a226d4e7 Rename some macros to account for the recently added M5 port. No code changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12809 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 23:02:39 +00:00
Karl Kurbjun
1a9442c001 Hopefully clean up some errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11528 a1c6a512-1295-4272-9138-f99709370657
2006-11-15 06:46:35 +00:00
Karl Kurbjun
d6b0c97312 Don't need to remove the backdrop for all plugins - leave it up for some.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11526 a1c6a512-1295-4272-9138-f99709370657
2006-11-15 06:14:27 +00:00
Jens Arnold
5421e86969 Colorised demystify. Based on patch #5856 by Travis Hyyppa, adapted to properly work with the multi-screen API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11389 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 01:31:32 +00:00
Barry Wardell
24f4a2a8cf Allow the Sansa e200 UI simulator to be built. Thanks to Andre Smith for the nice image of the Sansa. Lots more to be done including testing and tweaking the keymaps and modifying the plugins for the Sansa's 176x220 LCD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11351 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 13:38:09 +00:00
Daniel Stenberg
1e88be518a Barry Wardell's keymappings for H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10446 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 20:17:25 +00:00
Kevin Ferrare
0028b05f3e Added multi-screen API to the plugins API, made 'demystify plugin' use the remote display as well
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10167 a1c6a512-1295-4272-9138-f99709370657
2006-07-01 10:14:27 +00:00
Kevin Ferrare
0e027bd90c To avoid having to use the main unit when accidentally launching a plugin from the remote, plugins now support remote quit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10157 a1c6a512-1295-4272-9138-f99709370657
2006-06-30 16:43:47 +00:00
Dave Chapman
fb4e384367 More iPod 3G work from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8835 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 20:54:09 +00:00
Marcoen Hirschberg
338e2bbb0c first gigabeat commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8831 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 15:42:52 +00:00
Daniel Stenberg
cedba8830f Matt v.d. Westhuizen's iAudio X5 keypad adjustments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8366 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 11:09:06 +00:00
Jens Arnold
a36b1d4083 New plugin loader. Solves the crashes introduced with the .bss changes while keeping the small binary size. The model & api version check is now part of the plugin loader. Codecs are not yet adapted, but the old method still works for them. Simulator plugins are not (yet) version-checked. API version numbering restarted, as this is an all-new system. Uses the target ID from configure, so don't change that too often.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8349 a1c6a512-1295-4272-9138-f99709370657
2006-01-15 18:20:18 +00:00
Dave Chapman
0dc63c1b71 Remove IPOD_NANO_PAD definition - the Nano's keypad has turned out to be identical to the other 4G models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8262 a1c6a512-1295-4272-9138-f99709370657
2005-12-19 00:11:28 +00:00
Dave Chapman
54d44c893f iPod: Initial attempt at button mappings for plugins. All plugins now compile, but more work is needed with the more complex ones to make them iPod friendly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8233 a1c6a512-1295-4272-9138-f99709370657
2005-12-14 01:31:37 +00:00
Jens Arnold
f23ab031a1 New demo plugin, screensaver style, by Kevin Ferrare.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7594 a1c6a512-1295-4272-9138-f99709370657
2005-10-07 22:22:07 +00:00