Commit graph

631 commits

Author SHA1 Message Date
Thomas Martitz
774bacc692 Correct wrong usage of event callbacks all over the place. It's not supposed to return anything, and should take a data parameter.
Fixing it because correcting the event api prototypes causes many warnings.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23301 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:44 +00:00
Thomas Martitz
e9c10189e9 Rework albumart buffering internally to allow for mutliple albumart sizes.
Playback now has a few albumart slots. Anything (most importantly: skins)  can obtain such a slot.
The slot has fields for the size which is passed to bufopen then to image_load to buffer the albumart with the proper size.
Currently there's 1 slot. We can increase it for remotes if we want. Custom statusbar will increase it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23209 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:41 +00:00
Nils Wallménius
8e33c2f17f revert r23093 and r 23094, since the title pointer is used to modify the title of the list from the callback function in one place
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23096 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 09:40:47 +00:00
Nils Wallménius
6cba2061d6 forgot one file, fixes yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23094 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 09:12:11 +00:00
Karl Kurbjun
fac05ab2f7 Fix Red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22935 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 02:17:27 +00:00
Karl Kurbjun
fb50f46866 Button Driver: Add button_status support with data - allows for reading the /immediate/ value of the touchscreen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22933 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 02:09:00 +00:00
Tomer Shalev
8c5141b32e Commit "FS#10468 - USB HID: Show keypad mode on screen"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22852 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 10:06:04 +00:00
Jeffrey Goode
cf19ba5599 Replace limiter with dynamic range compressor
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22832 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 15:46:38 +00:00
Nils Wallménius
3200d04d75 Make the formatter functions used by the settings return a pointer to avoid usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22440 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 16:47:44 +00:00
Jeffrey Goode
e6b53c7c90 Resort, upnumber plugin API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22427 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 13:28:19 +00:00
Alexander Levin
07d0bfd101 Combine the settings for scrollbar on/off and its position into one with three possible values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22425 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 12:36:40 +00:00
Jeffrey Goode
3ebb836b52 Fix red: plugins on hwcodec targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22395 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 03:45:18 +00:00
Jeffrey Goode
2b7ef6b928 FS#10199: Adds limiter DSP function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22394 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 03:24:45 +00:00
Jeffrey Goode
0dc2fb5760 Adds DSP testing and WAV writing to test_codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22279 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 18:12:25 +00:00
Thomas Martitz
2287dd9daa Remove find_albumart() from the plugin API as it doesn't exist for them.
Remove lcd_set_viewport() too, and replace the calls with the appropriate multi-screen api calls as calling lcd_* functions should be avoided in favor of the api.
Bump API version and sort a bit.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22140 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 15:09:41 +00:00
Karl Kurbjun
0131a3873e Pluginlib: Add support for general buttons. Add menu and quit buttons to Reversi. MRobe 500: Modify touch handler to return the previous data always rather than 0 when there is no touch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22110 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 07:05:30 +00:00
Frank Gevaerts
e409fba7f8 Flyspray: FS#10326
Author: Tomer Shalev

Adds a USB HID sample application, a plugin tha allows to send HID commands while connected in non-storage mode.
This also removes the HID stuff in the debug menu. Testing is now easily doable from the plugin
Also general HID updates


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21953 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 12:58:29 +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
Jens Arnold
27f5cdaad8 Gigabeat S can do dithered YUV blitting too, so put it into the plugin API and enable it in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21888 a1c6a512-1295-4272-9138-f99709370657
2009-07-15 22:02:42 +00:00
Nils Wallménius
3d4701a6e4 FS#10080
* Move strncpy() from core to the pluginlib
* Introduce strlcpy() and use that instead in most places (use memcpy in a few) in core and some plugins
* Drop strncpy() from the codec api as no codec used it
* Bump codec and plugin api versions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21863 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 13:57:45 +00:00
Alexander Levin
cc7c665d9b Improvements to the pitch screen UI (FS#10359 by David Johnston)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21781 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 16:46:19 +00:00
Andrew Mahone
1bc67c81b6 Fix type mismatch warnings and errors exposed when building with EABI toolchain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21769 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 00:22:26 +00:00
Thomas Martitz
df6f955a82 Add a possibility for plugins to go directly to the WPS after exiting.
It only works for plugins executed via the filebrowser for now. Those
executed from the context menu or a simplelist (such as "Open With...") need additional hacking.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21680 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 22:12:42 +00:00
Jonathan Gordon
f1034e00f6 FS#10406 - split the statusbar setting into one for each display, and allow the bar to be at the top or bottom of the display
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21665 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 18:07:58 +00:00
Frank Gevaerts
d5180f7870 Add "Play Shuffled" menu item to random_folder_advance_config, which adds all configured configured directories to the current playlist in random order.
(FS#10403)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21594 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 16:59:43 +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
Rafaël Carré
a98c54f5f1 Do not use lcd_blit_yuv() if MEMORYSIZE <= 2, since mpegplayer won't run anyway (and won't build)
Only affected target: Sansa c200v2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21453 a1c6a512-1295-4272-9138-f99709370657
2009-06-21 14:09:48 +00:00
Andrew Mahone
c1c3d05961 Fix PF keymap issue caused by conflict between new CONTEXT_PLUGIN and ALLOW_SOFTLOCK, by changing value of ALLOW_SOFTLOCK. Bump min plugin version as value passed to a core function changed, and sort plugin API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21161 a1c6a512-1295-4272-9138-f99709370657
2009-06-01 21:08:49 +00:00
Thomas Martitz
de2d99a177 A bit more work on playback controlling pictureflow:
*) Fix that the generated playlist can't be resumed after reboot
*) make it work with shuffle

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21151 a1c6a512-1295-4272-9138-f99709370657
2009-05-31 19:19:34 +00:00
Thomas Martitz
46881eef20 Bump plugin api version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21144 a1c6a512-1295-4272-9138-f99709370657
2009-05-31 14:43:01 +00:00
Thomas Martitz
8b8768bfff Commit the first part of FS#10263: Starting playback from within pictureflow, by creating a playlist from the tracklist and playing it. The database integration part is postponed until it's more featured.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21143 a1c6a512-1295-4272-9138-f99709370657
2009-05-31 14:40:25 +00:00
Thomas Martitz
f0aa8ba95d playlist start can only have 1 return value (0), so make it return nothing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21142 a1c6a512-1295-4272-9138-f99709370657
2009-05-31 14:33:33 +00:00
Andrew Mahone
34589f6ccb Suggested by Thomas Martitz, use tagcache_fill_tags to speed up PictureFlow album art search a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21110 a1c6a512-1295-4272-9138-f99709370657
2009-05-28 04:14:56 +00:00
Maurus Cuelenaere
0f7e4e36ae Lua:
* add action_get_touchscreen_press wrapper
 * fix kbd_input wrapper
 * rework luaL_loadfile
 * add rb.contexts


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21046 a1c6a512-1295-4272-9138-f99709370657
2009-05-22 22:44:34 +00:00
Maurus Cuelenaere
cf87597226 Commit FS#9174: Lua scripting language by Dan Everton
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21020 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 19:01:41 +00:00
Bertrik Sikken
0023943439 Fix duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +00:00
Rafaël Carré
b1d03ccee7 FS#10118 & FS#10165 : lcd_blit_yuv() for Sansa Fuze & Sansa e200v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20919 a1c6a512-1295-4272-9138-f99709370657
2009-05-12 13:22:39 +00:00
Andrew Mahone
e3b1d78dfc Fix test for direct JPEG output, bump plugin API as r20884 changed struct custom_format.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20885 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 10:10:26 +00:00
Andrew Mahone
eef7945a97 Move YUV->RGB in JPEG load from before scaler to after scaler. Required change to struct custom_format, so sorted the plugin API as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20856 a1c6a512-1295-4272-9138-f99709370657
2009-05-06 04:53:56 +00:00
Andrew Mahone
20f76d61ae Make JPEG and BMP scaler optional with HAVE_JPEG and HAVE_BMP_SCALING, both defined for all targets that have HAVE_ALBUMART. Disable JPEG in PictureFlow and pluginlib album art search with 32KiB plugin buffer until PictureFlow
gets overlay support.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20851 a1c6a512-1295-4272-9138-f99709370657
2009-05-04 15:46:41 +00:00
Andrew Mahone
3d4c68bb06 Add read_<image>_fd functions to plugin API, add feature_wrappers.h handling for them, and add read_image.[ch] wrapper for reading image files with automatic type detection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20840 a1c6a512-1295-4272-9138-f99709370657
2009-05-02 03:47:46 +00:00
Andrew Mahone
60d4209383 Add core JPEG reader, adapted from the JPEG plugin's decoder, with some changes to prevent include conflicts between the two decoders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20836 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:24:23 +00:00
Karl Kurbjun
93fccc763b M:Robe 500: More LCD initialization, QVGA (vs. VGA) is now enabled by default for performance, 256 color palette mode added, include some linker cleanups and reorganization. Doom and MPEGPlayer now run reaonably well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20664 a1c6a512-1295-4272-9138-f99709370657
2009-04-09 04:22:14 +00:00
Jonathan Gordon
843c7efaf8 FS9795 - some playback cleanup.
* Use events to notify things when the track has changed instead of the nasty has_track_changed()
* Event for when the mp3entry for the next track is avilable (which allows alot more tags to be static which means less redrawing in the WPS)
* virtually guarentee that the mp3entry sturct returned by audio_current/next_track() is going to be valid for the duration of the current track. The only time it wont be now is during the time between the codec finishing the previous track and the next track actually starting (~2s), but this is not an issue as long as it is called again when the TRACK_CHANGED event happens (or just use the pointer that gives)
It is still possible to confuse the WPS with the next tracks id3 info being displayed but this should fix itself up faster than it used to (and be harder to do)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20633 a1c6a512-1295-4272-9138-f99709370657
2009-04-06 00:39:43 +00:00
Karl Kurbjun
8580674b10 Add initial support for changing the LCD mode in MPEG player for hardware YUV conversion (256 color palette mode will also be added for doom and rockboy). This fixes the LCD mode/colors when MPEGPlayer exits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20600 a1c6a512-1295-4272-9138-f99709370657
2009-04-01 05:17:20 +00:00
Thomas Martitz
a56cba52bd Bump plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20580 a1c6a512-1295-4272-9138-f99709370657
2009-03-30 17:09:06 +00:00
Thomas Martitz
1034dea00e Only export contrast if a target actually features contrast.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20579 a1c6a512-1295-4272-9138-f99709370657
2009-03-30 16:06:02 +00:00
Bertrik Sikken
52d298044f Enable the charging_status function also for targets with target-specific battery charging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20521 a1c6a512-1295-4272-9138-f99709370657
2009-03-24 21:59:44 +00:00
Nicolas Pennequin
396aeafa6c Correct Björn's name in various file headers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20491 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 17:08:46 +00:00
Thomas Martitz
b7739fbf1c Rework lcd_enabled and lcd_set/call_enable hook
a) lcd_enabled() is now lcd_active(), and is available for HAVE_LCD_SLEEP only targets (e.g. ipod video) too. It was depandent on HAVE_LCD_ENALE only before
b) rename the hook accordingly, and implement the hook for other other targets too (e.g. the clip [the only mono target with lcd_enable/lcd_sleep yet, so the code is still in the lcd driver], ipod, fuze, c200)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20331 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 02:43:47 +00:00
Bertrik Sikken
b24fafbf14 Yet more #include cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20249 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 20:28:15 +00:00
Andrew Mahone
6f030a01c9 add the needed plugin API exports for pictureflow to hwcodec, use the audio buffer if plugin buffer is too small, build on any target with bitmap + tagcache
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20213 a1c6a512-1295-4272-9138-f99709370657
2009-03-06 01:08:02 +00:00
Tom Ross
5d190bc13c Mac doesn't handle placing variables in specific sections very well. Building the sim on OS X is now possible once again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20124 a1c6a512-1295-4272-9138-f99709370657
2009-02-27 07:30:41 +00:00
Mark Arigo
8e5c4ce097 Philips HDD1630 - add LCD YUV functions so mpegplayer works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19997 a1c6a512-1295-4272-9138-f99709370657
2009-02-13 04:10:57 +00:00
Thomas Martitz
548109084f Increase codec and plugin API version (due to changes it r19971), and sort the recently added things
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19973 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 16:37:12 +00:00
Michael Sevakis
21f0c9a282 Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19971 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 12:55:51 +00:00
Jens Arnold
11ad7b4bc8 Move screendump from apps to firmware, solving two nasty firmware-to-apps calls. This required to move the filename creation functions as well. * Fix bug in the BMP header of Clip screendumps. * Add remote screendump for targets with an LCD remote. * Simplify some ifdefs and rename a macro in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19967 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 23:43:37 +00:00
Jens Arnold
0d935ce75e Put the display colours for monochrome and greyscale targets into the target config files, and use them both for the simulator UI and screendumps. The Clip now shows the split display properly in screendumps and simulator. A side effect is that screendumps of ordinary monochrome targets are now 4-bit BMP files (saves an alternate code path, and might be more compatible with some gfx programs). * Simplify the simulation of split display, and also simplify greylib simulation. The simulator now always calculates 129 shades (2*128 for a Clip sim), and just uses 2 (or 4) of those for native display simulation. * Centralised the simulator LCD dimension definition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19950 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 00:32:59 +00:00
Jonathan Gordon
036fb05dfd Accept a quick patch from Alexander Levin to neaten up the #defines and comments from my earlier commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19897 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 13:43:08 +00:00
Jonathan Gordon
80cb3551eb Statusbar handling fixes.
Fixes FS#9845 - %we/%wd wasnt working
WPS no longer resets the viewportmanger more than needed (was doing it twice/draw before)
screens can now enable/disable the statusbar easily ignoring the setting instead of needing special handling (fix for the radio screen coming soon)

minor glitch introduced in this commit... the statusbar in the WPS might disappear for a fraction of a second when it is entered, I need to track this down...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19894 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 11:34:16 +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
7215a67e64 albumart search in pluginlib when building without HAVE_ALBUMART (for later use by pictureflow)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19835 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 04:09:29 +00:00
Michael Sevakis
b0befadad1 Include divide-by-zero handling within plugins and codecs for ARM processors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19834 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 03:47:09 +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
Andrew Mahone
2fbf09752d remove align_buffer from firmare/general.c, replacing with ALIGN_BUFFER macro, and replace all uses of it (only resize.c in core, and pictureflow and mpegplayer plugins), remove it from plugin_api,
and remove wrapper for it from plugin.h


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19758 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 13:48:26 +00:00
Björn Stenberg
a36cdf5b37 Removed the sim_ prefix from the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19704 a1c6a512-1295-4272-9138-f99709370657
2009-01-07 09:53:46 +00:00
Michael Sevakis
2054627caa Have the codec thread do callbacks instead of messing with the stack which is much simpler and safer. Remove threads array from plugin API since it now serves no purpose. Up minimum API version and sort.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19684 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 10:31:19 +00:00
Nils Wallménius
3681ff197d Reorder of user_settings, cleaned out some unused settings grouped settings depending on the same preprocessor defines together a bit more to make it more readable, updated some comments. Plugin api bump and the wps token for 12/24 hour clock setting is now excluded for non rtc targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19655 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 12:48:06 +00:00
Jonathan Gordon
b86f2d05fc woops... fix the header and bump the plugin API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19636 a1c6a512-1295-4272-9138-f99709370657
2009-01-02 01:43:00 +00:00
Jonathan Gordon
e385ee18ce Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).

This commit also includes some menu/list viewport cleanups from kugel in FS#9603


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Andrew Mahone
9058620849 Make scaler output truly pluggable, add an 8-bit greyscale output to
pluginlib for use with greylib, and add source for a test scaled bmp
viewer using greylib.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19593 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:05:13 +00:00
Andrew Mahone
f7fa7e5ad5 Latest work on the bmp on-load scaler:
Macros for calculating size needed for bitmap load and scaling, so that
these can be compile-time constant when their inputs are.

Reduce size of bayer dither by chopping all but first row of dither
matrix, and replacing 2D lookup with 1D lookup and small calculation.

Move some functions not related to actual bmp file loading out of bmp.c.

A smaller brightness() for mono targets, and a higher-quality one for
greyscale targets, both replacing the division by 10 with a shift.

Port of the linear and area scalers to greyscale targets, this costs
some binsize but produces better output even when dithered to 2bpp.

Move duplicated row output code from inside vertical scalers to a
separate row output function.

Move some multiplies out of the line scaler, for a small speedup and
code size reduction, as well as a small improvement in accuracy for the
upscaling case.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19592 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:03:22 +00:00
Michael Giacomelli
0e783b062e Update the API version too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19589 a1c6a512-1295-4272-9138-f99709370657
2008-12-25 04:24:47 +00:00
Michael Sevakis
8cfbd3604f Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 08:57:10 +00:00
Björn Stenberg
af078b4f86 Cleaned up codepage handling, by Yoshihisa Uchida. (FS#9349)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19339 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 22:00:12 +00:00
Michael Sevakis
58eb784a5d Straighten out some powermanagement stuff. Give target complete control over how power inputs are sensed. Clean SIMULATOR stuff out of target files. Get rid of USB charging option on targets that don't support it or don't implement it yet. Menu string remains to avoid language incompatibility but should be removed on next cleanup for targets not using it (notice in english.lang). global_settings becomes incompatible for some builds and so plugin API version is incremented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19315 a1c6a512-1295-4272-9138-f99709370657
2008-12-03 19:54:25 +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
Rafaël Carré
ee593c95e2 Make lcd_set_enable_hook() conditional on HAVE_LCD_ENABLE and HAVE_LCD_COLOR
This prepares for the Clip which will define HAVE_LCD_ENABLE but won't
need the hook since the internal LCD framebuffer is updated regardless
if the display is on or off.

firmware/drivers/lcd-16bit.c has not been modified since HAVE_LCD_COLOR
is obviously defined here

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18951 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 21:48:44 +00:00
Jens Arnold
3aa5832808 Revert r18947, and add a comment why the backlight functions are wanted on all targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18949 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 20:06:08 +00:00
Magnus Holmgren
e511017293 Bump plugin API version as needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18890 a1c6a512-1295-4272-9138-f99709370657
2008-10-26 20:11:26 +00:00
Jonathan Gordon
9e2807fc66 Add a simple plugin (apps/settings_dumper.rock) which dumps the valid values of all the config settings to /settings_dumper.txt. If you notice any settings its not dumping please let me know.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18882 a1c6a512-1295-4272-9138-f99709370657
2008-10-26 11:44:21 +00:00
Michael Sevakis
effceea229 Remove the event object in the kernel since it's rather extraneous at the moment. This makes the codecs and the plugins incompatible, so update fully.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18867 a1c6a512-1295-4272-9138-f99709370657
2008-10-23 13:13:00 +00:00
Björn Stenberg
51b45d5602 Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18814 a1c6a512-1295-4272-9138-f99709370657
2008-10-15 06:38:51 +00:00
Jonathan Gordon
468edbbc7c Use the correct #ifdefs for the added kernel objects.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18575 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 09:59:06 +00:00
Frank Gevaerts
0a1d3653bd Add player name and rockbox version to the battery_bench output
This need appsversion in plugin_api


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18569 a1c6a512-1295-4272-9138-f99709370657
2008-09-22 19:59:00 +00:00
Michael Giacomelli
8cd2bb7f34 Threading functions aren't all available on HWCODEC, so don't try to build them on it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18560 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:38:09 +00:00
Michael Giacomelli
ccd56bf220 Fix test_codec on multiprocessor codecs (MP3, SPC).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18558 a1c6a512-1295-4272-9138-f99709370657
2008-09-20 22:13:39 +00:00
Peter D'Hoye
ca3c975dba Addendum to r18441: increase the plugin api version number as changing the screens struct broke compatibility
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18455 a1c6a512-1295-4272-9138-f99709370657
2008-09-08 17:54:45 +00:00
Maurus Cuelenaere
1392dc2144 Commit FS#9308: differentiate between TOUCHPAD & TOUCHSCREEN
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18338 a1c6a512-1295-4272-9138-f99709370657
2008-08-23 09:46:38 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Bertrik Sikken
9464fdde2d Apply FS#9155 (Simplified battery bench). This is a simplification/rework of the current battery bench code. Battery measurements are now done simply once a minute (no more dependency on HDD specific timeouts) and are flushed to disk by using the ata_idle callback instead of polling ata_disk_is_active (this call is removed from the plugin API now) to make the plugin as unobtrusive as possible. This battery bench plugin also works for flash-based targets like sansa e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18281 a1c6a512-1295-4272-9138-f99709370657
2008-08-14 22:35:00 +00:00
Bertrik Sikken
ef87933add plugin.h implements memcpy (etc) through MEM_FUNCTION_WRAPPERS so it should also include the proper header file for it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18260 a1c6a512-1295-4272-9138-f99709370657
2008-08-12 20:11:18 +00:00
Rob Purchase
adb6a00c59 Update lcd-as-memframe.S to only rotate YUV data for portrait LCDs (and remove the D2's temporary C implementation). Enable MpegPlayer dithering option for D2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18055 a1c6a512-1295-4272-9138-f99709370657
2008-07-15 17:54:58 +00:00
Thom Johansen
4a7e0c7949 Rename and rework the "Study Mode" menu into the "Skip Length" setting. Update manual. Bump plugin API thanks to having changed global_settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18041 a1c6a512-1295-4272-9138-f99709370657
2008-07-14 20:39:30 +00:00
Nils Wallménius
bd12def393 Keybox, encrypted password storage. Manual page comming soon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17979 a1c6a512-1295-4272-9138-f99709370657
2008-07-07 14:04:18 +00:00
Bertrik Sikken
f4d4a6ab60 Implement FS#8947 - Add a stub in the simulator for ata_disk_is_active. This make it possible to clean up some #ifdef SIMULATOR macros.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17927 a1c6a512-1295-4272-9138-f99709370657
2008-07-03 13:37:57 +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
Jonathan Gordon
8358dffd11 pictureflow update:
fix FS#8347 and FS#8425 - track order is incorrrect
also:
center the track list in the screen, and show the track number if its available


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17781 a1c6a512-1295-4272-9138-f99709370657
2008-06-24 10:20:22 +00:00
Jonathan Gordon
bdbdb97f19 FS#9051 - remove LCD margins... use viewports if you need them...
NOTE to WPS people....
%m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored.
Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected.

Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 13:20:35 +00:00
Michael Sevakis
adf2e4c9a0 Targets with HAVE_LCD_ENABLE: Provide a means to receive notifications when the lcd is enabled and the image is refreshed so overlayed drawing can also be refreshed. Chiefly mpegplayer needs this so it can redraw the YUV data after the backlight is turned on while paused or when using 'Set Start Time'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17640 a1c6a512-1295-4272-9138-f99709370657
2008-05-28 10:17:16 +00:00
Nils Wallménius
a21004dee6 Fix FS#9010 warning in checkwps when building on an amd64 machine
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17582 a1c6a512-1295-4272-9138-f99709370657
2008-05-19 14:37:16 +00:00
Jonathan Gordon
5b861933fd FS#8637 - new UI for disktidy.
Usage changes:
- disktidy.config is loaded with a list of file/directory names (included in the .zip)
- disktidy_custom.config is then loaded which is the same list but marks the files/dirs to be deleted. Also used to add custom files
- the default config is to not remove any files so the first time you run it you need to go into the "files to clean" option and select the files to remove. they will be then saved for next time.

The "Files To Clean" screen:
use the usual select option to toggle an item (if it has the cursor icon it will be removed)
selecting < ALL > will remove all, < NONE > will deselect all.
selecting a < > group will toggle all items in that group

to exit that screen use the standard cancel action (usually left arrow)

Directories are marked with a trailing / and * can be used at the end of the name (e.g .Trash-*/)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17565 a1c6a512-1295-4272-9138-f99709370657
2008-05-18 07:27:10 +00:00
Jonathan Gordon
7e26412dd1 woopsies
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17522 a1c6a512-1295-4272-9138-f99709370657
2008-05-15 07:13:03 +00:00
Jonathan Gordon
92dae7c50b actually bump the API version
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17521 a1c6a512-1295-4272-9138-f99709370657
2008-05-15 07:03:12 +00:00
Jonathan Gordon
3e5b38945c const raid in option_select
add table settings and fix int settings with negative step in option_select_next_val
bump plugin API and sort newer functions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17520 a1c6a512-1295-4272-9138-f99709370657
2008-05-15 06:58:36 +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
Peter D'Hoye
2d6aa41141 Bump the plugin API version when adding stuff....
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17427 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 21:43:32 +00:00
Peter D'Hoye
21a3733888 Lamp plugin: accept the reduced patch of FS #8934 by Alexander Papst
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17425 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 21:23:31 +00:00
Rob Purchase
81803eba1b Simple test_touchpad plugin for D2 and m:robe500 (not built by default).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17392 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 21:31:34 +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
Bertrik Sikken
e5319e0e89 Fixed prototype of i2c_write for plugins and for i2c-telechips (fix red/yellow).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17277 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 14:33:03 +00:00
Peter D'Hoye
8efd5d3fdf Flashlight plugin: support inverted LCD (somebody with a target please test), replace the ugly floats with a much simpler color set. For now white and red are defined.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17230 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 00:06:45 +00:00
Peter D'Hoye
39718e3585 Accept FS #8285 - "Flashlight" plugin by Vuong Minh Hiep, Thomas Martitz and Alexander Papst
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17226 a1c6a512-1295-4272-9138-f99709370657
2008-04-23 21:15:07 +00:00
Jonathan Gordon
fe9dca3d5b option_screen() now accepts a viewport
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17223 a1c6a512-1295-4272-9138-f99709370657
2008-04-23 11:07:40 +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
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
Jens Arnold
5c87a98b97 Greyscale library: * Implement linearisation curve flipping for 1st/2nd Gen iPods (LCD is inverted when backlight is on, so the curve is also inverted). This needs a slight extension of is_backlight_on() functionality in the core. * Thorough recalibration of all reachable greyscale targets, and #ifdef cleanup. * Reduce on-target gamma a bit, because the displayable contrast range of a monochrome/greyscale isn't that high.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16936 a1c6a512-1295-4272-9138-f99709370657
2008-04-02 22:16:14 +00:00
Steve Bavin
135cc757bd Revert my earlier const madness, we'll keep the parameter lists simple.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16863 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 12:51:33 +00:00
Steve Bavin
20d57a30e3 ...and that plugin API has changed again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16861 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 11:30:08 +00:00
Steve Bavin
c9df8fd87b The const police raid playback.c, should be no change to behaviour.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16860 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 11:24:24 +00:00
Steve Bavin
73f9863b1b More consts that require no functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16814 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 08:57:25 +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
Steve Bavin
cd88e2ad93 Code police raid on the settings code, consting and putting headers alongside their implementation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16798 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 15:24:03 +00:00
Michael Sevakis
27cf677339 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 02:34:12 +00:00
Jens Arnold
b88c7d076d The blit functions shouldn't exist for the simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16777 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 01:00:42 +00:00
Jens Arnold
c84e345e6e Oops, fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16776 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:45:03 +00:00
Jens Arnold
68a21689ae Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Michael Sevakis
f90cbcb652 mpegplayer: Use the core DSP to process audio. Removes the sample rate restriction on audio and any mpeg audio samplerate may be used. Use the global sound settings for audio output with the option to force any one of the processing stages off. All are forced off by default. I didn't personally care to fully duplicate the Sound Settings menu which would have been needed since using the core one would affect settings globally and exactly the same configuration probably isn't desired since the CPU load for video playback is much greater. Rebalance the threading to compensate with some expense to buffering speed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16194 a1c6a512-1295-4272-9138-f99709370657
2008-02-01 02:25:15 +00:00
Michael Sevakis
f8709ac7e2 H10 20GB: Assembly YUV blitting and dithering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16171 a1c6a512-1295-4272-9138-f99709370657
2008-01-26 14:24:09 +00:00
Jonathan Gordon
189f9e2be9 charcell doesnt show titles in lists, so remove the "show path" setting and free up some bin space
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16069 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 09:29:45 +00:00
Jens Arnold
6a56c14e17 Greyscale library: Changed the internal data format once more (separated pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 23:48:26 +00:00
Dave Chapman
3646c31367 Add the viewport functions to the screens API, including a new getfont() function to return the font used by the current viewport. A change to the screens API makes the plugin API incompatible, so we bump version and sort. Also commit the test_viewports plugin (not built by default). This is some more of FS#8385.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16022 a1c6a512-1295-4272-9138-f99709370657
2008-01-08 01:22:14 +00:00
Jens Arnold
feb5b15e9b All-new greyscale library, replacing the old one. Features: (1) Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 23:42:38 +00:00
Michael Sevakis
a5fc3f4df4 Initial WVS for mpegplayer. Adjusts to the user's preferred font and uses FF/RW preferences set for playback. Picked a random color for the base WVS color but it could be configured. Some engine tweaks to accomodate it since certain nescessities are clearer now. Fix a clipped YUV output bug in the SIM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15991 a1c6a512-1295-4272-9138-f99709370657
2008-01-03 17:14:28 +00:00
Dave Chapman
e937310f93 Fix typos in two lcd_remote function names.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15983 a1c6a512-1295-4272-9138-f99709370657
2007-12-31 00:04:27 +00:00
Michael Sevakis
a222f27c4a mpegplayer: Make playback engine fully seekable and frame-accurate and split into logical parts. Be sure to have all current features work. Actual UI for seeking will be added soon. Recommended GOP size is about 15-30 frames depending on target or seeking can be slow with really long GOPs (nature of MPEG video). More refined encoding recommendations for a particular player should be posted soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15977 a1c6a512-1295-4272-9138-f99709370657
2007-12-29 19:46:35 +00:00
Nicolas Pennequin
ec8ce3bfc2 Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15901 a1c6a512-1295-4272-9138-f99709370657
2007-12-09 19:14:31 +00:00
Nicolas Pennequin
90ce826903 Initial commit of the PictureFlow plugin, a nice visualization for album covers.
Original code by Ariya Hidayat. Rockbox port by Jonas Hurrelmann and a few tweaks by me.
On the first startup the database is scanned and album art is searched for each album. This process will take some time (dircache enabled and/or database in RAM speed it up, and it is possible to abort by pressing MENU), but the results are cached and the next startups will be very quick.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15900 a1c6a512-1295-4272-9138-f99709370657
2007-12-09 18:48:02 +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
Robert Kukla
d87b037efe consolidate the 3 file_exists() functions into one; use the version that explicitly uses dircache; give dir_exists() the same treatment for consistency
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15742 a1c6a512-1295-4272-9138-f99709370657
2007-11-21 21:28:27 +00:00
Michael Sevakis
99617d71ba Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:12:19 +00:00
Nicolas Pennequin
ec6569ed22 Add read_bmp_fd and make the first parameter of read_bmp_file ("filename") const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15553 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 13:26:11 +00:00
Michael Sevakis
57d71e4267 Add some CACHEALIGN_* macros and a helper function to assist in aligning data and buffers on PortalPlayer processors to cache line boundaries. They're noops when PROC_NEED_CACHEALIGN isn't defined. Go safe and increase the value to 32 since I'm not sure yet if 16 is sufficient - changing that is a one-liner. Add helper to plugin API which will be needed shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15523 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 05:17:20 +00:00
Stéphane Doyon
a4f491cac1 Add a setting to control whether or not to speak the file type (r15506).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15508 a1c6a512-1295-4272-9138-f99709370657
2007-11-07 03:25:33 +00:00
Stéphane Doyon
da93299865 Accept FS#7910: spontaneously speak out the battery level when it falls
under 50%, 30% and 15%. Guarded by an option under voice settings.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15422 a1c6a512-1295-4272-9138-f99709370657
2007-11-03 05:00:49 +00:00
Michael Sevakis
7e12bba0d2 Phase in thread_wait when waiting for a thread to exit. Begin phasing out the spinlock object for general use; it will become a multicore-only object for core locking. Take care of plugins first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15260 a1c6a512-1295-4272-9138-f99709370657
2007-10-22 05:57:38 +00:00
Jens Arnold
c1051549b9 Implement YUV dithering for c200, and enable the option in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15246 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 13:46:26 +00:00
Steve Bavin
32a9575130 FS#7994 - Rename talk.c API, make talk_disable() affect all talking (not just menus), hopefully save some space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15206 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 15:31:42 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Antoine Cellerier
c2e5065ede Oops, forgot to increment the plugin api version numbers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15126 a1c6a512-1295-4272-9138-f99709370657
2007-10-15 20:51:37 +00:00
Antoine Cellerier
d66b3c0f61 Remove the "invert scroll" code since it's not used anywhere anymore (and it was broken on color targets with gradients anyway). Closes FS #7875.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15125 a1c6a512-1295-4272-9138-f99709370657
2007-10-15 20:42:51 +00:00
Jens Arnold
cb4186c989 Improved FPS test plugin: * Better precision for low frame rates (take extra ticks into account). * Measure YUV blit framerate on colour targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15099 a1c6a512-1295-4272-9138-f99709370657
2007-10-13 22:32:35 +00:00
Robert Kukla
a07e93938c fix yellow and some house cleaning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15056 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 21:28:51 +00:00
Robert Kukla
fd3fe45bc1 FS#7487 - mpegplayer - video start time seek with resume
by John S. Gwynne & Brian J. Morey
This should stop the patch from breaking again and give them opportunity to improve it further.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15052 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 20:42:20 +00:00
Nicolas Pennequin
b8eb2a89ad Oops. Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15046 a1c6a512-1295-4272-9138-f99709370657
2007-10-09 15:37:43 +00:00
Steve Bavin
5a78a06073 Just temporarily disable talk menus, in case the player is reset whilst in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14970 a1c6a512-1295-4272-9138-f99709370657
2007-10-03 16:17:36 +00:00
Nils Wallménius
605949d482 Hide symbols by default on 64 bit sim buildsto avoid clashing, fixes crashing on track change with the same codec, crashing in calculator and text display in midiplay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14953 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 09:08:08 +00:00
Michael Sevakis
7914e90738 Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 10:20:02 +00:00
Michael Sevakis
287d6223d3 Dithering option for mpegplayer on gigabeat-f/x and e200. Assembly IDCT for ARm just to make it all work more nicely. Move UI simulator YUV code to its core to adapt it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14851 a1c6a512-1295-4272-9138-f99709370657
2007-09-25 02:59:42 +00:00
Thom Johansen
377ffc7110 Forgot to bump plugin API version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14751 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 11:32:58 +00:00
Thom Johansen
294ec1d110 Remove the ID3 tag version priority setting on the grounds of it being pretty pointless. ID3v2 tags are superior to ID3v1 tags, and needs less seeking around to find.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14750 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 10:40:55 +00:00
Nils Wallménius
a896f3d8b8 Simplify initing of the screens[] struct by using an initializer, also some reordering of the struct, and the required plugin api bump
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14743 a1c6a512-1295-4272-9138-f99709370657
2007-09-18 19:05:35 +00:00
Jonathan Gordon
cf1cef5f57 minor update to gui_synclist_do_button() which will hopefully simplify things later.
Now returns true if the action was handled in that function instead of returning the handled action.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14733 a1c6a512-1295-4272-9138-f99709370657
2007-09-17 10:08:50 +00:00
Michael Sevakis
f64ebb1c1f Sim I/O and threading that runs more like on target. Tweakable if any genuine slowness imitation is required for any one of them. One point of concern is the sim shutdown on an OS other than Linux just because terminating threads in a manner other than having the do it themselves is kind of dirty IMHO.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14639 a1c6a512-1295-4272-9138-f99709370657
2007-09-08 12:20:53 +00:00
Nils Wallménius
9b59183953 Use size_t type for the buffer_size parameter to formatter functions, static two private functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14392 a1c6a512-1295-4272-9138-f99709370657
2007-08-19 10:22:46 +00:00
Nicolas Pennequin
da6df9944d The plugin API changed so update the version number and bump the change was incompatible, so bump the minimum version too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14329 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 12:27:26 +00:00
Nicolas Pennequin
6a92e475ac Make get_metadata act on a struct mp3entry rather than a struct track_info.
This should make it easy to use a buffer handle to put the ID3 data in.
The changes in get_metadata are mostly search and replace. The only thing
it actually used to do on the struct track_info was set taginfo_ready to
true.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14326 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 11:56:13 +00:00
Peter D'Hoye
a5d4d67763 Also keep the backlight on in mpegplayer when plugged in. Fixes FS #7584. Created two helper functions for this, because this issue also exists in other plugins (to do). The helper functions are in the pluginlib in helper.[ch], where other common stuff can be put.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14321 a1c6a512-1295-4272-9138-f99709370657
2007-08-13 22:31:11 +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
Jonathan Gordon
ef815729b6 Accept FS#7486 - shortcuts plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14191 a1c6a512-1295-4272-9138-f99709370657
2007-08-05 12:14:07 +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
Tom Ross
e1147b87ab RTC (real time clock) support for Rockboy. The time in games like Pokemon Gold/Silver should now stay synced on RTC-capable targets. Other targets will lose track of time when the player is turned off. User's can edit the .rtc file in an attempt to resync the RTC. The clock should stay synced when entering and leaving the menu. I've tested this over the past two weeks and it seems to work well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14071 a1c6a512-1295-4272-9138-f99709370657
2007-07-30 05:19:05 +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
Steve Bavin
8bc6049777 Correct plugin API versions, thanks to scorche.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13981 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 10:44:12 +00:00
Kevin Ferrare
a55a436993 fixed yellow, forgot to increase the plugin API version
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13979 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 10:08:51 +00:00
Kevin Ferrare
ac017781e0 Ported the archos player's jackpot plugin to bitmaps LCD (still need some neat bitmaps), multi screen support for jackpot plugin and iriverify
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13978 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 09:38:55 +00:00
Jonathan Gordon
fe2b376060 Fix the text for settings which have a different title than what is shown in the menu (i.e scroll options)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13962 a1c6a512-1295-4272-9138-f99709370657
2007-07-23 05:40:45 +00:00
Jonathan Gordon
f7675a244b remove the need for action_signalscreenchange().
Fixes problems with targets where the ACTION_STD_CANCEL event is a combo


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13956 a1c6a512-1295-4272-9138-f99709370657
2007-07-22 06:05:53 +00:00
Kevin Ferrare
011a325e32 Makes apps and plugins interract with directories using a posix-like api instead of calling dircache / simulator functions (no additionnal layer added, only a cosmetic change)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13943 a1c6a512-1295-4272-9138-f99709370657
2007-07-20 17:06:55 +00:00
Michael Sevakis
b8bd1ee557 MpegPlayer: Add a simple messaging scheme for sending stream commands. Remove the need to disable FIQ when adding to PCM buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13931 a1c6a512-1295-4272-9138-f99709370657
2007-07-19 19:32:29 +00:00
Jonathan Gordon
a5278fa3db Rearrange and cleanup settings code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13851 a1c6a512-1295-4272-9138-f99709370657
2007-07-11 05:41:23 +00:00
Jonathan Gordon
415e9d78cc User configurable recording path (my patch in FS#7201). path defaults to / and can be changed in the folder context menu (cleared in the recording settings menu)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13838 a1c6a512-1295-4272-9138-f99709370657
2007-07-10 07:41:37 +00:00
Michael Sevakis
6bba70b0ec current_tick really does need to be volatile since gcc can optimize away checking the value otherwise - found out the hard way. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13715 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 20:46:54 +00:00
Michael Sevakis
ea255fbc3a Prevent initial spinup when starting first file when in a stopped state on non-RTC targets. Fix some states that are dangerous on SWCODEC and could result in data loss. Had to make plugin API incopatible since specified numbered filename creation is enabled now on all non-RTC targets with recording; increase version and sort the items that looked like they had a place to go.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13683 a1c6a512-1295-4272-9138-f99709370657
2007-06-22 09:34:57 +00:00
Jonathan Gordon
46e186fa61 extend the text editor plugin to be able to modify the .colors file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13665 a1c6a512-1295-4272-9138-f99709370657
2007-06-18 13:37:57 +00:00
Nils Wallménius
5bb7edeb36 Replace VU meter menu with a new one using the new menu api, fixes some
problems:
* Up/Down buttons are no longer reversed.
* The menu looks much better with reversed bg/fg colors instead of 
inversed.
* Menu uses userfont.

Add the set_bool_options function to the plugin api and bump api 
version.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13629 a1c6a512-1295-4272-9138-f99709370657
2007-06-14 20:02:27 +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
2d48d0ffa6 Straighten out some audio path APIs and misc. audio stuff. Having recording is not a prerequisite to having input/output source selection which is probably most useful when adding a audio input features like FM to a new port without forcing recording to be implemented first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13599 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 23:42:04 +00:00
Jens Arnold
b4702463e2 Archos Recorders, Ondio FM: WAV recording plugin. This is considered a technical preview, and has the following limitations: * No peakmeters and no gain control. The plugin reuses the gain values from the core, so use the core's recording screen to set gain, then call the plugin. * Recording directory is fixed, and on Ondio it always records to external MMC (there is not much point to record WAV to the 128MB internal flash). * All supported targets just generate numbered filenames, i.e. no R[DATE][TIME].wav files on recorders. * Only records to a single file, and will stop when approaching the safe file size limit of 2GB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13416 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 18:29:27 +00:00
Jonathan Gordon
77a458a464 Move the old api out of the core and into the plugin lib.
ew plugins shuold use the new api and not this one.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13358 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 11:55:43 +00:00
Dave Chapman
4ae85e6886 Revert the addition of the steal_codec_stack function. Replace by accessing the threads structure to grab the codec stack. Maybe a better solution exists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13349 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 23:54:10 +00:00
Dave Chapman
f4a9dab4d1 Use a separate thread in test_codec, with the same (IRAM) stack as the main codec thread. Add a function to the plugin API to steal the codec thread, which test_codec copies and then restores. Now libmad can be benchmarked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13347 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 22:30:23 +00:00
Dave Chapman
7cdd0fe6ea Initial version of a test_codec plugin (viewer). This loads the audio file into the audio buffer and decodes it as fast as it can via a locally implemented version of the codec API. Intended for use when optimising codecs - so isn't built by default. Remember to add it to both plugins/SOURCES and viewers.config to enable it. Currently the codec is run in the main thread which means mpa.codec doesn't work - it requires more stack than is available on the main thread. The solution will be to create a new thread in the plugin which steals the main codec thread's IRAM stack, but that's not done yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13345 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 17:23:31 +00:00
Michael Sevakis
2aaf45e643 Get samplerate switching working in the sim to be similar to on target. Make all pcm functions available there as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13320 a1c6a512-1295-4272-9138-f99709370657
2007-05-04 15:14:56 +00:00
Michael Sevakis
26d242ae65 General housekeeping: Make plugin buffer functions take size_t * instead of int * to match the parameter type of the buffer functions called in the core. Get rid of unsafe int * <==> size_t * casting. Use ssize_t where int was used and size_t where unsigned int was used in the buffer calls to not alter signedness in the plugins. No API version change since it should only be an issue for 64-bit sim builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13233 a1c6a512-1295-4272-9138-f99709370657
2007-04-21 18:38:25 +00:00
Jonathan Gordon
6a5cc0bd25 Customizable icons for all bitmap targets. (FS#7013)
http://www.rockbox.org/twiki/bin/view/Main/CustomIcons for info on format and how to load them


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13177 a1c6a512-1295-4272-9138-f99709370657
2007-04-16 09:14:36 +00:00
Michael Sevakis
9bfa237869 mpegplayer: Get it in better shape for dual core targets. Utilize the newly added cache stuff. Add a mutex to core shared buffer variables. I'd prefer to have a true spinlock there but this will do for the moment and protect the data. Nonetheless I can't seem to crash it on an e200 any longer and the display garbage is gone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13153 a1c6a512-1295-4272-9138-f99709370657
2007-04-14 02:46:15 +00:00
Michael Sevakis
6689cb0f9b mpegplayer: Get A-V synchronized. Improve frame sync and dropping logic and take advantage of decoder's ability to assist. Straighten out some threading problems. Clean it up a bit. Added some plugin API functions and decided it was a good time to do a good sorting on them so your next update from this build should be a full replacement.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13094 a1c6a512-1295-4272-9138-f99709370657
2007-04-10 14:18:30 +00:00
Jens Arnold
323d75d25f It's not necessary (anymore?) to map lcd_icon() to sim_lcd_icon() for the simulator. * Removed a stray lcd_icon() call from usb handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13006 a1c6a512-1295-4272-9138-f99709370657
2007-04-03 18:06:13 +00:00
Jens Arnold
54ea2e435e Charcell lcd driver: Preparations for switching to non-immediate LCD updates, using lcd_update() like on bitmap targets. * Added proper clipping. * Simplified simulator code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12979 a1c6a512-1295-4272-9138-f99709370657
2007-03-31 09:58:49 +00:00
Jens Arnold
ad4e3d6657 First step of charcell LCD code rework: * Make it fully unicode aware so that adding non-ISO8859-1 scripts becomes possible (limited by the LCD capabilities of course). * Make the API more similar to the bitmap LCD code's API. * Moved hardware dependent parts to target tree. * Simplified code. * Jumpscroll temporarily non-functional.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12916 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 07:52:13 +00:00
Dave Chapman
46cf8805b6 Oops, only swcodec targets have pcm_get_bytes_waiting()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12885 a1c6a512-1295-4272-9138-f99709370657
2007-03-22 09:40:26 +00:00
Dave Chapman
8310848421 Some small mpegplayer improvements/bug-fixes, and improved A/V sync. Audio is used as the master clock and video is synced to the number of samples played. This doesn't take account of any PTS difference at the start of the stream. Also enable Limit FPS and Skip Frames by default - these options need to be enabled for A/V sync to work. Adds pcm_get_bytes_waiting() to the plugin API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12884 a1c6a512-1295-4272-9138-f99709370657
2007-03-22 09:18:46 +00:00
Jens Arnold
79c8a8cbbe Let GCC check arguments of some more printf-style functions, also for plugins and codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12815 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 09:02:53 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Jonathan Gordon
6e44209a4c Make the Play / Pause option restart playback if its stopped also
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12738 a1c6a512-1295-4272-9138-f99709370657
2007-03-12 13:41:52 +00:00
Jonathan Gordon
3452146217 Make the old menu aPI use the new API. Both are avialable to core and
rocks, but use the new API unless you absolutly have to use the old one 
(and file a FS bug if you do)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12670 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 13:00:46 +00:00
Michael Sevakis
8867d00141 More catching up on old work. Refine audio interface setup on Coldfire. Stop the funky glitching on the iAudio stuff when starting recording esp. at 88.2kHz. (probably due to the bidi interface). iRivers don't seem to care what you do. TLV320 still seems to have a little trouble selecting it's filters correctly for 88.2kHz or it could be some odd phasing effect. Get rid of the horrible reset parameter in pcm_apply_settings as it can decide for itself.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12618 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 08:14:27 +00:00
Daniel Ankers
6a3a220da1 Bump plugin/codec API versions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12604 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:52:25 +00:00
Daniel Ankers
82f9056988 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Nils Wallménius
7fdee10a70 Make private functions static. Remove some functions from the plugin api as they weren't used in any plugins and could then be declared static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12462 a1c6a512-1295-4272-9138-f99709370657
2007-02-23 21:52:45 +00:00
Jonathan Gordon
9a6f419775 CONFIG_CHARGING
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12384 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 05:32:06 +00:00
Linus Nielsen Feltzing
6ffd8043cb Removed some unused menu code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12335 a1c6a512-1295-4272-9138-f99709370657
2007-02-16 10:40:59 +00:00
Jens Arnold
6b0fdae0f6 Removed unused 'mode' parameter from mkdir() for consistency with creat().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12183 a1c6a512-1295-4272-9138-f99709370657
2007-02-03 10:28:55 +00:00
Jens Arnold
67eb154146 Removed 'mode' parameter from creat(). It wasn't pure posix anyway, it was ignored on target and mixed into 'oflags' in the simulator. * Simplified io.c a bit by defining a dummy O_BINARY for OSes which don't have that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12179 a1c6a512-1295-4272-9138-f99709370657
2007-02-01 23:08:15 +00:00
Jonathan Gordon
228d62dd18 Split the system status variables out of global_settings and put them into a new struct global_status. Use status_save() if these need
saving.
Added car_adapter_mode to the nvram settings, so nvram settings will be reset.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12101 a1c6a512-1295-4272-9138-f99709370657
2007-01-24 02:19:22 +00:00
Jonathan Gordon
f8c68c7912 Simple cpu boost tracker for LOGF builds. Shows the last 64 cpu_boost() calls from the debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12087 a1c6a512-1295-4272-9138-f99709370657
2007-01-22 10:41:25 +00:00
Miika Pekkarinen
0ea4d3197e Prepare core support for the iriver bootloader supporting ROM images
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11991 a1c6a512-1295-4272-9138-f99709370657
2007-01-12 18:34:00 +00:00
Dave Chapman
fd8bac806b Export pcm_* functions in plugin API in sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11879 a1c6a512-1295-4272-9138-f99709370657
2007-01-01 13:21:19 +00:00
Dave Chapman
4b801b2d3a Initial implementation of audio support (44.1KHz only, mp2 or mp3, mono/stereo, any bitrate) and .mpg file (MPEG program stream) parsing for mpegplayer - .m2v files are no longer supported. .mpg parser based on patch #6366 from Mathieu Favreaux. Currently limited to only playing files smaller than the available buffer RAM (it will play longer files, but never refills the buffer when it runs empty). There is also no a/v sync implemented, and still no seeking support. Coldfire (iriver H3x0 and iaudio X5) users can use the optimisations provided in patch #5995 to increase the framerate, and PortalPlayer (ipods and iriver H10) users will want to use kernel_on_cop_6.diff from FS#5755 which enables mpegplayer to run the video thread on the second CPU core - video on the second core with audio on the first core runs at the same speed as the old mpegplayer did with no audio.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11877 a1c6a512-1295-4272-9138-f99709370657
2007-01-01 12:59:32 +00:00
Michael Sevakis
4b902679cc Convert queues to use intptr_t for event data and return values as most of the time pointer are not passed and it should make some things a bit cleaner.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11818 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 16:50:07 +00:00
Nils Wallménius
5652b2528d Always use a black backgound while displaying images in jpegviewer, and use the usual foreground/background colors and backdrop in the jpegviewer menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11684 a1c6a512-1295-4272-9138-f99709370657
2006-12-07 17:23:52 +00:00
Michael Sevakis
51189b4cb4 Small change to PCM recording API for low latency effects. Latency can be as low as 14 samples from input to output including the FIFOs (ColdFire) but 16 is more reasonable an expectation if only tranferring one sample per interrupt (\!). May convert PCM playback to use the same method as it can still be used in the old manner with some slight mods but has the potential to enable new features since it is more flexible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11668 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 08:34:55 +00:00
Peter D'Hoye
0f02e4f7a0 File and (recursive) directories properties in the file browser context menu. Uses dircache if possible (plugin api expanded). Is actually implemented as plugin. Small parts taken from earlier work by Will Robertson.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11630 a1c6a512-1295-4272-9138-f99709370657
2006-11-30 22:29:48 +00:00
Michael Sevakis
ab1861a3c2 iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11577 a1c6a512-1295-4272-9138-f99709370657
2006-11-23 19:21:15 +00:00
Jonathan Gordon
6288523cfe * Move checkbox to plugin api (core never uses it)
* replace the last of the scrollbar() calls with gui_scrollbar_draw()


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11552 a1c6a512-1295-4272-9138-f99709370657
2006-11-19 14:11:42 +00:00
Michael Sevakis
acc29d95be SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 02:18:29 +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
Michael Sevakis
806d8f3505 Added recording functions to plugin API per request of Thom Johansen. Cleaned up includes in plugin.c and grouped them a bit better in plugin.h while at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11508 a1c6a512-1295-4272-9138-f99709370657
2006-11-11 05:11:05 +00:00
Jonathan Gordon
6a1161b634 dont allow the volume setting to wrap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11445 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 10:11:51 +00:00
Jonathan Gordon
29e259a291 * give tsr plugins the choice to quit or not
* bumps plugin api version


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11405 a1c6a512-1295-4272-9138-f99709370657
2006-10-31 11:17:00 +00:00
Peter D'Hoye
9afce4d359 Disk spindown control during jpeg slideshow: for times below 10s, keep the disk spinning, for longer times spin down the disk immediately after loading the picture. Inspired by #FS5653 (Paul Jam / Gwen Roelants) and Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11299 a1c6a512-1295-4272-9138-f99709370657
2006-10-21 14:47:55 +00:00
Michael Sevakis
6aa12c11f7 Added a small interface to screens to translate colors into remote gray levels on the x5. Splash screens paint properly with light gray. Should be adapted to a more general approach in the future. A few trailing whitespace trimmings got into a couple files but that is fine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11218 a1c6a512-1295-4272-9138-f99709370657
2006-10-14 01:32:58 +00:00
Dave Chapman
491458e418 Add wheel_status() function to the ipod "4g" button driver (i.e. all ipods excluding the 3G and 1st gen mini) to read the absolute position the wheel is being touched (0..95 - clockwise from top, or -1 for untouched), plus the wheel_send_events(bool) function to disable/enable sending normal scrolling events - based on patch #4721 from Mikael Magnusson.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11068 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 19:25:52 +00:00
Jens Arnold
b0a7de6b7d Solitaire: * Button assignments: Better layout for ipods, allowing one-handed operation during the game. More logical shortcut buttons for Ondios. Slight changes for other targets, including working button repeat for up/down when there is no dual use. * Help text showing all possible buttons instead of forcing the user to try and find out. The text adapts to LCD resolution and selected font.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10985 a1c6a512-1295-4272-9138-f99709370657
2006-09-17 22:20:05 +00:00
Miika Pekkarinen
a85044bf9e New scheduler, with priorities for swcodec platforms. Frequent task
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +00:00
Jens Arnold
1fdb5bff39 Changed the button action code to allow both single-fire and multi-fire events to be triggered with _REPEAT. Also simplifies the code. * Made the button mapping tables const to save RAM when running rockbox from flash ROM. * Repaired button mappings for Ondio. * Repaired some more button mappings for player. * Added missing TREE_STOP for iriver, and fixed WPS skipping for recorder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10600 a1c6a512-1295-4272-9138-f99709370657
2006-08-16 00:32:45 +00:00
Linus Nielsen Feltzing
224c0a13eb Finally, the new button action system is here, thanks to Jonathan Gordon. Some button mappings have changed and other things may break. Comments should go to the forum, http://forums.rockbox.org/index.php?topic=5829.0 or the mailing list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10582 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 12:27:07 +00:00
Rani Hod
bcd94a9b01 Accepted FS #5786 by Michael Sevakis - lcd_yuv_blit() for X5.
hard coded to YUV4:2:0 for now, gives ~13.5 fps.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10528 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 14:10:34 +00:00
Dave Chapman
13b23fbcdb Implementation of lcd_yuv_blit() for the ipod 5g.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10487 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 21:28:08 +00:00
Jens Arnold
c5a309afbd H300: * Implemented lcd_yuv_blit(). Speeds up video playback by about 7%. No bounds check in lcd_yuv_blit() (by convention), implementations for other targets should be adapted. * Fixed off-by-one bug in lcd_update_rect()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10484 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 13:44:43 +00:00
Dan Everton
5814551865 Add disktidy plugin (FS#2596).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10482 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 10:46:39 +00:00
Dave Chapman
c9d66562af Initial commit of work-in-progress MPEG video player plugin based on libmpeg2. Works on all targets with colour LCDs, but most optimised for the ipod Color/Photo and Nano. It currently only plays raw MPEG-1 or MPEG-2 video streams (no audio). Also adds a new lcd_yuv_blit() function to the plugin API - currently only implemented for the ipod Color/Photo and Nano.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10479 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 22:11:07 +00:00
Jens Arnold
05ddd9a44e X5 remote LCD drawing. This will break target linking atm - lcd_remote_update[_rect]() are not yet implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10347 a1c6a512-1295-4272-9138-f99709370657
2006-07-28 07:35:45 +00:00
Miika Pekkarinen
b40eb3d662 Fixed unicode buffer overflow issue (metadata parser crashed with some
mp3 files).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10324 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 18:12:57 +00:00
Antoine Cellerier
561ac73e01 Increment plugin api version (thanks to hardeep)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10256 a1c6a512-1295-4272-9138-f99709370657
2006-07-19 19:55:51 +00:00
Antoine Cellerier
06e6acd6cd Export bidi_l2v, font_get_bits and font_load in plugin API (on bitmap LCD targets)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10255 a1c6a512-1295-4272-9138-f99709370657
2006-07-19 19:47:34 +00:00