I wanted to include some information about the development of the Xine plugin for NicePlayer. This plugin is 99.5% due to the work of Richard Wareham, and his XinePlayer project that made this plugin possible. Before working on the Xine plugin, I had looked into either doing a plugin with VLC or MPlayer, the two most popular media players on the Mac. Unfortunately it looked like MPlayer would have been hard to support given its desire to run each movie in its own process — I wasn’t sure how much work it would take to make MPlayer work more like a traditional player, as opposed to how it currently launches its own window to player media that is separate from the controller. I also looked at VLC, which was impressively complex. At the time, it was fairly complex to build (it may still be that way, I don’t know), requiring tons of dependancies. I tried for several hours on both VLC and MPlayer trying to get a prototype to run, but it was fairly apparent that to do what I wanted, it was going to take a great deal of time. XinePlayer, on the other hand, was factored into two parts: a backend “XineKit” and a frontend “XinePlayer.” This made it very easy to plug into our existing plugin interface. I was also able to use the existing dynamic libraries built by Richard Wareham, which meant that I wouldn’t have to invest large amounts of time downloading codec source code and compiling them on both of my two machines (a Powerbook and a PowerMac). I still hope that someone more familiar with either the VLC or the MPlayer source code will write a plugin for NicePlayer, or at least factor the code in these players to make it easier for me to do so. Additionally, if anyone out there is working on any of this (a plugin for NicePlayer, or refactoring the code to make it easier to plug), please get in contact with me!
As it is, the Xine plugin does a pretty good job of handling a lot of media that QuickTime can’t. There’s something to be said about a project being both complex enough underneath to do what needs to be done, but have a simple enough interface such that developers not familiar with the code can still easily work with it. I sometimes wonder if the reason the VLC project is having a hard time finding OS X developers is due to the fact that it’s hard for people to work in the complexity of their code. It seems to me that they could easily take advantage of all of the UI features of NicePlayer by simplifying their programming interface and creating a plugin — a great benefit to both Xine and NicePlayer users.