1
0
Fork 0
forked from len0rd/rockbox
Commit graph

119 commits

Author SHA1 Message Date
Jonathan Gordon
f85103e8f2 remote multifont fixes. it shoud be working again (blame AlexP! he made me break it last week!)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24812 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 19:10:09 +00:00
Jonathan Gordon
ccd50dd2d7 and actually fix multifont on remote lcd targets also
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24780 a1c6a512-1295-4272-9138-f99709370657
2010-02-19 23:54:36 +00:00
Jonathan Gordon
90d9e66920 fix possible out-of-bounds error on remote lcd targets if they try loading a font to id==2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24779 a1c6a512-1295-4272-9138-f99709370657
2010-02-19 23:49:17 +00:00
Jonathan Gordon
877d378710 Reuse the backdrop buffers if 2 skins use the same backdrop (on the same screen of course)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24690 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 05:24:27 +00:00
Jonathan Gordon
1c2aa35371 FS#10984 - multifont! 2 major additions:
1) seperate UI font for the remote and main displays
2) allow individual skins to load additional fonts for use in the skin (Uo to 7 extra in this first version) see CustomWPS for info on how to load a font in the skins.

Code should always use FONT_UI+screen_number to get the correct user font


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24644 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 06:26:16 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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