[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
VLC's C API.
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,
Felix
More information about the vlc-devel
mailing list