Commit graph

1646 commits

Author SHA1 Message Date
Thomas Martitz
0acdc87df4 lists: Detect dirtyness (need to reinit) for each list, instead of once globally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30721 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 17:22:49 +00:00
Thomas Martitz
6efb3f0760 Revert r30599 "Check for the magic file "/.rockbox/skin_buffer_size.txt" [...]"
It's not clear whether a user setting is the right/accepted fix for the skin buffer.
But even if it is, this implementation of it is considered bad, even by the author.

See http://www.rockbox.org/mail/archive/rockbox-dev-archive-2011-09/0054.shtml

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30718 a1c6a512-1295-4272-9138-f99709370657
2011-10-05 17:43:51 +00:00
Fred Bauer
b683874e98 Do not font_unload() failed fonts when aborting a skin load
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30714 a1c6a512-1295-4272-9138-f99709370657
2011-10-05 04:19:00 +00:00
Bertrik Sikken
2e58d5935d Make function calc_db in peakmeter.c static
Remove some unneeded #include "peakmeter.h"

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30713 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 21:25:26 +00:00
Bertrik Sikken
9bddc48b32 Remove unused function display_keylock_text
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30712 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 20:34:15 +00:00
Andree Buschmann
99257101f2 Fix a 'set but not used' warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30615 a1c6a512-1295-4272-9138-f99709370657
2011-09-28 17:03:45 +00:00
Jonathan Gordon
4f7a73aad8 fix FS#12295
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30614 a1c6a512-1295-4272-9138-f99709370657
2011-09-28 01:02:48 +00:00
Jonathan Gordon
aca6b9e91a fix APPLICATION build errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30601 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 13:01:52 +00:00
Jonathan Gordon
c89f9d9060 fix warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30600 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 12:57:00 +00:00
Jonathan Gordon
f7c2978cc4 Check for the magic file "/.rockbox/skin_buffer_size.txt" on bootup which can have a number which is the amount of kilobytes to allocate for the skin buffer. This is only checked on boot so if you need to change it you must reboot to enable.
Currently the default size is 80KB on colour targets which can be way too much or not enough for users.
The format of the /.rockbox/skin_buffer_size.txt file is simply a number (so 120 if you want 120 kilobytes), NO trainling spaces or text of any kind

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30599 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 12:55:40 +00:00
Frank Gevaerts
40f05b6ca1 Fix silly mistake
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30595 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 19:12:37 +00:00
Frank Gevaerts
5903c07ad7 Make %LT 1-based. This tag will likely only be used to print the item number (as opposed to e.g. using it as an index to a bitmap strip, which has the obvious problem of not knowing how many items there are), and most people prefer 1-based numbering systems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30594 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 19:09:33 +00:00
Jonathan Gordon
32791608fc fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30593 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 14:57:30 +00:00
Jonathan Gordon
83cfbf4e51 Allow fonts to use smaller buffers than the default size. use font_load_ex() to speficiy the buffer size. If the font is already loaded with a smaller buffer it will be reloaded to use the new size. Also fix an issue where handles would get lost if fonts fail to load in skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30592 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 14:52:16 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Frank Gevaerts
28d5f2aa57 Add "%LN" tag to retrieve the list item number of the current item. This allows e.g. putting item numbers in skinned lists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30568 a1c6a512-1295-4272-9138-f99709370657
2011-09-18 12:35:32 +00:00
Andree Buschmann
e14bda521d Fix some 'set but not used' warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30565 a1c6a512-1295-4272-9138-f99709370657
2011-09-17 20:53:28 +00:00
Jonathan Gordon
782708e494 fix warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30555 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 13:55:20 +00:00
Jonathan Gordon
81343bae5d skin_engine: make sure to free all buflib allocations so we dont leak handles/memory
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30554 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 13:48:17 +00:00
Jonathan Gordon
454272cabf skin-touchscreen: make %T(..., setting_set, ...) apply sound settings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30551 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 06:51:47 +00:00
Jonathan Gordon
b6271900b0 Make sure to set the current lcd backdrop id so the buflib move callback can reset the correct backdrop
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30515 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 13:20:17 +00:00
Jonathan Gordon
edf06b7324 if font_glyphs_to_bufsize() returns 0 it means the font couldnt be loaded, so allocating the buffer size is pointless
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30512 a1c6a512-1295-4272-9138-f99709370657
2011-09-12 10:26:23 +00:00
Frank Gevaerts
78a0d49bdb Second attempt at making %ss utf8-clean
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30509 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 15:54:56 +00:00
Frank Gevaerts
bce46a755d Make %ss utf8-aware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30508 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 15:29:56 +00:00
Jonathan Gordon
6c1de04a63 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30503 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 10:48:19 +00:00
Jonathan Gordon
3d0317a273 Rework how the skin gets the list item text to save some ram. Also allow the %LI and %LT tags to take 2 optional parameters to get a different items text/icon:
%LT(offset, nowrap) - get the text for the "being drawn"+offset item (offset being + or -). if the second param is "nowrap" (Without quotes) the text will be blank if the item would need to wrap. Same for the icon
e.g:
%LT(-1)
%LT <<
%LT(1, nowrap)

will display:
Four
Five <<
Six (or nothing if Five is the last item)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30502 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 10:44:17 +00:00
Jonathan Gordon
93a600fdab Fix albumart which r30500 broke (FS#12271)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30501 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 09:07:20 +00:00
Jonathan Gordon
3b9ffd28da New tag %ss() which lets you get a substring of another tag.
%ss(start, length, tag) - i.e %ss(0,1,%TL) will get the first letter of the current lines text.
use - for the length to get the rest of the tag (e.g %ss(1,-,%TL) will get everything after the first letter).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30500 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 01:50:06 +00:00
Jonathan Gordon
86c543216f Fix FS#12270 - properly initialiase the wps_data struct so skin_data_reset() doesnt crash later
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30499 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 01:28:36 +00:00
Frank Gevaerts
559e0e10f8 Remove a stray include that managed to slip into the previous commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30492 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 18:10:01 +00:00
Frank Gevaerts
bd292b28c6 Extend $if() to also allow lt, gt, lte, and gte for strings.
The usefulness of this is arguable, but this improves consistency at only a very small cost


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30491 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 18:06:07 +00:00
Jonathan Gordon
a483c9c6f1 Use buflib for skin images. Allows much more images to be loaded
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30478 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 12:38:21 +00:00
Jonathan Gordon
4f4e91e341 make some stuff static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30477 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 12:38:14 +00:00
Jonathan Gordon
a91fa97cd8 fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30476 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 11:34:05 +00:00
Jonathan Gordon
070f6e1397 Use buflib for the skin backdrop images potentially allowing multiple images per skin in the future
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30475 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 11:24:29 +00:00
Jonathan Gordon
c1a14863f5 Fix FS#12262 - Volume (and all sound settings and anything using the "table" setting type) don't get applied correctly when being changed from the quickscreen or by using the %T(..., setting_inc/dec) skin tag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30466 a1c6a512-1295-4272-9138-f99709370657
2011-09-07 13:33:05 +00:00
Jonathan Gordon
d43b85c7ed fix the last of the error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30464 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 14:07:27 +00:00
Jonathan Gordon
d2ab44e3f6 fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30463 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 13:58:19 +00:00
Jonathan Gordon
63a379c64c Add the new file and fix the compile error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30462 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 13:53:46 +00:00
Jonathan Gordon
9b6ac01c7b Lists can now be completly draw using the skin engine!
due to lack of user feedback the actual tags may change, hopefully not though.

The way it works is the skin specifies a rectangle and a viewport label. For each item in the list that is being displayed all viewports with the specified label are drawn. However, instead of the viewport x/y position being offset from the top left corner like normal they are offset from the rectangle position in the list (so think of them as child-viewports of the rectangle which moves).
Normally the rectangle will move down the screen to show a normal list, this can be changed to move across the screen in a grid pattern.
The UI viewport is used to bound the items (i.e %Vi() )
Scrolling is completly disabled in all items except the currently selected item.

This works well in combination with the %cs tag to show differently styled lists based on the current screen :)

New tags:
%LT - Get the current items text
%LI - Get the current items icon number
%Lc - Use as a conditional to determine if the current item is the selected item
%LB - BAR TAG to show the scroll bar, params/options like other bar types. It still needs a bit of work though. Use as a conditional to find out if the bar is actually needed
%Lb(viewport, width, height [,tile]) - specify the viewport label to draw for each item and the size of each item. if the last param is 'tile' it will form a grid instead of a list

example.sbs:
%?cs<%Lb(a,100,20)|>
%V(0,0,10,-,1)%Vf(aabbcc)
%?LB<%LB(0,0,10,185, invert)>
%Vi(-,10,0,-,-35,1)
%Vl(a,5,5,160,12,1)
%s%?Lc<%Vg(00ffaa, ff0000, 000000)%Vs(gradient)%>%>%>%ac>zzzzzzz            %LT         zzzzz%s%?Lc<%ar%<%<%<>
%V(0,185,-,-,1)
%s%LT

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30461 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 13:49:41 +00:00
Jonathan Gordon
642736f53b fix error, none of this code is needed or would work in the checkwps program anyway
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30429 a1c6a512-1295-4272-9138-f99709370657
2011-09-04 13:23:40 +00:00
Jonathan Gordon
8997321777 Remove duplicated code to search for a setting by its cfg name
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30428 a1c6a512-1295-4272-9138-f99709370657
2011-09-04 13:17:09 +00:00
Jonathan Gordon
573f2206c1 Add the list colour callback and a proper title icon to the simplelist api
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30419 a1c6a512-1295-4272-9138-f99709370657
2011-09-03 13:24:56 +00:00
Thomas Martitz
d0b72e2590 GSoC/Buflib: Add buflib memory alocator to the core.
The buflib memory allocator is handle based and can free and
compact, move or resize memory on demand. This allows to effeciently
allocate memory dynamically without an MMU, by avoiding fragmentation
through memory compaction.

This patch adds the buflib library to the core, along with
convinience wrappers to omit the context parameter. Compaction is
not yet enabled, but will be in a later patch. Therefore, this acts as a
replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug
menu.

See buflib.h for some API documentation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:33 +00:00
Michael Sevakis
5078d460c6 Fix FS#12238 - WPS delay on pause introduced by r30097 which was the excuse I wanted anyway to do a better PCM fade on stop/pause implementation. New fade is asynchronous tick-based. Restores skin update points in the WPS that were removed when fading mechanism was changed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30340 a1c6a512-1295-4272-9138-f99709370657
2011-08-23 01:37:59 +00:00
Frank Gevaerts
9b9bd73dfb Fix last charcell warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30307 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:13:16 +00:00
Jonathan Gordon
c3fe7b0f88 need... sleep... try again to fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30306 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:12:21 +00:00
Jonathan Gordon
810e9c4dcb fix charcell again.... wouldnt it be nice to remove charcell support all together? :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30305 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:04:46 +00:00
Jonathan Gordon
4ed1340a7c Fix player errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30303 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:56:10 +00:00
Jonathan Gordon
281f1a1ed6 New skin tags: %Vs() to set the text style and %Vg() to get the viewports gradient colours
%Vs(mode[, param]) : mode can be "invert", "color" (where param is the colour to use", "clear" to disable the current style, "gradient" where param is the number of lines the gradient should draw over.
%Vg(start colour, end colour, [text colour]), if this tag isnt used the list selection colours from the settings will set the gradient colours

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30302 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:50:07 +00:00
Jonathan Gordon
969903b5fe Change the way the %Tl() (touch region) tag is done to remove dodgey 1-char settings.
check the manual...
%Tl(..., &action) -> %Tl(..., action, repeat_press)
%Tl(..., *action) -> %Tl(..., action, long_press)
%Tl(..., !action) -> %Tl(..., action, reverse_bar)
and a new allow_while_lock to make the region fire when softlocked

these options must all be after the action name, but otherwise the order doesnt matter. And for the setting_inc/dec/set action the setting name must follow the action name, *then* the options

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30219 a1c6a512-1295-4272-9138-f99709370657
2011-07-28 12:53:22 +00:00
Jonathan Gordon
bb618dbd84 skin engine softlock support for touchscreens:
Modify the %Tl() tag to add a new region 'lock' which will lock/unlock the wps/sbs from touches (hardware buttons still work)
You can also specify a region to work when locked by prepending ^ to the action name (this is probably about to change though)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30218 a1c6a512-1295-4272-9138-f99709370657
2011-07-28 11:26:01 +00:00
Jonathan Gordon
a7c37ea2d0 Pull yesno_pop out of the radio code as it is a nice simple resuasble yesno api worth reusing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30183 a1c6a512-1295-4272-9138-f99709370657
2011-07-21 06:40:01 +00:00
Jonathan Gordon
4983d052a0 Remove to top/bottom quickscreen defaults.
As constantly discussed in IRC, it is insane that dirfilter and party mode are defaults on the quickscreen, both have caused countless problems for users accidentaly enabling them.
This wont change anything for users who have changed their setting, only for people who left it default

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30176 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 01:30:29 +00:00
Michael Sevakis
5663e1cd0a Have mpegplayer use the mixer (the playback channel, since it's mutually exclusive to audio playback) so the clicks and skip beep can be used according to user settings. Introduce some system sound functions to make easier playing event sounds from various places and convert files calling 'beep_play' to use 'system_sound_play' and 'keyclick_click'. Event sound could be become themeable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30130 a1c6a512-1295-4272-9138-f99709370657
2011-07-08 22:31:15 +00:00
Michael Sevakis
a2b6703a36 Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30097 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 06:37:04 +00:00
Thomas Martitz
7b374b43b5 Use enum themable_icons in struct file_type and struct filetype (who made those names?).
It's the correct type and should save some memory due to struct padding (on eabi).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30027 a1c6a512-1295-4272-9138-f99709370657
2011-06-20 19:32:48 +00:00
Jonathan Gordon
038fc8a66e Fix the %cs tag for the pitchscreen and playlist viewer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29997 a1c6a512-1295-4272-9138-f99709370657
2011-06-13 07:33:20 +00:00
Nils Wallménius
3b04a85245 Remove a couple of dead inits and assignments found by the clang-static-analyzer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29996 a1c6a512-1295-4272-9138-f99709370657
2011-06-12 22:17:45 +00:00
Jonathan Gordon
b58d3656d7 FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 14:41:49 +00:00
Michael Sevakis
caf907eef1 Workaround an occasional problem where album art or cuesheets might not be ready by the time the track change event is send which can result in the WPS not immediately being aware that the handles are ready. A better solution will be sought that hopefully doesn't require the additional event.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29923 a1c6a512-1295-4272-9138-f99709370657
2011-05-25 08:35:31 +00:00
Jonathan Gordon
645ffa9beb Make volume and progresssbar touch regions work with touch timeouts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29918 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 06:23:04 +00:00
Jonathan Gordon
94257e5e19 Fix %Tl 'last touch' tag not accepting the timeout
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29916 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 06:02:44 +00:00
Andree Buschmann
96b21753bc Fix some residual 'defined but not used' warnings by GCC 4.6.0 for touchscreen targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29910 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 13:53:31 +00:00
Michael Hohmuth
5aec3c2400 FS#11931 part 2: Allow a short rewind when playback is paused. Patch
by John Morris.

This patch adds an option to rewind the current track by a few seconds
when it is paused, irrespective of what has caused the pause.  This is
useful for audiobooks and podcasts to allow the listener to recall
where the track was left off.

The patch subsumes the existing rewind-on-headphone-unplug feature and
extends it to all invocations of pause: play/pause button (or touch
area), headphone removal, and power-supply unplug in car-adapter
mode. It also subsumes FS#9448 (rewind on fade).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29876 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 22:28:47 +00:00
Thomas Martitz
6034978c84 Skin engine: Swap meaning of & and * for touch regions.
r29653 broke compatibility in a unnecessary way, including shipped themes (cabbieve2). Swapping restores compatibility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29866 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 11:38:04 +00:00
Michael Hohmuth
0b59079dd2 Fix a warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29845 a1c6a512-1295-4272-9138-f99709370657
2011-05-09 13:07:04 +00:00
Michael Hohmuth
84301c1e2d FS#11931 part 1: Make fade in/out behavior more consistent across the
various causes of pause and unpause.

Patch by John Morris.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29844 a1c6a512-1295-4272-9138-f99709370657
2011-05-09 12:59:46 +00:00
Bertrik Sikken
ab99e941db More tab fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29840 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 20:35:29 +00:00
Nils Wallménius
04b4722a5c Fix FS#12098 by ignoring battery update events in the yesno screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29828 a1c6a512-1295-4272-9138-f99709370657
2011-05-07 08:08:49 +00:00
Andree Buschmann
f7c4594134 Fix further 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29809 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 13:48:28 +00:00
Andree Buschmann
e75018ad66 Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Michael Sevakis
c537d5958e Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Jonathan Gordon
2271995517 invert the quickscreen setting direction on wheel targets for settings which are number lists so pressing up makes it bigger (i.e contrast). fixes http://forums.rockbox.org/index.php/topic,27778.0.html
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29772 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 07:04:52 +00:00
Bertrik Sikken
204a2e920a Move declaration of global function cfg_string_to_int to header file settings.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29737 a1c6a512-1295-4272-9138-f99709370657
2011-04-17 11:23:48 +00:00
Frank Gevaerts
d09f97880a Support loading backdrops from anywhere in the filesystem. Fixes FS#12041
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29700 a1c6a512-1295-4272-9138-f99709370657
2011-04-10 13:25:47 +00:00
Andree Buschmann
d1766a1510 Rework parts of the replaygain code to be able to differentiate between 0.00 dB set intentionally and having no replaygain information at all. Bump codec api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29679 a1c6a512-1295-4272-9138-f99709370657
2011-04-04 15:21:44 +00:00
Jonathan Gordon
87aa86cedd Skin variables for touchscreen targets (origional implementation by Jens Theeß)
%vs(name, [set|inc|dec], value [,max]) - name is the id, set sets the value, inc increments by value, dec decrements by value
%vg(name) - get the current value
%vl(name [,timeout]) - 'has it changed in [timeout]'?

values start at 1 and are all reset to 1 on skin load

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29655 a1c6a512-1295-4272-9138-f99709370657
2011-03-27 08:01:58 +00:00
Jonathan Gordon
443b134983 Fix touchregions muting volume, and change &<action> to mean 'needs long press but only fire once'. Use *<action> for 'long press and allow repeats'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29653 a1c6a512-1295-4272-9138-f99709370657
2011-03-27 07:23:38 +00:00
Andree Buschmann
04bd51fbcb Scroll speed is increased every N seconds, not every N half seconds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29635 a1c6a512-1295-4272-9138-f99709370657
2011-03-22 21:29:05 +00:00
Jonathan Gordon
f4e152bdef Make repeat mode/shuffle work in the sbs also
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29632 a1c6a512-1295-4272-9138-f99709370657
2011-03-22 09:41:11 +00:00
Jonathan Gordon
98881fd822 Add some playback controls to the SBS. 2 new touch regions wps_next/wps_prev needed to make it work. 'next' in the sbs changes list selection, 'wps_next' in sbs changes audio tracks. no difference in the wps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29631 a1c6a512-1295-4272-9138-f99709370657
2011-03-22 09:31:45 +00:00
Björn Stenberg
b8f29c7eed Quicker fade_on_stop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29558 a1c6a512-1295-4272-9138-f99709370657
2011-03-10 22:25:18 +00:00
Jonathan Gordon
8f3feda719 last of the errors... hopefully
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29537 a1c6a512-1295-4272-9138-f99709370657
2011-03-07 13:09:04 +00:00
Jonathan Gordon
e765906d5b move code around to make checkwps compile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29536 a1c6a512-1295-4272-9138-f99709370657
2011-03-07 12:56:24 +00:00
Jonathan Gordon
343001b5f8 Merge a bunch of code which is 99% identical so it makes it easier to add more of these later
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29535 a1c6a512-1295-4272-9138-f99709370657
2011-03-07 12:45:45 +00:00
Jonathan Gordon
0f68a91bc5 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29484 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 13:01:57 +00:00
Jonathan Gordon
485ff79584 Add an ability to set a setting to a specific value with a touchscreen action.
example: %T(0,0,20,12, setting_set, repeat, off)
That will set the repeat mode to "off" when it is pressed.
"setting_set" is the action name
"repeat" is the name of the setting in the config files
"off" is the value to set it to (same values as the legal values in the config files)

Not all settings are supported, outright unsupported settings will fail to parse. Some settings might not work too well if they don't apply instantly (Any that work well int he quickscreen should work well here)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29483 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 12:31:03 +00:00
Jonathan Gordon
08fa83bd7c fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29479 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 09:01:45 +00:00
Jonathan Gordon
fb3616368f Remove code duplication in some generic skin touch action handling.
fix a bug which stopped the setting_inc/dec touch actions from parsing


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29477 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 07:26:11 +00:00
Jonathan Gordon
e63325acff Add a touchaction "none" which does nothing when pressed. This will allow some fancy controls to skins in combination with recent %T/%Tl changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29475 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 04:01:02 +00:00
Jonathan Gordon
156b0bc614 Add the option of linking the %Tl (last touch) tag to a specific touchregion. Both tags now accept an optional label param as the first param.
%Tl([label,][timeout])
%T([label,] x, y, width, height, action)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29459 a1c6a512-1295-4272-9138-f99709370657
2011-02-28 11:19:59 +00:00
Andree Buschmann
71ceac0b74 FS#11964. Rework replaygain handling to save metadata buffer and binsize. Remove string representation of replaygain and use a dedicated ftoa implementation for WPS/screen info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29388 a1c6a512-1295-4272-9138-f99709370657
2011-02-24 19:10:59 +00:00
Michael Sevakis
edfff8a5ef audio_peek_track should copy the struct mp3entry instead of pointing directly into the buffer. Despite the dire warning, caller does in fact yield/sleep and its usage is too nonlocalized to control that reliably.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29275 a1c6a512-1295-4272-9138-f99709370657
2011-02-10 10:26:07 +00:00
Thomas Martitz
b22b0dc101 Touchscreen: Fix minor redraw after entering the context menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29193 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 18:39:04 +00:00
Thomas Martitz
430ada0864 Redo r29168. Use similar but existing mechanism in the action system which seems to work better.
Don't eat buttons on context change if it was waiting for button release (you did need another release).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29192 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 18:30:10 +00:00
Thomas Martitz
4888d41b09 Pitchscreen: Small fix for the right touchscreen button.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29179 a1c6a512-1295-4272-9138-f99709370657
2011-02-01 15:01:44 +00:00
Thomas Martitz
7436e7ab41 Touchscreen/lists: Hopefully fix glitchy behavior that happened after opening the context menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29168 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 16:33:25 +00:00
Thomas Martitz
3804befc13 Ugh, remove debug output.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29167 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 15:37:09 +00:00
Thomas Martitz
5e3d8f961c Improve sometimes glitchy touchscreen handling in the pitchscreen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29166 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 15:34:36 +00:00
Andree Buschmann
4c38572997 Remove WPS related variable which is read but not set or changed. Closes FS#11396.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29139 a1c6a512-1295-4272-9138-f99709370657
2011-01-25 21:40:55 +00:00
Jonathan Gordon
f06f685273 New option for the bar tags: 'backdrop, <label>' will draw another image under the progressbar (only works with image and slider bars)
example:
%V(22,253,198,14,-)
%xl(a,PLAY_BAR_BACKDROP-240x320x16.bmp,0,0)
%pb(0,0,198,14,PLAY_BAR-240x320x16.bmp, backdrop, a)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29127 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 09:04:28 +00:00
Michael Sevakis
453550a687 Try to get some control over #ifdef hell in usb.c by refactoring and inline function use. SYS_USB_DISCONNECTED_ACK hasn't been doing anything useful for the USB thread; remove it. USB thread simply ignores that value. Observe only valid usb_state transitions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29084 a1c6a512-1295-4272-9138-f99709370657
2011-01-18 14:10:06 +00:00
Mustapha Senhaji
ccad6d0daf Few whitespace fixes by Michael Hohmuth FS#11885
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29082 a1c6a512-1295-4272-9138-f99709370657
2011-01-18 00:37:17 +00:00
Teruaki Kawashima
27bcc8a8fd fix FS#11835: %Lt tag doesn't work on targets with more than 1 screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29058 a1c6a512-1295-4272-9138-f99709370657
2011-01-15 11:35:12 +00:00
Jonathan Gordon
605e2d0e90 New Touchscreen region type... 'mute' which un/mutes volume without pausing playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29046 a1c6a512-1295-4272-9138-f99709370657
2011-01-13 10:56:23 +00:00
Jonathan Gordon
ded64f1db5 here too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29045 a1c6a512-1295-4272-9138-f99709370657
2011-01-13 07:00:56 +00:00
Jonathan Gordon
519d65f9d6 remove unecessary (duplicated even) header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29044 a1c6a512-1295-4272-9138-f99709370657
2011-01-13 06:54:35 +00:00
Jonathan Gordon
261c56ba59 FS#11867 - Add 2 new tags to allow skins to display themed peakmeters
%pL for the left channel, %pR for the right channel... usable as a value, conditional or bar (exactly the same as %pv/%bl/etc)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29043 a1c6a512-1295-4272-9138-f99709370657
2011-01-13 06:48:39 +00:00
Thomas Martitz
974b95a39d Oops, unintended change slipped in.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28786 a1c6a512-1295-4272-9138-f99709370657
2010-12-10 18:44:11 +00:00
Thomas Martitz
f5a461d182 Android: Rework notification and change icon sizes to better meet the systems' standard.
The notification now announces the new track on track change, and the the area in the scrolled down notification area shows track infos (title, artist, album).

Someone should check if it looks good on hdpi and ldpi screens as I can't verify it right now (emulator crashes).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28785 a1c6a512-1295-4272-9138-f99709370657
2010-12-10 18:41:09 +00:00
Thomas Martitz
2c2416094f Get rid of get_user_file_path and do the path handling in wrappers for open() and friends.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 22:26:31 +00:00
Jonathan Gordon
5ad4080b98 Very small code shuffle to maybe make parseing %if() a smidgen faster
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28714 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 13:12:27 +00:00
Jonathan Gordon
5d274e528c Hopefully fix a crash using %if() with strings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28689 a1c6a512-1295-4272-9138-f99709370657
2010-11-28 03:42:15 +00:00
Jonathan Gordon
1ce7ba4931 Make the %tr (radio RSSI) tag work as a bar tag or as a conditional.
As a conditional it scales its value to the number of options you give it (like volume)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28613 a1c6a512-1295-4272-9138-f99709370657
2010-11-18 11:47:42 +00:00
Thomas Martitz
6c8267a42c Android: Fix compilation failure
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28566 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 21:21:23 +00:00
Bertrik Sikken
de870b3ee0 Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28559 a1c6a512-1295-4272-9138-f99709370657
2010-11-11 21:13:29 +00:00
Jonathan Gordon
10807e85f6 fix warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28553 a1c6a512-1295-4272-9138-f99709370657
2010-11-11 10:04:41 +00:00
Jonathan Gordon
f74a1aab64 Add a bit more debug output to checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28552 a1c6a512-1295-4272-9138-f99709370657
2010-11-11 09:57:37 +00:00
Thomas Martitz
33af0dec28 Touchscreen: Improved scroll threshold
Remove the hardcoded (and way too small) scroll threshold (the distance moved in pixels before we think the users wants to scroll) and replace it with something based on the actual DPI of the screen.
On Android we call the API for that, on other touchscreens we reimplemented Android's formula (as of 2.2) and calculate it.

Flyspray: 11727

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28548 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 15:25:15 +00:00
Thomas Martitz
12f5a1e60e Make the context menu pop up instantly after the long press timeout when holding a list item instead of just after the thumb/styles left the screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28499 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 19:23:34 +00:00
Thomas Martitz
5411e14c57 Undo the part of r28480 that caused the simulator to also use host malloc.
We want simulators to simulate target code where possible, that includes memory constraints and memory allocation schemes. It also removed the sim's ability to show the theme's ram usage.
Use malloc only in application builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28498 a1c6a512-1295-4272-9138-f99709370657
2010-11-05 19:12:23 +00:00
Thomas Martitz
41910a04b7 Adapt icon loading to get_user_file_path()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28484 a1c6a512-1295-4272-9138-f99709370657
2010-11-04 23:15:52 +00:00
Jonathan Gordon
97857324c3 RaaA: Use the host's malloc() for the skin engine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28480 a1c6a512-1295-4272-9138-f99709370657
2010-11-04 10:15:33 +00:00
Thomas Martitz
49f1ec8e8a Add support multimedia keys/buttons to the core, and adapt Rockbox on android for it (multimedia buttons are found on wired headsets and the lock screen in cyanogenmod).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28421 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 15:32:57 +00:00
Thomas Martitz
b673ae2c46 FS#11686 - Kinetic list scrolling for touchscreen
This adds kinetic scrolling to to lists on touchscreen targets and RaaA, like all other OSes on touchscreens have.
It's only enabled in the absolute point mode, so for non-touchscreen and in grid mode nothing changes.

Kinetic scrolling means that the list keeps scrolling (but is decelerating) after you leave the touchscreen with the finger.
Redraw interval and deceleration is hardcoded for now but could be made configurable if desired.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28408 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 11:11:46 +00:00
Jonathan Gordon
943de3ce49 skin_parser: Change the way hardware conditionals are done (i.e %?cc)
They now only parse the correct branch (so only the true branch, or only the false branch). This shuold allow you to load different images/backdrops with the same id's depending on the targets hardware.

Add a new %Tp - "touchscreen present?" tag to check if the target has a touchscreen

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28370 a1c6a512-1295-4272-9138-f99709370657
2010-10-28 11:00:36 +00:00
Teruaki Kawashima
a900a29091 fix that disktidy plugin and shopper plugin is not usable when Show Icons setting is turned off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28362 a1c6a512-1295-4272-9138-f99709370657
2010-10-26 12:19:39 +00:00
Thomas Martitz
c2f4e03b9e Make pitchscreen absolute point mode compatible.
It's very similar to how it's controlled in the grid mode (in fact, it resembles this mode and they're compatible).
We could've forced the grid mode, but the viewport layout needed fixing for the addional icons anyway, and this way it doesn't
break with an ui viewport.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28361 a1c6a512-1295-4272-9138-f99709370657
2010-10-25 21:20:04 +00:00
Teruaki Kawashima
0952848368 reduce ramusage slightly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28355 a1c6a512-1295-4272-9138-f99709370657
2010-10-25 12:18:21 +00:00
Jonathan Gordon
59cc0a9a14 Don't try to show a backdrop if the bmp wasnt loaded successfully
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28303 a1c6a512-1295-4272-9138-f99709370657
2010-10-18 07:38:36 +00:00
Bertrik Sikken
9c58356e88 Make two local functions static in skin_tokens.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28290 a1c6a512-1295-4272-9138-f99709370657
2010-10-16 21:26:23 +00:00
Bertrik Sikken
91453fb59b skin_engine: struct gui_skin can be static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28289 a1c6a512-1295-4272-9138-f99709370657
2010-10-16 15:23:41 +00:00
Teruaki Kawashima
8bcb4927f3 fix loding of default remote viewers icons.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28288 a1c6a512-1295-4272-9138-f99709370657
2010-10-16 12:50:44 +00:00
Teruaki Kawashima
44780475bc Fix FS#10981: Viewers icons applied incorrectly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28286 a1c6a512-1295-4272-9138-f99709370657
2010-10-16 11:05:09 +00:00
Jonathan Gordon
6c9db4c4c4 Fix warning on USB_NONE targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28279 a1c6a512-1295-4272-9138-f99709370657
2010-10-14 12:29:19 +00:00
Jonathan Gordon
0432147f2f Fix FS#11593 - %Vf() and %Vb() should be able to be used in conditionals. Remember that these tags cause a new line to get drawn so text/tags on the same line wont be displayed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28266 a1c6a512-1295-4272-9138-f99709370657
2010-10-13 09:46:01 +00:00
Jonathan Gordon
9acd242839 skin bar tag: Load an image from a label or filename. i.e %xl(bar_image, pb.bmp,0,0) %pb(0,0,10,10,bar_image) or %pb(0,0,10,10, pb.bmp) both are acceptable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28249 a1c6a512-1295-4272-9138-f99709370657
2010-10-12 12:46:57 +00:00
Teruaki Kawashima
3eb5826c8a improvement for bar tag with slider.
-fix bug the slider is drawn outside of the bounds (FS#11658).
-offset the slider position so that the center of the slider indicates current position.
-add nobar option. if this option is set, the bar isn't drawn at all.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28248 a1c6a512-1295-4272-9138-f99709370657
2010-10-12 12:17:39 +00:00
Jonathan Gordon
69e379a47b Skin bar tags fix+cleanup:
Don't crash when not enough params were given (i.e forgetting the filename)
Make the parser enforce the first 4 params as compulsary
Be more leniant and don't require the image filename if one isnt going to be loaded (no more need for the - as the 5th param)
Add an option "image" to specify the filename (otherwise the first option will be used if it isnt a recognised option).

e.g: %pv(0,0,100,10) or %pv(0,0,100,10, bar.bmp) or %pv(0,0,100,10, ..., image, bar.bmp)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28247 a1c6a512-1295-4272-9138-f99709370657
2010-10-12 12:03:07 +00:00
Jonathan Gordon
39cf6dd2f3 Viewports dont necessarily have children lines, so make sure there is one or it will crash
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28245 a1c6a512-1295-4272-9138-f99709370657
2010-10-12 09:36:59 +00:00
Teruaki Kawashima
59f487205c check viewport dimension when parsing viewport so that player doesn't clash with bad wps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28244 a1c6a512-1295-4272-9138-f99709370657
2010-10-11 13:08:49 +00:00
Thomas Martitz
3022a60cc2 Rename {draw,fill}_viewport once more (to draw_border_viewport and fill_viewport) and remove the viewport parameter as suggested by Dave Chapman.
The parameter wasn't used yet and it's not clear whether it should be a absolute or relative viewport.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28242 a1c6a512-1295-4272-9138-f99709370657
2010-10-11 01:19:55 +00:00
Frank Gevaerts
1f0ab7c9e6 Fix charcell %pb and %pf tags, FS#11592
This also moves draw_player_fullbar() and draw_player_progress() from skin_display.c to skin_tokens.c. Charcell is a bit different from bitmap here because drawing a progress bar is a combination of setting up the LCD controller (custom characters) and providing a format string. The custom character definition might fit in skin_display.c, but the format strings are needed in skin_tokens.c. Putting these functions in skin_tokens.c seemed to fit better.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28241 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:46:15 +00:00
Thomas Martitz
5462ef728f Add _rect to {draw,fill}_viewport as suggested by Jonathan Gordon to reduce the chance to confuse it with update_viewport().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28240 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:35:03 +00:00
Thomas Martitz
8a0152bd4a Two new lcd/multi screen api convinience functions: draw_viewport(), fill_viewport().
They work as the drawrect/fillrect pendants but work on a viewport basis; pass NULL to draw the current viewport (the one set with set_viewport()).
In conjunction with action_get_touchscreen_press_in_vp() it should be less of a pain to draw buttons and get presses on them.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28239 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 23:15:05 +00:00
Frank Gevaerts
561999ebff Make skin_render_playlistviewer() noinline. This function uses lots of stack (around 1 kilobyte), and is called from a recursive function. gcc's stack allocation strategy makes the calling function then use all this stack space when inlining.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28231 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 13:26:51 +00:00
Frank Gevaerts
d0bf13b486 Revert accidental commit of skin_render.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28230 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 13:21:49 +00:00
Frank Gevaerts
c8c40c5291 Add a "early_usb" argument to gui_usb_screen_run(), and don't do skin unloading/reloading in gui_usb_screen_run() in the early usb case. Fixes the crash part of FS#11589
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28229 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 13:17:39 +00:00
Jonathan Gordon
0b824da4de fix FS#11662 and FS#11629 - skin %t() issues. %t should now work properly inside and outside of conditionals.
Remember that skins update at a rather slow speed so even if you have %t(0.2) in your skin it depends on which screen you are in for it to work (the main menu only updates at 2FPS, the WPS is 25FPS with peakmeters enabled... this is on the fixme list)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28226 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 06:47:52 +00:00
Jonathan Gordon
a7b1f7577b Add "resumeplayback" touchscreen button action which returns you to the previous music screen (WPS or FM) from most of the lists (browsers and menus)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28223 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 04:17:34 +00:00
Jonathan Gordon
3f7b780b54 fix a stupid typo in the vertical bar tag parser, spotted by teru
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28222 a1c6a512-1295-4272-9138-f99709370657
2010-10-09 12:18:10 +00:00
Thomas Martitz
b39a4933cb Fix several inaccuracies in list handling on touchscreen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28221 a1c6a512-1295-4272-9138-f99709370657
2010-10-09 11:22:52 +00:00
Teruaki Kawashima
cc8918e909 fix displaying of the slider when default is used for pb->y and pb->height.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28220 a1c6a512-1295-4272-9138-f99709370657
2010-10-08 14:26:36 +00:00
Teruaki Kawashima
2d86417c46 use CONTEXT_LIST in simplelist_show_list() so that button combinations for page down/page up work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28216 a1c6a512-1295-4272-9138-f99709370657
2010-10-07 12:27:26 +00:00
Thomas Martitz
d9d0b4dd20 Pixel-accurate (vertical) list scrolling for touchscreen targets.
Looks much smoother now as you don't scroll by whole lines anymore.
Add some functions lcd driver to enable the line based scrolling engine to draw the lines with a pixel-based y-offset.
This should also allow for a sensible kinetic scrolling mechanism (still a todo).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28214 a1c6a512-1295-4272-9138-f99709370657
2010-10-06 12:46:42 +00:00
Jonathan Gordon
dd6b1dc5d2 Fix FS#11651 - slider wasnt being drawn correctly with inverted (and vertical) bars
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28207 a1c6a512-1295-4272-9138-f99709370657
2010-10-04 13:20:37 +00:00
Teruaki Kawashima
0f8fe94f46 correct drawing of the bar type tags when nofill is set.
draw the slider bitmap before drawing A-B repeat markers so that they are visible.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28204 a1c6a512-1295-4272-9138-f99709370657
2010-10-03 14:19:30 +00:00
Teruaki Kawashima
55a63609ef use correct condition for #if for tagcache_fill_tags().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28188 a1c6a512-1295-4272-9138-f99709370657
2010-09-30 13:09:50 +00:00
Teruaki Kawashima
717f0bd982 explicitly set img->using_preloaded_icons in parse_image_load() and don't rely on parse_image_display().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28184 a1c6a512-1295-4272-9138-f99709370657
2010-09-29 13:23:24 +00:00
Magnus Holmgren
927a7bdb4b Make sure get_lif_token_value isn't inlined, as it would defeat the purpose of introducing that function. E.g., gcc 3.4.6 for m68k is keen on inlining code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28172 a1c6a512-1295-4272-9138-f99709370657
2010-09-26 11:58:58 +00:00
Jonathan Gordon
0dd8ba4725 Fix FS#11552 - touches outside of the UI viewport can do unexpected list movements.
Also remove naughty // comments from r28145

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28168 a1c6a512-1295-4272-9138-f99709370657
2010-09-26 07:32:16 +00:00
Jonathan Gordon
562437b8e7 Fix FS#1159 - stack overflow in the skin engine when there is too many nested conditionals
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28167 a1c6a512-1295-4272-9138-f99709370657
2010-09-26 06:43:33 +00:00
Thomas Martitz
f060cd5428 Don't actually reimplement an existing feature for hiding the selection marker
during scrolling.

However, the existing one is part of the list api, so it shouldn't be overridden
blindly internally, so do the decision in a different but equivalent way.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28147 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 00:37:33 +00:00
Thomas Martitz
e5d43300af Explicitly disable hiding the selection bar by default.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28146 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 00:13:11 +00:00
Thomas Martitz
ac08e6942a Touchscreen: Improve scrolling in absolute point mode.
* Scrolling is now done by wiping over the screen. There's no acceleration or
  kinetic scrolling yet though. But it works rather well (previously
  you held the edges of the list to scroll).
* Improve scrollbar scrolling so that it keeps scrolling even if you leave the
  scrollbar area.
* Hide selection during scrolling
* Prevent accidental hitting of the list title (which means go back) during
  scrolling
* Don't go into context menu after scrolling when leaving the screen on an item

In general, it's very much like scrolling in native lists in Android,
except there's no kinetic scrolling and everything is still line based, but with
the feature that the scrollbar enables jumping around in the list and very fast
scrolling.

Thanks to Dustin Skoracki for his ideas and half of the code for this.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28145 a1c6a512-1295-4272-9138-f99709370657
2010-09-23 00:02:32 +00:00
Jonathan Gordon
2c8204cd91 Hopefully fix FS#11630 where the wps backdrop would be shown instead of the menu one
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28116 a1c6a512-1295-4272-9138-f99709370657
2010-09-19 11:49:33 +00:00
Frank Gevaerts
f366090562 Make disabling HAVE_PITCHSCREEN actually work without breaking the build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28102 a1c6a512-1295-4272-9138-f99709370657
2010-09-17 20:28:47 +00:00
Jonathan Gordon
10b6861bfd fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28094 a1c6a512-1295-4272-9138-f99709370657
2010-09-16 14:01:43 +00:00
Jonathan Gordon
fbb008331d skin engine: completly rework the sbs title handing code
This hopefully fixes the remaining data aborts and freezes when loading skins caused by the somewhat nasty list/sbs title handling code.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28093 a1c6a512-1295-4272-9138-f99709370657
2010-09-16 12:56:51 +00:00
Jonathan Gordon
75f04f56eb woops
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28076 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 12:30:45 +00:00
Jonathan Gordon
71379cafb1 fix errors, warnings, tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28075 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 12:21:56 +00:00
Jonathan Gordon
46142b91cd new file got lost
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28074 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 11:59:52 +00:00
Jonathan Gordon
9928e3418f Another major skin backend update/hopefully bugfix:
Skins are now more self contained in the skin manager which in the future might allow on demand skin loading (i.e smaller skin buffers)
Skin backdrops are also managed more intelegently (fixes a bug where you can get a crazy backdrop loaded if a .sbs fails to load)

the rockbox_default rescue theme is now called rockbox_failsafe to better express what it actually is.

This commit hopefully/maybe fixes the heavily reported data aborts, so please check if you are getting them

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28073 a1c6a512-1295-4272-9138-f99709370657
2010-09-14 11:56:50 +00:00
Jonathan Gordon
a1612bbd1a fix warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28010 a1c6a512-1295-4272-9138-f99709370657
2010-09-06 13:36:23 +00:00
Jonathan Gordon
4caa8326ab 2 new touch region options... "settings_inc" and "settings_dec" which will increase or decrease most of the available settings. To use it put the config name of the setting as the next param after settings_inc... i.e %T(0, 0, 32, 32, settings_inc, repeat)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28009 a1c6a512-1295-4272-9138-f99709370657
2010-09-06 13:33:49 +00:00
Jonathan Gordon
dbde63bfec progressbars are drawn inside viewports so all coords are viewport relative. so fix - for the x coord to be 0 instead of vp->x which never made sense (woops from 18months ago :p )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27998 a1c6a512-1295-4272-9138-f99709370657
2010-09-05 10:23:09 +00:00
Jonathan Gordon
216ed29e4d fix FS#11588 - %t(0) inside conditionals wasnt making that subline skip
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27983 a1c6a512-1295-4272-9138-f99709370657
2010-09-02 11:43:33 +00:00
Fred Bauer
55704d8942 font_table[].name wasn't filled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27963 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 05:21:39 +00:00
Jonathan Gordon
4dd6b14453 Should fix the line alternator issue described in http://forums.rockbox.org/index.php?topic=25545
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27956 a1c6a512-1295-4272-9138-f99709370657
2010-08-31 02:19:48 +00:00
Bertrik Sikken
a290ce4222 tcc77x targets: various minor cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27913 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 10:17:19 +00:00
Fred Bauer
cf8f526d16 change get_glyph_size() to font_glyphs_to_bufsize(). fixes a bug when font glyph buffer < font header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27911 a1c6a512-1295-4272-9138-f99709370657
2010-08-27 18:25:23 +00:00
Jonathan Gordon
1d613bee0f Make the yes/no screen useable in the stylus touchscreen mode, add 2 soft-buttons. Also make bottom left yes in grid mode to line up with the new button
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27890 a1c6a512-1295-4272-9138-f99709370657
2010-08-26 10:20:16 +00:00
Jonathan Gordon
0d040838be fix errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27883 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 14:23:31 +00:00
Jonathan Gordon
faaf431d32 Accept FS#11567 by Fred Bauer - better memory management for the skin fonts
%Fl now takes an optional 3rd param which is the number of glyphs to cache (default to 256). the smaller the number, the less ram will be used (i.e using 15 for a font which only shown numbers is a good idea)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27882 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 14:11:38 +00:00
Jonathan Gordon
74ec011bb8 New skin tag: %if(<tag>, <operator>, <operand> [,option count]) which lets you do very simple logical comparissons on other tags.
<tag> is the tag to check against
<operator> is the comparisson to do, any one of... =, !=, >, >=, <, <=    (when comparring against a string tag like %ia only = and != work, and it is done NOT case sensitive)
<operand> is either another tag, a number, or text.
[option count] is an optinal number to use for the few tags which scale to the amount of options when used as a conditional (i.e %?pv<a|b|c|d> would have 4 options)

example: %?if(%pv, >=, 0)<Warning.. volume clipping|coool...>
That says "If the value from %pv (volume) is greater than or equal to 0 then display the warning line, otherwise the cool line."
%?if(%ia, =, %Ia)<same artist>   <= this artist and next artist are the same.

some tags might need a touch of tweaking to work better with this. experiment and have fun

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27846 a1c6a512-1295-4272-9138-f99709370657
2010-08-19 13:49:32 +00:00
Jonathan Gordon
2cc6b5a79d Fix FS#11524 - a sbs could crash on load
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27829 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 12:53:29 +00:00
Jonathan Gordon
0be2426528 Make %pb without any params work as expected
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27827 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 12:07:39 +00:00
Jonathan Gordon
a71db516f2 fix FS#11542 - %t() not working
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27826 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 10:40:50 +00:00
Jonathan Gordon
e8bbbdffd4 fix FS#11519 - clock tags wernt updating like they should
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27822 a1c6a512-1295-4272-9138-f99709370657
2010-08-15 14:35:34 +00:00
Jonathan Gordon
eda80390d5 A bunch of new features for the bar type tags (%pb, %pv, %bl, etc):
* the bar orientation (horiz/vert) is now chosen based on the width and heigt values (or can be forced).
* the fill direction can now be inverted (fill right to left, or top to bottom is considered inverted)
* It can now draw a slider type bar instead of a fill type (or indeed a slider with a fill type)

To configure the new bar, any (or all) of the following params can be used after the bmp filename (order makes no difference either):
invert - cause the bar to fill in the inverted direction
vertical - draw a vertical bar (not needed if the height > width)
horizontal - draw a horizontal bar (this is obviously the default)
nofill - dont draw the filling bar (this still draws the outline, obviously pointless without the slider param)
slider - draw an image for the slider. The next param MUST be the label of the image to draw. No option to use a subimage here, so the whole image needs to be the image you want on the slider. 

example: %pb(0,0,-,-,-,nofill, slider, slider_image, invert) - draw a boring horizontal progressbar which doesnt fill and only draws the image "slider_image" which moves right to left.

the slider type might need some tweaking. let us know how it goes


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27821 a1c6a512-1295-4272-9138-f99709370657
2010-08-15 14:13:36 +00:00
Magnus Holmgren
ac2c69ccae Allow 'long' labels with single-argument %xd too. The label need to be at least 3 chars long (2 chars are treated as a single-letter-label image with a subimage).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27820 a1c6a512-1295-4272-9138-f99709370657
2010-08-15 07:08:23 +00:00
Jonathan Gordon
a9d752b1bd *really* fix the last warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27817 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 15:31:04 +00:00
Jonathan Gordon
d23d7a1686 last warning and fix manual
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27816 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 15:27:46 +00:00
Jonathan Gordon
b9093f22dd fix warnings and errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27815 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 15:23:07 +00:00
Jonathan Gordon
dc3778a685 Rework the skin playlist viewer so it uses the same drawing code as everything else. This should mean that all text tags now work as expected. The 2nd code param is no longer needed so drop it (you can use conditionals and sublines and stuff in the one code param.
example: %Vp(1, %?it<%in -%it|%fn>) <- show the next tracks strating from the first next track and show info if it is avilable or the filename.
Basic cuesheet support here, and will load upcoming track tags from the database if you have load to ram enabled.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27814 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 15:17:59 +00:00
Jonathan Gordon
ff8d43ddad Change %xl/%xd to use proper labels instead of single letter labels. i.e %xl(playmode, playmode.bmp, 0, 0, 4) ... %xd(playmode, %mm). You can of course still use one letter labels if you really want. %xd(Aa) will only work with one letter labels.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27813 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 11:40:20 +00:00
Jonathan Gordon
863d239aa2 Change %xd to allow for a number to be used to specify the subimage. i.e %xd(Ac) can now we written as %xd(A, 3). subimage count start at 1 so a=1, b=2 etc.
Also adds the possibility to specify a set of params which a tag can have (i.e a tag or a integer)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27812 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 11:17:49 +00:00
Thomas Martitz
e60de9e5bb Fix backdrops from sbs not being loaded correctly (caused by r27791).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27802 a1c6a512-1295-4272-9138-f99709370657
2010-08-13 15:09:20 +00:00
Thomas Martitz
71610fbf62 Backdrop dir needs to go through get_user_file_path()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27791 a1c6a512-1295-4272-9138-f99709370657
2010-08-12 17:32:59 +00:00