Commit graph

38 commits

Author SHA1 Message Date
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35: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
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
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
Karl Kurbjun
ae181ca0ca Clock: Fix rendering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22617 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 04:13:38 +00:00
Karl Kurbjun
25123570c7 Fix STRIDE macro for multiscreen and add stride support for picture lib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22615 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:46:24 +00:00
Rafaël Carré
bdb5974c0e Revert r21912 : "Storage API : remove undeeded target-specific functions"
After a discussion mixed on mailing list and irc, it was agreed that
more abstraction for plugins is better (so developers don't have to add
a check to HAVE_DISK_STORAGE when writing disk-specific code)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21923 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 16:34:34 +00:00
Rafaël Carré
8eba69f91b Storage API : remove undeeded target-specific functions
storage_sleep, storage_spin, storage_spindown are only defined if #defiend (HAVE_DISK_STORAGE), not for MMC/ATA/SD
remove already unneeded nand_disk_is_active, nand_soft_reset

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21912 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 00:09:14 +00:00
Teruaki Kawashima
2a972ff440 set svn:keywords property
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21809 a1c6a512-1295-4272-9138-f99709370657
2009-07-12 15:04:56 +00:00
Maurus Cuelenaere
802743a061 Take 2 at 'Consolidate all fixed point math routines in one library' (FS#10400) by Jeffrey Goode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21664 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 18:06:07 +00:00
Alexander Levin
a4837027c5 Make clock menu capitalizing consistent (FS#9939). There is an ongoing
discussion about using sentence case (FS#9948) but for now consistence 
is better.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20153 a1c6a512-1295-4272-9138-f99709370657
2009-03-01 10:39:02 +00:00
Thomas Martitz
15dbde1ab7 Accept the first patch at FS#9953 - Add Playback Control to more plugins, by Joshua Simmons
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20111 a1c6a512-1295-4272-9138-f99709370657
2009-02-26 17:10:27 +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
a091d20ba0 Added 'keywords' and 'eol-style' properties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 19:54:23 +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
Frank Gevaerts
2f8a0081c6 Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +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
Nils Wallménius
4840682e25 FS#8995 by Mark Ganson fixing the display of am/pm for the digital clock mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17526 a1c6a512-1295-4272-9138-f99709370657
2008-05-15 20:16:38 +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
Nicolas Pennequin
357ffb3c46 Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Jens Arnold
2bf4178018 Make mpegplayer sleep the disk after buffering to save battery. * Add a simulator stub for ata_sleep(), and un-ifdef most calls to it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17096 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 12:24:47 +00:00
Jens Arnold
fef82552e1 Optimise some more line drawing calls.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17083 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 09:51:16 +00:00
Jonathan Gordon
5ca1539969 the menu and list now accepts a parent viewport to draw in (and the menu can be told to not show status/button bars). This lays the groundwork to fix colour problems with plugin menus (see star.c for an example.) This hopefully fixes some button bar issues as well as theme problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16812 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 03:35:24 +00:00
Robert Kukla
4071826c81 save clock plugin settings in correct directory
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16688 a1c6a512-1295-4272-9138-f99709370657
2008-03-17 22:27:25 +00:00
Kevin Ferrare
ebe5acfb9d Fixed the problems on the new version of the fire plugin (so repush it), added new actions to the pluginlib_actions to fix the keymaps on the Sansa e200 for the clock and fire plugins. Also slightly simplified the metronome plugin's key mapping with those new actions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16148 a1c6a512-1295-4272-9138-f99709370657
2008-01-23 08:25:04 +00:00
Steve Bavin
feefc90a2a Change wording of date options to clarify; previously English format was not the format used in England.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16088 a1c6a512-1295-4272-9138-f99709370657
2008-01-14 13:21:05 +00:00
Jens Arnold
d3586837fa Stop wasting binary size + ram for several plugins. Plugins are supposed to be linked with --gc-sections, in case they use plugin library elements.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15997 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 21:07:05 +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
Jens Arnold
451dec17fe Clock: * Correct aspect ratio on archos recorders (target only, checking for LCD type). * Don't let the hands vanish if they are thin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14295 a1c6a512-1295-4272-9138-f99709370657
2007-08-12 15:50:07 +00:00
Jonathan Gordon
fda7d720c0 Accept FS#5464 - organise the rocks directory.
If any plugins or "open with" optoins dont work please let me know...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14214 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 13:42:52 +00:00
Kevin Ferrare
9d1e5e4d85 Clock plugin : added the repeat action to the mode/skin change button mappings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14195 a1c6a512-1295-4272-9138-f99709370657
2007-08-05 14:38:33 +00:00
Kevin Ferrare
1d91334428 made the jackpot plugin use the new common sprite functions, cosmetic change to the clock plugin's code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14182 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 15:13:28 +00:00
Kevin Ferrare
14d276121a Clock plugin : centered the binary plugin, moved the AM/PM mark to the right on digital display, reduced the thickness of the pseudo antialiasing for analog clock
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14181 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 14:50:28 +00:00
Kevin Ferrare
721c897ad9 clock plugin : check wether it's necessary to save the settings, correct format for japanese dates on analog screen, code a little more clear
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14178 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 08:32:49 +00:00
Kevin Ferrare
93b2f9fd44 Rewrote the clock plugin in a cleaner and more modular way so that it can scale on remote screens. Use left-right keys to change the type of clock displayed (analogic, digital, binary) and up/downto change the look of the clock
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14174 a1c6a512-1295-4272-9138-f99709370657
2007-08-04 03:01:46 +00:00