Commit graph

274 commits

Author SHA1 Message Date
Jonathan Gordon
eee5423fe1 skin rework (FS#10922) notable changes:
- simplify the setting/skin relationship. settings are used as the fallback if it's not specified in the skin
- backdrop buffers are now in the skin buffer (which has also increased slightly to accomodate 1 backdrop for each skin and 2 full colour screens for bmps (up for 1.5))
- if no %X is specified in a skin then the backdrop setting will be used. use %Xd to explicitly disable a skin from displaying a backdrop
- the base skin can now specify a backdrop.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24366 a1c6a512-1295-4272-9138-f99709370657
2010-01-29 07:52:13 +00:00
Bertrik Sikken
552835ebe2 Add a missing #include, make a function static, make touchpad_set_buttonlight implementation and declaration consistent
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24281 a1c6a512-1295-4272-9138-f99709370657
2010-01-18 21:20:36 +00:00
Jonathan Gordon
12173598e4 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24234 a1c6a512-1295-4272-9138-f99709370657
2010-01-15 07:30:30 +00:00
Jonathan Gordon
fea4689e91 Get rid of those horrible macros to protect against NULL reference when looking up the id3 info for tokens.
Change the way the wps playlist viewer gets the token values. All %i tokens are now supported (and a few others, experiment :) )


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24233 a1c6a512-1295-4272-9138-f99709370657
2010-01-15 07:20:56 +00:00
Jonathan Gordon
51630cbac1 outright reject any tags which need a special parser in the wps playlist viewer. There is no intention of even trying to support them and without this possible upcoming changes will cause crashes if any of those tags are used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24229 a1c6a512-1295-4272-9138-f99709370657
2010-01-15 01:26:57 +00:00
Jonathan Gordon
a1b97086c5 fix typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24223 a1c6a512-1295-4272-9138-f99709370657
2010-01-13 07:47:53 +00:00
Jonathan Gordon
d668900848 Fix red and yellow. HWCODEC cant see the metadata for more than the next track so only show the filename there
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24221 a1c6a512-1295-4272-9138-f99709370657
2010-01-13 06:24:21 +00:00
Jonathan Gordon
dc0ba917fa FS#10898 - Add a playlist viewer to the WPS. http://www.rockbox.org/wiki/CustomWPS#Playlist_viewer for an exaplanation how to use it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24220 a1c6a512-1295-4272-9138-f99709370657
2010-01-13 06:02:38 +00:00
Jonathan Gordon
669afd093d fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24194 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 07:47:19 +00:00
Jonathan Gordon
91e6b06be9 RTL language enhancements by Tomers Shalev and I.
3 new tokens:
%ax - the next token should follow the language direction (what that means is defined by the individual tokens)
%aL - align left on LTR language (same as %al), right on RTL languages
%aR - align right on LTR language (same as %ar), left on RTL languages

This commit adds %ax support to the %V and %Cl tokens. 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24193 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 07:34:15 +00:00
Bertrik Sikken
6fef14bd16 Set svn:keywords property on .c and .h files that didn't already have it. Correct svn:executable property on some files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 14:28:09 +00:00
Andree Buschmann
05778b501d Fix further tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24156 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 10:50:34 +00:00
Bertrik Sikken
1d46959012 Make debug builds compile again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24150 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 23:56:11 +00:00
Tomer Shalev
e15a0c9118 WPS: Use helper function to parse int value on album-art directive
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24121 a1c6a512-1295-4272-9138-f99709370657
2009-12-29 18:14:31 +00:00
Jonathan Gordon
ae08a21b42 Fix FS#10215 - peakmeter updates breaks scrolling lines in conditionally enalbed viewports... fix is to not disable conditional viewports during these updates which are *only* touching the pm token anyway
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24090 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 06:35:31 +00:00
Bertrik Sikken
0201a19d2d Make read-only struct const
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24085 a1c6a512-1295-4272-9138-f99709370657
2009-12-20 18:04:07 +00:00
Bertrik Sikken
5698674ece Code police: add missing header file, make some local functions static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24083 a1c6a512-1295-4272-9138-f99709370657
2009-12-20 16:28:15 +00:00
Jonathan Gordon
b2eb44ce0e FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed

New GUI screen rules:
* Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit
* Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly.
ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:25:46 +00:00
Tomer Shalev
8db32ddfee Skin parser: Use parse_list() when possible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23846 a1c6a512-1295-4272-9138-f99709370657
2009-12-04 13:10:06 +00:00
Jonathan Gordon
58ca43dc9d fix FS#10674 - make skin debugger count the lines correctly so the line number in the output is actually useful!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23825 a1c6a512-1295-4272-9138-f99709370657
2009-12-03 05:36:23 +00:00
Jonathan Gordon
85bcd1eaf7 fix segfault on %Rb token
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23798 a1c6a512-1295-4272-9138-f99709370657
2009-11-30 02:16:36 +00:00
Jonathan Gordon
4966666062 fix mono recording token,
Add %bu - usb powered token


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23713 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 19:09:54 +00:00
Jonathan Gordon
6c3c8a866c hopefully fix the sameplrate token
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23690 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 02:10:41 +00:00
Thomas Martitz
bdf2961ba3 Fix some drawing problems when displaying the WPS initially with sbs enabled. Move initial display of the wps to wps.c too. Should fix bug 3 of FS#10771.
Also change GUI_EVENT_REFRESH event handling so that the passed drawing function is always called, not only when sbs or custom ui vp are used.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23644 a1c6a512-1295-4272-9138-f99709370657
2009-11-16 01:38:30 +00:00
Tomer Shalev
ec0f4b4044 FS#10783 - WPS translation
- Use the %Sx skin tag in WPS to translate 'Next Track', 'Next', and 'of' (X of Y tracks)
- New conditional skin token 'Sr' which checks whether the currently loaded language is an RTL language (Hebrew/Arabic). It uses lang_is_rtl().
- Added Hebrew translation


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23638 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 21:39:39 +00:00
Jeffrey Goode
0212de4c8d Add crossfade feature tag, update manual, fix crossfade WPS tag behavior
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23610 a1c6a512-1295-4272-9138-f99709370657
2009-11-11 17:38:00 +00:00
Jeffrey Goode
dd93ef41bb HAVE_CROSSFADE defs: fix yellow and red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23598 a1c6a512-1295-4272-9138-f99709370657
2009-11-10 04:21:40 +00:00
Frank Gevaerts
8c15799e70 Implement %Ss for playback speed
This is similar to %Sp for pitch.  The conditional form %?Ss<...> is also
supported in the same way as FS#10680; you can use

    %?Ss<%xdAa|%xdAb|>

to show an icon of a tortoise (subpicture 1 of image A) or a hare
(subpicture 2 of image A) when not playing at the normal speed.

Flyspray: FS#10681
Author: Junio C Hamano



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23591 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 17:57:17 +00:00
Frank Gevaerts
7de32efe1c Don't define pitch_speed_enum() on MAS3507D. Fixes yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23590 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 17:51:36 +00:00
Frank Gevaerts
a20d77dba0 Allow %?Sp<...> to be used as a conditional
When there are two choices (i.e. boolean), choose the first one if the
pitch is different from the normal value, and choose the second one if the
pitch is the same as the normal value.

When there are more than two choices (i.e. enum), the left half of the
choices are used to show 0..normal range, and the right half of the
choices are used to show values over that range.  The last entry is used
when it is set to the normal setting, following the rockbox convention to
use the last entry for special values.

  2 items: %?Sp<0..99 or 101..infinity|100>
  3 items: %?Sp<0..99|101..infinity|100>
  4 items: %?Sp<0..49|50..99|101..infinity|100>
  5 items: %?Sp<0..49|50..99|101..149|150..infinity|100>
  6 items: %?Sp<0..33|34..66|67..99|101..133|134..infinity|100>
  7 items: %?Sp<0..33|34..66|67..99|101..133|134..167|167..infinity|100>

This will allow two expected use cases:

 (1) %?Sp<%Sp> to show the pitch only when playing at a modified pitch.

 (2) %?Sp<%xdAa|%xdAb|> to show an icon of Darth Vader (subpicture 1
     of image A) when playing at a lower pitch than the original, and to
     show an icon of a chipmunk (subpicture 2 of image A) when playing at
     a higher pitch than the original.  When playing at a normal pitch,
     nothing is shown.

Flyspray: FS#10680
Author: Junio C Hamano



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23589 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 17:43:46 +00:00
Jonathan Gordon
892332ce87 fix red.. markers need to be outside #ifdefs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23574 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 05:03:33 +00:00
Jonathan Gordon
0621afad49 Add a bunch of markers into the tokens enum to make figuring out which token isnt in the bugout output easier. ("FIXME code(80)" is alot worse than "FIXME: TOKEN_MARKER_SOUND+5")
Also, slightly reorder the enum to group misc items together


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23573 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 04:46:19 +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
Jonathan Gordon
c812614a1d Fix the WPS to work properly with the statusbar for the previous change.. Side effect is it fixes FS#10721 where %pb didnt work
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23508 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 05:24:30 +00:00
Jonathan Gordon
a7d784b1d5 Fix viewport "UI area" to work based on what was agreed on last week in the mailing lists and IRC:
* viewport_set_defaults() will always set the viewport to the intersection of the user setting and any sbs set user viewport
* viewport_set_fullscreen() will always set the viewport to the full display, take care to disable the statusbars if you use this!

This patch is from FS#10709 and contains code which will be removed once the current inbuilt statusbar is finally removed. This *may* break themes which dont use the %we or %wd token.. follow up commit to fix this coming...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23507 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 05:10:53 +00:00
Jonathan Gordon
f76b2f2046 Initial recording screen skin support (usable in .sbs skins only for now)
new skin tokens:
%Rp - does the target have recording?
%Rf - samplerate
%Re - encoder
%Rb - bitrate
%Rm - mono/stereo

Please put all bugs from these (which very probably dont work 100%) into FS#10755. And someone who knows how the recoding capabilities work please look this over... ideally the same value should be returned for the middle three tags no matter what the capabilities of the target are.
CustomWPS on the wiki for more details


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23491 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 07:58:10 +00:00
Rob Purchase
24c1c75364 Add touchscreen WPS actions for volume up/down (using a button rather than the slider).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23488 a1c6a512-1295-4272-9138-f99709370657
2009-11-02 21:56:48 +00:00
Thomas Martitz
e28bfd1349 Rework how feature skin tags work (%cc currently) when used conditionally (i.e. to detect a feature).
If the feature is known to be unavailable at compile time or runtime detected, then let parsing skip over the true case. That enables parsing skins that properly put tags not available on a target within these tags. In the past the true case was parsed even if never could be true, which led to unexpected parsing failures.
Parsing %cc<%St|time format|[..]|> is now possible on target where that setting doesn't exist (the %St parser wold fail).
More of these tags are to be added, for example to indicate fm radio or recording capabilities.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23479 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 23:35:14 +00:00
Rafaël Carré
6cdb80d7df Revert r23474 "new skin token: %cx - 24 hour time format enabled in the setting.. e.g %?cx<24 hour|12 hour>"
Committed accidentally with a svn/git desynch

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23475 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:51:26 +00:00
Rafaël Carré
9cd15dad9d new skin token: %cx - 24 hour time format enabled in the setting.. e.g %?cx<24 hour|12 hour>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23474 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:48:46 +00:00
Jonathan Gordon
e702e5dbf8 revert that last checkin... something better is coming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23473 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 21:45:01 +00:00
Jonathan Gordon
cb8527d073 new skin token: %cx - 24 hour time format enabled in the setting.. e.g %?cx<24 hour|12 hour>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23472 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 21:35:35 +00:00
Thomas Martitz
3216d32a05 Move find_viewport() and find_image() to skin_parser.c where the reset of the linked-list handling sits. That enables removing duplicated code from checkwps. Also remove a few stubs in favor having the restart playback mechanism on albumart change #ifdef __PCTOOL__
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23465 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 15:48:31 +00:00
Thomas Martitz
4f0e3ecda9 Fix red - statusbar_position() is a macro.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23462 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:36:57 +00:00
Thomas Martitz
6db726c147 Remove a wps function call from skin engine, hopefully the last one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23461 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:36:52 +00:00
Thomas Martitz
dd33bdfe0d Cleanup includes a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23459 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:08:57 +00:00
Jonathan Gordon
235d1ae795 Fix FS#10745 - %mv not working in sbs...
This fix is as good as we can do, but not perfect. Because the sbs is only updated when a button is pressed it will stay in the "volume changing" state probalby longer than expected.. which isnt terrible, but useful to remember.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23455 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 02:36:51 +00:00
Jonathan Gordon
0aa035d73e * code police on a macro which has no reason for being
* add the TOKEN_RTC_PRESENT value to the skin debugger listing
* Allow the width and height of a viewport to be negative values (so width -50 means extend to 50pixels inside from the right edge)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23393 a1c6a512-1295-4272-9138-f99709370657
2009-10-29 03:27:13 +00:00
Thomas Martitz
804e3aadae Fix a few potential redraw problems with the custom statusbar and wps fighting for the same full redraw variable.
Instead, introduce a new skin struct holding data which is meant for all screens for a single skin (struct wps_state is currently used by both at the same time). Also clean up (classic) statusbar handling for skins using this new struct.
Also, implement deactivating updating of the custom statusbar when the LCD is deactivated, saving a bit battery life on some targets.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23304 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 23:12:20 +00:00
Thomas Martitz
1016ee4e80 Initial custom statusbar commit.
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows.
The default folder for .sbs is the wps folder to reuse images used in the WPS.
As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space.
There are a few restrictions/TODOs:
*) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686)
*) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though).
*) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used).
*) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar.

Otherwise, it behaves like the classic statusbar, it can be configured in the theme settings, and can be turned off in the wps using %wd.

Note to translaters: When translating LANG_STATUSBAR_CUSTOM, please consider using the same translation as for LANG_CHANNEL_CUSTOM if it's compatible. They could be combined later then.

Flyspray: FS#10566
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 15:28:15 +00:00
Thomas Martitz
6225f388b8 Reorder members for more efficient alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23254 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 00:26:46 +00:00
Thomas Martitz
c26949c54b r23208 broke conditional use of metadata and filename tags. Return NULL instead of "n/a" to make it work again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23253 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 23:58:42 +00:00
Thomas Martitz
d7757eb75c Fix Player, checkwps and database tools
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23215 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:54 +00:00
Thomas Martitz
94f7651341 Revert r23212, I committed it accidentally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23214 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:04 +00:00
Thomas Martitz
8d032ae136 initial custom statusbar commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23212 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:30:09 +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
a72ffe7bb5 Make the skin engine behave sane if the skin's id3 pointer is NULL (the one in struct wps_state), so that skins don't need audio to be played before being displayed (needed for upcoming custom statusbar).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23208 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:37 +00:00
Thomas Martitz
9072a4558c Add %cs tag.
It can be used conditionally and indicates the current screen (wps, rec, radio screens or lists).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23207 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:33 +00:00
Thomas Martitz
71411ee83a Change %mp tag to use current_playmode(). It has upto 9 values now, including recording and radio states.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23206 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:28 +00:00
Thomas Martitz
0070f60441 Fix %Sp expansion in wps
The value returned from sound_get_pitch() was shown assuming that 100%
corresponds to 1000 by skin_tokens.c::get_token_value().  The value
actually is 100*PITCH_SPEED_PRECISION.

Steal the way the callchain from gui_syncpitchscreen_run() to
pitchscreen_draw() in apps/gui/pitchscreen.c formats the value and use it
here for consistency.

Flyspray: FS#10673
Author: Junio C Hamano

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23199 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 22:22:07 +00:00
Thomas Martitz
0f0d9064c5 Remove wps_reset(), and rename skin_data_init to skin_data_reset() and extend it to zero most of the wps_data members.
As these are called when parsing a skin it doesn't need to be called by the wps or settings, so make it local to skin_parser.c.
Reorder the members of struct wps_data for more effecient alignment.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23171 a1c6a512-1295-4272-9138-f99709370657
2009-10-14 15:49:11 +00:00
Jonathan Gordon
a927db22c4 fix a redraw bug when a static token (like %C) is the only token on a sub/line.. hopefully no bad sideeffects...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23140 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 20:22:50 +00:00
Tomer Shalev
d5b076b64a RTL: Cosmetic changes, no functional change - Rename constants
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23117 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 20:15:22 +00:00
Thomas Martitz
80003bc4a4 Fix a few problems with RTL, statusbar and custom ui viewport.
*text in statusbar jumped around
*custom ui vp wasn't refreshed properly on language changing.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23053 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 18:39:34 +00:00
Jonathan Gordon
f06c98fec8 Fix FS#10617 (fix spotted by Teruaki Kawashima), something about the %C not working if %?C is the first tokens in the skin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22944 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 10:26:06 +00:00
Jonathan Gordon
436776ebb8 redraw the AA much less frequently to save bettery life and also let skins draw over the AA...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22932 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 01:01:07 +00:00
Jonathan Gordon
340f32356a new skin tag: %Sx|<english>| will display the current languages translation of the "<english>" string.
the <english> is the Source: bit in the .lang files. (must be exactly as it is there...)

checkwps cannot verify that the string is correct so make sure to use the sim to verify the string is acurate.

Also "fix" checkwps so %St|<setting>| can be accepted for the theme site


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22837 a1c6a512-1295-4272-9138-f99709370657
2009-09-26 00:58:32 +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
Thomas Martitz
d045f59989 Redo 22825 but this time with caring about alignment.
Change coordinate members in struct skin_albumart to ints. That alone gives a tiny binsize decrease.
Change the struct layout (some reordering) to enable more efficient alignment which reclaims 4 of the 8 bytes. Since there's usually only 1 aa struct this should be a net gain.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22835 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 18:36:18 +00:00
Karl Kurbjun
4eee66a4cf r22826 is causing data aborts when the wps is loaded in the parse_list function - suspected reason is an improperly aligned pointer depending on how the buffer gets setup when translating a "d".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22827 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 04:23:35 +00:00
Thomas Martitz
89041f6b4a Remove some some code in favor of a single parse_list() call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22826 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 01:43:31 +00:00
Alexander Levin
4ce1604ca3 Show the name of the setting in the WPS debug output
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22781 a1c6a512-1295-4272-9138-f99709370657
2009-09-22 09:44:40 +00:00
Jonathan Gordon
6622c605b9 add the %St setting to the debug output for checkwps/parser.... needs mroe work to make it more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22780 a1c6a512-1295-4272-9138-f99709370657
2009-09-22 05:31:28 +00:00
Jonathan Gordon
05fd9ee182 Actually fix AA display... previous commit was borked
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22728 a1c6a512-1295-4272-9138-f99709370657
2009-09-18 05:45:15 +00:00
Jonathan Gordon
6d16d1cf3d FS#10602 - show the viewport label instead of an int in the debug output
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22727 a1c6a512-1295-4272-9138-f99709370657
2009-09-18 05:22:22 +00:00
Jonathan Gordon
aafeaad65f fix FS#10599 and do r22721 a slightly better way. the %C tag is internally converted to a different token for display and conditional check.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22726 a1c6a512-1295-4272-9138-f99709370657
2009-09-18 05:15:18 +00:00
Thomas Martitz
7b6265edf5 Fix a bug where the conditional use of %C (i.e. %?C) caused the album art to draw (noticed in FS#10596).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22721 a1c6a512-1295-4272-9138-f99709370657
2009-09-17 21:01:32 +00:00
Thomas Martitz
541dd6fda5 Remove some trailing whitespaces in in the skin engine files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22694 a1c6a512-1295-4272-9138-f99709370657
2009-09-13 12:24:14 +00:00
Thomas Martitz
894c809108 Fix/band aid the freeze when %V is the first thing (i.e. in line 1) in a .wps (see FS#10596).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22693 a1c6a512-1295-4272-9138-f99709370657
2009-09-13 12:15:08 +00:00
Frank Gevaerts
65fff8bdd8 Increase skin buffer on charcell displays so it's actually big enough to load a wps file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22681 a1c6a512-1295-4272-9138-f99709370657
2009-09-11 18:02:52 +00:00
Teruaki Kawashima
246e38e937 Initialize token before using.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22678 a1c6a512-1295-4272-9138-f99709370657
2009-09-11 14:33:32 +00:00
Jonathan Gordon
8761d9e240 Hopefully make the wps debug info more understandable... display tokens the same way they are displayed... i.e viewports->lines->sublines->tokens
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22672 a1c6a512-1295-4272-9138-f99709370657
2009-09-11 06:03:24 +00:00
Jonathan Gordon
d2645566f7 fix the first subline not displaying properly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22668 a1c6a512-1295-4272-9138-f99709370657
2009-09-09 15:42:20 +00:00
Thomas Martitz
1f10f99dc0 Fix/commit FS#10595. A (sub)line could be part of the previous viewport due to a off-by-one bug in the indexing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22662 a1c6a512-1295-4272-9138-f99709370657
2009-09-08 16:34:51 +00:00
Jonathan Gordon
18286d3cc5 stupid yellow.... I'm going to bed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22648 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 07:58:55 +00:00
Jonathan Gordon
8bf50ecf48 add a bit more debug info for skins... show the subimage id in the display image token's debug line
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22647 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 07:51:58 +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
Jonathan Gordon
ef7018a7ff fix red :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22643 a1c6a512-1295-4272-9138-f99709370657
2009-09-06 16:54:43 +00:00
Jonathan Gordon
9f4f5dbc26 Make the e200 compile the vled for the sim... other targets are probably doing the same thing so find out which.. commit will be immediatly followed to fixd red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22642 a1c6a512-1295-4272-9138-f99709370657
2009-09-06 16:54:04 +00:00
Jonathan Gordon
d466cb9beb minor line handling fixes, be smarter (well dumber actually) about increasing the size of the tokens array, that loop isnt the only place the data->num_tokens variable gets increased... also add one last WPS_NO_TOKEN token to the end to make sure we dont accidently overrun into the next skin on the last line of a skin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22618 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 06:17:38 +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
Jonathan Gordon
8f76e7ff8f rename wps_[sub]line to skin_[sub]line
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22606 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 06:23:01 +00:00
Jonathan Gordon
2111c105c0 fix player's red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22603 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 03:02:00 +00:00
Jonathan Gordon
8cb74438bc Almost the last of the skin ram wastage fixing... This one moved the line/subline handling into the alloced buffer and links them more sensibly with their viewports.
now it works something like this: a skin is a list of viewports, each viewport has a list of lines, each line is a list of sublines, each subline has an *index* of its first and last tokens... 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22602 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 02:55:33 +00:00
Karl Kurbjun
7bb7c5f0cc Add stride defines to support vertical strides
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22546 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 19:31:29 +00:00
Thomas Martitz
3598eb02d7 Do some #ifdef'ing to make the Player happy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22520 a1c6a512-1295-4272-9138-f99709370657
2009-08-27 17:55:05 +00:00
Thomas Martitz
af967d77d3 Fix skin engine calling wps code to draw the statusbars (add a pointer to viewportmanager-suitable statusbar values, which are the same for all screens), and re-arrange statusbar related code slightly. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22514 a1c6a512-1295-4272-9138-f99709370657
2009-08-26 00:06:27 +00:00
Bertrik Sikken
3460ef3596 Make sure that skin_buffer.c #includes its own skin_buffer.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22497 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 13:40:37 +00:00
Jonathan Gordon
3aa738fe43 hopefully get the widecabbie theme going again... temporary fix only though
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22474 a1c6a512-1295-4272-9138-f99709370657
2009-08-23 16:43:55 +00:00
Maurus Cuelenaere
876db6c2fc Fix/hack checkwps + add Onda VX747/VX777 targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22451 a1c6a512-1295-4272-9138-f99709370657
2009-08-21 18:15:20 +00:00
Thomas Martitz
e510de1b35 Move handling of "rockbox_default.[r]wps" into wps.c, out of the skin engine (which should be as generic as possible).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22438 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 14:29:03 +00:00
Jonathan Gordon
afd8c2dfd1 hopefully fix the yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22421 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 05:14:58 +00:00
Jonathan Gordon
c552d08573 get the skin debug output working again, add a line to say how much of the buffer is being used to aid themers... let me know if this gets close to full on any targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22420 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 05:07:12 +00:00
Jonathan Gordon
98756fe492 move the statically allocated tokens array into the skin buffer. this is done with a little bit of magic with the buffer... explanation in the comments but breifly, tokens + images are stored at the front of the buffer, everything else (constant sizes) are stored at the back, the 2 ends meet when the buffer is full.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22418 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 04:19:08 +00:00
Jonathan Gordon
2492e258fa conditional viewports are allowed to share labels.. so make sure they are all toggled with %xd<label>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22417 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 01:52:52 +00:00
Jonathan Gordon
dab7e16176 store the image label instead of a number so debug output is actually useful when %xd is used witout a coresponding %xl
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22404 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 07:17:51 +00:00
Jonathan Gordon
36ca4967e0 move viewports into the skin buffer, no more viewport limit on the skin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22403 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 05:30:59 +00:00
Maurus Cuelenaere
8d013f5557 Skin engine: add "pitch" action to touch regions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22375 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 12:46:21 +00:00
Jonathan Gordon
91aa512754 fix the %xd<id> tag parser to complain if you try to display an image it hasnt loaded yet
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22373 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 07:16:57 +00:00
Thomas Martitz
be8d654509 Remove obsolete IMG_BUFSIZE #define.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22368 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 23:27:00 +00:00
Jonathan Gordon
b395f89a31 remove an unused #define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22363 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 21:30:11 +00:00
Jonathan Gordon
271643c585 remove the limit of touch regions in touchscreen skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22361 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 21:22:57 +00:00
Thomas Martitz
576793a637 Recalibrate the skin buffer size calculation so that targets with remote get a reasonable extra buffer (depending on the remote) instead of just doubling it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22352 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 19:15:17 +00:00
Jonathan Gordon
c20801b712 fix player
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22351 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 18:32:25 +00:00
Jonathan Gordon
18a8e529b5 more wps->skin engine work..
start redoing memory management in the skins to use a single larger buffer instead of lots of arrays for things like images and progressbars.
This commit removes the limit on the amount of progressbars allowed on the screen, still 1 per viewport, but unlimited otherwise(!)
Also a larger buffer for remote targets, same size for non-remote targets but very easy to make it bigger (technically removed the 52(?) image limit in skins, except still limited to 1 char identifiers)
Unlimited "string" tokens now (limit was 1024 which was rediculously wasteful)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22350 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 18:23:00 +00:00
Thomas Martitz
a1b0e165cc Don't set the drawmode twice and simplify two cases in viewport_parse_viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22227 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 18:44:49 +00:00
Jonathan Gordon
dc4e90341c r22135 overwrote mcuelenaere's changes in r22068 to add slider-type regions for the touchscreen... so bring them back (spotted by kkurbjun)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22223 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 17:30:05 +00:00
Thomas Martitz
9bd7b23e99 Factor out WPS' %V parsing function into viewport.c, in preperation of customlist. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22222 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 16:16:55 +00:00
Jonathan Gordon
3790897189 more wps->skin moving/renaming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22180 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 04:33:35 +00:00
Thomas Martitz
4764ee04c9 Add backdrop functions to the multiscreen api and add a enum backdrop_type parameter for different backdrops (main, wps), symplifying calls and removing dozens of #ifdefs (stubs added for non-backdrop displays that can't do backdrops).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22176 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 00:14:40 +00:00
Thomas Martitz
218b31272e Remove the wrapper around the wrapper (wps_data_load) and handle loading hardcoded wps in case of a broken file directly in wps.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22146 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 22:39:27 +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
0ce5b3296f one more add which didnt get added
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22137 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 05:06:26 +00:00
Jonathan Gordon
3e7444ff87 part two of the grand overall wps/skinning engine cleanup work:
* rename wps_engine to skin_engine as that was agreed on
* rename music_screen back to wps
* clean up the skin display/update functions a bit
* make skin_data_load setup the hardcoded default if a skin cant be loaded for whatever reason instead of doing it when it is first displayed

ignore any gui_wps or wps_ or gwps_ nameing in skin_engine/ ... these will be renamed as this work gets finished


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22135 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 04:43:34 +00:00