summaryrefslogtreecommitdiff
path: root/apps/gui/wps_debug.c (unfollow)
Commit message (Collapse)Author
2009-07-27Start of some apps/ and wps cleanup work... Move everything related to the ↵Jonathan Gordon
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
2008-12-09Compile the WPS debug functions for the sim, to make --debugwps work.Jonas Häggqvist
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19371 a1c6a512-1295-4272-9138-f99709370657
2008-11-16revert the previous commit to find a nice way to fix the yellow...Jonathan Gordon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19111 a1c6a512-1295-4272-9138-f99709370657
2008-11-16FS#9477 - new WPS tag (%mo) which lets the WPS have different "modes" which ↵Jonathan Gordon
are changed with the usual "back to browser" button (This button is ONLY stolen if the WPS you use uses this tag. an example use: %?mo<one|two|three> meaning that when the WPS is first opened "one" will be displayed, pressing select will change it to showing two, pressing it again will show three, and once more will go back to showing one. The text there could be any wps tags (conditional viewports for example...) There is no real limit on the amount of modes, but remember that if you create a WPS which uses this tag more than once that every use HAS to have the same amount of choices or bad things will happen. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19110 a1c6a512-1295-4272-9138-f99709370657
2008-10-11* Make %t stricter by aborting if a value is not given.Jonathan Gordon
* Move the default value for %mv back into wps_parser.c where it belongs * Add the debug line for the %mv tag git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18773 a1c6a512-1295-4272-9138-f99709370657
2008-08-29Add wpseditor, the Google Summer of Code 2008 project of Rostislav Chekan. ↵Frank Gevaerts
Closes FS#9327 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18362 a1c6a512-1295-4272-9138-f99709370657
2008-07-12Introduce a new WPS parsing error case: limits exceeded. It includes the ↵Nicolas Pennequin
cases when there are too many tokens, lines, sublines, viewports, strings, characters or conditional levels. This prevents the parser from failing silently or going on, as it used to do in those cases. Thanks to fml (Alexander Levin) for mentioning this issue. I also changed the error types from #defines to an enum, for cleanliness. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18015 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
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-23FS#9051 - remove LCD margins... use viewports if you need them...Jonathan Gordon
NOTE to WPS people.... %m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored. Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected. Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23commit FS#9027 - conditional viewportsJonathan Gordon
** BREAKS CURRENT WPS's ** * %P has been removed, merged with the new %pb * %pb is now %pb or %pb|bitmap|x|y|width|height| (any of those params can be - to use sane defaults... check wiki/task for more explaination) * New %Vl and %Vd tags which are used to setup and display conditionaly displayed viewports (%Vl|<id>|<usual %V params>| to set up, then %Vd<id> to enable the viewport * bumps the max allowed viewport count to 24 * you can setup 3 different progressbars in a WPS... max of one per viewport though http://www.rockbox.org/tracker/task/9027?getfile=16785 is a simple perl script to convert old %P/%pb to the new %pb syntax I'll commit changes to the cabbie wps soon which shows how to use %Vl/%Vd properly... Reminder: %m will be removed soonish also so when fixing your WPS's remember to use conditional viewports to replace %m git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17759 a1c6a512-1295-4272-9138-f99709370657
2008-03-22Reduce the shocking amount of RAM my viewports implementation was using. ↵Dave Chapman
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-21Commit viewports-in-WPS patch (FS#8385). This adds the %V tag - see the ↵Dave Chapman
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-01-13Fix compile error in wps_debug.c when -DDEBUG and not simulator buildCatalin Patulea
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16084 a1c6a512-1295-4272-9138-f99709370657
2007-11-18Improve clearing of pictures in conditional constructs. This fixes improper ↵Nicolas Pennequin
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-14Hopefully fix the compile errors.Nicolas Pennequin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15625 a1c6a512-1295-4272-9138-f99709370657
2007-11-14Make the WPS parser stricter with invalid parameter lists. It will now ↵Nicolas Pennequin
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-14Allow setting a margin on a non-scrolling line by using %m|margin| instead ↵Nicolas Pennequin
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-12Various album art improvements:Nicolas Pennequin
* 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-08-08Add support for grouping tags. From FS#7362.Dan Everton
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14242 a1c6a512-1295-4272-9138-f99709370657
2007-08-03Add support for parsing the disc number tag from metadata and use of it in ↵Dan Everton
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-07-25Implement feature request FS#7476: Add a "song progress percentage" WPS tag ↵Nicolas Pennequin
(%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-22Add a verbosity level command line option to the chackwps tool. This should ↵Nicolas Pennequin
make life easier for the themes.rockbox.org people. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13958 a1c6a512-1295-4272-9138-f99709370657
2007-06-16Make RTC tags display hyphens instead of nothing on non-rtc targets. This ↵Brandon Low
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-05-29Commit my patch from FS#7179 - a standalone command-line checkwps tool. To ↵Dave Chapman
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-21Add %fk and %Fk WPS tags : (next) file audio frequency in KHz (rewrite of ↵Nicolas Pennequin
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-02Trim a bunch of long lines and fix an infinite loop and buffer overrun in ↵Nicolas Pennequin
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-04-30Better handling of strings in the WPS parser by detecting duplicates to ↵Nicolas Pennequin
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-24Add a new commandline switch to the simulator: "--debugwps". It enables ↵Nicolas Pennequin
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-15Hopefully fix the 64-bit warning.Nicolas Pennequin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13171 a1c6a512-1295-4272-9138-f99709370657
2007-04-15* Make the WPS parser close open conditionals on new sublines and comments ↵Nicolas Pennequin
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-12* Add the crossfade (%xf) WPS tagNicolas Pennequin
* 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-10RTC tags for the WPS: Accept FS#6998 and FS#7001 by Alexander Levin with ↵Nicolas Pennequin
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-08FS#6991. Patch by Alexander Levin, modified by me:Nicolas Pennequin
* 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-06This time I hope I got it right! Basically, remove what the previous commit ↵Nicolas Pennequin
about subline timeouts added and make the values be computed by a special function at display time. This should bring complete compatibility with the previous code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13047 a1c6a512-1295-4272-9138-f99709370657
2007-04-06Better handling of subline timeout values : All values are set to the ↵Nicolas Pennequin
default before another value is found by the parser. No more resetting to the default value at displaying time (this caused problems especially noticeable on the DancePuffDuo WPS). Changing the values with conditionals is still possible but only strictly positive tiemout values are accepted now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13045 a1c6a512-1295-4272-9138-f99709370657
2007-04-05* Fix the bug where subline separators were read as part of a string.Nicolas Pennequin
* Some cosmetic code changes, no other functional change (add a comment and rename some variables). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13034 a1c6a512-1295-4272-9138-f99709370657
2007-04-04Introducing the WPS tokenizer !Nicolas Pennequin
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