Commit graph

58 commits

Author SHA1 Message Date
Jonathan Gordon
b8eb44d7db fix FS#10926 - backlight turning off stops track info being updated
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24998 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 02:20:40 +00:00
Jonathan Gordon
31fb4f6ff6 Change how touchscreen regions work slightly... "It modifies the behaviour of touch buttons to be more similar to the way gui buttons operate in desktop applications. Upon a touch press event, the button at the touch position is armed. Upon a touch repeat or release, the button at the touch position is triggered only if it is armed. Upon release (and wps entry), all buttons are disarmed. E.g. when you touch press on an empty area, then while pressing drag your finger on a button, then release the button, the button is not triggered."
Author: Jens Theeß 
Flyspray: FS#10982


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24876 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 06:19:25 +00:00
Thomas Martitz
c19e53654b Playlist Viewer Changes to bring consistency:
- combine its two context menus to one and
- make the ACTION_STD_MENU go to the main menu as it does in all other screens
- call playlist_viewer() via root_menu to reduce call depth and to be consistent with other screens (and for the above changes to be more flexible w.r.t to the following screen)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24791 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 19:06:39 +00:00
Maurus Cuelenaere
5ea32cf05a WPS volume touchregion: fix reverse Y coordinate in portrait mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24649 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 15:31:19 +00:00
Alex Parker
3e4e67b408 Fix WPS backdrop drawing, as instructed by JdGordon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24571 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 22:34:04 +00:00
Jonathan Gordon
54ca765769 fix red. these long #if's need to be changed to a single #define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24566 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 09:47:08 +00:00
Jonathan Gordon
7e6f124d4e revert r24478 and make the backdrop behaviour the same as it used to be (so when in the wps the sbs' backdrop will be fully disabled). Also changes the API back to having to manually set the current backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24565 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 09:38:03 +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
Jonathan Gordon
2565389402 futile attempt to keep the ondioSP rombox working. This will almost certainly be the last release with it. (The backdrop API is chaning very soon after release so this is no big deal)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24340 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 06:47:56 +00:00
Thomas Martitz
e8ae70a382 Fix wps showing parts of the main backdrop in some circumstances.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24336 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 21:29:08 +00:00
Thomas Martitz
5629d551d7 Accept the last patch FS#10797 with a few changes by me (fixing side effects and adding the new backdrop_hide() to the multi screen api). It changes the hide_bars parameter to mean hide_theme.
This makes plugins show the menu backdrop in their backdrop so that they don't look like crap if you have an sbs and look more integrated. I've test about all plugins and all work fine.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24335 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 20:14:42 +00:00
Michael Chicoine
8e8e2627b2 FS#10856 - Skip to previous track inconsistent when using cuesheet
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24191 a1c6a512-1295-4272-9138-f99709370657
2010-01-06 14:48:42 +00:00
Jonathan Gordon
65f18a7044 fix yello
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24088 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 05:32:23 +00:00
Jonathan Gordon
9d1832cfba fix FS#10870 - slightly change the viewportmanager theme undo-er to be able to force an update even if the theme isnt being toggled from off to on which caused WPS artifacts when leaving the WPS if the theme was enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24087 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 05:19:12 +00:00
Jonathan Gordon
b2eb44ce0e FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed

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


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:25:46 +00:00
Thomas Martitz
19ec4ffe64 Remove a left-over check for metadata info being ready that delayed the initial draw of the wps quite a bit (most notably on slowish hwcodec). The skin engine is safe against that, so draw it instantly and make another redraw once the metadata info is ready.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23646 a1c6a512-1295-4272-9138-f99709370657
2009-11-16 01:38:36 +00:00
Thomas Martitz
cc697a8f7a Avoid two subsequent full update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23645 a1c6a512-1295-4272-9138-f99709370657
2009-11-16 01:38:33 +00:00
Thomas Martitz
bdf2961ba3 Fix some drawing problems when displaying the WPS initially with sbs enabled. Move initial display of the wps to wps.c too. Should fix bug 3 of FS#10771.
Also change GUI_EVENT_REFRESH event handling so that the passed drawing function is always called, not only when sbs or custom ui vp are used.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23644 a1c6a512-1295-4272-9138-f99709370657
2009-11-16 01:38:30 +00:00
Thomas Martitz
ca39b27dd4 Partly revert r23625 (the TIMEOUT_NOBLOCK change), and add a comment explaining why (or trying to, at least).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23637 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 20:45:50 +00:00
Thomas Martitz
2e82199fed Fix peakmeter from delaying the initial display of the wps. Also change HZ/100 to TIMEOUT_NOBLOCK which is more appropriater in the get_action() call below.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23625 a1c6a512-1295-4272-9138-f99709370657
2009-11-14 20:07:31 +00:00
Teruaki Kawashima
139694c7e2 Fix volume change in wps. %mv tag keeped showing volume is changed if volume is changed in wps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23515 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 12:46:31 +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
Thomas Martitz
6db726c147 Remove a wps function call from skin engine, hopefully the last one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23461 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:36:52 +00:00
Jonathan Gordon
132256d1be YELLOW ZOMBIES!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23457 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 02:56:37 +00:00
Jonathan Gordon
ea094b163d haloween night is when red monsters are vanquished right? or is that green monsters?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23456 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 02:47:38 +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
28aef1f96a Consolidate code duplication in WPS volume changing handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23436 a1c6a512-1295-4272-9138-f99709370657
2009-10-31 14:55:13 +00:00
Thomas Martitz
804e3aadae Fix a few potential redraw problems with the custom statusbar and wps fighting for the same full redraw variable.
Instead, introduce a new skin struct holding data which is meant for all screens for a single skin (struct wps_state is currently used by both at the same time). Also clean up (classic) statusbar handling for skins using this new struct.
Also, implement deactivating updating of the custom statusbar when the LCD is deactivated, saving a bit battery life on some targets.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23304 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 23:12:20 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +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
a7c888c48e Add a option to skip length which lets you skip 5s before the end of a song, which can be useful on gapless albums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23229 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 16:05:23 +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
bc063a3e1e Whoops, I had that warning turned off locally.
See http://www.rockbox.org/irc/log-20091014#08:40:11  gcc warns on that one (it's perfectly valid code). It doesn't warn if you do this on plain arrays and since I have had this warning disabled I thought it would not warn on arrays of structs also.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23172 a1c6a512-1295-4272-9138-f99709370657
2009-10-14 16:00:52 +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
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
Rob Purchase
5bd3b443ff Fix delay when seeking using the touchscreen by adding a pause/unpause.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22720 a1c6a512-1295-4272-9138-f99709370657
2009-09-17 20:49:34 +00:00
Jonathan Gordon
fe2f042670 rework AA load/display handling in the skins to get them working in viewports again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22646 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 02:36:56 +00:00
Thomas Martitz
c17037a802 Factor out/generalise the function that checks whether a point is within a viewport to, and use it in the wps' touchregion code. This corrects the check that was done there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22638 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 23:57:09 +00:00
Jonathan Gordon
f6025186fd stop a potential crash caused by r22438
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22614 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:41:38 +00:00
Teruaki Kawashima
5b2a599d63 fix FS#10465 and return GO_TO_ROOT instead of SYS_USB_CONNECTED in gui_wps_show.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22538 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 16:25:04 +00:00
Thomas Martitz
3598eb02d7 Do some #ifdef'ing to make the Player happy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22520 a1c6a512-1295-4272-9138-f99709370657
2009-08-27 17:55:05 +00:00
Thomas Martitz
af967d77d3 Fix skin engine calling wps code to draw the statusbars (add a pointer to viewportmanager-suitable statusbar values, which are the same for all screens), and re-arrange statusbar related code slightly. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22514 a1c6a512-1295-4272-9138-f99709370657
2009-08-26 00:06:27 +00:00
Thomas Martitz
e510de1b35 Move handling of "rockbox_default.[r]wps" into wps.c, out of the skin engine (which should be as generic as possible).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22438 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 14:29:03 +00:00
Jonathan Gordon
5b349e3cfa update the display after getting a bit too close to the touchscreen instead of just asking it nicely to change volume!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22436 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 04:07:27 +00:00
Jonathan Gordon
36ca4967e0 move viewports into the skin buffer, no more viewport limit on the skin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22403 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 05:30:59 +00:00
Thomas Martitz
4c48b59be8 User definable UI viewport, to be able to restrict the UI into a viewport for all bitmap displays.
Flyspray: FS#8799

This will allow for pretty themes, for example those with nice glass effects on their backdrops (some might argue they're wasting screen space but it's upto them),
as well as allowing for future background WPS updates in the main UI.

Plugins are not converted yet, they simply use the full screen. Ideally, any plugin that does *not* want the UI viewport, should take care of that itself (i.e. plugins should normally use the UI viewport).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22365 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 22:20:11 +00:00
Jonathan Gordon
271643c585 remove the limit of touch regions in touchscreen skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22361 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 21:22:57 +00:00