Dwex, great post. I was actually going to post something simliar to voice my concerns and suggestions about the skinning engine soon. I particulary agree with your comments about the docs in the development section. Not only are they not up to date but I personally don't find them to be as detailed as they should. For instance I'm still having trouble trying the find our how to correctly layer parts like playlists and visualizations on top of the main player. Here are some suggestions I have for the skinning engine:
1. With sliders, the thump .bmp should be able to have a mouseover image also instead of just a up and down image.
2. Mini-me skins should be able to display the left media tree pane, instead of just the playlist pane.
3. Along with the equilizer function, add simple treble and bass functions (this is a more general MJ8 suggestion.)
4. Instead of having to use standard fonts, include support for skinned fonts. This is where, with .bmps, you can map out a alphabet, and numbers that the player would use instead of a regular font. Quintessential and Coolplayer already support this with their skinning engines and it's one of the coolest features I've ever seen.
5. Add support for skinning of more MJ features like ripping, encoding, CD burning, and a options button.
6. Whenever visualizations are disabled the pane shows a "Media Jukebox: The One that Plays All" banner. Make it so instead of this banner you can add your own to display.
7. I agree with Dwex, in addition to the "cyclone" style of scrolling, a wrap around style should be added.
8. When the mute function, I'd like a way to keep the mute button displaying the down .bmp while the player is muted.
9. With playlists in mini-me mode, there should be the ability to customize what info in displayed. The default seems to be Track # - Artist - Song Name - Song Length. This may be possible already, but I haven't been able to find out how.
10. With the skins I make, I like to have the play and pause buttons in exactly the same place (sort of layered on top of each other.) So when the the player is playing, the pause button is displayed, and when the player is stopped or paused, the play button is displayed. I know this is probably possible right now in MJ8 with a javascript code, but it would be nice if this effect/layout was easily built into MJ. I know the Windows Media Player provides a easy way to to this.
I know some of these probably seem like nitpicking, but they're important features to me. I have made several skins for other players and I would like to be able to completely port them over the MJ8.