From 8d100d9fdc79b269c9132ca50690cd096fbc2fd1 Mon Sep 17 00:00:00 2001 From: arpi Date: Sat, 25 Aug 2001 21:05:23 +0000 Subject: [PATCH] GUI support (--enable-gui) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1695 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Makefile | 2 +- configure | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- mplayer.c | 9 +++++ 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 +#include +#include +#include +#include +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