Commit graph

476 commits

Author SHA1 Message Date
Teruaki Kawashima
55a63609ef use correct condition for #if for tagcache_fill_tags().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28188 a1c6a512-1295-4272-9138-f99709370657
2010-09-30 13:09:50 +00:00
Frank Gevaerts
f366090562 Make disabling HAVE_PITCHSCREEN actually work without breaking the build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28102 a1c6a512-1295-4272-9138-f99709370657
2010-09-17 20:28:47 +00:00
Thomas Martitz
0d4585b28f Extend lc_open() to also being able to load overlay plugins.
For this it needs to look at the plugin header. Since lc_open() doesn't know
it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
2010-09-09 16:17:21 +00:00
Thomas Martitz
6eaab4d004 Ged rid of uisimulator/common/io.c for android builds.
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants.
Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know).
For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one,
the values can be retrieved via the new dir_get_info().

Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep().

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 21:29:34 +00:00
Rafaël Carré
da16248e47 Plugins: modify IRAM copying code
Move to plugin_crt0.c, plugins don't need PLUGIN_IRAM_* macros anymore
IRAM is no longered zeroed before copying (as it is at the same address
than BSS) -> Fix FS#11581
Use cpucache_invalidate() (and not cpucache_flush), needed for self-modifying code on cached IRAM

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27948 a1c6a512-1295-4272-9138-f99709370657
2010-08-30 20:47:53 +00:00
Rafaël Carré
0f063b7d72 Implement lcd(_remote)_putsxyf() and export to plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27921 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 21:46:18 +00:00
Rafaël Carré
e09ebc4213 pitch_detector: cleanup
- cosmetics: remove trailing white space
- mark all functions and variables as static
- merge struct definition and declaration when possible
- rename tuner_settings -> settings (because it's shorter)
- remove unused enums
- don't give pointer to settings struct as argument since there is only
  one struct, same for the settings filename
- fix error cases in settings load:
    reset settings when loading failed
    close file when it hasn't the right size
- inline small load/save functions only used once
- remove unused print_char_xy
- inline print_str and print_int_xy, and use lcd_putsf (added to the
  plugin API)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27918 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 17:52:31 +00:00
Thomas Martitz
194174a371 2nd try: Introduce a small api for loading code (codecs,plugins) from disk/memory.
It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports.

Apparently sh needs linker symbols prefixed with _ even if they're referenced without from C code.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27902 a1c6a512-1295-4272-9138-f99709370657
2010-08-27 00:29:50 +00:00
Thomas Martitz
97d2a6ec5c Revert "Introduce a small api for loading code (codecs,plugins) from disk/memory."
I don't understand the build error at all, plugin_bss_start is clearly defined in plugin.lds

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27901 a1c6a512-1295-4272-9138-f99709370657
2010-08-27 00:16:26 +00:00
Thomas Martitz
73f057be6f Introduce a small api for loading code (codecs,plugins) from disk/memory.
It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27900 a1c6a512-1295-4272-9138-f99709370657
2010-08-26 23:20:02 +00:00
Rafaël Carré
851be21f67 system-arm.c/__div0 are for ARM native builds only
Android can now be built with CPU_ARM defined
Needs investigation (and test_codec) to see if/how this helps

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27684 a1c6a512-1295-4272-9138-f99709370657
2010-08-03 19:00:29 +00:00
Thomas Martitz
9c0b2479f7 Rockbox as an application: add get_user_file_path().
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.

On the DAPs it's a no-op, returing /.rockbox directly.

Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Nils Wallménius
296ac7f716 Missed one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27540 a1c6a512-1295-4272-9138-f99709370657
2010-07-24 10:53:58 +00:00
Teruaki Kawashima
a874f77e18 text_viewer: remove unneeded code.
viewportmanager_theme_enable() sets values to passed viewport by viewport_set_defaults(), so no need to call sb_skin_get_info_vp() or viewport_set_defaults().

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27399 a1c6a512-1295-4272-9138-f99709370657
2010-07-12 13:38:40 +00:00
Yoshihisa Uchida
bc46541bcd plugin api: delete sb_skin_update().
text viewer: use send_event() instead of sb_skin_update(). thanks to teru.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27348 a1c6a512-1295-4272-9138-f99709370657
2010-07-08 13:54:28 +00:00
Yoshihisa Uchida
3691435c25 plugin api: new functions set the end of the structure. thanks to Frank Gevaerts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27335 a1c6a512-1295-4272-9138-f99709370657
2010-07-07 12:42:15 +00:00
Yoshihisa Uchida
e5a257607d plugin api: add the following functions.
- get the viewport of the current skin.
- update the current skin statusbar.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27333 a1c6a512-1295-4272-9138-f99709370657
2010-07-07 11:35:30 +00:00
Michael Sevakis
cf73340f1e Enable game sounds in PacBox. Sound is OFF by default but can be enabled from the menu. Enable a function for SWCODEC in the middle of the plugin API, so plugins must be made incompatible (full update).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27202 a1c6a512-1295-4272-9138-f99709370657
2010-07-01 00:26:01 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Rafaël Carré
5d236b2bfd Generate C file / header for svn version string
It's now easier to force rebuild of files depending on the svn revision

version.c/version.h are generated once with new tools/genversion.sh
Changes in the VCS are still not auto detected, so you'll have to remove
builddir/version.* if you want to change the string in your binaries

APPSVERSION is now called RBVERSION and is defined in the generated
header instead of being defined by the Makefiles
appsversion is now called rbversion (the plugin api number didn't change
since old modules are still binary compatible)

Change some bootloaders to use knwon-at-buildtime RBVERSION instead of
"%s" + rbversion

You'll need to run make clean to regenerate dependencies after the
removal of apps/version.h

To build binaries with a different version string, hand-edit
tools/version.sh or tools/genversion.sh (which calls the former)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26320 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 09:41:46 +00:00
Michael Sevakis
d56999890f Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26253 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 16:42:32 +00:00
Michael Sevakis
fcf36dd4f9 Simplify mpegplayer a bit and use array-based lists rather than linked lists for stream management. Move a couple useful functions to handle pointer arrays from kernel.c into general.c; mpeglayer now makes use of them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26101 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 12:34:05 +00:00
Michael Sevakis
80d0d15ca9 Gigabeat S: Fully enable access to hardware tone controls and 3-D effect feature. Under the hood, it's designated a hardware equalizer since it is one. Implement code framework for hardware EQ in general. Menu aspect is well abstracted and so the UI and strings can be changed around if taste doesn't quite suit. So far the emphasis is distinction of the UI labelling from the software EQ so that it's clear the settings are for a different thing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26051 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 13:09:45 +00:00
Frank Gevaerts
530c25130f Make the sim buildable with mingw again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26037 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 22:57:52 +00:00
Thomas Martitz
3cca7e8650 Include host system's header files and don't compile our c library replacements in the sim.
This makes it possible to move the simulator code into the target tree (for Rockbox as an application).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26019 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 12:37:05 +00:00
Michael Sevakis
7250405c70 pitch_detector: Use continuous recording, even if the algorithm is too slow for that and record a whole buffer even if the min frequency is higher. Use the minimum samplerate that allows C-4186 to be detected (usually 11.025kHz, which can reduce computational load to 1/16 compared to 44.1kHz). Get rid of 64-bit multiplies when calculating input RMS value. Stop audio playback when entering plugin. Better backlight and CPU frequency handling. audio_sample_type->int16_t. simpler buffer size rounding.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26005 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 06:25:40 +00:00
Thomas Martitz
e919b5d5b9 Fix disastrous variable shadowing, change casts to unsigned in (cygwin doesn't like mode_t there, and unsigned int should be equally correct) and check the correct bitmask in sim_open().
Should repair filesystem accesses on the sim.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25881 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 16:56:40 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Thomas Martitz
c61e89c0ed Make creat() posix compliant API-wise. Shouldn't affect the core as it's wrapped via a static inline.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:04 +00:00
Tomer Shalev
9e4bd41e41 Text viewer: Fix RTL languages and diacritic characters support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25515 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 17:22:16 +00:00
Rafaël Carré
35500c22a4 Fuzev2: add dithering option for mpegplayer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25364 a1c6a512-1295-4272-9138-f99709370657
2010-03-28 02:41:29 +00:00
Jonathan Gordon
1c2aa35371 FS#10984 - multifont! 2 major additions:
1) seperate UI font for the remote and main displays
2) allow individual skins to load additional fonts for use in the skin (Uo to 7 extra in this first version) see CustomWPS for info on how to load a font in the skins.

Code should always use FONT_UI+screen_number to get the correct user font


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24644 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 06:26:16 +00:00
Amaury Pouly
e5caf93e23 Commit FS#10889: detect file handles leaks in plugins and automatically close them on exit and warn the user.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24598 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 19:15:37 +00:00
Frank Gevaerts
43264a946f New plugin: FFT, A frequency analyzer plugin
There is some more work needed:
- Keymaps are definitely not perfect, touchscreen targets are disabled due to no keymap
- There is no manual yet

Author: Delyan Kratunov 
Flyspray: FS#10065



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24587 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 19:44:11 +00:00
Torne Wuff
6e9af8bd44 Add strlcat to core to match strlcpy (also add to plugin api). Some uses of strcat could probably do with being changed to this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24141 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 13:31:46 +00:00
Frank Gevaerts
4a85eb7d9f Fix windows sim builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24111 a1c6a512-1295-4272-9138-f99709370657
2009-12-24 23:17:13 +00:00
Frank Gevaerts
3c3c2aab74 Fix building simulators (at least on linux. cygwin and mingw might need more work)
Also bump the plugin api version


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24110 a1c6a512-1295-4272-9138-f99709370657
2009-12-24 17:32:22 +00:00
Amaury Pouly
081da63d09 Add support for errno in plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24109 a1c6a512-1295-4272-9138-f99709370657
2009-12-24 17:07:20 +00:00
Teruaki Kawashima
a2fc641570 properties,shortcuts_view: enable the theme while showing list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24092 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 13:32:43 +00:00
Jonathan Gordon
9d1832cfba fix FS#10870 - slightly change the viewportmanager theme undo-er to be able to force an update even if the theme isnt being toggled from off to on which caused WPS artifacts when leaving the WPS if the theme was enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24087 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 05:19:12 +00:00
Teruaki Kawashima
0cbf210d76 plugin: search,sort: Handle UTF-8 BOM at the start of file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24081 a1c6a512-1295-4272-9138-f99709370657
2009-12-20 12:59:25 +00:00
Teruaki Kawashima
19b1fe4e8d plugin.c: It wouldn't make much sense to clear screen right before setting back colors to global settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23917 a1c6a512-1295-4272-9138-f99709370657
2009-12-10 13:53:38 +00:00
Jonathan Gordon
b2eb44ce0e FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed

New GUI screen rules:
* Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit
* Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly.
ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:25:46 +00:00
Nils Wallménius
4279c9f4aa Give test_codec the ability to checksum files or folders of files, usefull to verify output integrity.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23711 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 18:48:07 +00:00
Nils Wallménius
8ceaf7bb72 Fix scrolling lines that keep scrolling after exiting plugins and scrolling lines from the fm screen that keep scrolling in the radio context menu, closes FS#10616,
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23633 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 16:45:25 +00:00
Jonathan Gordon
7c440bff32 remove 3 bad viewport functions:
* viewport_set_current_vp() because if a screen wants to not use the user setting it shouldn't be dealing with the viewport manager at all (other than to disable the bars)
* viewport_ui_vp_get_state() is unused (and not needed)
* viewport_get_current_vp() because you should be using set_defaults() instead.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23606 a1c6a512-1295-4272-9138-f99709370657
2009-11-11 06:39:23 +00:00
Maurus Cuelenaere
fecac647d8 Only expose pcmbuf_beep on SWCODEC targets (aka fix red).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23406 a1c6a512-1295-4272-9138-f99709370657
2009-10-29 17:16:31 +00:00
Maurus Cuelenaere
8fb258856c Expose pcmbuf_beep() to plugins (based on FS#10608 by Christophe Gragnic)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23404 a1c6a512-1295-4272-9138-f99709370657
2009-10-29 16:52:12 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Thomas Martitz
1016ee4e80 Initial custom statusbar commit.
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows.
The default folder for .sbs is the wps folder to reuse images used in the WPS.
As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space.
There are a few restrictions/TODOs:
*) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686)
*) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though).
*) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used).
*) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar.

Otherwise, it behaves like the classic statusbar, it can be configured in the theme settings, and can be turned off in the wps using %wd.

Note to translaters: When translating LANG_STATUSBAR_CUSTOM, please consider using the same translation as for LANG_CHANNEL_CUSTOM if it's compatible. They could be combined later then.

Flyspray: FS#10566
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 15:28:15 +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
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
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
Thomas Martitz
4c48b59be8 User definable UI viewport, to be able to restrict the UI into a viewport for all bitmap displays.
Flyspray: FS#8799

This will allow for pretty themes, for example those with nice glass effects on their backdrops (some might argue they're wasting screen space but it's upto them),
as well as allowing for future background WPS updates in the main UI.

Plugins are not converted yet, they simply use the full screen. Ideally, any plugin that does *not* want the UI viewport, should take care of that itself (i.e. plugins should normally use the UI viewport).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22365 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 22:20:11 +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
Karl Kurbjun
c2480c33f7 Invadrox: Add support for 640x480 screens.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22151 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 05:22:10 +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
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é
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
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
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
Alexander Levin
52a4b48bbf Set the font to FONT_UI after exiting a plugin (FS#10132). This makes the core Rockbox more like a sand box for plugins (less to care about in plugins).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20930 a1c6a512-1295-4272-9138-f99709370657
2009-05-14 18:22:24 +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
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
Maurus Cuelenaere
a10ff23fcf Touchscreen targets: switch to grid mode before launching a plugin and switch back to the original mode when leaving it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20738 a1c6a512-1295-4272-9138-f99709370657
2009-04-19 12:46:04 +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
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
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
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
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
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
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