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
|-+  Support and General Use
| |-+  Theming and Appearance Customization
| | |-+  What features should be added to theming spec?
« previous next »
  • Print
Pages: [1] 2

Author Topic: What features should be added to theming spec?  (Read 6073 times)

Offline Dook

  • Member
  • *
  • Posts: 66
    • D00k.net
What features should be added to theming spec?
« on: June 09, 2023, 09:07:49 AM »
From what I can tell, it's been almost 10 years since the theming spec has had any major additions. There's still some pretty big changes that never got merged (like for example this one from jdgordon that would've added multiple album art tags in one file) I thought I'd try get some discussion going to see what things could be changed or added to the spec in the future. Of course the biggest thing has to be that any tags in the existing spec cannot be changed in order maintain compatability.

Some points I can think of to start:
  • How can the skinned menu list feature be improved to support user's chosen line selector colours, fonts of different sizes etc.
  • What changes can be made to support features like Lockscreens?
  • How would a dynamic colour system based on the current song's album art work? What would it look like?
  • Are there other parts of the Rockbox system that should be exposed for people to theme? The quickcreen, colour selection screen, or even keyboard?
  • Should the USB screen be more theme-able? Is the USB image something which themes should be able to add for themselves?
« Last Edit: June 09, 2023, 09:09:44 AM by Dook »
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 792
Re: What features should be added to theming spec?
« Reply #1 on: June 10, 2023, 04:57:17 PM »
Maybe an option when displaying album art to rotate it?

  Either in increments of 90degrees in the plane of the screen (i.e. ability to show it sideways or upside down) or (presumably more complex and more work for the device's processor) to display it with a perspective change, as if rotated perpendicular to the screen (kind of like what happens with the Picture Flow plugin or the ipod's original 'cover flow').  Some themes already have a kind of faked perspective rotation effect which really just clips off the edges of the image but doesn't actually change the perspective.
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: What features should be added to theming spec?
« Reply #2 on: June 10, 2023, 06:34:40 PM »
I would love it if my theme could make a call that specified the pathname to a file - presumably a text file - and then get returned the contents of the file in the form of a string.  Of course, the amount of text returned would have to be fairly limited.  Maybe the text file could contain a number of strings delimited by carriage returns, and then the call from the theme could specify the pathname to the file and the index of the desired string.  A failed call could just return a zero length string.  I would be thrilled even if it was only one short string per call and/or per file.
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 657
Re: What features should be added to theming spec?
« Reply #3 on: June 10, 2023, 08:39:29 PM »
Quote from: iPodVT on June 10, 2023, 06:34:40 PM
I would love it if my theme could make a call that specified the pathname to a file - presumably a text file - and then get returned the contents of the file in the form of a string.  Of course, the amount of text returned would have to be fairly limited.  Maybe the text file could contain a number of strings delimited by carriage returns, and then the call from the theme could specify the pathname to the file and the index of the desired string.  A failed call could just return a zero length string.  I would be thrilled even if it was only one short string per call and/or per file.

Can you provide an example of the sorts of strings you have in mind?

Because this has some significant implication for our ability to localize/translate (and voice) what's shown in the UI.
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: What features should be added to theming spec?
« Reply #4 on: June 11, 2023, 10:48:59 AM »
At the moment my main interest is in being able to specify a name to be displayed without having to hardcode that name into the .sbs file.  I have a number of iPods, each with a different username.  I'm currently able to kludge a solution by appending each iPod's name onto the name of its playlist catalog directory, and then I retrieve the name with %St(playlist catalog directory).  So if my iPod's name is "Bed_Pod", I name the playlist catalog directory "PlaylistsBed_Pod" and then call %ss(10,-,%St(playlist catalog directory)) to display the correct username.  This is kind of ugly but okay for my own personal use, but if I ever get my theme (not to mention my courage) to the point where I'm ready to publish it, it would be much better if the playlist catalog directory could have the default "Playlists" name (or any other name that the user chooses) and then the user could optionally place their userName in a file called something like userName.txt.

Of course, having access to information in text files would also open up lots of other possibilities.
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 657
Re: What features should be added to theming spec?
« Reply #5 on: June 11, 2023, 12:19:24 PM »
I'm not a fan of themes having untranslatable strings. 

For this specific use case, I wonder if it doesn't make more sense to add a global configuration option to give a given device a unique name (defaulting to "rockbox player" or "ipod4g" or whatever) then give the theme engine access to that?  This way it's clear that it's a user-specified string.
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: What features should be added to theming spec?
« Reply #6 on: June 11, 2023, 12:45:34 PM »
Quote from: speachy on June 11, 2023, 12:19:24 PM
For this specific use case, I wonder if it doesn't make more sense to add a global configuration option to give a given device a unique name (defaulting to "rockbox player" or "ipod4g" or whatever) then give the theme engine access to that?  This way it's clear that it's a user-specified string.

That sounds good, but I'm not sure I understand the specifics:  do you mean there would be something in Settings that would allow the user to specify a piece of text that a theme could retrieve?  In any case, I think the mechanism should allow for the possibility that the data might be zero length (either by default or by the user's choice) and then the theme, recognizing the absence, could knowingly do the right thing.
Logged

Offline Dook

  • Member
  • *
  • Posts: 66
    • D00k.net
Re: What features should be added to theming spec?
« Reply #7 on: June 11, 2023, 03:47:46 PM »
Quote from: Frankenpod on June 10, 2023, 04:57:17 PM
Maybe an option when displaying album art to rotate it?

  Either in increments of 90degrees in the plane of the screen (i.e. ability to show it sideways or upside down) or (presumably more complex and more work for the device's processor) to display it with a perspective change, as if rotated perpendicular to the screen (kind of like what happens with the Picture Flow plugin or the ipod's original 'cover flow').  Some themes already have a kind of faked perspective rotation effect which really just clips off the edges of the image but doesn't actually change the perspective.

Yeah, I'd like to see have a lot more options with album art. I've seen some people try and build a vertical UI for ipods, maybe some kind of different viewport that is drawn at a specific angle could be a solution?
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 657
Re: What features should be added to theming spec?
« Reply #8 on: May 31, 2024, 10:37:09 AM »
Quote from: iPodVT on June 11, 2023, 12:45:34 PM
That sounds good, but I'm not sure I understand the specifics:  do you mean there would be something in Settings that would allow the user to specify a piece of text that a theme could retrieve?  In any case, I think the mechanism should allow for the possibility that the data might be zero length (either by default or by the user's choice) and then the theme, recognizing the absence, could knowingly do the right thing.

Here's a first cut at this.  It defaults to the player type (eg 'ipod5g' or whatever), so for it to be blank it has to be explicitly set that way by the user:

https://gerrit.rockbox.org/r/c/rockbox/+/5753
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: What features should be added to theming spec?
« Reply #9 on: May 31, 2024, 08:05:48 PM »
Quote from: speachy on May 31, 2024, 10:37:09 AM
Here's a first cut at this.  It defaults to the player type (eg 'ipod5g' or whatever), so for it to be blank it has to be explicitly set that way by the user:

https://gerrit.rockbox.org/r/c/rockbox/+/5753

Thank you very much for this.  Is this now available in the most current dev build?  I installed it, and looked at [edit] the most current version of the user manual but didn't find anything relating to this.  I'll check it all again in the morning to see if it has been posted.

It was a startling coincidence to me that you used the example of "George's iPod" on the gerrit page.  My most treasured iPod is a 7th Gen Classic that originally belonged to my father, George, who passed away almost three years ago.  It will mean a lot to me to use this new feature on his iPod.  Again, thanks very much.
« Last Edit: May 31, 2024, 08:08:06 PM by iPodVT »
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 657
Re: What features should be added to theming spec?
« Reply #10 on: May 31, 2024, 08:22:19 PM »
Quote from: iPodVT on May 31, 2024, 08:05:48 PM
Thank you very much for this.  Is this now available in the most current dev build?

It's not committed yet; I still need to add a way to configure it through the menu system instead of manually editing the configuration file.
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: What features should be added to theming spec?
« Reply #11 on: May 31, 2024, 08:24:11 PM »
Okay - got it - thanks for letting me know.
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: What features should be added to theming spec?
« Reply #12 on: May 31, 2024, 08:33:36 PM »
I apologize if it seemed like I was saying, "Thanks, but where the hell is it?"  I should have realized that if it wasn't yet listed on the Recent Activity Code changes page, it wouldn't yet be available in a build.
Logged

Offline Frankenpod

  • Member
  • *
  • Posts: 792
Re: What features should be added to theming spec?
« Reply #13 on: June 06, 2024, 04:49:18 PM »
Quote from: speachy on May 31, 2024, 10:37:09 AM
Quote from: iPodVT on June 11, 2023, 12:45:34 PM
That sounds good, but I'm not sure I understand the specifics:  do you mean there would be something in Settings that would allow the user to specify a piece of text that a theme could retrieve?  In any case, I think the mechanism should allow for the possibility that the data might be zero length (either by default or by the user's choice) and then the theme, recognizing the absence, could knowingly do the right thing.

Here's a first cut at this.  It defaults to the player type (eg 'ipod5g' or whatever), so for it to be blank it has to be explicitly set that way by the user:

https://gerrit.rockbox.org/r/c/rockbox/+/5753

I like this idea also.  As also have multiple ipods and would find it useful to have each one have an ID label.  Be even nicer if the label could be displayed on boot (as the RB version string is).
Logged

Offline speachy

  • Administrator
  • Member
  • *
  • Posts: 657
Re: What features should be added to theming spec?
« Reply #14 on: June 07, 2024, 01:42:29 PM »
Quote from: Frankenpod on June 06, 2024, 04:49:18 PM
I like this idea also.  As also have multiple ipods and would find it useful to have each one have an ID label.  Be even nicer if the label could be displayed on boot (as the RB version string is).

At the time the boot logo is displayed, we haven't loaded the configuration.

I think a good place would be at the top-level of the main menu.  Instead of saying "Rockbox" in the header it could say "Rockbox - playername" if it has been set.

But to do that we'd have to make that menu partially dynamic.  And of course "playername" can't be voiced automatically (but it can be spelled out... if it only uses English characters, because $reasons), though there are some other ideas I'm tossing around.

This is pretty minor, but it does show some of the challenges we face in keeping the UI fully translatable (and voiced)...
Logged

  • Print
Pages: [1] 2
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Theming and Appearance Customization
| | |-+  What features should be added to theming spec?
 

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

Page created in 0.124 seconds with 20 queries.