Rockbox

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Patches
  • Category User Interface
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.4
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Kuma76 - 2009-10-04

FS#10639 - Absolute Touchscreen Mode for Graphcal Equalizer Menu

This patch makes the graphic EQ usable in the absolute mode on touchscreen models.
Additionally I made the following changes:

* Add a menu in the touchscreen settings to select the touchscreen mode in the graphic EQ ( because in menus I prefer the grid mode, in the EQ the absolute mode is much better)

* Always try to use the UI_FONT , make the EQ filling the whole screen and add a little margin on the left and right side. In that way it can even used with fingers on a touchscreen (automatic adaption to fill the whole screen should work for all targets with EQ and LCD).

I tested on my Cowon D2 and Iriver H340 to make sure non touchscreen models stil work, both worked perfect.

IMHO there’s no need to have settings for the touchscreen mode in different screens; grid mode is only temporary until all screens are adjusted to absolute.

Other then that, nice patch!

Here is the second, of course much better version of the EQ screen in the absolute point mode.
I made the following changes:

* made the code a little more efficient
* EQ screen is always in absolute mode now, no selection menu anymore
* the cutoff frequencies have limits now. LS: 20~500 Hz, PK1: 20~2000 Hz, PK2: 500~5000 Hz, PK3: 1000~15000 Hz, HS: 5000~22040 Hz

 They are necessary as the touchscreen resolution is too low for setting for example LS in a range of  20~22040 Hz.

* the setting step width of the cutoff frequencies change with the band LS: 10 Hz, PK1: 20 Hz, PK2/3: 50 Hz, HS: 100 Hz

This is again for touchscreen resolution reasons. Only the Graphic EQ menu is affected, in the list menu all bands have 10 Hz step width.

* made the slider movement a little smoother.

This looks good, but I think usability could be improved a little:

- The concept of a “currently active” band doesn’t make sense for touchscreens, and the highlighted rectangular box just makes the screen feel more crowded.
- Pressing the db/Hz/Q numbers to switch mode feels unintuitive (and it’s too easy to hit the wrong thing by mistake). Maybe pressing “Edit mode” to toggle modes would be better?

If you need to, don’t be afraid to break away from the existing code more - to keep things clean you could always put your code in a new eq_menu_touchscreen.c, and adjust apps/SOURCES with an #ifdef HAVE_TOUCHSCREEN. That way there’s no impact on other targets, either.

Keep up the good work!

I agree to your comments. So I will do the following:

* Remove the highlighted box as it has no meaning.
* Make a kind of button bar that has an

  1. “Edit Mode” button to switch the mode
  2. “Ok” button to leave the menue
  3. “Cancel” button to change back to the old setings and then leave.

Sometimes I changed settings, and then felt that the old one was better but there is no way back now. So I think

    a cancel button would be good to have.

* Put the code into a separate file.
* I think i wiil keep the setting value, that is actually changed, highlighted. It is not really be necessary

as we have the "Edit mode" line but in my opinion the highlighted setting makes it even easier to know were you are.

Any other comments or ideas?

So here is the 3rd shot.

Basically it works like written above.
The EQ is drawn on the main screen only, the Mrobe500 remote will be blank while the graphic EQ is displayed.

Let me know what you think about it.

So here is the 3rd shot.

Basically it works like written above.
The EQ is drawn on the main screen only, the Mrobe500 remote will be blank while the graphic EQ is displayed.

Let me know what you think about it.

Corrected a small bug. Clicking between the 1st and 2nd band was causing weird noise.

Corrected a small bug. Clicking between the 1st and 2nd band was causing weird noise.

This version
* corrects some bugs
* supports viewports. So the statusbar is drawn if enabled
* shows EQ information as text on the Mrobe500 remote LCD

Functionality is the same as before. I just changed the code to use the same functions to draw buttons and check button
clicks like in the patch for the yes/no screen in absolute touchscreen mode ( FS#10806 ).

Forgot to mention that this patch requires  FS#10806 .

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing