Interface Plug-in SDK

Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


This SDK contains everything you need to create your own interface plug-in for Media Center. An interface plug-in is a plug-in that seamlessly integrates into Media Center's interface to provide added functionality. An interface plug-in can be just about anything you can imagine: an advanced tagging studio, an HTML control server, a playlist management tool, and on and on. You can build on all of Media Center's established power.

Download the SDK

The SDK consists of a single file: the MCPlayerLib.tlb type library, and a Sleep Timer example.

Writing a component

The first thing you need to do to create an Interface plug-in is to choose a language. Any language that supports COM should work fine. (C++, VB, etc.) Once that's out of the way, you need to create a new COM control that has a user interface. Then, there are two requirements for your COM control:

  1. It must enter information in the registry to let Media Center know it exists. In C++, this can simply be a block of code added to the DllRegisterServer function. In VB, you will have to make a .reg file for the user to run on their machine. (see the included samples for examples of this)
  2. It must implement a function called Init(...) that Media Center will call when starting the plug-in to give you an object to control Media Center with. (the object is a dispatch pointer (IMJAutomation *))

You will need to import the MCPlayerLib.tlb type library into your plug-in for IMJAutomation to be defined.

See Media Center Automation for a complete description of the capabilities available to your plug-in.

If you create a Registry Key called "Enabled", it will be reported on the System Info. This is useful for plugins that are Active but turned off.


The SDK includes an example, a Sleep Timer (C++).