Commit graph

71 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
Bertrik Sikken
b01d8fa071 plugins: make local functions static for metronome, rockblox1d, wavview
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30711 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 19:33:52 +00:00
Andree Buschmann
d3934185ac Correct the metronome keymap in the manual. Better describe buttons/actions in metronome help text. Closes FS#11773.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29204 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 21:20:50 +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
Teruaki Kawashima
ffe8ceccf3 metronome: fix issue that backlight doesn't turn off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27218 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 13:35:16 +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
Torne Wuff
9ccccce655 Fix FS#10546 - metronome doesn't work on h1xx/h3xx.
Button mapping table was wrong after some pluginlib_action changes a while ago. Same problem in the Ondio mappings, so I fixed that too.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23658 a1c6a512-1295-4272-9138-f99709370657
2009-11-17 22:10:22 +00:00
Rafaël Carré
89ccd5c145 Remove int_prio argument from timer_register, and move the only use for it into alpine_cdc plugin, since this plugin is only built on SH7034
Also remove it from TIMER_START()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21558 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:46 +00:00
Andrew Mahone
499426caf9 remove MEM_FUNCTION_WRAPPERS, and private mem* implementations from plugins, and replace with pluginlib implementations in plugins/lib/gcc-support.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19847 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 22:57:57 +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
Nils Wallménius
f10446aff7 Delete unused var and slight style police
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19212 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 13:48: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
Björn Stenberg
0ca8c44f9d Data does not belong in .h files. Not even if it makes the .c file prettier.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18934 a1c6a512-1295-4272-9138-f99709370657
2008-10-30 14:39:20 +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
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
Jens Arnold
ac9b92716a Allow to select the core for running the user timer on portalplayer targets. * Incompatible plugin API change -> sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16965 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 19:38:46 +00:00
Jonathan Gordon
44047248ce fix FS#8701 - metronome doesnt change back to ui font after drawing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16585 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 02:36:17 +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
Marianne Arnold
071c2ac339 Reenable metronome on Archos targets which got lost during the big change to it in last summer and fix a warning (wrong data type). The plugin button action system causes problems with the Ondio controls (tapping and playing conflict, even though there are exceptions defined) and it's only halfway usable, probably this applies to the Player as well but couldn't test. It is still better than nothing and e.g. metronome is not completely controllable on c200 too where it is also enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16079 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 18:27:54 +00:00
Jonathan Gordon
81ba146706 Accept FS#8341 - rename BUTTON_SCROLL_UP/DOWN to FWD/BACK on the e200 to make it consistant with the ipods. apart from removing a bit of confusion, it fixes the wheel in pictureflow and possibly elsewhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16045 a1c6a512-1295-4272-9138-f99709370657
2008-01-10 08:08:31 +00:00
Kevin Ferrare
a2b14a5340 Fixed the metronome plugin crashing on target. Fixes <a href='http://www.rockbox.org/tracker/task/7421'>FS#7421</a>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14051 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 05:30:04 +00:00
Kevin Ferrare
4f08483b39 Least but not last
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14048 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 04:16:12 +00:00
Kevin Ferrare
f3114f3af2 How should I say ... oops ?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14047 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 04:01:46 +00:00
Kevin Ferrare
81aac2a430 Use multi-screen api for metronome plugin, and made it run in the simulator by implementing the timer functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14046 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 03:43:37 +00:00
Nils Wallménius
61cf9b8513 Move the MEM_FUNCTION_WRAPPERS macro into plugin.h and get rid of the extra header file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13628 a1c6a512-1295-4272-9138-f99709370657
2007-06-14 15:07:54 +00:00
Nils Wallménius
c7f9ca4067 Accept FS#7264 'Build with -Os switch for coldfire targets'.
Introduces MEM_FUNCTION_WRAPPERS(api) macro which adds wrappers 
functions to a plugin to make plugins link correctly when gcc
calls mem* functions directly.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13625 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 15:35:07 +00:00
Michael Sevakis
4354878901 Fix metronome errors for hw codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13605 a1c6a512-1295-4272-9138-f99709370657
2007-06-10 02:19:39 +00:00
Michael Sevakis
4597ebe24b Plugins that play sound must be sure to set inputs and outputs on audio muxed targets. Add strict adherence to the interface protocols. Make sure playback sets the playback output as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13604 a1c6a512-1295-4272-9138-f99709370657
2007-06-10 02:10:47 +00:00
Miika Pekkarinen
0569fae8ec Fix metronome plugin crashing on SWCODEC targets and fixed a division by zero as well when tapping in the beat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13129 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 17:58:42 +00:00
Jens Arnold
f9b90e9103 Now charcell displays require lcd_update() for updating the main lcd content like bitmap displays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13050 a1c6a512-1295-4272-9138-f99709370657
2007-04-06 22:55:00 +00:00
Jonathan Gordon
148c553023 fix metronome sync button
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11657 a1c6a512-1295-4272-9138-f99709370657
2006-12-04 01:04:14 +00:00
Martin Scarratt
1612275960 oops, its not as simple as that...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11650 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 16:49:36 +00:00
Martin Scarratt
85860c34c4 Enable syncing button in the metronome for I-Rivers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11649 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 16:35:28 +00:00
Jonathan Gordon
8e297d149f #if != #ifdef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11646 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 00:16:25 +00:00
Jonathan Gordon
fee5ca256b fix metronome keys
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11597 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 07:20:04 +00:00
Jonathan Gordon
10b00132c7 fix ondio keys, and tempo +/- on all targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11541 a1c6a512-1295-4272-9138-f99709370657
2006-11-17 00:50:35 +00:00
Jonathan Gordon
7b8b0ff491 implement actions in the plugins, bubbles and metronome converted.
(hopefully buttons are correct, let me know in
http://forums.rockbox.org/index.php?topic=5829.0 if there is a major
stuff up)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11535 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 02:53:44 +00:00
Martin Arver
2c1eec5533 Let SOURCES handle the sim exclusion for metronome
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11360 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 11:24:13 +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
Barry Wardell
18cfe431d7 Fix errors when building H10 Normal build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10668 a1c6a512-1295-4272-9138-f99709370657
2006-08-20 23:05:47 +00:00
Jens Arnold
1be25a4d71 Use TIMER_FREQ for timers in plugins. Fixes timer speed on iPod.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9427 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 12:45:30 +00:00
Daniel Stenberg
f474699027 Enabled metronome and battery_bench for X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9371 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 21:17:19 +00:00
Daniel Stenberg
220fafdd72 Code Police raid. Mostly changed // comments and indented to Rockbox style.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8894 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 08:14:44 +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
Brandon Low
413da2a3d9 Rework PCM buffer
* Linked list instead of static array buffer pointers
* Variable sized chunks
* Improved mix handling
* Reduction in duplicated code
* Reduced IRAM usage w/o sacrificing performance
* Converted to almost entirely unsigned math
* Add pause function to reduce pcm_* exposure to playback.

This WILL break playback on the iPod until linuxstb makes a followup commit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 20:38:55 +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
Linus Nielsen Feltzing
c7c9069ed4 Metronome patch by Martin Scarratt: BPM entry acceleration and proper stopping of playback on iriver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8348 a1c6a512-1295-4272-9138-f99709370657
2006-01-14 02:39:30 +00:00