Skin descriptor for FryingPan 0.4
Welcome
Introduction
Requirements
Installation
First Steps
  • Tracks page
  • Media page
  • Contents page
  • Player page
  • Drive page
  • Settings page
  • Write page
  • Configuring Program
    Configuring Drive
    Burning Discs
    Downloading Tracks
    Creating ISO Images
    Known Bugs
    Registration
    F. A. Q.
    Thanks
    Author
    Download
    Developers
  • Skin (v0.4)
  • Optical.drive










  • Support us!

    RSS


        This page will attempt to describe syntax and keywords used in skin descriptor file (.dsc) for FryingPan 0.4.


        Since the skin is not an extensive nor complex file and does not allow much to be done at the moment - don't expect too much of it :).


    v0.4 Skin Descriptor File
    Groups, Elements, SubItems
        FryingPan skin is a hierarchical object built of simple components, such as items. Each subitem represents a basic information about location of skin element in picture (using absolute x, y coordinates) and information about the state in which it should be displayed.
        Elements are built of subitems and carry out the information about allowed states and subitems it contains. In this case we can clearly see which elements are displayed on user click, which are shown when item is disabled etc.
        Finally, groups contain set of associated elements; this way we can declare elements within various sets with same names that do not collide.
        A hierarchy of skin image for fryingpan is as follows:
        1. Main
        2. Group (as a child of Main)
        3. Item (as a child of Group)
        4. SubItem (as a child of Item)
        Each group and item should end with "End" keyword.


    Main
        Main group contains keywords that provide global information about the skin itself, common settings for all groups and groups themselves.


    Groups
        This element contains per group settings (for all items within a group) and items.


    Item
        Basically built of subitems; declares common size for all subitems present inside it and lists subitems themselves.


    SubItem
        Defines state (by name) of element and absolute coordinates within skin image.


    Skin image
        Except for skin descriptor file, a skin image should be present as well inside the same directory, under the name "skin.img". Skin image is a single picture with all elements in it. Why so? because remapping a single file does better results on lower end machines than remapping multiple small files.


    Comments
        Pretty important thing for everyone. Comments may be declared with "#" sign, which should be the first character in line. The whole line is treated as a comment then, and not parsed.

    Main keywords
    VERSION id
        Defines a version number - a version for which the skin has been designed. Use 0.4 for now.


    AUTHOR "name"
        Name (and possibly also email address) of the author who designed the skin. Not required, but suggested.


    DESCRIPTION "desc"
        A few words about the skin itself. When a skin selector shows up, this will be shown in description field.


    BGCOLOR #rr #gg #bb
        Skin default color, consists of three decimal values (red, green and blue) in range 0 to 255. This can be replaced with BGTEXTURE.


    BGTEXTURE "filename"
        Name of texture file to be loaded from the skin directory. This texture should be applied to all pages of FryingPan. Can be replaced with BGCOLOR.


    GROUP "name"
        Starts a set of elements in the "name" subtree. Note that "name" is a concrete word and items within an unknown group will not be displayed (although parsed).

    Group keywords
    HSPACING #space
        Defines horizontal spacing between image objects. 0 means no spacing at all; this is measured in pixels.


    VSPACING #space
        Vertical spacing between image objects. 0 = no spacing.


    ITEM "name"
        Begins an image item with the given name. Note that the "name" is a concrete word, also, and despite parsed, will not be displayed, if unknown.

    Item keywords
    SIZE #w #h
        Defines width and height of an object; this is measured in pixels and is common to all subitems declared within an item group.


    NORMAL #x #y
        A subitem that will be displayed when a gui element is not selected nor disabled. Parameters x and y define absolute position within skin image file, from which the element will be copied. Size of the element is defined with SIZE keyword.


    SELECTED #x #y
        Subitem definig absolute position of image that will be displayed once element is clicked on, or when it is enabled. Size of this image is defined with SIZE keyword.


    DISABLED #x #y
        Defines where the disabled image for gui element is lain within the image file. Absolute coordinates x and y define left top corner of an element, whose size is defined with SIZE keyword.

    Groups and items recognised
    "Main"
        "Tracks", "Media", "Contents", "Player", "Drive", "Settings", "Write".
        These buttons are shown at the top of FryingPan main window, used to select display pages.


    "Control"
        A set of elements displayed in top right corner of the window. Contains following items:
        "TestMode" - a circle where user can select test mode writing,
        "Abort" - an "X" button that aborts current operation,
        "Eject" - a horizontal dash with a triangle above, meaning "tray out",
        "Load" - a triangle with horizontal dash above, meaning "tray in".


    "PlayBoard"
        Track numbers to be displayed in player window (gosh, this seems to be the mostly skinned and least working sub page for now, I have to get things up and running). Numbers "01" to "25" mean track number. Items are organised in an array of 5x5 buttons.


    "Player"
        A small control bar on player page. This group includes the following buttons:
        "SkipBack" - go to previous track,
        "Rewind" - fast reverse current track (with audio playback),
        "Pause" - pause current playback,
        "Play" - begin playback from current laser position or beginning of disc,
        "Rec" - start recording track (currently useless),
        "Stop" - stop playback,
        "FastFwd" - fast forward current track with audio playback,
        "SkipFwd" - skip to next track.


    "Lamp"
        A set of lamps indicating current drive status, shown in bottom right corner of the window. Currently five types of lamps are implemented:
        "Idle" - this means that drive is currently free, doing nothing (now: green),
        "Busy" - a lamp indicating that there is an operation in progress (now: yellow),
        "Write" - telling that a drive is currently writing a disc (now: red),
        "Read" - a drive is reading tracks from the disc (now: blue),
        "None" - there is no drive configured at the moment (now: gray).

    Example
    Example configuration file
        
        Version 0.4

        Author "Tomasz Wiszkowski"
        Description "My dumb attempts to draw a gui"

        BGColor 100 100 100

        Group "Main"
        HSpacing 0

        Item "Tracks"
        Size 78 48
        Normal 0 0
        Selected 0 48
        End

        Item "Media"
        Size 75 48
        Normal 78 0
        Selected 78 48
        End

        Item "Contents"
        Size 101 48
        Normal 153 0
        Selected 153 48
        End

        Item "Player"
        Size 77 48
        Normal 254 0
        Selected 254 48
        End

        Item "Drive"
        Size 67 48
        Normal 331 0
        Selected 331 48
        End

        Item "Settings"
        Size 92 48
        Normal 398 0
        Selected 398 48
        End

        Item "Write"
        Size 70 48
        Normal 490 0
        Selected 490 48
        End
        End

        Group "Control"
        HSpacing 0
        VSpacing 0

        Item "TestMode"
        Size 24 24
        Normal 0 96
        Selected 48 96
        Disabled 96 96
        End

        Item "Abort"
        Size 24 24
        Normal 24 96
        Selected 72 96
        Disabled 120 96
        End

        Item "Eject"
        Size 24 24
        Normal 0 120
        Selected 48 120
        Disabled 96 120
        End

        Item "Load"
        Size 24 24
        Normal 24 120
        Selected 72 120
        Disabled 120 120
        End
        End

        Group "PlayBoard"
        HSpacing 0
        VSpacing 0

        Item "01"
        Size 31 31
        Normal 0 144
        Selected 136 144
        Disabled 272 144
        End

        Item "06"
        Size 31 25
        Normal 0 175
        Selected 136 175
        Disabled 272 175
        End

        Item "11"
        Size 31 25
        Normal 0 200
        Selected 136 200
        Disabled 272 200
        End

        Item "16"
        Size 31 25
        Normal 0 225
        Selected 136 225
        Disabled 272 225
        End

        Item "21"
        Size 31 29
        Normal 0 250
        Selected 136 250
        Disabled 272 250
        End

        Item "02"
        Size 25 31
        Normal 31 144
        Selected 167 144
        Disabled 303 144
        End

        Item "07"
        Size 25 25
        Normal 31 175
        Selected 167 175
        Disabled 303 175
        End

        Item "12"
        Size 25 25
        Normal 31 200
        Selected 167 200
        Disabled 303 200
        End

        Item "17"
        Size 25 25
        Normal 31 225
        Selected 167 225
        Disabled 303 225
        End

        Item "22"
        Size 25 29
        Normal 31 250
        Selected 167 250
        Disabled 303 250
        End

        Item "03"
        Size 25 31
        Normal 56 144
        Selected 192 144
        Disabled 328 144
        End

        Item "08"
        Size 25 25
        Normal 56 175
        Selected 192 175
        Disabled 328 175
        End

        Item "13"
        Size 25 25
        Normal 56 200
        Selected 192 200
        Disabled 328 200
        End

        Item "18"
        Size 25 25
        Normal 56 225
        Selected 192 225
        Disabled 328 225
        End

        Item "23"
        Size 25 29
        Normal 56 250
        Selected 192 250
        Disabled 328 250
        End

        Item "04"
        Size 25 31
        Normal 81 144
        Selected 217 144
        Disabled 353 144
        End

        Item "09"
        Size 25 25
        Normal 81 175
        Selected 217 175
        Disabled 353 175
        End

        Item "14"
        Size 25 25
        Normal 81 200
        Selected 217 200
        Disabled 353 200
        End

        Item "19"
        Size 25 25
        Normal 81 225
        Selected 217 225
        Disabled 353 225
        End

        Item "24"
        Size 25 29
        Normal 81 250
        Selected 217 250
        Disabled 353 250
        End

        Item "05"
        Size 25 31
        Normal 106 144
        Selected 242 144
        Disabled 378 144
        End

        Item "10"
        Size 25 25
        Normal 106 175
        Selected 242 175
        Disabled 378 175
        End

        Item "15"
        Size 25 25
        Normal 106 200
        Selected 242 200
        Disabled 378 200
        End

        Item "20"
        Size 25 25
        Normal 106 225
        Selected 242 225
        Disabled 378 225
        End

        Item "25"
        Size 25 29
        Normal 106 250
        Selected 242 250
        Disabled 378 250
        End
        End

        Group "Player"
        HSpacing 0

        Item "SkipBack"
        Size 34 32
        Normal 144 96
        Selected 0 280
        Disabled 256 280
        End

        Item "Rewind"
        Size 32 32
        Normal 178 96
        Selected 34 280
        Disabled 290 280
        End

        Item "Pause"
        Size 32 32
        Normal 210 96
        Selected 66 280
        Disabled 322 280
        End

        Item "Play"
        Size 30 32
        Normal 242 96
        Selected 98 280
        Disabled 354 280
        End

        Item "Rec"
        Size 32 32
        Normal 272 96
        Selected 128 280
        Disabled 384 280
        End

        Item "Stop"
        Size 32 32
        Normal 304 96
        Selected 160 280
        Disabled 416 280
        End

        Item "FastFwd"
        Size 32 32
        Normal 336 96
        Selected 192 280
        Disabled 448 280
        End

        Item "SkipFwd"
        Size 32 32
        Normal 368 96
        Selected 224 280
        Disabled 480 280
        End
        End

        Group "Lamp"
        Item "Idle"
        Size 16 16
        Normal 144 128
        End

        Item "Busy"
        Size 16 16
        Normal 160 128
        End

        Item "Write"
        Size 16 16
        Normal 176 128
        End

        Item "Read"
        Size 16 16
        Normal 192 128
        End

        Item "None"
        Size 16 16
        Normal 208 128
        End
        End


    Skin image file
        Can be downloaded here.