Windows Media Player 9 Series Plug-ins
Published: March 17, 2003
By Galan Bridgman, Windows XP Expert Zone Community Columnist
Editor's Note: Past articles by members of the online community are archived for your use. The information may become outdated as technology changes. For the most current information, please search the Web site or post a question in the newsgroups.

If PCs couldn't be customized, the term "personal computer" wouldn't have stayed around this long. Each version of Windows lets you personalize more elements—Windows XP lets you create an individual desktop with special wallpapers, screen savers, and themes.
Earlier versions of Windows Media Player also provided opportunities for customizing its interface. Starting with version 7.0, Windows Media Player supported a skin to change its appearance. (A skin is a program that controls the appearance of Windows Media Player and includes some of the basic interface elements of the Player. See my earlier column, a New Skin for Windows Media Player for more information on skins.)
Windows Media Player 9 Series supports even more personalization than earlier versions of the Player, because its new plug-in model makes it easy to add audio and video effects, new UI features, rendering formats, skins, and visualizations to your player. A plug-in a small piece of software that extends the capabilities of a program by adding a feature to it. A plug-in is usually integrated into the program it enhances and is accessed from within that program.
Microsoft has created a new Web site, WM Plugins.com, which gives users a convenient place to find cool plug-ins, skins, and visualizations for Windows Media Player and developers a place to submit their enhancements.
In this column, I'll describe several kinds of plug-ins found at WM Plugins.com and explain how plug-ins can enrich your Windows Media Player experience. At the end of the column, I'll provide information for developers who want to create their own plug-ins for the Player.
Find Plug-ins for Windows Media Player 9 Series
WM Plugins is a highly dynamic site that describes hundreds of enhancements. Users can search for them by category, keywords, popularity, or peer-rating. WM Plugins.com is not limited to plug-ins, but lists all Windows Media Player enhancement types. It doesn't host the downloadable enhancements, but links the user to the appropriate download sites.
You should visit the site, find an enhancement that interests you, download it, and install it in the manner prescribed. Skins and other enhancements are installed automatically by Windows Media Player when you open them. Plug-ins have vendor-specific setup programs that you run to install their components.
After you install plug-ins on your system, you can view and manage them from Windows Media Player. To work with plug-ins:
1. | In Windows Media Player, click Tools, point to Plug-ins, click Options, and then click the Plug-ins tab. |
2. | Select an item from the category list and all the installed plug-ins of that type are displayed on the right, as shown in the figure below. 
List of installed plug-ins
|
Listed below are categories of enhancement types and a brief description of what they do, starting with the new plug-ins category.
Visualizations—plug-ins that display computer-generated imagery in the Now Playing window that is synchronized to the music you're playing. The Microsoft Windows Media 9 Series Rhythms and Waves plug-in, as shown in the figure below, is an example of this type of visualization.

Windows Media 9 Series Rhythms and Waves plug-in
Audio and Video DSPs—plug-ins listed under A/V Effect at the WMPlugins.com site. Digital signal processing (DSP) refers to the electronic circuits that perform similar functionality. This type of plug-in affects the audio or video data stream before it is displayed to the user. A video DSP could apply a watermark, for example, and an audio DSP might provide a 3-D surround sound simulation, as seen by the OSS/3D plug-in from 4Front Technologies shown in the figure below.

3-D surround sound simulation
Rendering DSP—rendering plug-ins are designed to decode and display custom streaming media formats. This could be financial data such as a ticker that is fed into the player or interactive 3D graphics. The only consideration is that content is streamed in the Windows Media file format using the ASF container. The interactive 3-D content from Anark is an example that uses a Rendering plug-in.
User Interface Plug-ins—some plug-ins interact with the user and others display rich information to the user such as global real-time play statistics for the currently playing song. When the Player is in full-mode, there are three areas where a user interface plug-in can display information or interact with the user. A user interface plug-in can also display its own window or have no interface at all, in which case it's called a background plug-in.

User Interface Plug-ins display regions
In addition to the plug-in types listed above, there are additional enhancement types, discussed below.
Skins—Windows Media Player provides a skin mode that lets you customize the player's appearance by choosing an alternate view and different graphical theme. Skins are a popular way to personalize the Player and many users change skins on a regular basis. A New Skin for Windows Media Player has information on skins and a free skin download.
Auto Playlists—an auto playlist is a playlist to which the Player automatically adds items based on criteria that you specify. This feature is essentially a real-time database query of the Media Library and its metadata and play statistics. Several new Auto Playlists are available at WMPlugins.com. Learn how to work with playlists in Sharon Crawford's column, Windows Media Player 9 Series.
DVD & MP3—an extension to the core services of Windows XP that specifically enables various types of DVD or MP3 playback or encoding functionality. Their actual implementation may use any number of the enhancement types discussed in this column, but it is listed in this column and at WMPlugins.com because it often extends the functionality of Windows Media Player.
Powertoys and Utilities—category of enhancement that is not a plug-in per se, but is usually an external program that modifies Windows Media Player behavior or gives the user access to Media Library data and configuration settings not available from Media Player itself.
Pointers for Media Developers
The new plug-in model for Windows Media Player 9 Series makes it easy for developers to build custom digital media solutions. If you develop plug-ins professionally or want to try your hand at building one for the first time, check out the Developer Resources page at WM Plugins.com. This page lists the skills required for developing enhancements and links to the resources you need to get started. To develop plug-ins, you'll use Microsoft Visual C++ 6.0 or Microsoft Visual C++ .NET and want to be familiar with the new DirectX Media Object model, which in many cases can be a lightweight substitute for DirectShow filters.
Skins—a lot of developer interest centers around skins. If you're interested in creating a skin, take a look at A New Skin for Windows Media Player. Developing skins is a matter of creating graphic elements and defining their layout and functionality with scripts. Anyone experienced in creating Web pages is familiar with the technology required to create a skin.
Plug-ins—when developing plug-ins, you'll need to download and install the Windows Media Player Software Development Kit. It's free and includes the tools you'll need for media development. This SDK contains the Windows Media Player Plug-in Wizard, shown in the figure below, which helps you create plug-ins easily by handling the standard implementation details.

Windows Media Player Plug-in Wizard
Visualizations—a type of user interface plug-in. They require a COM interface, which is described in the Windows Media Player SDK, as is a sample generated by the wizard.
Powertoys and Utilities—this category has no specific programming model. You simply use whatever APIs, object models, or techniques are required for implementing your desired functionality.
After you've developed and thoroughly tested your plug-in, skin, playlist, Powertoy, or utility, you log on to WM Plugins.com with your Microsoft .NET Passport account and fill out a form that describes your enhancement and points to the Web site where users can find it. Your enhancement can be freeware, shareware, or commercial. You must agree to the Submission Guidelines and the Submission Terms and Conditions, which cover all the basic things like specifying that your work doesn't contain viruses, Trojan horses, or spyware. You also agree that you have both full rights to the code and the permission to post it.
Microsoft will check your entry for accuracy before it goes live on the site and make sure it meets the criteria for submission. There's also a fast track to getting listed—have VeriTest perform a QA test of your product. Submissions tested by VeriTest also get preferred ranking on the site. You'll find details for this procedure on the Developer Resources page at WM Plugins.com.
Windows Media Player 9 Series is a great tool out of the box, but everything can be improved upon. This version of the Player is a full development platform. I can't wait to see what original and exciting enhancements are built on top it. Perhaps we will see one developed by you.
Galan Bridgman is a developer, architect, and enthusiast for digital media technologies. He co-developed QuickTime for Windows for Apple Computer. At Starlight Networks he developed innovative client and backend technologies using ActiveMovie® and NetShow® Server, the precursors to Windows Media Technology. He is a full-time consultant, and is currently developing a next-generation, fully-automated radio station using Microsoft Windows Media 9 Series technologies. After hours he enjoys showing others how to make the most of Microsoft's latest Windows Media applications. Check Galan's Web site for more information about him.