I know this is already planned(I think I saw it mentioned elsewhere in the forums), but being able to make custom mini-player skins would be very neat.
If you wanted to make it simple all it would take is separating the skin info for the mini-player from the main skin files, then making a way for the program to read in a skin file(maybe XML based? .Net likes XML).
The file should contain the following options:
1. Position of controls
2. Size of controls
3. background image for each control(not to mention the main background)
4. text in a control
5. the background and foreground color of controls
and any control that is not referenced is not drawn(so for example if I wanted to remove the stop button I could)
A quick XML file template for this would be:
<?xml version="1.0" encoding="utf-8" ?>
<skin backgroundimg="yourpath" backgroundcolor="#000000" backgroundimgrepeat="stretch/center/tile" foregroundcolor="#ffffff">
<!--a fixed height/width/position control-->
<playbutton background_img_path="yourpath" background_color="#000000" background_img_repeat="stretch/center/tile" foreground_color="#ffffff" Height="3" Width="4" />
<!--a resizable control with fixed position(the percentages refer to the total dimensions of the player)-->
<!--a resizable control that is positioned by padding from the walls(the percentages again refer to the total dimensions of the player, so the larger the player the further, in pixels, from the walls)-->
<Skipforwardbutton background_img_path="yourpath" background_color="#000000" background_img_repeat="stretch/center/tile" foreground_color="#ffffff" X-position="10%" Y-position="10%" Height="10%" Width="10%" />
The advantages of using xml over CSS is that you don't have to deal with multiple styles applying to each control(no inheritance) and parsing an XML document is very simple in .Net. Either way, XML or CSS, though you'll have to make sure whenever the form is re sized everyhting is re-evaluated size/position-wise.