Commit graph

213 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Jonathan Gordon
40ca3a4ccc fix the statusbar on the archos player... a more proper fix is probably to surround global_Settings.statusbar with #ifdef HAVE_LCD_BITMAP... maybe..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19753 a1c6a512-1295-4272-9138-f99709370657
2009-01-12 09:05:59 +00:00
Jonathan Gordon
12b8f8de89 fix FS#9772 - the statusbars were not working correclty on multi screen targets in the WPS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19742 a1c6a512-1295-4272-9138-f99709370657
2009-01-10 13:16:24 +00:00
Jonathan Gordon
a68e5d835f remove some useless/unused stuff from gwps.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19705 a1c6a512-1295-4272-9138-f99709370657
2009-01-07 10:57:51 +00:00
Jonathan Gordon
4b472de39b a few more button/statusbar fixes...
* hopefully fix the last of the plugins which dont handle the enw SYS event.
* fix FS#9750 - WPS's which dont specify (or force the wps on) wernt showing the statusbar at all
* lamp, battery_bench, *_flash button handling fixes
* plugins using the core menu code will again show the statusbar



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19656 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 13:27:19 +00:00
Nils Wallménius
3681ff197d Reorder of user_settings, cleaned out some unused settings grouped settings depending on the same preprocessor defines together a bit more to make it more readable, updated some comments. Plugin api bump and the wps token for 12/24 hour clock setting is now excluded for non rtc targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19655 a1c6a512-1295-4272-9138-f99709370657
2009-01-03 12:48:06 +00:00
Jonathan Gordon
e385ee18ce Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).

This commit also includes some menu/list viewport cleanups from kugel in FS#9603


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Jens Arnold
6ed3ca7405 Make some more constants involved in right shifts unsigned to get rid of __ashrsi3 in the Player's core as well, saving some binsize.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19409 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 22:19:42 +00:00
Antoine Cellerier
8289b966b8 Apply FS#9368 : add generic settings tag to WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19357 a1c6a512-1295-4272-9138-f99709370657
2008-12-07 16:20:35 +00:00
Jonathan Gordon
0394ebe44d FS#9557 - fix the %mv and %t timeout so its intrepreted correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19177 a1c6a512-1295-4272-9138-f99709370657
2008-11-22 10:31:33 +00:00
Jonathan Gordon
c41bd04722 revert the previous commit to find a nice way to fix the yellow...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19111 a1c6a512-1295-4272-9138-f99709370657
2008-11-16 09:56:38 +00:00
Jonathan Gordon
76d2dd9c0e FS#9477 - new WPS tag (%mo) which lets the WPS have different "modes" which are changed with the usual "back to browser" button (This button is ONLY stolen if the WPS you use uses this tag.
an example use:
%?mo<one|two|three>
meaning that when the WPS is first opened "one" will be displayed, pressing select will change it to showing two, pressing it again will show three, and once more will go back to showing one. The text there could be any wps tags (conditional viewports for example...)
There is no real limit on the amount of modes, but remember that if you create a WPS which uses this tag more than once that every use HAS to have the same amount of choices or bad things will happen.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19110 a1c6a512-1295-4272-9138-f99709370657
2008-11-16 09:38:15 +00:00
Jonathan Gordon
61c6526013 * Make %t stricter by aborting if a value is not given.
* Move the default value for %mv back into wps_parser.c where it belongs
* Add the debug line for the %mv tag


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18773 a1c6a512-1295-4272-9138-f99709370657
2008-10-11 13:49:38 +00:00
Jonathan Gordon
85600e629b update the %mv wps tag to let you specify how long it should wait after being released to go back to false.
e.g %mv2 will stay true for 2 seconds or %mv3.5 is 3.5 seconds (same as the %t syntax)... if no number is specified it defaults to 1 second


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18769 a1c6a512-1295-4272-9138-f99709370657
2008-10-11 12:20:09 +00:00
Jonathan Gordon
98fa3913f9 change the %mv timeout to 1s which works better, also change the string to show "v" instead of .:| if its not used as a conditional
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18759 a1c6a512-1295-4272-9138-f99709370657
2008-10-09 23:15:16 +00:00
Jonathan Gordon
486869693c FS#9460 - Add a tag %mv which can be used to check if the volume button is being pressed (e.g %?mv<yes|no> ). It will stay true after its released for a little over half a second (not configurable unless someone comes up with a nice way to add a parameter to the tag? 1s is too long and .5s is too short...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18752 a1c6a512-1295-4272-9138-f99709370657
2008-10-09 11:10:26 +00:00
Nils Wallménius
93a87685c3 Clean up use of snprintf where strncpy if suited, avoid useless copying of constant strings for wps token evaluator, minor const police too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18625 a1c6a512-1295-4272-9138-f99709370657
2008-09-24 20:03:53 +00:00
Nicolas Pennequin
7b514ffc68 A few comment updates and trailing spaces removals.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18433 a1c6a512-1295-4272-9138-f99709370657
2008-09-06 14:56:02 +00:00
Nicolas Pennequin
e0646947c9 Make %mm 0-based again (as described in CustomWPS), and change %cf accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18421 a1c6a512-1295-4272-9138-f99709370657
2008-09-04 22:08:03 +00:00
Nicolas Pennequin
939459e10e Fix the bug reported in FS#9350: the WPS would crash on %mm or %cf if they weren't in conditionals.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18420 a1c6a512-1295-4272-9138-f99709370657
2008-09-04 21:57:01 +00:00
Stéphane Doyon
58808b6216 Skip length: restore the ability to skip by just a few seconds
(which was the point of that feature).
See r18041.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18310 a1c6a512-1295-4272-9138-f99709370657
2008-08-18 01:03:07 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Bertrik Sikken
05945074d1 Fix FS#8689 (the peak meter does not work during a playing after a recording not followed by a reboot) by applying the patch from FS#9227.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18249 a1c6a512-1295-4272-9138-f99709370657
2008-08-11 22:12:40 +00:00
Thom Johansen
4a7e0c7949 Rename and rework the "Study Mode" menu into the "Skip Length" setting. Update manual. Bump plugin API thanks to having changed global_settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18041 a1c6a512-1295-4272-9138-f99709370657
2008-07-14 20:39:30 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Marcoen Hirschberg
2fb70bcabb implement smooth seeking acceleration for audio playback and mpegplayer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17843 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 17:55:53 +00:00
Jonathan Gordon
bdbdb97f19 FS#9051 - remove LCD margins... use viewports if you need them...
NOTE to WPS people....
%m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored.
Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected.

Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 13:20:35 +00:00
Jonathan Gordon
5a169bb717 commit FS#9027 - conditional viewports
** BREAKS CURRENT WPS's  **
* %P has been removed, merged with the new %pb
* %pb is now %pb or %pb|bitmap|x|y|width|height| (any of those params can be - to use sane defaults... check wiki/task for more explaination)

* New %Vl and %Vd tags which are used to setup and display conditionaly displayed viewports (%Vl|<id>|<usual %V params>| to set up, then %Vd<id> to enable the viewport
* bumps the max allowed viewport count to 24
* you can setup 3 different progressbars in a WPS... max of one per viewport though

http://www.rockbox.org/tracker/task/9027?getfile=16785 is a simple perl script to convert old %P/%pb to the new %pb syntax

I'll commit changes to the cabbie wps soon which shows how to use %Vl/%Vd properly...

Reminder: %m will be removed soonish also so when fixing your WPS's remember to use conditional viewports to replace %m


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17759 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 06:04:17 +00:00
Jonathan Gordon
6653072292 bah, fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17758 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 02:57:24 +00:00
Jonathan Gordon
4982b87b9c fix FS#9098 - fade was updating the WPS sometimes when it shouldnt. also minor code policing.. use true/false instead of 1/0 for calls to fade()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17757 a1c6a512-1295-4272-9138-f99709370657
2008-06-23 02:45:55 +00:00
Jonathan Gordon
23bca7e400 fix FS#5821 and FS#8449 - WPS isnt updated during fade, play status isnt changed to pause fast enough.
not sure if this is the best fix, wondering why fade() is handled by the wps code and not playback....


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17723 a1c6a512-1295-4272-9138-f99709370657
2008-06-15 11:22:44 +00:00
Nicolas Pennequin
ef5fa8eaf5 Restore Zagor's copyright from before the WPS tokenizer. I shouldn't have removed it. Also add mine in playback.c, alongside Slasheri's.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17368 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 09:40:22 +00:00
Stéphane Doyon
ab0f7e17ef Accept FS#6188: study mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17355 a1c6a512-1295-4272-9138-f99709370657
2008-05-04 13:47:58 +00:00
Bertrik Sikken
e15f8a21a9 Made source files #include the header file that they implement to make sure they are in sync. Made some local functions static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17312 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 08:35:14 +00:00
Bertrik Sikken
2843469876 Moved atoi declaration to stdlib.h. Deleted atoi.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17280 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 16:18:04 +00:00
Nicolas Pennequin
380e915428 Fix FS#8914 (WPS %mp tag inconsistency).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17198 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 20:07:05 +00:00
Nicolas Pennequin
a5ad74ffca Revert what was left of r17018 until I find a better way. It had quirks in some cases, and doesn't play well with what I'm about to commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17108 a1c6a512-1295-4272-9138-f99709370657
2008-04-14 15:51:40 +00:00
Nils Wallménius
84dc8d2c7e Move a function to gwps-common.c because it belongs there
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17084 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 13:25:16 +00:00