Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
translations translations
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Thank You for your continued support and contributions!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Feature Ideas
| | |-+  Adjustments to %St tag behaviour to improve Quickscreen theming support
« previous next »
  • Print
Pages: [1]

Author Topic: Adjustments to %St tag behaviour to improve Quickscreen theming support  (Read 1716 times)

Offline Dook

  • Member
  • *
  • Posts: 77
    • D00k.net
Adjustments to %St tag behaviour to improve Quickscreen theming support
« on: May 04, 2023, 04:07:10 PM »
Recently I have experimenting with theming the quickscreen in it's entirety.  There are several exposed %St setting names that can be used to get the current Quickscreen Item's names. (%St(qs left), %St(qs right) etc.) However there is no current way to access or display each setting's output like the default Quickscreen does. It is of course possible to hard code this functionality, but doing so for every one of Rockbox's supported settings, times four creates a lot of bloat. I also think there's potential to add support for icons based on the %St output. For both of these issues and ideas I have some possible solutions.

Make Settings tag nest-able: Allowing other tags to be placed inside %St tags and processed would allow the output of the user's chosen Quickscreen items to be accessed. This would look something like %St(%St(qs left)). If qs left was set to Shuffle, the line would be processed as %St(shuffle) and the output would be "On" or "Off". I don't think there should be a need for any complicated checks, as if the output of the nested tag isn't a valid input of the %St tag, then the theme wont run. This nested behaviour can already be seen in other tags, like the %xd image tag, logic tags and the %ss tag. This addition would also lend itself to more visual feedback for users, like visual toggles for binary settings.

Add support to image tags for subimages from the %St tag: Image tags have support for choosing subimages based on a tag. An example from the wiki entry: %xd(repeatmode,%mp) picks an image from the bitmap strip depending on the state of the player. My suggestion is to make the %St work with this feature. For example, using something like %xd(repeaticons,%St(repeat)) would be functionally equivalent to %xd(repeaticons,%mm). But the biggest use case for this would be with the Quickscreen item tags for %St, allowing more visual information to users of their chosen settings. However I suspect implementing this could run into issues with the number of supported settings, around 177 are supported in the config file according to the manual, but this is only speculation on my part. If this is an issue however, the %St tag's output could be treated similarly to the List Title icon feature and in turn the built in icon system. This could be the easiest way of implementing this feature.

While I do have experience with C, and have been familiarising myself with Rockbox's sourcecode, I am not overly confident in my ability to implement these despite how much I would like to. If any member of the dev team would be interested in working on this, be it mentoring myself or helping implementing these features, it would be much appreciated! Attached, I have a screenshot of a fully functional proof of concept running on an iPod Video using the brute force method mentioned above.

* dump 230504-210218.png (3.78 kB, 320x240 - viewed 254 times.)
« Last Edit: May 04, 2023, 04:09:22 PM by Dook »
Logged

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Feature Ideas
| | |-+  Adjustments to %St tag behaviour to improve Quickscreen theming support
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.057 seconds with 18 queries.