[MPlayer-dev-eng] [PATCH] win32 gui

Erik Lunchpail erik_27can at yahoo.com
Wed Mar 22 01:34:24 CET 2006


Greetings,

I was directed to post this here from the mplayer-cygwin list, so here
goes. This is a heavily heavily modified version of Sascha Sommer's
original win32 gui for win32. I began modifying it quite a while ago,
with the help of Gianluigi Tiesi who has been kind enough to host
binaries and fix my bugs. It's always been available on his site
(http://oss.netfarm.it/mplayer-win32.php) which is also linked to from
the mplayer homepage under related projects.

It uses standard win32 api calls to emulate the current linux gui, so
it works in both cygwin and mingw. The goal was to try and handle
everything that we possibly could within the gui source, and to stay
out of the external mplayer source tree as much as possible. It takes
advantage of the gui code that is currently in place within the source
tree, so only very minor patching is necessary.

Only 3 files require patching, configure, Gui/Makefile, and mplayer.c.
The former 2 are self explanitory, but i'll briefly explain the
mplayer.c changes. Basically it works the opposite in windows as it
does in linux (go figure huh?). The gui is enabled by default, however
it is disabled when called via slave, so this still allows it to be
used by any frontends around that call mplayer's slave functions.
Secondly, i've added a COPYDATA struct which allows for IPC which is
handled within gui.c. Lastly, since the sub window is fairly new, and
is handled differently than the linux gui, a small 3-liner to allow the
sub window to correctly adjust to new aspects when using runtime aspect
switching.

Some screenshots can be viewed here:
http://vayne.fdns.net/mplayer/shot1.png
http://vayne.fdns.net/mplayer/shot2.png
http://vayne.fdns.net/mplayer/shot3.png

Some features:
IPC with WM_COPYDATA (as stated above)
Fully skinnable with any supported mplayer skin.
Playlist loading/saving/shuffling.
Full drag&drop support (including playlists)
DVD/vcd/cd support (the latter with libcdio)
Aspect switching support, whether with -aspect on the cmdline or via
runtime aspect switching.
DVD title/chapter switching dialog.
Preferences dialog.
Skin browser.
Support for loading external subtitle files.
Systray support.
Console toggle for stdout/stderr debug info.

The sub window takes advantage of WinID when using vo directx, but will
hide when using other vo's. And as well, the sub window should
automatically hide when a file is audio only and only pop back up when
we have video.

Also included is an optional (to be applied last) patch for DVD menu's
for use with Atvos Attila's dvd menu patches.

Questions? comments?

Regards,
Erik

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: win32_gui-20060320.tar.gz
Type: application/x-compressed-tar
Size: 51092 bytes
Desc: 3849545043-win32_gui-20060320.tar.gz
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20060321/94f9bf13/attachment.bin>


More information about the MPlayer-dev-eng mailing list