Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: What you need to know to create a skin

  1. #1
    North of the land of Hey Huns
    Auto Apps:loading...

    Join Date
    Jun 2004
    Location
    Westminster, MD
    Posts
    2,144

    What you need to know to create a skin

    Here's some information someone might find useful. Hopefully it's written in a natural enough way that non-coders can understand and work with this. Tidder was giving me a hard time about being too technical in my writings

    There are a couple rather important things that should be taken into mind when designing and creating a skin. The first is that everything is CASE SENSITIVE!. I know this is a new concept to windows users, but being as this is cross platform I'm keeping everything standardized. Also there must be a Menu1.xml. This skin file does not have to be a menu per se, but it has to be something as it will be the first window shown when RevFE loads. Reference the Rev skin for an example of how to create a non-menu based skin.

    There are a bare set of common controls required for RevFE to function as a media player. You can reference the included AudioPlayer.xml in the default skin set for most of these.

    Listboxes:
    There are two primary listboxes that RevFE is set up to use to provide media functionality. The first is playlistListBox. This is a single column listbox that will be populated on load with a list of the currently loaded playlists. You send a playlist to the MediaLibrary with this command:
    Code:
    MediaLibrary:playlist set !%LISTBOX-playlistListBox-ITEMTEXT%!
    this will send the currently selected text to MediaLibrary and it will take care of loading that playlist into memory and getting it prepared to play.


    This brings into play the second listbox required, which is currentPlaylistBox. This listbox is populated with a list of songs in the current playlist. Unlike the list of playlists, music is played by index, not text. Hence the command required to start a selected song playing is:
    Code:
    MediaEngine:media play !%LISTBOX-currentPlaylistBox-ITEMINDEX%!
    Please note the ITEMINDEX as opposed to ITEMTEXT. These commands are usable on any listbox. This can either be a standalone button, or the cmd="" on the listbox itself. If it is a standalone button and you have nothing selected, nothing will happen!

    There are a couple of variables which come into play at this point, which display information about the song currently being played. Below are two example labels (text display boxes). The first one displays current and total track time. The second one displays artist and title information. All these values are for the currently playing track.


    Code:
    <label>
    	<properties name="trackTime2" text="%TT-CURRENTTIME%/%TT-TOTALTIME%" font="Microsoft Sans Serif" fontsize="18" fontcolor="255:255:255" textvalignment="" texthalignment="" />
    	<geometry x="410" y="445" width="250" height="35" />
    	<function cmd="" textvalues="%TT-CURRENTTIME%,%TT-TOTALTIME%" />
    </label>
    <label>
    	<properties name="currentSongLabel2" text="%ID3-CURRENTARTIST% - %ID3-CURRENTTITLE%" font="Microsoft Sans Serif" fontsize="18" fontcolor="255:255:255" textvalignment="" texthalignment="" />
    	<geometry x="10" y="410" width="500" height="35" />
    	<function cmd="" textvalues="%ID3-CURRENTARTIST%,%ID3-CURRENTTITLE%" />
    </label>
    The text field denotes how the text will be displayed, and the textvalues field is a comma delimited list of variables used. if you have a variable in the text field, but not in textvalues, it will not be updated.

    Once you have a playlist loaded, a song started, and you are watching the numbers tick down as the song plays you probably are going to want to be able to control this song, play/pause/stop, and move around the playlist. This is achieved through some MediaEngine commands:
    Code:
    MediaEngine:media pause
    This will pause or unpause (as a toggle) the song.
    Code:
    MediaEngine:media stop
    This will stop the current song from playing, and reset it to the beginning
    Code:
    MediaEngine:media prev
    This will move back one song in the playlist
    Code:
    MediaEngine:media next
    This will move forward one song in the playlist

    If you assign these commands to buttons as such:
    Code:
    <button>
    	<properties name="pauseButton" text="" font="Microsoft Sans Serif" fontsize="18" fontcolor="255:255:255" textvalignment="" texthalignment="" />
    	<geometry x="200" y="500" width="100" height="100" />
    	<function cmd="MediaEngine:media pause" textvalues="" />
    </button>
    You can now easily control the flow of a song.


    Let's assume you loaded a playlist slightly larger than your screen. You are going to need a way to scroll around this playlist (Or list of playlists in the case of the playlistmanagerwindow.xml). You can set up a button with the command
    Code:
    WindowName:window scroll-up !listboxname!
    Let's assume your window is called AudioPlayer.xml as it is in the default skin, and your listbox is currentPlaylistBox. The following command would scroll the box up:
    Code:
    AudioPlayer:window scroll-up !currentPlaylistBox!
    You also have scroll-down, page-up, and page-down which follow the same format:
    Code:
    AudioPlayer:window scroll-down !currentPlaylistBox!
    AudioPlayer:window page-up !currentPlaylistBox!
    AudioPlayer:window page-down !currentPlaylistBox!

    That's enough about media, let's talk about window control. There are a couple of things you can do with windows. When RevFE first loads, you only have one window showing. To display other windows you must show them. Let's say you have a button on your menu to show the AudioPlayer. The command would be:
    Code:
    AudioPlayer:window show
    Likewise, if you have a button on the audio player to hide itself (to go back to the main menu) it would be:
    Code:
    AudioPlayer:window hide
    There is also a "back" feature, which will take you to the last-shown window:
    Code:
    WindowManager:window showlast
    This is useful if your skin does not follow a linear layout, eg it does not have a main menu, but rather windows link to each other.

    I will be working on, and soon will post some in depth documentation on commands and events for each included plugin.
    "stop with the REINSTALLS, what do you think we got some lame-o installer!!!" - mitchjs
    RevFE
    My Shop

  2. #2
    Maximum Bitrate SjLucky's Avatar
    Join Date
    Jul 2003
    Location
    Hattiesburg, Mississippi
    Posts
    750
    can I just make you the images and you do my coding? I'm so lazy its not funny. I did have a number of psds of complete graphics for skins that I never did anything with but I lost them due to a crash. (small cardboard box carrying a number of parts fell off the truck at 85mph)

  3. #3
    And then I was mod. Tidder's Avatar
    Join Date
    Sep 2003
    Location
    New Mexico, USA
    Posts
    4,211
    Lets see what you can do. If it looks good enough, I'll help with the coding part.
    Tidder

    Try RevFE
    The best resurrected frontend I've ever used, period.

  4. #4
    North of the land of Hey Huns
    Auto Apps:loading...

    Join Date
    Jun 2004
    Location
    Westminster, MD
    Posts
    2,144
    SjLucky, YES! I'm a horrible graphics artist, as you can probably tell from the default skin but I'd be more than happy to take your images and turn them into a skin.
    "stop with the REINSTALLS, what do you think we got some lame-o installer!!!" - mitchjs
    RevFE
    My Shop

  5. #5
    Maximum Bitrate SjLucky's Avatar
    Join Date
    Jul 2003
    Location
    Hattiesburg, Mississippi
    Posts
    750
    working...........

  6. #6
    And then I was mod. Tidder's Avatar
    Join Date
    Sep 2003
    Location
    New Mexico, USA
    Posts
    4,211
    Yay!
    Tidder

    Try RevFE
    The best resurrected frontend I've ever used, period.

  7. #7
    North of the land of Hey Huns
    Auto Apps:loading...

    Join Date
    Jun 2004
    Location
    Westminster, MD
    Posts
    2,144
    Sjlucky: I'm working on a more comprehensive list of what windows are required for each feature of Rev.
    "stop with the REINSTALLS, what do you think we got some lame-o installer!!!" - mitchjs
    RevFE
    My Shop

  8. #8
    Maximum Bitrate SjLucky's Avatar
    Join Date
    Jul 2003
    Location
    Hattiesburg, Mississippi
    Posts
    750
    Quote Originally Posted by malcom2073 View Post
    Sjlucky: I'm working on a more comprehensive list of what windows are required for each feature of Rev.
    malcom: I'm working on a more comprehensive set of graphics that is required for your features of Rev.


    Aight I'm my house. I better have something finished by tonight. If not Im getting old.

  9. #9
    Maximum Bitrate SjLucky's Avatar
    Join Date
    Jul 2003
    Location
    Hattiesburg, Mississippi
    Posts
    750
    Got most of it done but I might trash it and start over. Dont know about the direction it took. Could use the list so Im not making crap that isnt needed.

    You guys like PSD? I like it cause I can keep everything in order and easy to follow.

  10. #10
    It ain't easy being a green moderator meddler's Avatar
    Join Date
    Aug 2002
    Location
    Steps out the front of Henson's workshop or Sydney
    Posts
    2,783
    SjLucky,

    I know how you feel. I had a skin 3/4 done, but didn't like the way it was turning out. Since then I haven't had enough time to get back to it. .PSD is probably the preferred format.

    At least there is more documentation to work with now.
    Never let the truth get in the way of a good story

Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 68
    Last Post: 04-23-2009, 12:38 PM
  2. RockCar Front End v0.0.154 - Skin Editor Updates
    By Hessian in forum Software & Software Development
    Replies: 1
    Last Post: 11-21-2008, 10:40 PM
  3. TEKNIK3 - Concept Skin
    By Valheru in forum RR Skins
    Replies: 39
    Last Post: 05-27-2008, 12:26 PM
  4. Very simple skin
    By lbridges in forum RR Skins
    Replies: 5
    Last Post: 01-25-2008, 09:36 AM
  5. Holux GPS Trouble
    By mangus580 in forum StreetDeck
    Replies: 34
    Last Post: 11-26-2007, 08:56 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •