Commit graph

44 commits

Author SHA1 Message Date
Jonathan Gordon
9e07ef2b0a Use buflib for all skin engine allocations.
Massive thanks to Michael Chicoine and other testers for finding the early bugs.

This removes all skin memory limitations

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30991 a1c6a512-1295-4272-9138-f99709370657
2011-11-15 14:11:08 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Thomas Martitz
cab6ac2240 Fix warning in android build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29440 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 21:09:36 +00:00
Nils Wallménius
b2a5e4e138 Mark constant array as 'const' and use a smaller datatype.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27762 a1c6a512-1295-4272-9138-f99709370657
2010-08-09 15:52:04 +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
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
c0635ba6c9 Remove wps_data.remote_wps. It's redundant with the new global curr_screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23512 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 07:14:02 +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
Thomas Martitz
ba8fbb0b9b Rename struct skin_albumart members to be consistent with similar members of other structs. the albumart_ prefix is redundant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22836 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 18:36:28 +00:00
Jonathan Gordon
fe2f042670 rework AA load/display handling in the skins to get them working in viewports again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22646 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 02:36:56 +00:00
Karl Kurbjun
25123570c7 Fix STRIDE macro for multiscreen and add stride support for picture lib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22615 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:46:24 +00:00
Thomas Martitz
3b75c86d74 A bit mroe wps/skin engine cleanup so that the structs the wps uses can be static:
-add wrappers wps_data_load() and wps_data_init() so that other code doesn't need the structs for that
-change (and rename) gui_sync_wps_uses_albumart() to take points to be filled as parameter to get the AA size of a wps

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22139 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 15:06:30 +00:00
Jonathan Gordon
5e5fc64cb2 Start of some apps/ and wps cleanup work... Move everything related to the actual drawing of the wps into apps/gui/wps_engine, things related to the actual screen are in apps/gui/music_screen.c (names are temporary unless noone comes up with anything better)
No real code changes.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22062 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 07:21:05 +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
659425f23e Redo r21460 and r21462 so that it doesn't introduce a new #define. Patch by Jeffrey Goode, taken from FS#10366.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21467 a1c6a512-1295-4272-9138-f99709370657
2009-06-22 18:40:49 +00:00
Thomas Martitz
ee1d8d1676 FS#10365 - Optional debug output for albumart.c
Same as r21460 just for albumart.c

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21462 a1c6a512-1295-4272-9138-f99709370657
2009-06-21 22:00:11 +00:00
Andrew Mahone
b41208fffd Don't recheck for track art when checking track art first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21127 a1c6a512-1295-4272-9138-f99709370657
2009-05-29 10:58:23 +00:00
Andrew Mahone
84106fd917 Change the search_albumart_files "ignore track art" option to check track art last.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21126 a1c6a512-1295-4272-9138-f99709370657
2009-05-29 10:31:56 +00:00
Alexander Levin
a484054d55 Describe the magic of search_albumart_files (still not complete)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21120 a1c6a512-1295-4272-9138-f99709370657
2009-05-28 20:05:31 +00:00
Andrew Mahone
f51189cd5e Suggested by Thomas Martitz, don't check for track-specific files when searching for covers in PictureFlow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21111 a1c6a512-1295-4272-9138-f99709370657
2009-05-28 04:34:07 +00:00
Andrew Mahone
f7ec9c0fad Clean up albumart.c a bit, reducing use of USE_JPEG_COVER inside search_albumart_files to only around the folder.jpg test and a strlen call. 0 delta vs previous code for #undef HAVE_JPEG.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20958 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 08:20:47 +00:00
Alexander Levin
98bcb0a8a8 Define a symbol and use it instead of repeating the condition
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20956 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 07:34:36 +00:00
Alexander Levin
e7ab26535a Make variables static where possible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20955 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 06:59:29 +00:00
Andrew Mahone
d59bff092d FS#10201, skip folder.jpg in search_albumart_files if size_string is not empty.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20951 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 23:26:37 +00:00
Andrew Mahone
5621fd393a Build pictureflow using overlay on lowmem targets, support JPEG AA in PF on all targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20864 a1c6a512-1295-4272-9138-f99709370657
2009-05-07 01:23:13 +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
b40878043c Fix AA search for file with same basename to test all extensions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20838 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:46:51 +00:00
Andrew Mahone
54e6eb3bda Search for, and load, JPEG album art files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20837 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:31:43 +00:00
Jonas Häggqvist
cd34de693c Invert albumart when LCD Mode is set to inverse.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20357 a1c6a512-1295-4272-9138-f99709370657
2009-03-19 17:43:53 +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
Andrew Mahone
781421afa2 resize-on-load for bitmap files on 2bpp and color targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19374 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 23:07:59 +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
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
Magnus Holmgren
79fb077933 When looking for album art in /.rockbox/albumart/, use album artist rather than artist, if available.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17171 a1c6a512-1295-4272-9138-f99709370657
2008-04-19 15:21:09 +00:00
Magnus Holmgren
2235081dbc Prevent possible buffer overflow when locating album art.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16231 a1c6a512-1295-4272-9138-f99709370657
2008-02-06 19:51:19 +00:00
Nicolas Pennequin
cfe51b0cd1 Add a couple safety checks in search_albumart_files(). Should fix the sliding_puzzle crashes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16225 a1c6a512-1295-4272-9138-f99709370657
2008-02-05 11:56:21 +00:00
Jonas Häggqvist
2cffb1bf3d Look for albumart in .rockbox/albumart/<artist>-<album><size>.bmp in addition to the current locations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16110 a1c6a512-1295-4272-9138-f99709370657
2008-01-19 18:05:06 +00:00
Nicolas Pennequin
536b5a0482 Accept FS#8469 by Bryan Childs with a few adjustments: Remove duplicate strip_extension() function from albumart.c. The other one is moved from tree.c to misc.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16103 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 10:02:03 +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
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
Magnus Holmgren
7aa4ae6e45 Improved use of album name when locating the album art file: replace chars that are invalid in file names; double quotes to single quotes, other invalid chars to underscore (now only very long album names could cause a problem). Also removed some unecessary code and reduced stack usage a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15630 a1c6a512-1295-4272-9138-f99709370657
2007-11-15 20:22:03 +00:00
Nicolas Pennequin
1480d078e7 Add an error check, just to be safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15596 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 14:26:47 +00:00
Nicolas Pennequin
81dedee7d0 Various album art improvements:
* Make the album art display tag static instead of dynamic, making it be drawn less often, which is good.
* Add the possibility of clearing the album art bitmap instead of drawing it, and use this abaility when the display tag is inside a conditional construct.
* Add the album art display tag to wps_debug.c.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15592 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 01:31:42 +00:00
Nicolas Pennequin
9d4bed7ff0 Album art support. Based on FS#3045, but heavily modified to adapt to MoB and for cleanness.
The cover pictures are loaded from external bitmaps. JPEG and embedded art are not supported. The pictures will only be drawn on the main display. There is no resizing but it is possible to specify the WPS bitmap size in the bitmap names (e.g. cover.100x100.bmp).
The bitmaps are stored in the main buffer and read directly from there. Currently, duplicate bitmaps will simply be present several times in the buffer, but this will be improved.
To enable for a target, #define HAVE_ALBUMART in its config file.
For more information, see the wiki page: http://www.rockbox.org/wiki/AlbumArt.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15572 a1c6a512-1295-4272-9138-f99709370657
2007-11-11 12:29:37 +00:00