Commit graph

758 commits

Author SHA1 Message Date
Steve Bavin
cbbf032c1b Display speed as relative to real-time, not timestretch amount.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21375 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 10:36:07 +00:00
Alexander Levin
02a3740596 Slightly rearrange statements. No functional change but RAM and binary are reduced.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21350 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 11:23:02 +00:00
Marianne Arnold
49c9ab8120 Restore the ACTION_REDRAW case as it was before r20661 (with a slight change as suggested by Thomas Martitz). Without it you could get trapped in the WPS on targets with software hold as disabling hold again did not work correctly. Also fix(ed) typos...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21325 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 13:50:11 +00:00
Steve Bavin
d6ad019af3 Renamed routines and changed comments for clarity.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21309 a1c6a512-1295-4272-9138-f99709370657
2009-06-16 07:10:05 +00:00
Jens Arnold
b22e604a06 Fix the charcell viewport defaults. The statusbar is offscreen on charcell. This fixes e.g. the yesno screen when deleting files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21267 a1c6a512-1295-4272-9138-f99709370657
2009-06-12 22:22:19 +00:00
Steve Bavin
fb2380790e FS#8894 - Add time stretching feature to all SWCODEC targets - the current algorithm is best for spoken word.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21258 a1c6a512-1295-4272-9138-f99709370657
2009-06-12 07:20:50 +00:00
Thomas Martitz
be214c9445 Fix a problem that the statusbar was redrawn to late and not really in sync with the lists when changing loading a (theme) .cfg or changing the colors witht the color picker. Now both, the statusbar and the tree lists are redrawn instantly after settings_apply() (even before the "Theme loaded" splash).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21222 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 18:19:43 +00:00
Jens Arnold
1d6df54df2 Convert a number of places in core and plugins to use the BIT_N() macro instead of 1<<n. Speeds up things on SH1, and also reduces core binsize. Most notable speedups: 1 bit lcd driver: drawpixel +20%, drawline + 27%, hline +5%; jpeg viewer: +8% for 1/8 scaling. Other targets are unaffected.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21205 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 21:27:05 +00:00
Thomas Martitz
6de2f14b23 Fix FS#10231. The gwps_leave_wps() call at powering down is completely unnecessary anyway as it's meant to prepare the displaying of the next screen, which isn't needed when there's no next screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21067 a1c6a512-1295-4272-9138-f99709370657
2009-05-24 16:09:00 +00:00
Bertrik Sikken
ab222c1705 Simplify some redundant boolean expressions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21013 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 14:15:24 +00:00
Bertrik Sikken
2dc2054319 Remove some unused declarations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21010 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 12:32:26 +00:00
Bertrik Sikken
0023943439 Fix duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +00:00
Bertrik Sikken
8d5dbf4c14 Clean up some unused #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20975 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 11:56:06 +00:00
Jonathan Gordon
2172c91473 get repeat/hold actions working on the touchscreen WPS. prepending an action with & means that this will only get triggered if you hold down the area. cabbie WPS updated so the fwd/rwd icons will do that when held or skip fwd/back if just pressed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20974 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 06:25:18 +00:00
Marianne Arnold
e435e4d976 New 'clock present' WPS tag: The tag checks for the presence of the clock hardware and can be used unconditionally (returning a 'c') or in a conditional. You can specify what to display if a target has the clock (the true case) and an alternative for targets without. This can be useful for e.g. the greyscale 160x128 WPSs or the Archos ones which work on players with and without the hardware. - Add the new tag to the WPS tag description in the manual. Change the headline to the less technical 'Time and Date' as per the discussion in IRC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20961 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 11:22:41 +00:00
Thomas Martitz
dad292c3ef Fix splash on greyscale (was showing only a black or grey box, no text) by reverting to lcd_set_foreground(). That does a bit more on greyscale than just setting the current's viewports fg_pattern :/
It will still only apply to the viewport used for splash, so no need to restore the old foreground.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20944 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 15:27:32 +00:00
Thomas Martitz
f4aa7428ea Fix FS#10197 by setting the viewport before calculating the string size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20943 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 14:53:06 +00:00
Jonathan Gordon
13cc654cea More touchscreen additions, quickscreen, browser, context menu, skip fwd/back buttons in the mr500 wps (a "button bar" will pop up for 2.5s when the screen is touched.)
icons by Johannes Voggenthaler
pitch screen icon is there but not used because that screen isnt fixed for the touhscreen yet


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20939 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 06:02:50 +00:00
Jonathan Gordon
c1267dc700 allow the user to change the shuffle and repeat modes from the touchscreen, update the mr500 default wps to show how to do it (hint, press the shuffle/rep icon)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20937 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 05:36:16 +00:00
Jonathan Gordon
d48f1a0a45 get the quickscreen working on the mr500. hold "mode" on the remote to get to it, then you can use the 4 directions on the remote, or the touchscreen to change the values. "mode" will exit, as will pressing in the top or middle of the main screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20935 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 05:08:28 +00:00
Bertrik Sikken
09085a30f6 Remove unneeded #include "backdrop.h"
Remove unneeded #include "statusbar.h"


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20891 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 18:09:14 +00:00
Thomas Martitz
c91e73e922 Convert splashes to viewports for bitmap targets and only draw/update the viewport that is needed instead of the whole screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20870 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 00:28:33 +00:00
Karl Kurbjun
2677886bc3 Keep the quickscreen from crashing the player with a divide by 0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20854 a1c6a512-1295-4272-9138-f99709370657
2009-05-06 02:17:04 +00:00
Thomas Martitz
9adc03949f Revert r20786 as it caused problems with alternating sublines (they need to be reset if gui_wps_refresh() wasn't called for some time, since the subline timeout gets confused). Also, it needs to be set to get the update, since do_full_update will be set to false after track change no matter if an update happened.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20812 a1c6a512-1295-4272-9138-f99709370657
2009-04-27 18:57:51 +00:00
Thomas Martitz
29cf2e148b Setting do_full_update isn't actually needed, since the track changed event will set it if needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20786 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 19:23:40 +00:00
Jonathan Gordon
0eb5dc649f beginings of a working touchscreen interface for the WPS. 2 new tags:
%T|x|y|width|height|action| <- setup a region (relative to the current viewport) where if pressed the "action" will be done (currently play/stop/prev/next/menu/browse work, suggestions for others to add and better names welcome)
%Tl<timeout> <- used as a conditional to say if the touchscreen was touched in the last <timeout>, use this to enable/disable button viewports or something... same syntax as other timeout tags

cabbiev2 for the mr500 has been modified to demonstrate the new tags. press the pause/play button to pause playback. press the rockbox logo to get back to the menu. pretty icons needed to make this more usable :)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20753 a1c6a512-1295-4272-9138-f99709370657
2009-04-20 01:41:56 +00:00
Thomas Martitz
ec7a0c5676 Fix caption backlight.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20708 a1c6a512-1295-4272-9138-f99709370657
2009-04-14 22:13:29 +00:00
Thomas Martitz
725733ca92 Fix remote wps updating (again, FS#10121).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20693 a1c6a512-1295-4272-9138-f99709370657
2009-04-12 00:30:28 +00:00
Jens Arnold
fbe39975cf Slightly more compact boundary check.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20691 a1c6a512-1295-4272-9138-f99709370657
2009-04-11 23:07:02 +00:00
Karl Kurbjun
76328bbfda Fix the scrollbar boundary checking to prevent the player from freezing on screens that are too small to show the list with the font selected. Correct the M:Robe remote screen height.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20690 a1c6a512-1295-4272-9138-f99709370657
2009-04-11 22:22:44 +00:00
Thomas Martitz
7ce12e62aa FS#8523 - Disable WPS updating when the backlight is off.
Disables WPS updating when the lcd is inactive (sleep or disabled, backlight doesn't count in), which prevents a good deal of code from running uselessly.
According to tests, it can yield up to 1h more battery life in cases of heavy WPSes.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20666 a1c6a512-1295-4272-9138-f99709370657
2009-04-09 08:30:05 +00:00
Thomas Martitz
3eaefa65b7 Forgot to add the call too gwps_fix_statusbars(), fixes yellow too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20662 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 17:31:29 +00:00
Thomas Martitz
1d52b72952 WPS update optimizations:
*) always initialize restore with true, and make the get_action timeout 1 tick if restore is true (which only happens at initially showing the wps), which makes the wps show up way faster (nearly instantly)
*) reduce the number of full updates by removing update_track (full updates are initiated by the event now), rename partial_update to update.
Now, full updates should really happen only on (re-)entering the wps or track change now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20661 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 17:11:50 +00:00
Jonathan Gordon
843c7efaf8 FS9795 - some playback cleanup.
* Use events to notify things when the track has changed instead of the nasty has_track_changed()
* Event for when the mp3entry for the next track is avilable (which allows alot more tags to be static which means less redrawing in the WPS)
* virtually guarentee that the mp3entry sturct returned by audio_current/next_track() is going to be valid for the duration of the current track. The only time it wont be now is during the time between the codec finishing the previous track and the next track actually starting (~2s), but this is not an issue as long as it is called again when the TRACK_CHANGED event happens (or just use the pointer that gives)
It is still possible to confuse the WPS with the next tracks id3 info being displayed but this should fix itself up faster than it used to (and be harder to do)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20633 a1c6a512-1295-4272-9138-f99709370657
2009-04-06 00:39:43 +00:00
Alexander Levin
9188f0ffd7 Drop the unnecessary checks since they are made by the caller
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20632 a1c6a512-1295-4272-9138-f99709370657
2009-04-05 19:39:09 +00:00
Alexander Levin
be7f5253a1 Fix hopping backwards if skip length is > 0 and we're near the end of the track (less than skip length)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20631 a1c6a512-1295-4272-9138-f99709370657
2009-04-05 19:29:21 +00:00
Thomas Martitz
23489bea1c A few skip length and dir change fixes.
*) Fix 64bit sim for playhop.
*) Revert to pre-skip length behavor for dir skipping (always have dirskipping, no matter of skip length), only prevent dir skipping if "prevent track skipping" is enabled
*) small code unification with regards to track and dir skipping

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20618 a1c6a512-1295-4272-9138-f99709370657
2009-04-04 20:33:38 +00:00
Jens Arnold
ae61b94a3f Fix the resume problems on hwcodec which were uncovered by r20483+r20485. The timing problem was there before; checking for id3 availability as a criterion whether to exit the wps was plain wrong. Now it exits only if playback actually finished.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20568 a1c6a512-1295-4272-9138-f99709370657
2009-03-29 17:58:24 +00:00
Jens Arnold
59ba832e3a Fix potential NULL pointer access.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20566 a1c6a512-1295-4272-9138-f99709370657
2009-03-29 12:42:39 +00:00
Alexander Levin
dca04925c6 Fix typos in comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20560 a1c6a512-1295-4272-9138-f99709370657
2009-03-28 09:09:58 +00:00
Thomas Martitz
8d5982110b Fix hwcodec to actually check for prevent_skip
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20554 a1c6a512-1295-4272-9138-f99709370657
2009-03-27 13:57:56 +00:00
Thomas Martitz
62f3e95945 FS#10014 - Separate tracklocking out of skip length, skip length prevented to skip tracks. This is a seperate setting now. tracks can still change during normal playback (i.e. a song ends).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20553 a1c6a512-1295-4272-9138-f99709370657
2009-03-27 13:53:29 +00:00
Alexander Levin
73157ebb7c Fix a typo in the comment and add a (somewhat vague) description of the values returned.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20492 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 17:19:48 +00:00
Thomas Martitz
3ab31337d8 Fix red, and use gui_wps_display() for restoration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20485 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 03:18:34 +00:00
Thomas Martitz
ced2724f7d Another wps rework:
*rename gui_wps_refresh() to gui_wps_redraw() and update() to gui_wps_update() to better describe what they do
*Clear things up and differentiate better between gui_wps_redraw()/gui_wps_display()/gui_wps_update() (it wasn't so what they're supposed to do before)
*cleanup gui_wps_display() and gui_wps_update() quite a bit
*Remove unused/unneeded code, do some pointer copying to save binsize, and code cleanup at several places

Visible changes should be small

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20483 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 03:08:56 +00:00
Thomas Martitz
ad59f6ed22 Fix up statusbar drawing in the wps a bit, fixing most, if not all, (re-)draw issues.
a) remove the temporary work around in gui_wps_display
b) let the  wps-statusbars redraw if it's masked (i.e. WPS_REFRESH_ALL or WPS_REFRESH_STATUSBAR)
c) fix a bug of mine, I attached re-fixing the bars to the wrong event
d) unify the decision whether to draw bars at all
e) some other style/code minor cleanups

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20400 a1c6a512-1295-4272-9138-f99709370657
2009-03-20 16:12:09 +00:00
Thomas Martitz
ce6b116bc1 Put exiting the wps entirely into the hands of the wps (restoring backdrops and statusbars, stop scrolling). Remove the restoration code from root_menu, and add some gwps_leave_wps at every possible return/screen change. This also unifies exiting the wps code-wise.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20399 a1c6a512-1295-4272-9138-f99709370657
2009-03-19 23:04:39 +00:00
Thomas Martitz
71471062eb Move gwps_leave_wps() a bit down, so that the menu-statusbars are showing in sync with the rest of the followin screen. It was shown noticeably earlier, particularly if the fade on stop is on.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20355 a1c6a512-1295-4272-9138-f99709370657
2009-03-19 14:33:22 +00:00
Thomas Martitz
aad712d39f Some style changes, move gwps_leave_wps a bit down; add a #define for restoration after 1 second and rename the one for instant restoration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20330 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 01:56:20 +00:00
Thomas Martitz
680990912c Some internal rework of the wps:
a) Put duplicated code together. The restoration code into the existing restoration part of the main loop, the exiting code into a separate function
b) Let the STATUSBAR_CHANGED event handle fixing the statusbar

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20329 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 01:39:20 +00:00