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
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
| | |-+  Theme/skins engine Limitations
« previous next »
  • Print
Pages: [1]

Author Topic: Theme/skins engine Limitations  (Read 1949 times)

Offline lebellium

  • Member
  • *
  • Posts: 71
  • DAPs collector
    • My 100+ players collection
Theme/skins engine Limitations
« on: November 21, 2011, 06:26:51 AM »
Hello guys,
I'm currently making themes for Samsung R0 and Sansa Clip Zip:
http://anythingbutipod.com/forum/showthread.php?t=66393
http://anythingbutipod.com/forum/showthread.php?t=66487

And unfortunately I'm often limited by the themes/skins engine, that's very frustrating. Does someone have answers to these questions:

-why is it impossible to display text or viewport over a picture (non-background picture)? Any picture is necessarily over the text or viewport if it is not set as a background!
-why is it impossible to use backgrounds in conditionnal tags?
- why is the scrolling bar necessarily the same color as the viewport text?
- why is it impossible to set viewport background colors when a picture is set as background?

Actually in my R0 theme I'd like to use conditional main menu viewports (different height) according to if the mini-player is ON or OFF but I can't as I use a picture to hide the mini-player when there is no music playback and then this picture displays over the viewport.   Huh

Are these things too difficult to implement and improve in the theme engine or am I the only one annoyed by these limitations?
Sorry for these newbie questions  Smiley

Thank you in advance

lebellium
« Last Edit: November 21, 2011, 08:06:36 AM by JdGordon »
Logged
I swim in mp3 players!

Offline JdGordon

  • Member
  • *
  • Posts: 1817
  • Constantly breaking stuff
Re: Theme/skins engine Limitations
« Reply #1 on: November 21, 2011, 08:10:21 AM »
Stupid akismet autodeleted the thread :/

Quote from: lebellium on November 21, 2011, 06:26:51 AM
-why is it impossible to display text or viewport over a picture (non-background picture)? Any picture is necessarily over the text or viewport if it is not set as a background!

I want to fix that but cant because changing the draw order breaks cabbie and i havnt got around to bothering to fix them all

Quote from: lebellium on November 21, 2011, 06:26:51 AM
-why is it impossible to use backgrounds in conditionnal tags?

Because backdrops are huge and we dont want to waste space on them.

Quote from: lebellium on November 21, 2011, 06:26:51 AM
- why is the scrolling bar necessarily the same color as the viewport text?

Use the %Vf() tag and you can change the colour

Quote from: lebellium on November 21, 2011, 06:26:51 AM
- why is it impossible to set viewport background colors when a picture is set as background?

limitation of the lcd drawing API. This has been bugging me for ages and I just havnt got around to fixing it

Quote from: lebellium on November 21, 2011, 06:26:51 AM

Actually in my R0 theme I'd like to use conditional main menu viewports (different height) according to if the mini-player is ON or OFF but I can't as I use a picture to hide the mini-player when there is no music playback and then this picture displays over the viewport.   Huh

Are these things too difficult to implement and improve in the theme engine or am I the only one annoyed by these limitations?

Not sure what you are asking
Logged


Using PMs to annoy devs about bugs/patches is not a good way to have the issue looked at.

Offline lebellium

  • Member
  • *
  • Posts: 71
  • DAPs collector
    • My 100+ players collection
Re: Theme/skins engine Limitations
« Reply #2 on: November 21, 2011, 11:53:30 AM »
Thank you for the answer.
I really hope you'll manage to fix these issues sooner or later  :)

Quote
Not sure what you are asking
Actually I was trying to explain why the bugs are annoying in my case.
In my theme I set a mini music-player in the SBS file that displays when navigating through the menus with music playback. It uses the bottom of the screen and the menu viewport height fits that. See the picture below (there is only a background picture)


When the music playback is stopped, the mini music player is hidden by a picture and in this case the menu viewport should fit the whole screen. See the picture below (background picture + picture to hide the mini-player)

 
But the picture would display over the viewport (at least the bottom of the viewport) so I'm obliged to keep the original viewport height, not use the bottom of the screen. That's wasted space and we get then a scrolling bar for nothing in most menus. Moreover that looks strange, people rightfully wonder why the menus don't fit the whole screen because they don't know about my trick to hide the mini-player.
« Last Edit: November 21, 2011, 01:19:05 PM by lebellium »
Logged
I swim in mp3 players!

Offline JdGordon

  • Member
  • *
  • Posts: 1817
  • Constantly breaking stuff
Re: Theme/skins engine Limitations
« Reply #3 on: November 21, 2011, 05:03:08 PM »
I'm not signing up to ABI to download your zips, put them somewhere else accessable. You should just be able to do something like:
%?if(%mp, =, <number saying music is playing>)<%VI(<label of the half height vp>)%Vd(<label of the miniplayer vp>)|%VI(<fullscreen ui vp>)>
Logged


Using PMs to annoy devs about bugs/patches is not a good way to have the issue looked at.

Offline lebellium

  • Member
  • *
  • Posts: 71
  • DAPs collector
    • My 100+ players collection
Re: Theme/skins engine Limitations
« Reply #4 on: November 21, 2011, 05:57:51 PM »
Quote from: JdGordon on November 21, 2011, 05:03:08 PM
I'm not signing up to ABI to download your zips, put them somewhere else accessable.
Of course, sorry...
Samsung R0
Sansa Zip

Quote
You should just be able to do something like:
%?if(%mp, =, <number saying music is playing>)<%VI(<label of the half height vp>)%Vd(<label of the miniplayer vp>)|%VI(<fullscreen ui vp>)>

I already did something similar for the Sansa Zip theme:

Code: [Select]
%?mp<%VI(Z)|%VI(X)>
#
# UI viewport
#
%Vi(X,0,11,95,74,-)
%Vi(Z,0,11,95,-,-)
#
# Mini-player
#
%V(0,86,-,-,2)
%s%?it<%it|%fn> %?mp<|%?ia<-|>> %ia


That works fine because I don't need any picture to hide the mini-player (the background is fully white).



On the R0 that cannot work because I need a picture to hide the mini-player (well I need it for aesthetic reasons, this white part at the bottom doesn't look nice when the mini-player is off)
I mean, I could do that but that definitely looks ugly:


After thinking hours about that issue, I don't see any satisfying solution as long as the theme engine doesn't allow viewports or text to display over a picture or at least use backgrounds in conditional tags (then I could use 2 different backgrounds to solve my issue)
But I acknowledge my theme and my requests are very specific and probably not common and useful for everybody.
« Last Edit: November 21, 2011, 06:14:48 PM by lebellium »
Logged
I swim in mp3 players!

Offline JdGordon

  • Member
  • *
  • Posts: 1817
  • Constantly breaking stuff
Re: Theme/skins engine Limitations
« Reply #5 on: November 21, 2011, 09:49:29 PM »
Yeah, not much you can do unfortunately.
Logged


Using PMs to annoy devs about bugs/patches is not a good way to have the issue looked at.

Offline JdGordon

  • Member
  • *
  • Posts: 1817
  • Constantly breaking stuff
Re: Theme/skins engine Limitations
« Reply #6 on: November 22, 2011, 04:33:19 AM »
What timezone are you in? Come on IRC? :)

Ah HA!
I've modified the viewport code to allow specific viewports to disable the background image with the %Vx tag (no params), so viewports with that will draw the background colour instead of the image. So adding that to the miniplayer viewports (and set the %Vb(cecece) to get the grey bar) works for your sbs.

edit2: your sbs code is horrible!  ;D
« Last Edit: November 22, 2011, 04:54:58 AM by JdGordon »
Logged


Using PMs to annoy devs about bugs/patches is not a good way to have the issue looked at.

Offline lebellium

  • Member
  • *
  • Posts: 71
  • DAPs collector
    • My 100+ players collection
Re: Theme/skins engine Limitations
« Reply #7 on: November 25, 2011, 05:12:28 PM »
Hey,

Sounds cool, thanks  ;D
Is that modification already included in latest SVN or is it just a patch or something like that?

Quote
edit2: your sbs code is horrible!  ;D
Well that's my very first theme, there are many features and I made sure it can work with different fonts, both time formats etc...many conditional tags. That inevitably makes the code more complex and uglier I think
But if you have any suggestion to make the code look better and easier while keeping exactly the same features, please tell me, I'm interested!
Indeed, the album art on WPS only displays after initializing the database. If the database has not been initialized it doesn't display whereas there is no problem on the SBS (mini-player) or with the default theme. After looking for hours, I still don't understand what's wrong with my code so I suspect this issue to come just because my code is too complex for the theme engine?

PS: I'm in Berlin  (GMT+1) and almost every evening on the IRC  ;)
« Last Edit: November 25, 2011, 05:16:08 PM by lebellium »
Logged
I swim in mp3 players!

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Theming and Appearance Customization
| | |-+  Theme/skins engine Limitations
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.069 seconds with 15 queries.