Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (as text) (annotate) |
| Sticky Revision: |
FS#9557 - fix the %mv and %t timeout so its intrepreted correctly
revert the previous commit to find a nice way to fix the yellow...
FS#9477 - new WPS tag (%mo) which lets the WPS have different "modes" which 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.
Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps.
FS#9460 - Add a tag %mv which can be used to check if the volume button is being pressed (e.g %?mv<yes|no> ). It will stay true after its released for a little over half a second (not configurable unless someone comes up with a nice way to add a parameter to the tag? 1s is too long and .5s is too short...
Introduce a new WPS parsing error case: limits exceeded. It includes the 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.
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
FS#9051 - remove LCD margins... use viewports if you need them... 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
commit FS#9027 - conditional viewports ** 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
Use smaller data types in structs which are in big arrays to save memory
Add a comment to clarify how the WPS image buffer size is calculated
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.
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>.
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.
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.
revert my previous commit and use a conditional for the time format instead which is probably better. %?cf<24 hour stuff|12 hour stuff>
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
Improve clearing of pictures in conditional constructs. This fixes improper clearing of pictures used in several conditionals or in nested conditionals (FS#7856).
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.
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.
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.
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.
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.
Add support for grouping tags. From FS#7362.
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.
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.
Copy current track path as a string, not a slightly-oversized block.
Make the '%mh' wps tag (to indicate keylock status) available on the Archos targets as well.
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
Add some more explicit defines for my previous commit.
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.
Add %fk and %Fk WPS tags : (next) file audio frequency in KHz (rewrite of FS#6393 to adapt it to the tokenizer).
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.
Added autoscore tag (%ra) to wps.
Reverted FS#6949 as we have a strict policy against anonymous contributions.
FS#6949 - WPS tag for database autoscore. Author wanted to remain anonymous.
* 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).
* 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.
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.
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.
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.
* Make some private variables 'static'. * Fix the pitch tag and allow it to be used on all targets except the Archos Player.
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.
Repair player progressbars (single char and full line) broken in the full unicode support move, and enable text alignment for charcell.
* 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.
Removed unused button defines and made private functions static
Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
Remove format_align from the format_lines array, as it's unnecessary. Saves code & memory. Patch by Mark Arigo.
software keylock works again
Barry Wardell's keymappings for H10
Reworked backdrop handling. Fixes a bug that wasn't in the tracker yet ;)
Enable next-dir skip on platforms with no directly mapped button combos (click-longclick of next/prev)
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.
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.
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.
Now define the _PRE-function correctly.
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.)
Do not stop playback until stop button has been released or shutdown triggered.
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.
Moved main menu button to REC for both file browser and WPS
Correct a problem with WPS backdrops not loading correctly, and semi-prepare for remote WPS backdrops
Significantly reduce memory waste by reducing the wps image buffer. The new size still allows to cover the whole screen once with native bitmaps, plus twice with mono bitmaps, not counting the backdrop. Regains ~33KB on archos and ~220KB on H300. It's still a waste on dual-LCD targets because the two buffers are equal in size, despite one LCD being of much lower resolution + colour depth.
first gigabeat commit
Button driver for iAudio X5
add a bitmap progress bar option + add %P|filename.bmp| tag to the WPS
Use the iPod 4G button mappings for the iPod 3G as well (at least for now)
iPod: Fix some button-mapping bugs and inconsistencies
WPS tag update for Progress Bar to allow resizing and screen placing
Color BMP support
Functional AB on iRiver H1x0, and improved button mappings (share the NEXTDIR and PREVDIR buttons on iRiver H[13]x0 targets), patch from IRC:lamed, modified by me.
Fix red build in my own target
AB-repeat mode for software codecs. Accessible through menu as a repeat mode, with buttom mappings much like those on other rockbox targets for now.
more iAudio x5 adjustments by Matt v.d. Westhuizen (#1408980)
Iriver WPS: Made some buttons more responsive (trigger on press instead of release).
Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
Remove IPOD_NANO_PAD definition - the Nano's keypad has turned out to be identical to the other 4G models
don't display the WPS after loading, it made rockbox crash with some WPS'
Patch #1367059 by _FireFly_: New wps loader. The wps buffer size can be reduced now, but it isn't done in this patch. Note that %wd, %we, %x| and %xl now need to be on a line on their own.
Added multi-screen support for quickscreen (mostly rewritten from scratch) and USB screen ; just looking at the hour makes me think it could be buggy
Win32 simulator now supports iPod Color. Fixed screendump() to correctly work for iPod simulators on big endian machines. Removed duplicate button definitions.
rwps support for boxes theme. Increased image buffer size by a factor of 2.5x. (boxes - for all your WPS stress testing needs.)
Applied Stephan Wezel's patch for the new wps %wd/%we tags (disable/enable statusbar in wps mode independantly from the global setting)
iPod: First attempt to implement sensible button mappings. Changes to all targets to replace a small number of references to raw button codes (BUTTON_???) with their abstract equivalents.
Missing file headers put back. Code within 80 cols. Code policed indenting and style. Simplified struct levels. #if 0'ed unused functions. Made private stuff static.
And the rest of the files too
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| Admin: Björn Stenberg | ViewVC Help |
| Powered by ViewVC 1.1-dev |