Excellent job! I've wanted skin support in TCPMP for a long time (so that more-finger-friendly controls could be added). Thanks.
Unfortunately, I can't really use it yet on my PND (GPS device) because of two big issues:
1) When I press any buttons, the pressed look displays higher on the screen than it should by what I've measured is about 32 pixels. It's not the coordinates in skin.xml, as the pressed look should always display over the original, regardless of coordinates. Could this be related to the fact that PNDs don't have the Windows Mobile taskbar at the top of the screen?
2) When I exit fullscreen mode, the skin doesn't re-display; it's just black. I can still use the buttons, but can't see them. The only way to fix it is to re-select the skin or restart the app. Interestingly, though, if I press the (invisible) buttons, the pressed look displays, so perhaps simply a call to refresh/redraw the display is necessary when exiting fullscreen mode.
For both of these, I've tried the alternate interface.plg, multiple video driver modes (GAPI, GDI, framebuffer, etc.) and different encodings and nothing changes. That leads me to suspect that the skin support just wasn't added with non-WM CE devices in mind. Any further ideas for me to try or anything that can be fixed in a future release?
FWIW, I maintain an unlock called MioPocket for non-WM CE-based PND/GPS devices that has probably tens of thousands of users and will be able to replace the TCMP in it with this one and get a lot more people using this very nice version if I can get these skinning problems worked out. Thanks a lot.