summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-25 21:05:23 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-25 21:05:23 +0000
commit8d100d9fdc79b269c9132ca50690cd096fbc2fd1 (patch)
treef407dcb8295eaae2e456cf3f3afdbb25db754b8d
parent9f6529b3d3a1ec681a84735d57a9f2d8656809af (diff)
downloadmpv-8d100d9fdc79b269c9132ca50690cd096fbc2fd1.tar.bz2
mpv-8d100d9fdc79b269c9132ca50690cd096fbc2fd1.tar.xz
GUI support (--enable-gui)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1695 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--Makefile2
-rwxr-xr-xconfigure100
-rw-r--r--mplayer.c9
3 files changed, 107 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index d0413ffe8b..9b5df60dd6 100644
--- a/Makefile
+++ b/Makefile
@@ -80,7 +80,7 @@ mplayerwithoutlink: $(MPLAYER_DEP)
@for a in $(PARTS); do $(MAKE) -C $$a all ; done
$(PRG): $(MPLAYER_DEP)
- $(CC) $(CFLAGS) -o $(PRG) mplayer.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) $(LIB_LOADER) $(AV_LIB) -Llibmpeg2 -lmpeg2 -Llibao2 -lao2 $(VO_LIBS) $(CSS_LIB) -Lencore -lencore $(DECORE_LIBS) $(ARCH_LIBS)
+ $(CC) $(CFLAGS) -o $(PRG) mplayer.o $(OBJS) $(XMM_LIBS) $(LIRC_LIBS) $(A_LIBS) -lm $(TERMCAP_LIB) $(LIB_LOADER) $(AV_LIB) -Llibmpeg2 -lmpeg2 -Llibao2 -lao2 $(VO_LIBS) $(CSS_LIB) -Lencore -lencore $(DECORE_LIBS) $(GUI_LIBS) $(ARCH_LIBS)
$(PRG_FIBMAP): fibmap_mplayer.o
$(CC) -o $(PRG_FIBMAP) fibmap_mplayer.o
diff --git a/configure b/configure
index 1f2e631a6f..1eec730e6f 100755
--- a/configure
+++ b/configure
@@ -877,6 +877,34 @@ EOF
_dga2=no
$_cc $_x11incdir $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext -lXxf86dga -lXxf86vm $_socklib > /dev/null 2>&1 && _dga2=yes
+# --- checkin X11 XShape extension
+
+# echo -en 'Checking XShape extension ... '
+
+cat > $TMPC << EOF
+#include <X11/Xlib.h>
+#include <X11/Xproto.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/shape.h>
+#include <stdlib.h>
+int main( void )
+{
+ char * name = ":0.0";
+ Display * wsDisplay;
+ int exitvar = 0;
+ int eventbase,errorbase;
+
+ if ( getenv( "DISPLAY" ) ) name=getenv( "DISPLAY" );
+ wsDisplay=XOpenDisplay( name );
+ if ( !XShapeQueryExtension( wsDisplay,&eventbase,&errorbase ) ) exitvar=1;
+ XCloseDisplay( wsDisplay );
+ return exitvar;
+}
+EOF
+
+_xshape=no
+$_cc $_x11incdir $TMPC -o $TMPO -L/usr/X11R6/lib -L/usr/X11/lib -lX11 -lXext $_socklib > /dev/null 2>&1 && _xshape=yes
+
fi
cat > $TMPC << EOF
@@ -1476,6 +1504,53 @@ echo "Extra libs : $_extralibdir"
echo "Extra headers : $_extraincdir"
# write conf files.
+if [ $_gui = yes ]; then
+# --------------- GUI begin -------------------
+
+echo -en "\nChecking for gtk version ... "
+_gtk=`gtk-config --version 2>&1`
+[ -z "$_gtk" ] && { echo 'gtk not found.'; exit 1; }
+echo "$_gtk"
+
+echo -n "Checking for gtk includes ... "
+_gtkinc=`gtk-config --cflags 2>&1`
+[ -z "$_gtkinc" ] && { echo 'gtk not found.'; exit 1; }
+echo "done"
+
+echo -n "Checking for gtk libs ... "
+_gtklib=`gtk-config --libs 2>&1`
+[ -z "$_gtklib" ] && { echo 'gtk not found.'; exit 1; }
+echo "done"
+
+echo -en "\nChecking for glib version ... "
+_glib=`glib-config --version 2>&1`
+[ -z "$_glib" ] && { echo 'glib not found.'; exit 1; }
+echo "$_glib"
+
+echo -n "Checking for glib includes ... "
+_glibinc=`glib-config --cflags 2>&1`
+[ -z "$_glibinc" ] && { echo 'glib not found.'; exit 1; }
+echo "done"
+
+echo -n "Checking for glib libs ... "
+_gliblib=`glib-config --libs 2>&1`
+[ -z "$_gliblib" ] && { echo 'glib not found.'; exit 1; }
+echo "done"
+
+cat > Gui/config.mak << EOF
+
+# -------- Generated by ./configure -----------
+
+GTKINC=$_gtkinc
+GTKLIBS=$_gtklib
+GLIBINC=$_glibinc
+GLIBLIBS=$_gliblib
+
+EOF
+
+# --------------- GUI end -------------------
+fi
+
_streamingdef='#undef STREAMING'
if [ $_streaming = yes ]; then
_streamingsrcs='asf_streaming.c network.c url.c http.c'
@@ -1884,6 +1959,12 @@ else
_dga2='#undef HAVE_DGA2'
fi
+if [ "$_xshape" = "yes" ]; then
+ _xshape_def='#define HAVE_XSHAPE'
+else
+ _xshape_def='#undef HAVE_XSHAPE'
+fi
+
if [ $_fbdev = yes ]; then
_fbdev='#define HAVE_FBDEV'
_vosrc=$_vosrc' vo_fbdev.c'
@@ -1892,9 +1973,12 @@ else
fi
if [ $_gui = yes ]; then
- _gui='#define HAVE_GUI'
+# _gui_def='#define HAVE_GUI'
+ _gui_def='#define HAVE_NEW_GUI'
+ _gui_lib='-LGui -lgui $(GTKLIB) $(GLIBLIB)'
else
- _gui='#undef HAVE_GUI'
+ _gui_def='#undef HAVE_GUI'
+ _gui_lib=''
fi
if [ $_divx4linux = yes ]; then
@@ -1961,6 +2045,13 @@ TARGET_3DNOWEX=$_cfg_3dnowex
TARGET_SSE=$_cfg_sse
BINUTILS=$_binutils
+
+# --- GUI stuff ---
+GTKLIB=$_gtklib
+GLIBLIB=$_gliblib
+GUI_LIBS = $_gui_lib
+DEBUG=-DDEBUG
+
EOF
cat > $CCONF << EOF
@@ -2067,7 +2158,7 @@ $_libavcodec
$_fastmemcpy
/* gui support, please do not edit this option */
-$_gui
+$_gui_def
#define PREFIX "$_prefix"
/* Audio lib drivers */
@@ -2155,6 +2246,9 @@ $_svga
$_have_xdpms
$_aa
+/* used by GUI: */
+$_xshape_def
+
#if defined(HAVE_GL)||defined(HAVE_X11)||defined(HAVE_XV)
#define X11_FULLSCREEN
#endif
diff --git a/mplayer.c b/mplayer.c
index 0769745daa..09864612fc 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -462,6 +462,14 @@ int use_stdin=0; //int f; // filedes
mp_msg(MSGT_CPLAYER,MSGL_INFO,"%s",banner_text);
+#ifdef HAVE_NEW_GUI
+// this one segfaults if running 'mplayer' (without path containing '/')
+// if ( !strcmp( strrchr( argv[0],'/' ),"/gmplayer" ) ) appInit( argc,argv,envp );
+ if ( strstr( argv[0],"gmplayer" ) ) appInit( argc,argv,envp );
+
+#endif
+
+
#ifdef HAVE_GUI
if ( nogui ) {
#endif
@@ -560,6 +568,7 @@ if(!parse_codec_cfg(get_path("codecs.conf"))){
load_termcap(NULL); // load key-codes
#endif
+
//========= Catch terminate signals: ================
// terminate requests:
signal(SIGTERM,exit_sighandler); // kill