Commit graph

320 commits

Author SHA1 Message Date
Michael Sevakis
93572e2a9e Keyclick fixup take two. It is only 88 samples (2msec) long so keep a small static buffer around for beeps less than or equal to keyclick duration. This way it operates no matter the buffer state and still won't interfere with alternate PCM operations like recording or plugin playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19415 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 06:01:08 +00:00
Michael Sevakis
826688e699 PCM buffer beeping needs the audio buffer reset in order to work after operations that trash the buffer or keyclick won't be audible until playback is restarted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19413 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 02:48:36 +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
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
Rafaël Carré
c5685ed72d apps/plugin.c : do not declare backlight_* part of rockbox api
if HAVE_BACKLIGHT is not defined

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18947 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 18:54:27 +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
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
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
Michael Giacomelli
52bdcbae85 Commit FS#9170 by Dave Hooper. Adds support for profiling on ARM, and fixes various issues with compiling profile builds. Also, note that profile_reader.pl syntax has changed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18142 a1c6a512-1295-4272-9138-f99709370657
2008-07-28 22:43:41 +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
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
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
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
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
2843469876 Moved atoi declaration to stdlib.h. Deleted atoi.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17280 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 16:18:04 +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
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
f79bfcf1d7 PP targets: Make sure the COP cache is invalidated before loading a plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16984 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 13:26:39 +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
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
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
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
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
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