1
0
Fork 0
forked from len0rd/rockbox
Commit graph

1035 commits

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

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


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

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


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

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

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23475 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:51:26 +00:00
Rafaël Carré
9cd15dad9d new skin token: %cx - 24 hour time format enabled in the setting.. e.g %?cx<24 hour|12 hour>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23474 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:48:46 +00:00
Jonathan Gordon
e702e5dbf8 revert that last checkin... something better is coming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23473 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 21:45:01 +00:00
Jonathan Gordon
cb8527d073 new skin token: %cx - 24 hour time format enabled in the setting.. e.g %?cx<24 hour|12 hour>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23472 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 21:35:35 +00:00
Thomas Martitz
3216d32a05 Move find_viewport() and find_image() to skin_parser.c where the reset of the linked-list handling sits. That enables removing duplicated code from checkwps. Also remove a few stubs in favor having the restart playback mechanism on albumart change #ifdef __PCTOOL__
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23465 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 15:48:31 +00:00
Thomas Martitz
4f0e3ecda9 Fix red - statusbar_position() is a macro.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23462 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:36:57 +00:00
Thomas Martitz
6db726c147 Remove a wps function call from skin engine, hopefully the last one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23461 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:36:52 +00:00
Thomas Martitz
dd33bdfe0d Cleanup includes a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23459 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 13:08:57 +00:00
Jonathan Gordon
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
Nils Wallménius
67f616478a Const correctness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23402 a1c6a512-1295-4272-9138-f99709370657
2009-10-29 15:09:09 +00:00
Jonathan Gordon
0aa035d73e * code police on a macro which has no reason for being
* add the TOKEN_RTC_PRESENT value to the skin debugger listing
* Allow the width and height of a viewport to be negative values (so width -50 means extend to 50pixels inside from the right edge)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23393 a1c6a512-1295-4272-9138-f99709370657
2009-10-29 03:27:13 +00:00
Nils Wallménius
ff197a4706 Use array for quickscreen item settings to simplify some logic
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23380 a1c6a512-1295-4272-9138-f99709370657
2009-10-28 20:41:34 +00:00
Jonathan Gordon
bee5900032 Allow the x and y pixel values of viewports to be a negative number..
%V|-50|0|-|..... will position that viewport 50 pixels from the right of the display at the top.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23378 a1c6a512-1295-4272-9138-f99709370657
2009-10-28 06:44:37 +00:00
Teruaki Kawashima
478afc3d62 FS#10722: some improvements for gui/list.c
* Add function list_get_nb_lines and replace duplicated codes to calculate number of lines by it.
* Refine calculation of start_item in function gui_list_put_selection_on_screen.
- displays as many items as possible. hopefully fix FS#10054.
* Fix checking bounds in function gui_synclist_item_is_onscreen.
* Remove trailing spaces and fix indents.

Flyspray: FS#10722
Author: myself


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23367 a1c6a512-1295-4272-9138-f99709370657
2009-10-27 13:18:54 +00:00
Tomer Shalev
83d24f89df FS#10704 - Make a configuration option to disable USB HID
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23322 a1c6a512-1295-4272-9138-f99709370657
2009-10-23 13:29:19 +00:00
Thomas Martitz
3ddbe63ff5 Remove all update event callbacks if the custom statusbar is unused.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23306 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 23:29:13 +00:00
Thomas Martitz
8f11075f85 No need to have this variable global anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23305 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 23:15:17 +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
Frank Gevaerts
1c2172d453 usb_keypad_mode shouldn't depend on SIMULATOR
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23294 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 17:30:42 +00:00
Thomas Martitz
72f93e5f10 Cleanup quickscreen text drawing by using text alignment flags for viewports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23283 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 22:49:47 +00:00
Tomer Shalev
0abc34b342 Fix yellow: wrong file used
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23281 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 21:59:19 +00:00
Tomer Shalev
55a7b2dd16 Fix yellow: Missing statusbar.h include (hopefully the last one missing)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23280 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 21:53:56 +00:00
Tomer Shalev
e684a3a8f9 Fix yellow: Missing ata_mmc.h include
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23278 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 21:44:38 +00:00
Tomer Shalev
5d585f4b9b Extract usb_screen logic out of screens.c into apps/gui/usb_screen.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23273 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 21:19:30 +00:00
Thomas Martitz
1016ee4e80 Initial custom statusbar commit.
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows.
The default folder for .sbs is the wps folder to reuse images used in the WPS.
As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space.
There are a few restrictions/TODOs:
*) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686)
*) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though).
*) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used).
*) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar.

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

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

Flyspray: FS#10566
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 15:28:15 +00:00
Thomas Martitz
6225f388b8 Reorder members for more efficient alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23254 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 00:26:46 +00:00
Thomas Martitz
c26949c54b r23208 broke conditional use of metadata and filename tags. Return NULL instead of "n/a" to make it work again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23253 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 23:58:42 +00:00
Bertrik Sikken
d24d885aa4 Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with current_time, instead of comparing them directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 15:50:30 +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
d7757eb75c Fix Player, checkwps and database tools
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23215 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:54 +00:00
Thomas Martitz
94f7651341 Revert r23212, I committed it accidentally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23214 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:04 +00:00
Thomas Martitz
8d032ae136 initial custom statusbar commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23212 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:30:09 +00:00
Thomas Martitz
e9c10189e9 Rework albumart buffering internally to allow for mutliple albumart sizes.
Playback now has a few albumart slots. Anything (most importantly: skins)  can obtain such a slot.
The slot has fields for the size which is passed to bufopen then to image_load to buffer the albumart with the proper size.
Currently there's 1 slot. We can increase it for remotes if we want. Custom statusbar will increase it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23209 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:41 +00:00
Thomas Martitz
a72ffe7bb5 Make the skin engine behave sane if the skin's id3 pointer is NULL (the one in struct wps_state), so that skins don't need audio to be played before being displayed (needed for upcoming custom statusbar).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23208 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:37 +00:00
Thomas Martitz
9072a4558c Add %cs tag.
It can be used conditionally and indicates the current screen (wps, rec, radio screens or lists).

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

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

Flyspray: FS#10673
Author: Junio C Hamano

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23199 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 22:22:07 +00:00
Thomas Martitz
44cacbe595 Correct a small misaligned brace.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23198 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 21:35:10 +00:00
Thomas Martitz
4004c75fee Use the center align viewport flag to draw top and bottom text centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23197 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 21:30:19 +00:00
Thomas Martitz
9c45cf2f46 Pitchscreen: Don't clear the whole display, but only the parent viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23196 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 21:13:58 +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