Plug in your favorite viewer

One of the nicest things about NicePlayer is the dynamic plugin architecture. This means that anyone can author their own plugin to play media through the NicePlayer interface -- the DVD playback itself is a plugin. Keep an eye on this page for additional plugins, and upcoming information on how to write your own plugins.

PluginDescriptionLicense
Xine-NicePlayer plugin The Xine-NicePlayer plugin provides playback for many media types -- DivX, XviD, HDTV streams saved to disk, etc. And it performs extremely well! There are a few minor bugs in Xine-NicePlayer, but for the most part, media playback works better than with the built-in QuickTime support. GPL



Plugin Developer Information

The plugin API has not been finalized and may continue to change up until the 1.0 release. If you release a plugin, be sure to let us know and we'll list you on this page. We'll also notify you of any changes to the API. Contact us at (niceplayer at indyjt dot com).

To create a plugin, your plugin will need to be packaged as a bundle. You'll need to implement NPMovieProtocol in order for your plugin to function correctly; this is the class that should be set as your primary class for the bundle. Your class also needs to inherit off of NSView. For convenience, we have provided a NPPluginView class for you to inherit off of, this class implements the code necessary for drag and drop and default behavior for fast forward/rewind. You do not need to inherit off of NPPluginView, but you may find it useful. If you choose not to inherit off of it, you will copy the code for the methods implemented in the NPPluginView class into your class in order to maintain proper functionality in NicePlayer.

DVDPlayer-Plugin-Example-0.93.zip (40 KB) DVDPlayer plugin, using Apple's DVDPlayback.framework. This plugin is from the 0.93 release. Although the plugin example is primarily to demonstrate to third party developers how to create plugins for NicePlayer, I've provided updated sample code from the 0.93 release in order to demonstrate how to work around some of the Apple bugs in the DVD Playback framework. To give props, read the next paragraph.
Hopefully this sample code will come in use for developing your own plugin. If you find this code useful for any other purpose (such as developing your own DVD Player based on Apple's DVD Playback API), please consider donating to the NicePlayer project.