|
 |
07-14-2009, 11:03 AM
|
#1
|
|
Constant Bitrate
Join Date: Jun 2008
Location: Atlanta, GA
Posts: 132
|
Feature Request: dynamically loaded skin components
At the simplest level I'm asking for support for conditionals in skin files. I.e.:
if x = y
<some component -- button, IMG, application, custom list>
else
<some other component -- button, IMG, application, custom list>
endif
When the skin is loaded RR would load one or the other based on the values of x and y. I know you can already hide labels by changing the labelcode to nothing, but this would allow skinners to make one skin that can be used for multiple things based on some variables at load time. Like, say:
1. Load music player with album art displayed
2. Hit button for visualisation
3. Skin sets a variable, tells RR to reload this screen
4. Load music player with visualization where album art was
And you wouldn't need multiple .skin files to pull it off.
At a more complex level it would be great to be able to dynamically load skin elements WITHOUT reloading the skin. Same example as above, except RR loads BOTH elements, but only displays/draws the one based on the value of x. In this example we may need to limit it to only a true/false instead of multiple values for x.
|
|
|
|
|
|
Advertisement
|
Sponsored links
|
07-14-2009, 11:45 AM
|
#2
|
|
The Curator
Join Date: Aug 2004
Location: Chicago area,IL
Posts: 3,565
|
This would be another push RR over top feature...
I would think something along the lines of these type cmds...
DELBUTTONID;BXX
ADDBUTTON;<whole button define line here>
DELLABELID;LXX
ADDLABEL;<whole label define line here>
Ect...
Dont see something like this being really that hard to both use and implement....
RR Coding Team Comments????
|
|
|
07-14-2009, 12:08 PM
|
#3
|
|
RoadRunner Mastermind
Join Date: Nov 2004
Location: Vitória, ES - Brazil
Posts: 9,060
|
Mitch and I were talking about showing/hiding buttons on the skin.. similar to the flash objects.. right now, objects are created only from the .skin file and can't be unloaded (although labels/flash/indicators can be hidden and even buttons can be modified). Making RR load more objects in run-time is not that hard. Making it UNLOAD objects in run-time may be a bit of a trouble -- this may require some re-structuring of the "table" that stores the objects loaded on screen, but with some effort it could be done.
__________________
Ride Runner RR's Myspace
"Being happy is not about having what you want, it's about wanting what you have."
"The best things in life are always free - but that doesn't mean money can't buy you good things."
|
|
|
07-14-2009, 01:14 PM
|
#4
|
|
Constant Bitrate
Join Date: Jun 2008
Location: Atlanta, GA
Posts: 132
|
I think that at least the simplistic part of my original post should be really simple. Basically when parsing the .skin file, only load into the table the objects in either the IF or ELSE case of the statement. Since you're reloading the whole screen there's no worry about unloading objects from the table. This would be a welcome change in the near term.
For Blue's idea, I think we could just use:
ADDITEM;<definition>
DELITEM;Xxx
And the object code itself should be enough to tell RR which object it is (L01, B01, etc.). Only problem there is a lot of people are gonna have to tweak their skins to not just have 50 L01s (like me...  )
|
|
|
07-14-2009, 01:16 PM
|
#5
|
|
The Curator
Join Date: Aug 2004
Location: Chicago area,IL
Posts: 3,565
|
That makes sence, espec if you del a button in the middle of the buttons array, that could be a bit messy if u latter use the setbuttonxx command b/c that btn would no longer be in that button array element but up one.
Better to hide/show would be probably best and easies for both US an skinners...
|
|
|
07-14-2009, 01:32 PM
|
#6
|
|
FLAC
Join Date: Aug 2006
Location: Sun Diego
Posts: 1,405
|
What you are describing can be done with skin code IF you are using a reloadscreen command by way of INC in the main skin file.
i.e.
Audio_player.skin
Code:
RoadRunner Skin
RRScreen menu
background1.png,blank.png,blank.png,blank.png
INC,inc_audio_player$displayvariable$.skin
End
inc_audio_player0.skin
Code:
<Has code to display album art>
inc_audio_player1.skin
Code:
<Has code to display album art>
"VISU","SETVAR;displayvariable;1||RELOADSCREEN||VI SU"
The way the skin would work is that on initial loading, audio_player.skin will load it with the album art code (displayvariable = 0).
As soon as you hit "VISU" button, it will change $displayvariable$ to 1 and reloadscreen will load the code that display an application area instead of album art.
__________________
Pico-ITX / nLite'd XP Pro with EWF-HORM / RR v9/22/2009 / Winamp v5.13 / RRMedia v1.2.2
|
|
|
07-14-2009, 01:36 PM
|
#7
|
|
Constant Bitrate
Join Date: Jun 2008
Location: Atlanta, GA
Posts: 132
|
Quote: Originally Posted by Sal R. 
What you are describing can be done with skin code IF you are using a reloadscreen command by way of INC in the main skin file.
i.e.
Audio_player.skin
Code:
RoadRunner Skin
RRScreen menu
background1.png,blank.png,blank.png,blank.png
INC,inc_audio_player$displayvariable$.skin
End
inc_audio_player0.skin
Code:
<Has code to display album art>
inc_audio_player1.skin
Code:
<Has code to display album art>
"VISU","SETVAR;displayvariable;1||RELOADSCREEN||VI SU"
The way the skin would work is that on initial loading, audio_player.skin will load it with the album art code (displayvariable = 0).
As soon as you hit "VISU" button, it will change $displayvariable$ to 1 and reloadscreen will load the code that display an application area instead of album art.
Clever! But I still think adding support for something like this natively would be good.
|
|
|
07-14-2009, 01:41 PM
|
#8
|
|
FLAC
Join Date: Aug 2006
Location: Sun Diego
Posts: 1,405
|
Quote: Originally Posted by spamminator 
Clever! But I still think adding support for something like this natively would be good.
Don't get me wrong, if this could be implemented, you know i'd be using it.
More a skinner's FYI if it becomes difficult to execute.
__________________
Pico-ITX / nLite'd XP Pro with EWF-HORM / RR v9/22/2009 / Winamp v5.13 / RRMedia v1.2.2
|
|
|
|
Sponsored links
|
|
Advertisement
|
|
07-14-2009, 01:44 PM
|
#9
|
|
FLAC
Join Date: Aug 2006
Location: Sun Diego
Posts: 1,405
|
Quote: Originally Posted by Blue ZX3 
This would be another push RR over top feature...
I would think something along the lines of these type cmds...
DELBUTTONID;BXX
ADDBUTTON;<whole button define line here>
DELLABELID;LXX
ADDLABEL;<whole label define line here>
Ect...
Dont see something like this being really that hard to both use and implement....
RR Coding Team Comments????
The specific button ID is a real good. All my BXX, LXX, IXX codes are all 00's except for the ones I want specific control over.
Me likey.
__________________
Pico-ITX / nLite'd XP Pro with EWF-HORM / RR v9/22/2009 / Winamp v5.13 / RRMedia v1.2.2
|
|
|
|
Sponsored links
|
|
Advertisement
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 02:03 AM.
| |