Nils Wallménius
f79bc56430
Use smaller data types in structs which are in big arrays to save memory
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17256 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 12:54:36 +00:00
Dave Chapman
aa9dbfef19
Add a comment to clarify how the WPS image buffer size is calculated
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16961 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 12:32:37 +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
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
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
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
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
Steve Bavin
276ff3bceb
Copy current track path as a string, not a slightly-oversized block.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13808 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 22:34:18 +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
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
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
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
Miika Pekkarinen
1c0f41447a
Reverted FS#6949 as we have a strict policy against anonymous contributions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13168 a1c6a512-1295-4272-9138-f99709370657
2007-04-15 15:38:08 +00:00
Miika Pekkarinen
3c6e46ce64
FS#6949 - WPS tag for database autoscore. Author wanted to remain anonymous.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13164 a1c6a512-1295-4272-9138-f99709370657
2007-04-15 13:50:07 +00:00
Nicolas Pennequin
2e1169bdda
* Make the WPS parser close open conditionals on new sublines and comments as well as new lines.
...
* Make the displaying code check for invalid conditional constructs in order to avoid some rare cases of infinite looping.
* Make the WPS parser check that it doesn't read more strings than it can.
* Increase the string buffer size (from 512 to 1024, to accomodate the TextBox WPS which uses a lot of unicode characters).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13162 a1c6a512-1295-4272-9138-f99709370657
2007-04-15 02:59:34 +00:00
Nicolas Pennequin
27cbf6bcea
* Add the crossfade (%xf) WPS tag
...
* Avoid eating the whole line when unsuccessfully parsing a %x or %xl tag. This will prevent unknown tags starting with %x from making the line disappear.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13127 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 16:15:34 +00:00
Nicolas Pennequin
5cac46164a
Use valid_time() instead of using individual checks which amount to the same thing, and add RTC tokens beginning and end values that are used to check if a token is an RTC one.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13096 a1c6a512-1295-4272-9138-f99709370657
2007-04-10 15:27:52 +00:00
Nicolas Pennequin
536c5d9e74
RTC tags for the WPS: Accept FS#6998 and FS#7001 by Alexander Levin with changes by me. CUSTOM WPS FILES NEED TO BE UPDATED !
...
The RTC tags are now atomic, i.e. instead of using one tag with the format (e.g. %cd m yc), we use several separate tags, one for each value (e.g. %cd %cm %cy).
Also, %cP produces an uppercase AM/PM indicator and %cp a lowercase one, which is the opposite from what they did before.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13093 a1c6a512-1295-4272-9138-f99709370657
2007-04-10 13:37:08 +00:00
Nicolas Pennequin
07696c10b1
FS#6991. Patch by Alexander Levin, modified by me:
...
* Reorganisation of the WPS data structure with line and subline structs. This allows us to use sublines more sparingly, so it should save some memory. Also it removes the need for the "End Of Line" token. Overall, the data structure and the code are simplified and gain in clarity.
* Some code improvements and added comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13065 a1c6a512-1295-4272-9138-f99709370657
2007-04-08 04:01:06 +00:00
Nicolas Pennequin
830a3a4720
* Make some private variables 'static'.
...
* Fix the pitch tag and allow it to be used on all targets except the Archos Player.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13020 a1c6a512-1295-4272-9138-f99709370657
2007-04-04 15:47:51 +00:00
Nicolas Pennequin
ab90d58801
Introducing the WPS tokenizer !
...
When a WPS file is loaded, it is parsed to an array of tokens, which allows more efficient displaying. More info on the tracker entry : FS #6862 .
The parsing code is completely independant and is all in wps_parser.c. The displaying part stays in gwps-common.c.
Debugging code is provided (with the right ifdefs) and is disabled by default.
Overall, the code should be easier to read and maintain. Adding new WPS tags is made quite trivial.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13019 a1c6a512-1295-4272-9138-f99709370657
2007-04-04 14:41:40 +00:00
Jens Arnold
2684e36724
Repair player progressbars (single char and full line) broken in the full unicode support move, and enable text alignment for charcell.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12993 a1c6a512-1295-4272-9138-f99709370657
2007-04-01 17:32:12 +00:00
Nicolas Pennequin
7ba8aec5af
* Add support for an optional y coordinate to the progressbar (from FS #4783 ).
...
* Modify the 'Rockboxed' WPS to make use of this new coordinate. It improves the display of
cuesheet/A-B markers a lot and cleans the bitmaps up a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12321 a1c6a512-1295-4272-9138-f99709370657
2007-02-15 22:17:01 +00:00
Nils Wallménius
20338ca60d
Removed unused button defines and made private functions static
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11750 a1c6a512-1295-4272-9138-f99709370657
2006-12-13 11:52:21 +00:00
Jens Arnold
780f79e7a4
Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 20:26:01 +00:00
Jens Arnold
c1767ddf4a
Remove format_align from the format_lines array, as it's unnecessary. Saves code & memory. Patch by Mark Arigo.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11388 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 00:23:32 +00:00
Jonathan Gordon
f1781318d3
software keylock works again
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10632 a1c6a512-1295-4272-9138-f99709370657
2006-08-17 12:33:36 +00:00
Daniel Stenberg
1e88be518a
Barry Wardell's keymappings for H10
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10446 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 20:17:25 +00:00
Peter D'Hoye
93b899d0fe
Reworked backdrop handling. Fixes a bug that wasn't in the tracker yet ;)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9970 a1c6a512-1295-4272-9138-f99709370657
2006-05-21 11:00:02 +00:00
Linus Nielsen Feltzing
264d8f69ab
Enable next-dir skip on platforms with no directly mapped button combos (click-longclick of next/prev)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9933 a1c6a512-1295-4272-9138-f99709370657
2006-05-15 06:59:18 +00:00
Brandon Low
2b18727a8a
Fix dir skipping with new playback arch. Enable dir skipping on ipod with a couple of difficult combos (select|right/left) or short-long left / short-long right. The latter causes stuck in pause sometimes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9720 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 18:33:09 +00:00
Zakk Roberts
2f943b054c
Enabled the quickscreen for iAudio X5. Globally, REC enters the menu and holding REC enters the quickscreen. Also moved the quickscreen #define to model config files, which simplifies the checking for it and makes checking more consistent. Cleaned up keymappings in quickscreen.h.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9590 a1c6a512-1295-4272-9138-f99709370657
2006-04-10 03:51:17 +00:00
Brandon Low
bf6f9c66a1
Enable AB repeat on ipods with 4g keypad, requires quick fingers or you get the context menu instead of a marker. Thanks to Mikachu on IRC.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9589 a1c6a512-1295-4272-9138-f99709370657
2006-04-10 00:39:48 +00:00
Miika Pekkarinen
bd39c25586
Now define the _PRE-function correctly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9585 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 19:17:32 +00:00
Magnus Holmgren
92ff0e292d
Back out the 'do not stop playback until stop button has been released' change, because of interaction issues with exiting menus using the same button, causing the wps to exit. (Also, the '_PRE' suffix is for 'preceeding' events (e.g., button presses), not button releases.)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9584 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 17:08:32 +00:00
Miika Pekkarinen
6b7dff6e77
Do not stop playback until stop button has been released or shutdown
...
triggered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9532 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 09:01:30 +00:00
Zakk Roberts
15b2eefd6b
Updated quickscreens, now they look better than before while still retaining the ability to scroll - this is about as good as it gets until viewports are implemented. Also enabled the quickscreen for iPods.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9421 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 10:41:16 +00:00