Commit graph

472 commits

Author SHA1 Message Date
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
Rafaël Carré
a72aa856bd Move some gcc extensions to new gcc_extensions.h header
- Move ATTRIBUTE_PRINTF/ATTRIBUTE_SCANF from _ansi.h
  They are not related at all to this file, and this broke compilation
  with Code Sourcery GCC which ships its own _ansi.h
- Move LIKELY/UNLIKELY from system.h

There is likely a lot more GCC extensions used everywhere in the source,
conditionally on __GNUC__ or unconditionally

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27548 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 14:44:29 +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
Rafaël Carré
88c45ff4bf plugins: undefine DEBUG macros just in case, before defining them to a real statement
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26147 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 18:45:10 +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
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
56058c7213 FS#11187 - diacritic.c is in 'drivers' but it does not belong there
- Move diacritic.c to firmware/common
- The function is_diacritic returns bool now


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25526 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 20:41:18 +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
Mohamed Tarek
419e8aad78 Bump APIs' versions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24681 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 01:39:37 +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
Teruaki Kawashima
1549b19d9e color_picker: a bit of rework for color_picker.
* don't call display->getcharheight() so often, store the value to char_height and use it instead.
* replay title_height by char_height, they should be the same.
* fix spaces.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24595 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 14:18:31 +00:00
Frank Gevaerts
7e285eee8c Bump plugin API version. This should have been done in r24587. Also, because the new function is added halfway. the minimum api has to be bumped too/
I promise to be more careful next time


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24592 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 13:05:07 +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
Thomas Martitz
5629d551d7 Accept the last patch FS#10797 with a few changes by me (fixing side effects and adding the new backdrop_hide() to the multi screen api). It changes the hide_bars parameter to mean hide_theme.
This makes plugins show the menu backdrop in their backdrop so that they don't look like crap if you have an sbs and look more integrated. I've test about all plugins and all work fine.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24335 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 20:14:42 +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
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
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
Jeffrey Goode
9a4420bf96 FS#10739: playback.c code split
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23444 a1c6a512-1295-4272-9138-f99709370657
2009-10-31 19:17:36 +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
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