Commit graph

87 commits

Author SHA1 Message Date
Christian Soffke
cde5ae755f iPods: Allow using scroll wheel to change volume on QuickScreen
As suggested by forum user yuuiko

Change-Id: Ifb989f9513a9e3c59e4ab0f38c0a8e2675c68dd8
2021-03-03 22:37:14 +00:00
Moshe Piekarski
362f7a3220 Quickscreen: don't apply glabal settings
Change-Id: I4de0e35b4c3227513f9c384bc0e01bc468999317
2020-11-12 21:23:57 +00:00
William Wilgus
3237ae4a4f LCD core move buf ptr and address look up function viewport struct
I'm currently running up against the limitations of the lcd_draw functions
I want these functions to be able to be used on any size buffer not
just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly  after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear
scrolling viewports no longer trigger wps refresh
also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_)
LCD_STRIDE(w, h) same as STRIDE_MAIN
LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H
LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H
LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH)
test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags

Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26 12:28:48 -04:00
Solomon Peachy
f68463c53e quickscreen: Get rid of a vestigal remnant of the Archos code.
Change-Id: I1dd7e82edfdbcc3a79aa5deaa604ac1623aa16d4
2020-10-12 19:26:26 -04:00
Solomon Peachy
8143e4437b Speech Feedback improvements on the Quickscreen
Patch by Igor Poretsky

Change-Id: I1bb94965cb18efaa0787d7780f6cf22814231144
2019-08-05 05:01:29 +02:00
Thomas Martitz
ea9621c018 Fix build reds caused by typos.
Change-Id: I71cdca3b6e73e29d487e0c6d02a69a31dcf3e6bf
2014-03-18 12:31:09 +01:00
Thomas Martitz
395cdc5945 quickscreen: return true on USB connection.
This is consistent with other screens (pitch, id3) on the WPS and in other
places.

Change-Id: Iafae52507867ff9815a60cf44faaf09a29c55091
2014-03-18 12:24:16 +01:00
Thomas Martitz
1c5d0b41ee scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api.
Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
2013-12-14 23:11:30 +01:00
Frank Gevaerts
e6fd7d2d1f Make the recorder build with HAVE_LCD_FLIP disabled.
Change-Id: I5875dc5c59606867299cc0e30d869b817e879ade
2012-08-28 21:36:23 +02:00
Michael Sevakis
57a20d2d63 Make DSP's replaygain independent of global_settings.
Moves replaygain definitions to lib/rbcodec/dsp/dsp_misc.h.
Intermediate functions in misc.c handle any adjustment and calling
the rbcodec APIs.

Change-Id: I9f03561bca9aedd13760cf19c4e19aa3c68e7024
Reviewed-on: http://gerrit.rockbox.org/140
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
2012-04-30 22:47:37 +02:00
Michael Sevakis
56f17c4164 Make rbcodec/dsp includes more specific.
Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
2012-04-29 17:31:30 -04:00
Jonathan Gordon
6f62226294 quickscreen: optionally display the shortcuts menu instead of the QS
Adds an option under settings > general settings > system to allow
the user to have the shortcuts menu displayed instead of the
quick screen. (option is "shortcuts instead of quickscreen" in the .cfg)

Change-Id: Id679b461c40ac617629422736d1509384364084d
Reviewed-on: http://gerrit.rockbox.org/199
Reviewed-by: Marek Salaba <marek.salaba@gmail.com>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-03-28 10:56:12 +02:00
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35:02 +00:00
Jonathan Gordon
4983d052a0 Remove to top/bottom quickscreen defaults.
As constantly discussed in IRC, it is insane that dirfilter and party mode are defaults on the quickscreen, both have caused countless problems for users accidentaly enabling them.
This wont change anything for users who have changed their setting, only for people who left it default

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30176 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 01:30:29 +00:00
Jonathan Gordon
b58d3656d7 FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 14:41:49 +00:00
Andree Buschmann
e75018ad66 Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Jonathan Gordon
2271995517 invert the quickscreen setting direction on wheel targets for settings which are number lists so pressing up makes it bigger (i.e contrast). fixes http://forums.rockbox.org/index.php/topic,27778.0.html
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29772 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 07:04:52 +00:00
Magnus Holmgren
a14f4acb0c Restore the 'read_disk' flag for settings_apply that was removed in r24922. It is still needed to prevent uncessary disk I/O for fonts etc. Should fix FS#11071 (I haven't tested it on a HD-based player).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25042 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 12:14:12 +00:00
Jonathan Gordon
4c6b3551b5 split the theme settings apply() sutff out of settings_apply(). this should fix splashes not being loc'ed, statusbar over the splash (fixed in sim, not on my mini2g though), and the supposed boot time slowdown.
What this also does is remove a bunch of unnecessary settings_Apply()'s from the ipod accessory code, and causes all non-skin settings to get applied each time (this includes font and langs which we wernt doing to stop disk access)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24922 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 08:01:41 +00:00
Jonathan Gordon
cf6be66db6 small change to how the quickscreen fixes its viewports
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24918 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 06:17:04 +00:00
Teruaki Kawashima
51bc09e88e Quickscreen: add more check for case that qs item is not set.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24901 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 06:01:53 +00:00
Tomer Shalev
9d268d796c Quickscreen: Hande case where not all quick settings are defines
This happens in Archos Recorder, see quick_screen_f3(), which caused crash
(FS#11037), due to top item not defined.
The commit explicitly sets items[QUICKSCREEN_TOP] to NULL, and also draws an
arrow only if the item is defined.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24871 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 21:30:16 +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
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
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
Nils Wallménius
15514b0dc6 Deinline fuction and some whitespace tweaks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23062 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 07:46:54 +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
Thomas Martitz
a17d06ccc3 Improve and simplify touchscreen handling of the quickscreen in absolut mode - and implement handling for the top item.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22637 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 23:32:16 +00:00
Thomas Martitz
9c938a23b9 Don't forget the touchscreen targets!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22636 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 19:04:23 +00:00
Thomas Martitz
4034e0b47f Put the quickscreen viewports onto the stack (saving a tiny bit of ram), and simplify the preparing and drawing functions a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22634 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 18:52:44 +00:00
Thomas Martitz
42e6638420 Fix bug in viewports preparation (screen.lcdwidth() isn't really proper for this in times of custom ui vp), and stop all scrolling before exiting (fixes FS#10584).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22631 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 14:38:29 +00:00
Alessio Lenzi
9b700b2861 Added a missing line for spoken QUICKSCREEN_TOP item in Quick Screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22591 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 09:40:32 +00:00
Thomas Martitz
e454a39852 Quickscreen: 4th item
This adds a 4th top item to the quickscreen. It's as configurable as the existing three items.
This patch goes along with optimisations for small screens for better displaying of all four items. 14px font is very usable on a 64px height display for example.
Left and Top items go through the items in the opposite direction, so that you can mirror a setting and toggle through it in both directions.
Default item is party mode, as it's target independant.

Flyspray: FS#9706

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22532 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 14:42:03 +00:00
Nils Wallménius
3200d04d75 Make the formatter functions used by the settings return a pointer to avoid usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22440 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 16:47:44 +00:00
Thomas Martitz
279ef752cb Make quickscreen items enum name lower-case, as per docs/CONTRIBUTING.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22291 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 14:39:31 +00:00
Thomas Martitz
20b9bc5c0a Make gui_syncquickscreen_run() static as it's not used anywhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22290 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 14:27:06 +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
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
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
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
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
Dominik Riebeling
36d8b7eebf Fix Quickscreen ACTION_QS_DOWNINV button to reverse direction of down entry which was broken with r17315.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19733 a1c6a512-1295-4272-9138-f99709370657
2009-01-09 11:07:26 +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
Jonathan Gordon
a22749b5c6 FS#9525 - The list for the quickscreen items chooser turned out to not really be usable so try this instead.
Settings in the menus will now have a context menu where you can reset the setting and if its OK to put it on the quickscreen there will be options there to put it on it.

Also, ban last.fm and cuesheet support settings from the QS


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19013 a1c6a512-1295-4272-9138-f99709370657
2008-11-05 09:30:20 +00:00
Bertrik Sikken
03be50a1ef Make local functions static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18995 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 22:26:32 +00:00
Jonathan Gordon
edcacaa787 FS#9515 - customisable quickscreen. Allows you to choose which setting you want displayed on the quickscreen.
Allows almost every available setting. (change the options in settings > general settings > quickscreen items)
Not every setting will work perfectly, some might need aditional handling if the change doesnt take effect straight away (let us know which are problematic so they can be fixed)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18984 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 11:11:07 +00:00
Jonathan Gordon
6144a92b69 rearrange the order that the quickscreen wiewports are allocated.
The Icon viewport in the center will use as much width as there is room, and should never shrink so that there isnt room for the 2 arrows.
Doing it this way makes sure the arrows stay with the text instead of being stuck in the middle of the screen (which seems to happen mostly on portrait LCD's with the old version)



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18943 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 04:58:33 +00:00
Peter D'Hoye
3c1e9ca558 Change screens memebers char_width, char_height and nb_lines to functions returning a calculated value. Fixes FS #9361 because the values were calculated based on sysfont, not the user selected font.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18441 a1c6a512-1295-4272-9138-f99709370657
2008-09-07 20:09:11 +00:00
Jens Arnold
4dab6235cf The second part of this expression always becomes true before the first part, so the first part is unnecessary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17907 a1c6a512-1295-4272-9138-f99709370657
2008-07-01 17:45:16 +00:00