Commit graph

733 commits

Author SHA1 Message Date
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
Thomas Martitz
74aba34b58 Move play_hop() to gwps.c and make it static. It's the only file that calls it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20306 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 18:50:24 +00:00
Bertrik Sikken
b24fafbf14 Yet more #include cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20249 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 20:28:15 +00:00
Bertrik Sikken
30a2713b6e Clean up some more #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20243 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 18:37:32 +00:00
Jens Arnold
3f69bb2b1d Bugfix: Text styles are not drawmodes, so stop storing them in the vieport's drawmode field. They're only used locally anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20234 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 12:42:33 +00:00
Alexander Levin
03dcedbbea Changed the comment to more accurately reflect how it works
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20233 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 11:32:02 +00:00
Thomas Martitz
fd14cac7c2 Split HAVE_SCROLLWHEEL into HAVE_SCROLLWHEEL and HAVE_WHEEL_ACCELERATION, where the latter now activates the wheel acceleration code.
HAVE_SCROLLWHEEL plainly indicates the existence of a scrollwheel, thus all ipods define it now (in addition to the ones and some 
sansas which did before). Same applies to the manual.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20177 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 19:25:50 +00:00
Jonathan Gordon
79967c7a49 Fix screens not redrawing the statusbar when they should.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20126 a1c6a512-1295-4272-9138-f99709370657
2009-02-27 08:24:39 +00:00
Thomas Martitz
22b9eb4245 Cleanup play_hop() slightly and remove redundant/uneeded checks, reclaim a tiny bit of binsize
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20097 a1c6a512-1295-4272-9138-f99709370657
2009-02-24 18:07:42 +00:00
Jens Arnold
2088ce9117 Fix Player status'bar' broken in r19894.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20062 a1c6a512-1295-4272-9138-f99709370657
2009-02-20 15:00:34 +00:00
Maurus Cuelenaere
21ca86646f Touchscreen fixes:
* better handling of clicks/taps above the list itself (which results in exiting the current menu)
 * fix 'entering the first item when clicking on the empty space below a list which has less items than a full screen can handle'


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20046 a1c6a512-1295-4272-9138-f99709370657
2009-02-19 16:16:22 +00:00
Thomas Martitz
4395c12f4c Move parts into the if, as they're unused outside of it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20016 a1c6a512-1295-4272-9138-f99709370657
2009-02-16 08:34:56 +00:00
Thomas Martitz
54c2f49a69 FS#9904 - Fix for FS#9894 - Position of the progress bar is not updated after the font is changed (with small changes by me)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20015 a1c6a512-1295-4272-9138-f99709370657
2009-02-16 08:28:51 +00:00
Maurus Cuelenaere
39be5ff9ff Touchscreen devices: make scrolling up work better
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19989 a1c6a512-1295-4272-9138-f99709370657
2009-02-12 15:58:55 +00:00
Thomas Martitz
dd13730112 Minor quickscreen and pitchscreen fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19924 a1c6a512-1295-4272-9138-f99709370657
2009-02-05 00:14:52 +00:00
Jonathan Gordon
3f879eb6ae fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19918 a1c6a512-1295-4272-9138-f99709370657
2009-02-04 05:22:03 +00:00
Jonathan Gordon
08e3ebbf8c Temp fix for the statusbar disappearing for a fraction of a second when the WPS is first opened
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19917 a1c6a512-1295-4272-9138-f99709370657
2009-02-04 04:49:43 +00:00
Jonathan Gordon
92035f5cdd Accept FS#9836 which fixes a bit of a display glitch in the colour chooser (Thanks Teruaki)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19906 a1c6a512-1295-4272-9138-f99709370657
2009-02-02 09:24:24 +00:00
Jonathan Gordon
701a593c5d continuation of last nights statusbar cleanup.
accept FS#9858 and FS#9859
make the rec and fm screens force the statusbar the correct way now which doesnt need extra status variables


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19904 a1c6a512-1295-4272-9138-f99709370657
2009-02-02 03:14:51 +00:00
Nils Wallménius
ee7f12644c Use unsigned constants to avoid adding another gcc-support routine and save a few bytes. This affects SH only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19899 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 14:23:17 +00:00
Jonathan Gordon
036fb05dfd Accept a quick patch from Alexander Levin to neaten up the #defines and comments from my earlier commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19897 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 13:43:08 +00:00
Jonathan Gordon
ee8c479dff this commit actually makes my previous one work when the statusbar setting is enabled but the bar has been forcibly removed from the screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19896 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 13:08:31 +00:00
Jonathan Gordon
80cb3551eb Statusbar handling fixes.
Fixes FS#9845 - %we/%wd wasnt working
WPS no longer resets the viewportmanger more than needed (was doing it twice/draw before)
screens can now enable/disable the statusbar easily ignoring the setting instead of needing special handling (fix for the radio screen coming soon)

minor glitch introduced in this commit... the statusbar in the WPS might disappear for a fraction of a second when it is entered, I need to track this down...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19894 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 11:34:16 +00:00
Bertrik Sikken
91948d12aa FS#9638 - temp_cue is unused and wasting memory.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19890 a1c6a512-1295-4272-9138-f99709370657
2009-01-31 19:41:29 +00:00
Maurus Cuelenaere
36c71a60ca Get checkwps working again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19880 a1c6a512-1295-4272-9138-f99709370657
2009-01-29 20:49:43 +00:00
Thomas Martitz
76ba8ec890 Some cleanup (such as #include cleanup, clearer variable names) in pitchscreen. Also, don't update the full display all the time, but only the necessary parts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19871 a1c6a512-1295-4272-9138-f99709370657
2009-01-28 20:14:01 +00:00