Over the past few months Joel and I have been back-and-forthing modifications to his original great idea and goal “build a re-sizable video player using no custom user controls, but instead leveraging controls styles and templates.” Joel started in Silverlight 2 Beta 1 and implemented using the style method (aka ‘the MIX model’) available at that time.
I took it and added some functionality of scaling and startup parameters. After the VisualStateManager model for styling was released, this project made perfect sense to demonstrate those abilities and thus I transformed the great styling work that Joel did into the VSM model.
Joel has since gone back into the project and implemented media marker support and an enhanced user interface to display them. I found one issue in his marker implementation and emailed him about it with a suggestion that (reading between the lines) loosely translated was: how about we stop emailing this project and open source it?
The next day Joel has pushed the project to Codeplex. Introducing Silverlight 2 – Video Player.
Here's a running sample:
The current implementation is up there (with an already work item suggested by me :-)). Awesome!
Joel chose the Common Development and Distribution License which I think is very similar to the less wordy (by 2,153 words) Microsoft Public License , both of which are approved OSI licenses for open source.
UPDATE: Joel has changed to use the Ms-Pl license on the project!
Thanks to Joel for putting it out there as an open source project. Some simple code but hopefully will help those using Silverlight and media create quick experiences with an embeddable, skinnable solution!