1
0
Fork 0
forked from len0rd/rockbox
Commit graph

1512 commits

Author SHA1 Message Date
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