[vlc-devel] Cocoa/Objective-C interface for VLC?

Felix Paul Kühne fkuehne.videolan at googlemail.com
Sun May 17 16:28:30 CEST 2009

Hello Andre-John,

let me get a few things straight here:

VLC's current OS X interface is entirely (except for the fades of the  
playlist and the preferences windows) created with Interface Builder  
and is completely driven by about 20 Obj-C files with various classes.  
This interface module directly interacts with VLC's internal C  
interface, which reduces overhead, enables all available features and  
information directly, but obviously requires a broader knowledge about  

Additionally, there is something we call VLCKit: a Obj-C wrapper for  
libvlc's external interface. It includes basic classes for playlists,  
streaming and transcoding. However, this is only a limited set. Doing  
simple media players (comparable to MPlayer OS X or QuickTime Player)  
is as hard as doing a QuickTime-based one; thus, it is really easy.  
However, you'll lack most of the cool things such as running multiple  
interfaces within one instance (remember that hotkeys is an interface,  
too). Still, you get da überfeature: playing multiple streams within  
one instance of VLC side by side.

Anyway, my point is that reworking the current OS X interface is a lot  
easier than rewriting it from scratch just to provide another main  
window. The Dudiak-interface is a nice approach in the correct  
direction, but still subject of being merged. In case tonydelalande or  
another guy wants to start working on a nice OS X interface, s/he  
would be absolutely welcome to do so. However, this isn't any easier  
by using VLCKit. VLC's C interface to interface modules is pretty easy  
to understand to anyone knowing C. So, if you're writing Obj-C, you'll  
understand it. and of course, we, the inactive OS X guys can always  
give tips here and there. Hooking up VLC's current cocoa classes is  
easy and exactly the way we already do.

In case that I got your message completely wrong, please says so. If  
not, I hope this helps a bit.

Best regards,


More information about the vlc-devel mailing list