i had previously written about creating custom expression encoder templates and integrating them into the encoder workflow (if you haven't read that, check it out, very simple process). my process was simple and followed the "CASE" methodology*.
basically i would encode a video file to get the output of the encoder template, then blast away all the xaml in player.xaml, and create your own silverlight media player skin. really the only thing you need to know is the 'well known names' for certain controls (the most common of which i outline in my blog post. i've received comments and questions about how to get more into the code and curiosities of what else could be done and what is going on under the hoods to the bindings of the well known names. all this magic happens in baseplayer.js -- a file included in the encoder templates.
now the expression encoder team has went one step further. they've released a 22-page document outlining the process for creating a custom template that is bit more 'official' than my simple steps, but essentially encompasses the ideas. what is great is this document includes all the well known names that you might want to implement as well as descriptions on how to override default behaviors as well -- i've included a direct link to the document at the end of this post. one of the most valuable things i like in the document is a visual layout of a player and the well known names mapped so you can see them:
in addition to that, the team has provided a debug version of baseplayer.js as a supplement to expression encoder (the debug version comes with a EULA so be sure to read it -- only licensed users of expression encoder may use this debug version. this means it is human readable :-). this should help you understand the bindings more and determine what (if anything) else you would want to do.
so take a look at my previous post if you haven't, then download the docs and debug version if you have expression encoder to start building your templates today!
File: Developing Silverlight Media Player Skins
File: BasePlayer.js debug version