From 17492dca04699c6fea177d5830fe9eb30d2df32b Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Wed, 12 Aug 2009 15:59:15 +0200 Subject: [PATCH] Remove the ShowIntf module. It doesn't make sense when MacOS and Qt gui have a fullscreen controller. --- NEWS | 1 + modules/LIST | 1 - modules/control/Modules.am | 1 - modules/control/showintf.c | 228 ------------------------------------- src/libvlc-module.c | 9 +- src/libvlc.c | 8 +- 6 files changed, 4 insertions(+), 244 deletions(-) delete mode 100644 modules/control/showintf.c diff --git a/NEWS b/NEWS index a602113992..8ca2249e2f 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,7 @@ Visualisation: Removed modules: * csri * galaktos + * showintf Changes between 1.0.0 and 1.0.1: diff --git a/modules/LIST b/modules/LIST index 7b92234caf..484b8df959 100644 --- a/modules/LIST +++ b/modules/LIST @@ -284,7 +284,6 @@ $Id$ * sharpen: Sharpen video filter * shine: MP3 encoder using Shine, a fixed point implementation * shout: Shoutcast services discovery - * showintf: shows the main interface * signals: POSIX signals handling interface * simple_channel_mixer: channel mixer * skins2: Skinnable interface, new generation diff --git a/modules/control/Modules.am b/modules/control/Modules.am index 61d29881a7..62f72bb164 100644 --- a/modules/control/Modules.am +++ b/modules/control/Modules.am @@ -1,6 +1,5 @@ SUBDIRS = http globalhotkeys SOURCES_gestures = gestures.c -SOURCES_showintf = showintf.c SOURCES_telnet = telnet.c SOURCES_netsync = netsync.c SOURCES_ntservice = ntservice.c diff --git a/modules/control/showintf.c b/modules/control/showintf.c deleted file mode 100644 index 2f1149b5f4..0000000000 --- a/modules/control/showintf.c +++ /dev/null @@ -1,228 +0,0 @@ -/***************************************************************************** - * showintf.c: control the display of the interface in fullscreen mode - ***************************************************************************** - * Copyright (C) 2004 the VideoLAN team - * $Id$ - * - * Authors: Olivier Teuliere - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. - *****************************************************************************/ - -/***************************************************************************** - * Preamble - *****************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include -#include - -#ifdef HAVE_UNISTD_H -# include -#endif - -/***************************************************************************** - * intf_sys_t: description and status of interface - *****************************************************************************/ -struct intf_sys_t -{ - vlc_mutex_t lock; - vlc_object_t *p_vout; - bool b_button_pressed; - bool b_triggered; - int i_threshold; -}; - -/***************************************************************************** - * Local prototypes. - *****************************************************************************/ -int Open ( vlc_object_t * ); -void Close( vlc_object_t * ); -static void RunIntf( intf_thread_t *p_intf ); -static int MouseEvent( vlc_object_t *, char const *, - vlc_value_t, vlc_value_t, void * ); - -/***************************************************************************** - * Module descriptor - *****************************************************************************/ -#define THRESHOLD_TEXT N_( "Threshold" ) -#define THRESHOLD_LONGTEXT N_( "Height of the zone triggering the interface." ) - -vlc_module_begin () - set_shortname( "Showintf" ) - set_description( N_("Show interface with mouse") ) - - set_capability( "interface", 0 ) - set_callbacks( Open, Close ) - - set_category( CAT_INTERFACE ) - set_subcategory( SUBCAT_INTERFACE_CONTROL ) - - add_integer( "showintf-threshold", 10, NULL, THRESHOLD_TEXT, THRESHOLD_LONGTEXT, true ) -vlc_module_end () - -/***************************************************************************** - * Open: initialize interface - *****************************************************************************/ -int Open( vlc_object_t *p_this ) -{ - intf_thread_t *p_intf = (intf_thread_t *)p_this; - - /* Allocate instance and initialize some members */ - intf_sys_t *p_sys = p_intf->p_sys = malloc( sizeof( intf_sys_t ) ); - if( p_sys == NULL ) - return VLC_ENOMEM; - - vlc_mutex_init( &p_sys->lock ); - p_sys->p_vout = NULL; - p_sys->b_button_pressed = false; - p_sys->b_triggered = false; - p_sys->i_threshold = config_GetInt( p_intf, "showintf-threshold" ); - - p_intf->pf_run = RunIntf; - - return VLC_SUCCESS; -} - -/***************************************************************************** - * Close: destroy interface - *****************************************************************************/ -void Close( vlc_object_t *p_this ) -{ - intf_thread_t *p_intf = (intf_thread_t *)p_this; - - /* Destroy structure */ - vlc_mutex_destroy( &p_intf->p_sys->lock ); - free( p_intf->p_sys ); -} - - -/***************************************************************************** - * RunIntf: main loop - *****************************************************************************/ -static void RunIntf( intf_thread_t *p_intf ) -{ - int canc = vlc_savecancel( ); - - /* Main loop */ - while( vlc_object_alive( p_intf ) ) - { - vlc_mutex_lock( &p_intf->p_sys->lock ); - - /* Notify the interfaces */ - if( p_intf->p_sys->b_triggered ) - { - var_SetBool( p_intf->p_libvlc, "intf-show", true ); - p_intf->p_sys->b_triggered = false; - } - - vlc_mutex_unlock( &p_intf->p_sys->lock ); - - - /* Take care of the video output */ - if( p_intf->p_sys->p_vout && !vlc_object_alive (p_intf->p_sys->p_vout) ) - { - var_DelCallback( p_intf->p_sys->p_vout, "mouse-moved", - MouseEvent, p_intf ); - var_DelCallback( p_intf->p_sys->p_vout, "mouse-button-down", - MouseEvent, p_intf ); - vlc_object_release( p_intf->p_sys->p_vout ); - p_intf->p_sys->p_vout = NULL; - } - - if( p_intf->p_sys->p_vout == NULL ) - { - p_intf->p_sys->p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT, - FIND_ANYWHERE ); - if( p_intf->p_sys->p_vout ) - { - var_AddCallback( p_intf->p_sys->p_vout, "mouse-moved", - MouseEvent, p_intf ); - var_AddCallback( p_intf->p_sys->p_vout, "mouse-button-down", - MouseEvent, p_intf ); - } - } - - /* Wait a bit */ - msleep( INTF_IDLE_SLEEP ); - } - - if( p_intf->p_sys->p_vout ) - { - var_DelCallback( p_intf->p_sys->p_vout, "mouse-moved", - MouseEvent, p_intf ); - var_DelCallback( p_intf->p_sys->p_vout, "mouse-button-down", - MouseEvent, p_intf ); - vlc_object_release( p_intf->p_sys->p_vout ); - } - vlc_restorecancel( canc ); -} - -/***************************************************************************** - * MouseEvent: callback for mouse events - *****************************************************************************/ -static int MouseEvent( vlc_object_t *p_this, char const *psz_var, - vlc_value_t oldval, vlc_value_t newval, void *p_data ) -{ - VLC_UNUSED(p_this); VLC_UNUSED(oldval); VLC_UNUSED(newval); - - int i_mouse_x, i_mouse_y; - intf_thread_t *p_intf = (intf_thread_t *)p_data; - - /* Do nothing when the interface is already requested */ - if( p_intf->p_sys->b_triggered ) - return VLC_SUCCESS; - - /* Nothing to do when not in fullscreen mode */ - if( !var_GetBool( p_intf->p_sys->p_vout, "fullscreen" ) ) - return VLC_SUCCESS; - - vlc_mutex_lock( &p_intf->p_sys->lock ); - if( !strcmp( psz_var, "mouse-moved" ) && !p_intf->p_sys->b_button_pressed ) - { - i_mouse_x = var_GetInteger( p_intf->p_sys->p_vout, "mouse-x" ); - i_mouse_y = var_GetInteger( p_intf->p_sys->p_vout, "mouse-y" ); - - /* Very basic test, we even ignore the x value :) */ - if ( i_mouse_y < p_intf->p_sys->i_threshold ) - { - msg_Dbg( p_intf, "interface showing requested" ); - p_intf->p_sys->b_triggered = true; - } - } - - /* We keep track of the button state to avoid interferences with the - * gestures plugin */ - if( !p_intf->p_sys->b_button_pressed && - !strcmp( psz_var, "mouse-button-down" ) ) - { - p_intf->p_sys->b_button_pressed = true; - } - if( p_intf->p_sys->b_button_pressed && - !strcmp( psz_var, "mouse-button-down" ) ) - { - p_intf->p_sys->b_button_pressed = false; - } - - vlc_mutex_unlock( &p_intf->p_sys->lock ); - - return VLC_SUCCESS; -} diff --git a/src/libvlc-module.c b/src/libvlc-module.c index a084cffbe6..ca3ba77ac8 100644 --- a/src/libvlc-module.c +++ b/src/libvlc-module.c @@ -210,11 +210,6 @@ static const char *const ppsz_snap_formats[] = "show all available options, including those that most users should " \ "never touch.") -#define SHOWINTF_TEXT N_("Show interface with mouse") -#define SHOWINTF_LONGTEXT N_( \ - "When this is enabled, the interface is shown when you move the mouse to "\ - "the edge of the screen in fullscreen mode." ) - #define INTERACTION_TEXT N_("Interface interaction") #define INTERACTION_LONGTEXT N_( \ "When this is enabled, the interface will show a dialog box each time " \ @@ -2075,9 +2070,7 @@ vlc_module_begin () add_bool( "interact", true, NULL, INTERACTION_TEXT, INTERACTION_LONGTEXT, false ) - add_bool( "show-intf", false, NULL, SHOWINTF_TEXT, SHOWINTF_LONGTEXT, - false ) - change_need_restart () + add_obsolete_bool( "show-intf" ); add_bool ( "stats", true, NULL, STATS_TEXT, STATS_LONGTEXT, true ) change_need_restart () diff --git a/src/libvlc.c b/src/libvlc.c index decd51f753..9dc80c6352 100644 --- a/src/libvlc.c +++ b/src/libvlc.c @@ -945,11 +945,6 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, } #endif - if( config_GetInt( p_libvlc, "show-intf" ) > 0 ) - { - intf_Create( p_libvlc, "showintf,none" ); - } - if( config_GetInt( p_libvlc, "network-synchronisation") > 0 ) { intf_Create( p_libvlc, "netsync,none" ); @@ -986,10 +981,11 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, /* Create volume callback system. */ var_Create( p_libvlc, "volume-change", VLC_VAR_BOOL ); - /* Create a variable for showing the interface (moved from playlist). */ + /* Create a variable for showing the fullscreen interface from hotkeys */ var_Create( p_libvlc, "intf-show", VLC_VAR_BOOL ); var_SetBool( p_libvlc, "intf-show", true ); + /* Create a variable for showing the right click menu */ var_Create( p_libvlc, "intf-popupmenu", VLC_VAR_BOOL ); /* -- 2.39.2