Here's my work, I hope you(all) find it worth using...
There are few shorcomings I know, but I want feedback now :)
1. Slider not done (It's for positioning in song).
2. I had to draw pause button, it looks crap (I have crappy artistic
abilities)
3. Text windows are not tested
4. Load button functions as "quit" for now.
5. Proabably no good way to implement "increase" volume. Will have to think
of something.



Some suggestions/problems that I found in Themes:
0. Robert, thanks for listening to me! Here's some more.

1. TransIndex in Bitmap is made mandatory - I think it's not right, it's
not HTML spirit.
What does that blasted option is supposed to do? I can't figure it out.

3. Play/Pause relationship is hardcoded. I would prefer if there was a
config option in the
XML file to do that.
Like this:

        <ButtonControl Name="Play">
            <Position Rect="42, 54, 58, 73">
            <ControlBitmap Rect="0, 60, 67, 79" Name="Buttons"/>
            <NextState Name="Pause" Hide="1">
        </ButtonControl>

        <ButtonControl Name="Pause">
            <Position Rect="42, 54, 58, 73">
            <ControlBitmap Rect="0, 123, 67, 142" Name="Buttons"/>
            <NextState Name="Play" Hide="1">
        </ButtonControl>

The Hide option would mean to do what is being done now - to replace play
with pause.
If Hide=0, then Play would get disabled, and Pause enabled, for layouts
where one does
not want Play/Pause to share place (like,say, Hi-Fi knockoff skins).
Probably the hide=1 behaviour
should be default one.

3.a <NextState> would enable one to have chained state buttons (like order
song button- none/shuffle/by track/by style) Flexibility, huh?!

3.b Multiple buttons with same function are now possible, yippee! 
But to implement 'linking' properly one needs to be able to to distinguish
from each button.
I would propose 'name.extension' scheme. Essentially, "Name" goes like
"Pause.1" "Pause.2" "Pause.3". The code that evaluates button function
should ignore the 'extension'.
The linking (NextState) code, would seek the name AS SPECIFIED, therefore
each name= being unique.

4. Need "LoadSong/Playlist" button type
5. Slider: should be able to do not only ---x--- type slided but 'filling
pipe' type too...
<flexibility freak, hard at work>
6. Buttons being specified with RECT=
Someone might want to have Up-state buttons in one bitmap
and Down state in another. Like with 'rainplay' skins - it uses 2 bitmaps -
one, player with
all buttons 'up' and onother, with all buttons 'down'.

There should be way to specify unique rect (and possibly from different
bitmap) for each button state.

Proposed scheme: one could say, define button 'width and height' and then
go specifying bitmaps and x,y coordinates for each button state separately.

        <ButtonControl Name="Pause">
            <Position Rect="42, 54, 58, 73">
            <ControlBitmap2 Width="18" Height="20">
                <WhenUp Pos="0,0" Name="Bitmap1"/>
                <WhenDown Pos="0,0" Name="Bitmap1"/>
                <WhenHover Pos="0,0" Name="Bitmap1"/>
                <WhenDisabled Pos="0,0" Name="Bitmap1"/>
            </ControlBitmap2>
            <NextState Name="Play" Hide="1">
        </ButtonControl>
(syntax probably looks somewhat silly)


visions_0.zip


--
Valters "WaTT" Vingolds

Reply via email to