[vlc-devel] [Joel Holdsworth <joel at airwebreathe.org.uk>] WPF for VLC

System administration admin at via.ecp.fr
Sun Jan 1 23:35:16 CET 2006

The deleted attachment is at:

----- Forwarded message from Joel Holdsworth <joel at airwebreathe.org.uk> -----

From: Joel Holdsworth <joel at airwebreathe.org.uk>
Date: Sun, 1 Jan 2006 18:16:09 -0000
To: vlc-devel at videolan.org
Subject: WPF for VLC
X-Mailer: Microsoft Office Outlook, Build 11.0.6353



I'm currently working on a compound plugin for Interface/Video Output built on
the new Windows Presentation Foundation which will appear in Windows Vista, and
has also been backported to WinXP. If you haven?t heard of WPF, wikipedia have
a fairly good synopsis of it?s capabilities.


The plugin implements a simple XML and XAML skinning system which is very
simple to use, and although the screenshots included in the zip file look
fairly underwhelming (I haven?t had time to write any fancy looking skins yet),
the technology opens possibilities for truly dazzling vector based hardware
accelerated UI which go far beyond those available by skins2.


There?s a lot left to do ? bugs to fix, code to tidy and streamline, and
functionality to add. This version 0.3 represents a rather arbitrary milestone
of mine, and is still most definitely not ready for release; being in a
pre-alpha stage right now.


To run on WinXP?


 1. Copy \bin\VLCWPF.dll from the zip file to the VLC root directory (this is a
    C# dll which implements the interface).
 2. Copy \bin\VLCWPFBridge.dll from the zip file to VLC\plugins (this is
    Managed C++ dll which bridges the divide between the non-.net world of vlc
    and .net world of WPF).
 3. Copy the entire contents of the skins folder from the zip file to the VLC\
    skins directory
 4. Next you will need to download and install the latest WPF Beta or Community
    Technology Preview of the WPF Runtime Components. This version 0.3 has been
    compiled against the December CTP from www.microsoft.com/downloads/
 5. This should now be ready to run. Just invoke VLC with

vlc --intf WPF


Note that the project has not been tested under Windows Vista Betas yet because
I haven?t been able to get my hands on an up to date Beta or CTP lately.


Compiling requires the C# and C++ versions Microsoft Visual Studio 2005
Express. Additionally, you will need to download the latest XAML/WPF extensions
for these compilers as well as the latest WPF SDK from MS. At the moment I have
only set up a very crude build ?script?. The contents of the src zip-folder
should be extracted to a folder, with a VLC install, as well as a VLC source.
So the final file structure for the build environment should be




MyFolder\VLCWPF\VLCWPFBridge\*                 - these three are from the src

MyFolder\VLCWPF\VLC\*                                  - an install of VLC for

MyFolder\vlc-0.8.2\*                                          - the latest
source for vlc ./configure d to provide the correct headers.


To ./configure vlc under windows I found (after a lot of trial and error) that
this MSYS incantation worked ok ? all we want is the headers!:


./bootstrap && CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml"


./configure \

      --disable-gtk \

      --with-wx-config-path=/wxwin \

      --with-freetype-config-path=/usr/win32/bin \

      --with-fribidi-config-path=/usr/win32/bin \

      --with-xml2-config-path=/usr/win32/bin \

      --with-dvdnav-config-path=/usr/win32/bin \

      --disable-cddax --disable-vcdx \

      --disable-mkv \

      --enable-debug \

      --disable-dvdread \

      --disable-ffmpeg \

      --disable-mad \



Once the VLC is configured the relevant headers are produced so we can compile
in Visual Studio.


To compile: Open up the sln files VLCWPF.sln and VLCWPFBridge.sln in Visual
Studio C# and C++ respectively, and run a build for each of these projects. If
you think this seems screwed up ? it is! Sorry. I hope to tidy it soon enough.
I also suspect that it will be very tough to compile all these windows dlls
under Linux in the near future ? these latest developments are very recent.


Finally I?ve included tasks.tdl ? my XML task list which is readable with
Abstract Spoon?s ToDoList application (available at www.codeproject.com/tools/


This is the first time I?ve submitted to an open-source project, so I could use
a little help linking in with all the procedures and mechanisms you have in
place for sub-modules like this one. For example, how should this be included
in subversion? Do let me know what, if anything you think I should do next with


I hope you find all this beneficial. I will continue to work on this in the
next weeks/months, however, it seems unlikely that I?ll have huge amounts time
to spare for a little while. I plan to chip away at this ? but it?s for this
reason that I?m submitting such a messy and immature module; maybe there?ll be
someone who has the time to progress it!. I hope I/we can get it ready in time
for the upcoming release of Windows Vista!


God bless,

Joel Holdsworth







----- End forwarded message -----

System administration <admin at via.ecp.fr>
VIA, École Centrale Paris, France

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list