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
Nicolas Pennequin
19868938d4
WPS parser: also revert to the default WPS when there were bitmap loading errors. The reverting is moved from wps_parse() to wps_data_load().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16914 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 17:35:48 +00:00
Dave Chapman
d746b79317
Remove unnecessary (and incorrect) #ifdefs surrounding #include "backdrop.h", and correct remaining references to HAVE_LCD_REMOTE to HAVE_REMOTE_LCD
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16873 a1c6a512-1295-4272-9138-f99709370657
2008-03-29 01:14:10 +00:00
Dave Chapman
78d29f535f
Major cleanup of checkwps - fix all warnings and add a script to build versions for all supported targets (plus some unsupported ones). You now need to run the version of checkwps that matches the device your WPS is for.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16831 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 23:35:34 +00:00
Dave Chapman
3d88eddb83
Move checkwps to its own subdir in preparation for compiling target-specific versions. Also remove a DEBUGF that should not have been left in.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16827 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 20:19:39 +00:00
Dave Chapman
fa1da20d3a
Fix yellow, and at the same time simplify some #ifdefs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16823 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 19:07:39 +00:00
Dave Chapman
b9bb723f12
1) Make Rockbox reject any WPSs if there are errors loading any of the required bmps; 2) Make checkwps actually load the images using the Rockbox bmp loader, and reject the WPS in the same was as Rockbox on bmp errors.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16822 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 18:18:22 +00:00
Dave Chapman
7418c357c3
Make checkwps compile again. Still more work is needed though, as checkwps is compiled to emulate an iPod Color - this needs changing to allow the LCD (and remote LCD) dimensions/depth to be specified on the commandline - the new %V tags are validated against the LCD characteristics
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16807 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 21:09:58 +00:00
Dave Chapman
60413d898e
D'oh - fix a silly #ifdef mistake that caused problems with remote WPSs using viewports.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16787 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 00:20:59 +00:00
Dave Chapman
0bb2e05aef
Stricter syntax checking of the %V tag - pay attention to the return-code from parse_list, and check for the tailing | symbol.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16784 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 18:40:13 +00:00
Dave Chapman
2a34943d7f
Hopefully get the viewport position/dimensions validation correct this time.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16782 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 14:58:30 +00:00
Dave Chapman
6d9c353f2e
Add another safety-check in the bitmap strips parsing - don't allow the num_subimages parameter to %xl to be <= 0
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16779 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 10:13:47 +00:00
Dave Chapman
99c0978faa
Add a sanity-check to ensure only in-range subimages are referenced in %xd tags. Plus some tab policing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16774 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:03:05 +00:00
Dave Chapman
15ddd7a7ec
Add the ability to use bitmap strips (a single .bmp file containing many images of the same dimensions, tiled vertically - similar to icon strips) in the WPS. The %xl tag now has an optional "number of subimages" parameter, and the %xd tag has an optional "subimage to display" parameter (a-z,A-Z - allowing up to 52 sub-images). So for example, a bitmap with 10 subimages is loaded with %xl|M|volume.bmp|134|153|10| and then this can be used in a conditional as %?pv<%xdMa|%xdMb|%xdMc|%xdMd|%xdMe|%xdMf|%xdMg|%xdMh|%xdMi|%xdMj>.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16764 a1c6a512-1295-4272-9138-f99709370657
2008-03-23 20:31:00 +00:00
Dave Chapman
65d50de5b7
Oops - correctly reset the bmp filenames
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16762 a1c6a512-1295-4272-9138-f99709370657
2008-03-23 12:15:52 +00:00
Dave Chapman
bca8edd856
Small simplification - take advantage of the fact that x/y/width/height are non-negative integers when validating the viewport bounds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16736 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 09:28:15 +00:00
Dave Chapman
45b2d8802d
Reduce the shocking amount of RAM my viewports implementation was using. The first version stored an array of lines for each of the 16 possible viewports (MAX_VIEWPORTS * the number of lines on the LCD with a 5-pixel high font). This version reverts back to a single global array of lines, with each viewport specifying the first and last lines as indexes into that array. This also turns out to be simpler, reducing binsize a little as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16735 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 00:31:22 +00:00
Dave Chapman
d02c79c03f
Commit viewports-in-WPS patch (FS#8385). This adds the %V tag - see the CustomWPS page for details (shortly...). There is still some work to do - decide how to handle font references, decide how to handle conditionals. Plus checkwps is broken - I'll fix that in a separate commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16733 a1c6a512-1295-4272-9138-f99709370657
2008-03-21 19:38:00 +00:00
Dave Chapman
e92d2c51ed
Add a general-purpose parse_list function to parse a string containing a delimited list of items and adapt the parse_image_load() function in the WPS parser to use it. This function will also be used to parse the upcoming WPS %V viewport tag, but I'm committing it separately as these changes are unrelated to the viewport implementation itself.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16728 a1c6a512-1295-4272-9138-f99709370657
2008-03-21 13:41:35 +00:00
Jonathan Gordon
923cbe3224
revert my previous commit and use a conditional for the time format instead which is probably better.
...
%?cf<24 hour stuff|12 hour stuff>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15830 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 01:41:59 +00:00
Jonathan Gordon
0ade09bd6b
add 2 new tags which display the hour in 12 or 24 hour format depending on the config setting.
...
%cf is for padded hour
%cg is for just the number
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15826 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 01:18:31 +00:00
Nicolas Pennequin
720cfe3954
Improve clearing of pictures in conditional constructs. This fixes improper clearing of pictures used in several conditionals or in nested conditionals (FS#7856).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15663 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 15:32:45 +00:00
Nicolas Pennequin
31f76116f1
Make the WPS parser stricter with invalid parameter lists. It will now reject them instead of ignoring them (this includes the second parameter to %m|x|, which is invalid and now causes a failure). Also change the debugging code in order to allow more precise error messages, including the faulty token's index and description. Finally, add a few missing token description and fine-tune the #ifdefs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15624 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 22:02:41 +00:00
Nicolas Pennequin
f554e00b61
Allow setting a margin on a non-scrolling line by using %m|margin| instead of %s|margin|. This allows to easily place dynamic info next to album art.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15610 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 00:45:04 +00:00
Dave Chapman
f6ef46b73f
FS#8135 - add an optional "left margin" parameter to the %s WPS tag - e.g. %s|100|. This patch uses parts of the scroll-margins patch (FS#2954), but is much smaller, only offers a left-margin, and only affects the WPS code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15604 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 21:34:01 +00:00
Nicolas Pennequin
8537cbf091
Add detection for a previously ignored error case: a conditional token is present but no conditional start token (e.g. "%?C%al|>"). This would cause an inifnite loop in the displaying code. Thanks to markun for making the mistake and reporting it ;)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15598 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 18:43:38 +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
Dan Everton
eecfe9f1cb
Add support for grouping tags. From FS#7362.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14242 a1c6a512-1295-4272-9138-f99709370657
2007-08-08 10:19:56 +00:00
Dan Everton
f4a61f0c4a
Add support for parsing the disc number tag from metadata and use of it in the database. Patch originally from FS#4961 with some minor tweaks by me.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14154 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 10:00:42 +00:00
Nicolas Pennequin
29407cbe80
Implement feature request FS#7476: Add a "song progress percentage" WPS tag (%px) that can be used in a conditional to create custom progress meters.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13987 a1c6a512-1295-4272-9138-f99709370657
2007-07-25 14:14:47 +00:00
Marianne Arnold
74aabc8381
Make the '%mh' wps tag (to indicate keylock status) available on the Archos targets as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13716 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 20:54:11 +00:00
Brandon Low
9a550524af
Make RTC tags display hyphens instead of nothing on non-rtc targets. This makes WPSs that use RTC tags look decent again with the new separated RTC tag style
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13639 a1c6a512-1295-4272-9138-f99709370657
2007-06-16 20:33:30 +00:00
Nicolas Pennequin
887b31c01a
Add some more explicit defines for my previous commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13561 a1c6a512-1295-4272-9138-f99709370657
2007-06-05 14:57:07 +00:00
Nicolas Pennequin
b5f4d90b4b
Make the bitmap loading code handle the progressbar and backdrop bitmaps in a slightly more generic way. This hopefully simplifies the code a bit and should make adding special bitmaps less painful.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13560 a1c6a512-1295-4272-9138-f99709370657
2007-06-05 10:42:41 +00:00
Dave Chapman
f0d4fc6c6b
Commit my patch from FS#7179 - a standalone command-line checkwps tool. To build, just type "make checkwps" in tools and run it with "checkwps wpsname.wps".
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13517 a1c6a512-1295-4272-9138-f99709370657
2007-05-29 19:00:36 +00:00
Nicolas Pennequin
392d07902f
Oops, next file info should be dynamic.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13456 a1c6a512-1295-4272-9138-f99709370657
2007-05-21 14:04:38 +00:00
Nicolas Pennequin
5cc98efddc
Add %fk and %Fk WPS tags : (next) file audio frequency in KHz (rewrite of FS#6393 to adapt it to the tokenizer).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13455 a1c6a512-1295-4272-9138-f99709370657
2007-05-21 13:41:43 +00:00
Nicolas Pennequin
aa220d5acd
Trim a bunch of long lines and fix an infinite loop and buffer overrun in the impossible case that a WPS line ends with a litteral string but without a newline char (wps_parser.c:774).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13306 a1c6a512-1295-4272-9138-f99709370657
2007-05-02 17:51:01 +00:00
Nicolas Pennequin
378a140ae2
Add a check for unclosed conditionals at the end of the WPS parsing in case we didn't reach the end of the file. Also a few minor other changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13303 a1c6a512-1295-4272-9138-f99709370657
2007-05-02 11:39:46 +00:00
Peter D'Hoye
3494b2118b
FS #7093 by Dave Hooper: prevent crash when loading too many/long static strings in the wps
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13302 a1c6a512-1295-4272-9138-f99709370657
2007-05-01 23:36:15 +00:00
Nicolas Pennequin
7e6af1532b
Better handling of strings in the WPS parser by detecting duplicates to avoid having two copies of the same string in the string buffer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13295 a1c6a512-1295-4272-9138-f99709370657
2007-04-30 14:08:58 +00:00
Nicolas Pennequin
1cf2ec38b1
Change some ifdefs for the recent backdrop changes (fixes the yellow builds) and move the backdrop files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13265 a1c6a512-1295-4272-9138-f99709370657
2007-04-25 22:08:00 +00:00
Nicolas Pennequin
7fdfa56454
Add backdrop support for LCD remotes with depth > 1-bit. Only WPS backdrops, but the groundwork is laid for main backdrops too (all that's really needed are menus to set/clear them).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13263 a1c6a512-1295-4272-9138-f99709370657
2007-04-25 21:44:56 +00:00
Nicolas Pennequin
2a2b8d8a82
Make bitmaps use the right format in a RWPS and prevent a backdrop tag in a RWPS from clearing the main display's backdrop. This also allows future backdrop support for LCD remotes by making the parsing code aware of whether the display for a WPS is a remote or not.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13261 a1c6a512-1295-4272-9138-f99709370657
2007-04-25 13:09:56 +00:00
Nicolas Pennequin
6ac306a515
Add a new commandline switch to the simulator: "--debugwps". It enables printing of advanced (and very verbose) WPS debugging information. Also make the debugging code a bit cleaner.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13257 a1c6a512-1295-4272-9138-f99709370657
2007-04-24 23:58:57 +00:00
Nicolas Pennequin
d7fd989319
WPS Parser: On parse failure, print a (hopefully) useful error message with line number (sim only).
...
Also the debug code is still disabled but now in a nicer way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13251 a1c6a512-1295-4272-9138-f99709370657
2007-04-24 00:57:04 +00:00
Nicolas Pennequin
814d402d4c
More strict WPS parsing and displaying code. If there are errors, WPS loading will fail and the default WPS will be displayed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13236 a1c6a512-1295-4272-9138-f99709370657
2007-04-21 19:31:46 +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
Miika Pekkarinen
f53a8f8cd4
Added autoscore tag (%ra) to wps.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13169 a1c6a512-1295-4272-9138-f99709370657
2007-04-15 15:46:46 +00:00