diff --git a/include/common.h b/include/common.h index c5b75728930258ea6976d3f088f465a7e52e8f83..333bd356037b049aaca5c9a035d6c1a1be182de2 100644 --- a/include/common.h +++ b/include/common.h @@ -3,7 +3,7 @@ * Collection of useful common types and macros definitions ***************************************************************************** * Copyright (C) 1998, 1999, 2000 VideoLAN - * $Id: common.h,v 1.84 2002/03/04 23:56:37 massiot Exp $ + * $Id: common.h,v 1.85 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@via.ecp.fr> * Vincent Seguin <seguin@via.ecp.fr> @@ -463,6 +463,7 @@ typedef __int64 off_t; typedef struct module_symbols_s { struct main_s* p_main; + struct module_bank_s* p_module_bank; struct input_bank_s* p_input_bank; struct aout_bank_s* p_aout_bank; struct vout_bank_s* p_vout_bank; @@ -472,8 +473,7 @@ typedef struct module_symbols_s void ( * config_PutIntVariable ) ( const char *, int ); void ( * config_PutPszVariable ) ( const char *, char * ); struct module_config_s * ( * config_FindConfig ) ( const char * ); - struct module_config_s * ( * config_Duplicate ) ( struct module_config_s *, - int ); + struct module_config_s * ( * config_Duplicate ) ( struct module_s * ); struct intf_subscription_s * ( * intf_MsgSub ) ( void ); void ( * intf_MsgUnsub ) ( struct intf_subscription_s * ); diff --git a/include/config.h b/include/config.h index f4aeddaf944b4aea88819bbe2188f150bbbba6b1..729b221fa6d59d17dd582ffcff2e87bfea77f764 100644 --- a/include/config.h +++ b/include/config.h @@ -114,7 +114,7 @@ /* #define AOUT_FORMAT_DEFAULT AOUT_FMT_U16_LE */ /* Volume */ -#define VOLUME_DEFAULT 512 +#define VOLUME_DEFAULT 256 #define VOLUME_STEP 128 #define VOLUME_MAX 1024 @@ -253,138 +253,3 @@ /* Maximal size of the message queue - in case of overflow, all messages in the * queue are printed, but not sent to the threads */ #define INTF_MSG_QSIZE 256 - - -/**************************************************************************** - * Macros for the names of the main options - * Instead of directly manipulating the option names, we define macros for - * them. This makes sense only for the main options (ie. only the ones defined - * in main.c) because they are widely used. - * We won't bother doing this for plugins as plugin specific options should - * by definition be restricted in useage to the plugin that defines them. - * - ****************************************************************************/ - -/* - * Interface option names - */ - -/* Variable containing the display method */ -#define INTF_METHOD_VAR "intf" -/* Variable used to store startup script */ -#define INTF_INIT_SCRIPT_VAR "vlcrc" -/* Default search path for interface file browser */ -#define INTF_PATH_VAR "search_path" -/* Interface warnig message level */ -#define INTF_WARNING_VAR "warning" -/* Variable to enable stats mode */ -#define INTF_STATS_VAR "stats" - -/* - * Audio output option names - */ - -/* Variable to disable the audio output */ -#define AOUT_NOAUDIO_VAR "noaudio" -/* Variable containing the audio output method */ -#define AOUT_METHOD_VAR "aout" -/* Variable for spdif mode */ -#define AOUT_SPDIF_VAR "spdif" -/* Variable for volume */ -#define AOUT_VOLUME_VAR "volume" -/* Variable for mono */ -#define AOUT_MONO_VAR "audio_mono" -/* Variable for output rate */ -#define AOUT_RATE_VAR "audio_rate" -/* Variable for output rate */ -#define AOUT_DESYNC_VAR "audio_desync" - -/* - * Video output option names - */ - -/* Variable to disable the video output */ -#define VOUT_NOVIDEO_VAR "novideo" -/* Variable containing the display method */ -#define VOUT_METHOD_VAR "vout" -/* Variable used in place of DISPLAY if available */ -#define VOUT_DISPLAY_VAR "display" -/* Dimensions for display window */ -#define VOUT_WIDTH_VAR "width" -#define VOUT_HEIGHT_VAR "height" -/* Variable for grayscale output mode */ -#define VOUT_GRAYSCALE_VAR "grayscale" -/* Variable for fullscreen mode */ -#define VOUT_FULLSCREEN_VAR "fullscreen" -/* Variable for overlay mode */ -#define VOUT_NOOVERLAY_VAR "nooverlay" -/* Variable containing the filter method */ -#define VOUT_FILTER_VAR "filter" -/* Variable containing the SPU margin */ -#define VOUT_SPUMARGIN_VAR "spumargin" - -/* - * Input option names - */ - -/* Variable containing the input method */ -#define INPUT_METHOD_VAR "input" -/* Input port */ -#define INPUT_PORT_VAR "server_port" -/* Channels mode */ -#define INPUT_NETWORK_CHANNEL_VAR "network_channel" -/* Variable containing channel server and port */ -#define INPUT_CHANNEL_SERVER_VAR "channel_server" -#define INPUT_CHANNEL_PORT_VAR "channel_port" -/* Variable containing network interface */ -#define INPUT_IFACE_VAR "iface" - -#define INPUT_AUDIO_VAR "input_audio" -#define INPUT_CHANNEL_VAR "input_channel" -#define INPUT_SUBTITLE_VAR "input_subtitle" -/* DVD defaults */ -#define INPUT_DVD_DEVICE_VAR "dvd_device" -/* VCD defaults */ -#define INPUT_VCD_DEVICE_VAR "vcd_device" -/* IPv6, IPv4 */ -#define INPUT_IPV6_VAR "6" -#define INPUT_IPV4_VAR "4" - -/* - * Decoders option names - */ - -/* Variables for audio decoders */ -#define ADEC_MPEG_VAR "mpeg_adec" -#define ADEC_AC3_VAR "ac3_adec" -/* The synchro variable name */ -#define VPAR_SYNCHRO_VAR "vpar_synchro" -/* Variable containing the SMP value */ -#define VDEC_SMP_VAR "vdec_smp" - -/* - * Playlist option names - */ - -/* Launch on start-up */ -#define PLAYLIST_STARTUP_VAR "playlist_on_startup" -/* Enqueue drag'n dropped item */ -#define PLAYLIST_ENQUEUE_VAR "playlist_enqueue" -/* Loop on playlist end */ -#define PLAYLIST_LOOP_VAR "playlist_loop" - -/* - * CPU options - */ -#define NOMMX_VAR "nommx" -#define NO3DN_VAR "no3dn" -#define NOMMXEXT_VAR "nommxext" -#define NOSSE_VAR "nosse" -#define NOALTIVEC_VAR "noaltivec" - -/* - * Misc option names - */ - -/* Variable containing the memcpy method */ -#define MEMCPY_METHOD_VAR "memcpy" diff --git a/include/configuration.h b/include/configuration.h index 3729a325135f4263f786953878cb7c0347f75675..46c22d2e1b5f11feba3313c130f0369a00ea0adf 100644 --- a/include/configuration.h +++ b/include/configuration.h @@ -4,7 +4,7 @@ * It includes functions allowing to declare, get or set configuration options. ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN - * $Id: configuration.h,v 1.1 2002/02/24 20:51:09 gbazin Exp $ + * $Id: configuration.h,v 1.2 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Gildas Bazin <gbazin@netcourrier.com> * @@ -27,29 +27,34 @@ * Macros used to build the configuration structure. *****************************************************************************/ -/* Mandatory last part of the structure */ -#define MODULE_CONFIG_ITEM_END 0x000 /* End of config */ +/* Configuration hint types */ +#define MODULE_CONFIG_HINT_END 0x0001 /* End of config */ +#define MODULE_CONFIG_HINT_CATEGORY 0x0002 /* Start of new category */ +#define MODULE_CONFIG_HINT_SUBCATEGORY 0x0003 /* Start of sub-category */ +#define MODULE_CONFIG_HINT_SUBCATEGORY_END 0x0004 /* End of sub-category */ -/* Configuration widgets */ -#define MODULE_CONFIG_ITEM_CATEGORY 0x0001 /* Start of new category */ -#define MODULE_CONFIG_ITEM_SUBCATEGORY 0x0002 /* Start of sub-category */ -#define MODULE_CONFIG_ITEM_SUBCATEGORY_END 0x0003 /* End of sub-category */ -#define MODULE_CONFIG_ITEM_STRING 0x0004 /* String option */ -#define MODULE_CONFIG_ITEM_FILE 0x0005 /* File option */ -#define MODULE_CONFIG_ITEM_PLUGIN 0x0006 /* Plugin option */ -#define MODULE_CONFIG_ITEM_INTEGER 0x0007 /* Integer option */ -#define MODULE_CONFIG_ITEM_BOOL 0x0008 /* Bool option */ -#define MODULE_CONFIG_ITEM_ALIAS 0x0009 /* Alias option */ +#define MODULE_CONFIG_HINT 0x000F + +/* Configuration item types */ +#define MODULE_CONFIG_ITEM_STRING 0x0010 /* String option */ +#define MODULE_CONFIG_ITEM_FILE 0x0020 /* File option */ +#define MODULE_CONFIG_ITEM_PLUGIN 0x0030 /* Plugin option */ +#define MODULE_CONFIG_ITEM_INTEGER 0x0040 /* Integer option */ +#define MODULE_CONFIG_ITEM_BOOL 0x0050 /* Bool option */ +#define MODULE_CONFIG_ITEM_ALIAS 0x0060 /* Alias option */ + +#define MODULE_CONFIG_ITEM 0x00F0 typedef struct module_config_s { int i_type; /* Configuration type */ - char * psz_name; /* Option name */ - char * psz_text; /* Short comment on the configuration option */ - char * psz_longtext; /* Long comment on the configuration option */ - char * psz_value; /* Option value */ + char *psz_name; /* Option name */ + char *psz_text; /* Short comment on the configuration option */ + char *psz_longtext; /* Long comment on the configuration option */ + char *psz_value; /* Option value */ int i_value; /* Option value */ - void * p_callback; /* Function to call when commiting a change */ + void *p_callback; /* Function to call when commiting a change */ + vlc_mutex_t *p_lock; /* lock to use when modifying the config */ boolean_t b_dirty; /* Dirty flag to indicate a config change */ } module_config_t; @@ -65,8 +70,7 @@ void config_PutIntVariable( const char *psz_name, int i_value ); void config_PutPszVariable( const char *psz_name, char *psz_value ); module_config_t *config_FindConfig( const char *psz_name ); -module_config_t *config_Duplicate ( module_config_t *p_config_orig, - int i_config_options ); +module_config_t *config_Duplicate ( module_t *p_module ); #else # define config_GetIntVariable p_symbols->config_GetIntVariable # define config_PutIntVariable p_symbols->config_PutIntVariable @@ -92,25 +96,29 @@ module_config_t *config_Duplicate ( module_config_t *p_config_orig, static module_config_t p_config[] = { #define MODULE_CONFIG_STOP \ - { MODULE_CONFIG_ITEM_END, NULL, NULL, NULL, NULL, 0, NULL, 0 } }; + { MODULE_CONFIG_HINT_END, NULL, NULL, NULL, NULL, 0, NULL, 0 } }; #define ADD_CATEGORY_HINT( text, longtext ) \ - { MODULE_CONFIG_ITEM_CATEGORY, NULL, text, longtext, NULL, 0, NULL, 0 }, + { MODULE_CONFIG_HINT_CATEGORY, NULL, text, longtext, NULL, 0, NULL, \ + NULL, 0 }, #define ADD_SUBCATEGORY_HINT( text, longtext ) \ - { MODULE_CONFIG_ITEM_SUBCATEGORY, NULL, text, longtext, NULL, 0, NULL, 0 }, + { MODULE_CONFIG_HINT_SUBCATEGORY, NULL, text, longtext, NULL, 0, NULL, \ + NULL, 0 }, #define END_SUBCATEGORY_HINT \ - { MODULE_CONFIG_ITEM_SUBCATEGORY_END, NULL, NULL, NULL, NULL, 0, NULL, 0 }, + { MODULE_CONFIG_HINT_SUBCATEGORY_END, NULL, NULL, NULL, NULL, 0, NULL, \ + NULL, 0 }, #define ADD_STRING( name, value, p_callback, text, longtext ) \ { MODULE_CONFIG_ITEM_STRING, name, text, longtext, value, 0, \ - p_callback, 0 }, + p_callback, NULL, 0 }, #define ADD_FILE( name, psz_value, p_callback, text, longtext ) \ { MODULE_CONFIG_ITEM_FILE, name, text, longtext, psz_value, 0, \ - p_callback, 0 }, + p_callback, NULL, 0 }, #define ADD_PLUGIN( name, i_capability, psz_value, p_callback, text, longtext)\ { MODULE_CONFIG_ITEM_PLUGIN, name, text, longtext, psz_value, \ - i_capability, p_callback, 0 }, + i_capability, p_callback, NULL, 0 }, #define ADD_INTEGER( name, i_value, p_callback, text, longtext ) \ { MODULE_CONFIG_ITEM_INTEGER, name, text, longtext, NULL, i_value, \ - p_callback, 0 }, + p_callback, NULL, 0 }, #define ADD_BOOL( name, p_callback, text, longtext ) \ - { MODULE_CONFIG_ITEM_BOOL, name, text, longtext, NULL, 0, p_callback, 0 }, + { MODULE_CONFIG_ITEM_BOOL, name, text, longtext, NULL, 0, p_callback, \ + NULL, 0 }, diff --git a/include/modules.h b/include/modules.h index 3816f4ecd273a608c8d1415b7f3685553163055c..b6e49da849baebe79821158e8624c6f2224f6bea 100644 --- a/include/modules.h +++ b/include/modules.h @@ -2,7 +2,7 @@ * modules.h : Module management functions. ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: modules.h,v 1.44 2002/03/01 00:33:18 massiot Exp $ + * $Id: modules.h,v 1.45 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -87,7 +87,7 @@ static __inline__ char *GetCapabilityName( unsigned int i_capa ) ***************************************************************************** * This global variable is accessed by any function using modules. *****************************************************************************/ -typedef struct +typedef struct module_bank_s { struct module_s * first; /* First module in the bank */ int i_count; /* Number of allocated modules */ @@ -96,7 +96,11 @@ typedef struct it is to design thread-safe linked lists */ } module_bank_t; +#ifndef PLUGIN extern module_bank_t *p_module_bank; +#else +# define p_module_bank (p_symbols->p_module_bank) +#endif /***************************************************************************** * Module description structure @@ -121,8 +125,15 @@ typedef struct module_s u32 i_cpu_capabilities; /* Required CPU capabilities */ struct module_functions_s *p_functions; /* Capability functions */ - struct module_config_s *p_config; /* Module configuration structure */ - int i_config_options; /* number of configuration options */ + + /* + * Variables set by the module to store its config options + */ + struct module_config_s *p_config; /* Module configuration structure */ + struct module_config_s *p_config_orig; /* original module config data */ + vlc_mutex_t config_lock; /* lock used to modify the config */ + int i_config_lines; /* number of configuration lines */ + int i_config_items; /* number of configuration items */ /* * Variables used internally by the module manager diff --git a/include/modules_inner.h b/include/modules_inner.h index f371a4aa32adcee03b09af2b31b6ed5d27daaf92..66db53c2ddfc824c07dcbe25efe816b299a42a2b 100644 --- a/include/modules_inner.h +++ b/include/modules_inner.h @@ -2,7 +2,7 @@ * modules_inner.h : Macros used from within a module. ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: modules_inner.h,v 1.12 2002/02/24 20:51:09 gbazin Exp $ + * $Id: modules_inner.h,v 1.13 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -90,9 +90,19 @@ #define MODULE_INIT_STOP \ STORE_SYMBOLS; \ p_module->pp_shortcuts[ i_shortcut ] = NULL; \ - p_module->i_config_options = sizeof(p_config)/sizeof(module_config_t);\ - p_module->p_config = config_Duplicate( p_config, \ - p_module->i_config_options ); \ + p_module->i_config_items = 0; \ + for( p_module->i_config_lines = 0; \ + p_module->i_config_lines < (sizeof(p_config)/ \ + sizeof(module_config_t)); \ + p_module->i_config_lines++ ) \ + { \ + if( p_config[p_module->i_config_lines].i_type & \ + MODULE_CONFIG_ITEM ) \ + p_module->i_config_items++; \ + } \ + vlc_mutex_init( &p_module->config_lock ); \ + p_module->p_config_orig = p_config; \ + p_module->p_config = config_Duplicate( p_module ); \ if( p_module->p_config == NULL ) \ { \ intf_ErrMsg( MODULE_STRING \ @@ -130,6 +140,7 @@ { \ p_module->p_functions = \ ( module_functions_t * )malloc( sizeof( module_functions_t ) ); \ + p_module->p_config_orig = p_config; \ if( p_module->p_functions == NULL ) \ { \ return( -1 ); \ @@ -148,6 +159,7 @@ #define MODULE_DEACTIVATE_START \ int __VLC_SYMBOL( DeactivateModule )( module_t *p_module ) \ { \ + p_module->p_config_orig = NULL; \ free( p_module->p_functions ); #define MODULE_DEACTIVATE_STOP \ diff --git a/plugins/ac3_spdif/ac3_spdif.c b/plugins/ac3_spdif/ac3_spdif.c index 503b41799a68289a2801cfc8ffc3f85ef3870f00..a91ebc043bfdfb8811df4be2c619c00fbe8edbff 100644 --- a/plugins/ac3_spdif/ac3_spdif.c +++ b/plugins/ac3_spdif/ac3_spdif.c @@ -2,7 +2,7 @@ * ac3_spdif.c: ac3 pass-through to external decoder with enabled soundcard ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: ac3_spdif.c,v 1.18 2002/03/04 01:53:56 stef Exp $ + * $Id: ac3_spdif.c,v 1.19 2002/03/11 07:23:09 gbazin Exp $ * * Authors: St�phane Borel <stef@via.ecp.fr> * Juha Yrjola <jyrjola@cc.hut.fi> @@ -70,7 +70,7 @@ void _M( adec_getfunctions )( function_list_t * p_function_list ) *****************************************************************************/ MODULE_CONFIG_START ADD_CATEGORY_HINT( "Misc Options", NULL ) -ADD_BOOL( AOUT_SPDIF_VAR, NULL, "enable AC3 pass-through mode", NULL ) +ADD_BOOL( "spdif", NULL, "enable AC3 pass-through mode", NULL ) MODULE_CONFIG_STOP MODULE_INIT_START @@ -93,7 +93,7 @@ MODULE_DEACTIVATE_STOP *****************************************************************************/ static int decoder_Probe( u8 *pi_type ) { - return( ( config_GetIntVariable( AOUT_SPDIF_VAR ) + return( ( config_GetIntVariable( "spdif" ) && *pi_type == AC3_AUDIO_ES ) ? 0 : -1 ); } diff --git a/plugins/access/http.c b/plugins/access/http.c index 47144b7c80a2a79a29e169cd87db5ec9927d1943..08b69d320b495edf7371ddc3b6f3a93dbfd629e5 100644 --- a/plugins/access/http.c +++ b/plugins/access/http.c @@ -2,7 +2,7 @@ * http.c: HTTP access plug-in ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: http.c,v 1.2 2002/03/04 23:56:37 massiot Exp $ + * $Id: http.c,v 1.3 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * @@ -230,11 +230,11 @@ static int HTTPOpen( input_thread_t * p_input ) } p_access_data->psz_network = NULL; - if( config_GetIntVariable( INPUT_IPV4_VAR ) ) + if( config_GetIntVariable( "ipv4" ) ) { p_access_data->psz_network = "ipv4"; } - if( config_GetIntVariable( INPUT_IPV6_VAR ) ) + if( config_GetIntVariable( "ipv6" ) ) { p_access_data->psz_network = "ipv6"; } diff --git a/plugins/access/udp.c b/plugins/access/udp.c index 3be691f39c68babaeb61cdbf7ce1524d6227d71b..1d5b667534ca7c5e271a7a8717468bf5e2982258 100644 --- a/plugins/access/udp.c +++ b/plugins/access/udp.c @@ -2,7 +2,7 @@ * udp.c: raw UDP access plug-in ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: udp.c,v 1.2 2002/03/04 23:56:37 massiot Exp $ + * $Id: udp.c,v 1.3 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * @@ -107,11 +107,11 @@ static int UDPOpen( input_thread_t * p_input ) int i_bind_port = 0, i_server_port = 0; network_socket_t socket_desc; - if( config_GetIntVariable( INPUT_IPV4_VAR ) ) + if( config_GetIntVariable( "ipv4" ) ) { psz_network = "ipv4"; } - if( config_GetIntVariable( INPUT_IPV6_VAR ) ) + if( config_GetIntVariable( "ipv6" ) ) { psz_network = "ipv6"; } diff --git a/plugins/directx/vout_directx.c b/plugins/directx/vout_directx.c index 8f12e21814fe60518653b86d7c9ba4761cccbacb..c4a65b65b67d0ff2be442c596a2671da4c7f96cb 100644 --- a/plugins/directx/vout_directx.c +++ b/plugins/directx/vout_directx.c @@ -2,7 +2,7 @@ * vout_directx.c: Windows DirectX video output display method ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: vout_directx.c,v 1.23 2002/02/24 20:51:09 gbazin Exp $ + * $Id: vout_directx.c,v 1.24 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Gildas Bazin <gbazin@netcourrier.com> * @@ -134,7 +134,7 @@ static int vout_Create( vout_thread_t *p_vout ) p_vout->p_sys->b_caps_overlay_clipping = 0; SetRectEmpty( &p_vout->p_sys->rect_display ); p_vout->p_sys->b_using_overlay = - !config_GetIntVariable( VOUT_NOOVERLAY_VAR ); + !config_GetIntVariable( "nooverlay" ); p_vout->p_sys->b_cursor = 1; @@ -157,8 +157,8 @@ static int vout_Create( vout_thread_t *p_vout ) } #if 0 - p_vout->p_sys->i_window_width = config_GetIntVariable( VOUT_WIDTH_VAR ); - p_vout->p_sys->i_window_height = config_GetIntVariable( VOUT_HEIGHT_VAR ); + p_vout->p_sys->i_window_width = config_GetIntVariable( "width" ); + p_vout->p_sys->i_window_height = config_GetIntVariable( "height" ); #endif /* Set locks and condition variables */ diff --git a/plugins/dsp/aout_dsp.c b/plugins/dsp/aout_dsp.c index 1008207925b3acda39616c45deaae7e42608cdf8..d5e423a0dbf750e87e5f39c9e27bb8062d44bbe9 100644 --- a/plugins/dsp/aout_dsp.c +++ b/plugins/dsp/aout_dsp.c @@ -2,7 +2,7 @@ * aout_dsp.c : dsp functions library ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: aout_dsp.c,v 1.25 2002/02/27 18:19:21 sam Exp $ + * $Id: aout_dsp.c,v 1.26 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Michel Kaempf <maxx@via.ecp.fr> * Samuel Hocevar <sam@zoy.org> @@ -236,7 +236,11 @@ static void aout_Play( aout_thread_t *p_aout, byte_t *buffer, int i_size ) { if( p_aout->b_active ) { - write( p_aout->p_sys->i_fd, buffer, i_size ); + int i_tmp; + i_tmp = write( p_aout->p_sys->i_fd, buffer, i_size ); + if( i_tmp < 0 ) + intf_ErrMsg("aout error: %s", strerror(ENOMEM) ); + } } diff --git a/plugins/dvd/dvd_access.c b/plugins/dvd/dvd_access.c index beab8aca32f9d707e0e09fc859e497291a7acec6..db250de87af1db5104c743571a7be32197fcd3ad 100644 --- a/plugins/dvd/dvd_access.c +++ b/plugins/dvd/dvd_access.c @@ -8,7 +8,7 @@ * -dvd_udf to find files ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: dvd_access.c,v 1.5 2002/03/09 16:48:33 stef Exp $ + * $Id: dvd_access.c,v 1.6 2002/03/11 07:23:09 gbazin Exp $ * * Author: St�phane Borel <stef@via.ecp.fr> * @@ -781,7 +781,7 @@ static char * DVDParse( input_thread_t * p_input ) /* no device and no access specified: we probably don't want DVD */ return NULL; } - psz_device = config_GetPszVariable( INPUT_DVD_DEVICE_VAR ); + psz_device = config_GetPszVariable( "dvd_device" ); } /* check block device */ diff --git a/plugins/dvd/dvd_es.c b/plugins/dvd/dvd_es.c index 835c6721c9a359d416eea7be948d3d2702fe6323..4deaa07667c216c575cdd7ad71db01952d1b3fea 100644 --- a/plugins/dvd/dvd_es.c +++ b/plugins/dvd/dvd_es.c @@ -1,7 +1,7 @@ /* dvd_es.c: functions to find and select ES ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: dvd_es.c,v 1.2 2002/03/08 22:58:12 stef Exp $ + * $Id: dvd_es.c,v 1.3 2002/03/11 07:23:09 gbazin Exp $ * * Author: St�phane Borel <stef@via.ecp.fr> * @@ -245,15 +245,15 @@ void DVDLaunchDecoders( input_thread_t * p_input ) if( p_main->b_audio && p_dvd->i_audio_nb > 0 ) { /* For audio: first one if none or a not existing one specified */ - i_audio = config_GetIntVariable( INPUT_CHANNEL_VAR ); + i_audio = config_GetIntVariable( "input_channel" ); if( i_audio <= 0 || i_audio > p_dvd->i_audio_nb ) { - config_PutIntVariable( INPUT_CHANNEL_VAR, 1 ); + config_PutIntVariable( "input_channel", 1 ); i_audio = 1; } - if( config_GetIntVariable( AOUT_SPDIF_VAR ) || - ( config_GetIntVariable( INPUT_AUDIO_VAR ) == + if( config_GetIntVariable( "spdif" ) || + ( config_GetIntVariable( "input_audio" ) == REQUESTED_AC3 ) ) { int i_ac3 = i_audio; @@ -280,10 +280,10 @@ void DVDLaunchDecoders( input_thread_t * p_input ) if( p_main->b_video && p_dvd->i_spu_nb > 0 ) { /* for spu, default is none */ - i_spu = config_GetIntVariable( INPUT_SUBTITLE_VAR ); + i_spu = config_GetIntVariable( "input_subtitle" ); if( i_spu < 0 || i_spu > p_dvd->i_spu_nb ) { - config_PutIntVariable( INPUT_SUBTITLE_VAR, 0 ); + config_PutIntVariable( "input_subtitle", 0 ); i_spu = 0; } if( i_spu > 0 ) diff --git a/plugins/dvdread/input_dvdread.c b/plugins/dvdread/input_dvdread.c index 8e946cd9b4a5c48bd94f6f610eb16bfe673d13fb..984bb1a6925d48f8da9078102b5dc89029629b3b 100644 --- a/plugins/dvdread/input_dvdread.c +++ b/plugins/dvdread/input_dvdread.c @@ -6,7 +6,7 @@ * It depends on: libdvdread for ifo files and block reading. ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: input_dvdread.c,v 1.31 2002/03/06 16:39:37 stef Exp $ + * $Id: input_dvdread.c,v 1.32 2002/03/11 07:23:09 gbazin Exp $ * * Author: St�phane Borel <stef@via.ecp.fr> * @@ -284,7 +284,7 @@ static int DvdReadOpen( struct input_thread_s *p_input ) free( psz_orig ); return -1; } - psz_source = config_GetPszVariable( INPUT_DVD_DEVICE_VAR ); + psz_source = config_GetPszVariable( "dvd_device" ); } if( stat( psz_source, &stat_info ) == -1 ) @@ -1208,16 +1208,16 @@ static void DvdReadLauchDecoders( input_thread_t * p_input ) if( p_main->b_audio ) { /* For audio: first one if none or a not existing one specified */ - int i_audio = config_GetIntVariable( INPUT_CHANNEL_VAR ); + int i_audio = config_GetIntVariable( "input_channel" ); if( i_audio < 0 /*|| i_audio > i_audio_nb*/ ) { - config_PutIntVariable( INPUT_CHANNEL_VAR, 1 ); + config_PutIntVariable( "input_channel", 1 ); i_audio = 1; } if( i_audio > 0/* && i_audio_nb > 0*/ ) { - if( config_GetIntVariable( AOUT_SPDIF_VAR ) || - ( config_GetIntVariable( INPUT_AUDIO_VAR ) == + if( config_GetIntVariable( "spdif" ) || + ( config_GetIntVariable( "input_audio" ) == REQUESTED_AC3 ) ) { int i_ac3 = i_audio; @@ -1244,10 +1244,10 @@ static void DvdReadLauchDecoders( input_thread_t * p_input ) if( p_main->b_video ) { /* for spu, default is none */ - int i_spu = config_GetIntVariable( INPUT_SUBTITLE_VAR ); + int i_spu = config_GetIntVariable( "input_subtitle" ); if( i_spu < 0 /*|| i_spu > i_spu_nb*/ ) { - config_PutIntVariable( INPUT_SUBTITLE_VAR, 0 ); + config_PutIntVariable( "input_subtitle", 0 ); i_spu = 0; } if( i_spu > 0 /*&& i_spu_nb > 0*/ ) diff --git a/plugins/filter/deinterlace.c b/plugins/filter/deinterlace.c index 74afc85dc704cd4770143c6dcca1e2f73890d762..cab0d6226e265957a3d8c367c84d59cf3ef66b4c 100644 --- a/plugins/filter/deinterlace.c +++ b/plugins/filter/deinterlace.c @@ -2,7 +2,7 @@ * deinterlace.c : deinterlacer plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: deinterlace.c,v 1.6 2002/02/24 20:51:09 gbazin Exp $ + * $Id: deinterlace.c,v 1.7 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -125,10 +125,10 @@ static int vout_Create( vout_thread_t *p_vout ) /* Look what method was requested */ if( !(psz_method = psz_method_tmp - = config_GetPszVariable( VOUT_FILTER_VAR )) ) + = config_GetPszVariable( "filter" )) ) { intf_ErrMsg( "vout error: configuration variable %s empty", - VOUT_FILTER_VAR ); + "filter" ); return( 1 ); } @@ -188,8 +188,8 @@ static int vout_Init( vout_thread_t *p_vout ) } /* Try to open the real video output, with half the height our images */ - psz_filter = config_GetPszVariable( VOUT_FILTER_VAR ); - config_PutPszVariable( VOUT_FILTER_VAR, NULL ); + psz_filter = config_GetPszVariable( "filter" ); + config_PutPszVariable( "filter", NULL ); intf_WarnMsg( 1, "filter: spawning the real video output" ); @@ -227,7 +227,7 @@ static int vout_Init( vout_thread_t *p_vout ) break; } - config_PutPszVariable( VOUT_FILTER_VAR, psz_filter ); + config_PutPszVariable( "filter", psz_filter ); if( psz_filter ) free( psz_filter ); /* Everything failed */ diff --git a/plugins/filter/distort.c b/plugins/filter/distort.c index 7c5bc5ee24d97549e7e02c2e10edc22aad67e469..f1b842506e66edd99a6262e4e050439decd13e8c 100644 --- a/plugins/filter/distort.c +++ b/plugins/filter/distort.c @@ -2,7 +2,7 @@ * distort.c : Misc video effects plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: distort.c,v 1.8 2002/02/24 20:51:09 gbazin Exp $ + * $Id: distort.c,v 1.9 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -133,10 +133,10 @@ static int vout_Create( vout_thread_t *p_vout ) /* Look what method was requested */ if( !(psz_method = psz_method_tmp - = config_GetPszVariable( VOUT_FILTER_VAR )) ) + = config_GetPszVariable( "filter" )) ) { intf_ErrMsg( "vout error: configuration variable %s empty", - VOUT_FILTER_VAR ); + "filter" ); return( 1 ); } @@ -183,8 +183,8 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->output.i_aspect = p_vout->render.i_aspect; /* Try to open the real video output */ - psz_filter = config_GetPszVariable( VOUT_FILTER_VAR ); - config_PutPszVariable( VOUT_FILTER_VAR, NULL ); + psz_filter = config_GetPszVariable( "filter" ); + config_PutPszVariable( "filter", NULL ); intf_WarnMsg( 1, "filter: spawning the real video output" ); @@ -193,7 +193,7 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->render.i_width, p_vout->render.i_height, p_vout->render.i_chroma, p_vout->render.i_aspect ); - config_PutPszVariable( VOUT_FILTER_VAR, psz_filter ); + config_PutPszVariable( "filter", psz_filter ); if( psz_filter ) free( psz_filter ); /* Everything failed */ diff --git a/plugins/filter/invert.c b/plugins/filter/invert.c index 0f1f63e78ee478e448b402cf3deef363ddebad09..974dc9e797a1a4e19eac396a2337ad11d23e597d 100644 --- a/plugins/filter/invert.c +++ b/plugins/filter/invert.c @@ -2,7 +2,7 @@ * invert.c : Invert video plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: invert.c,v 1.8 2002/02/24 20:51:09 gbazin Exp $ + * $Id: invert.c,v 1.9 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -135,8 +135,8 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->output.i_aspect = p_vout->render.i_aspect; /* Try to open the real video output */ - psz_filter = config_GetPszVariable( VOUT_FILTER_VAR ); - config_PutPszVariable( VOUT_FILTER_VAR, NULL ); + psz_filter = config_GetPszVariable( "filter" ); + config_PutPszVariable( "filter", NULL ); intf_WarnMsg( 1, "filter: spawning the real video output" ); @@ -145,7 +145,7 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->render.i_width, p_vout->render.i_height, p_vout->render.i_chroma, p_vout->render.i_aspect ); - config_PutPszVariable( VOUT_FILTER_VAR, psz_filter ); + config_PutPszVariable( "filter", psz_filter ); if( psz_filter ) free( psz_filter ); /* Everything failed */ diff --git a/plugins/filter/transform.c b/plugins/filter/transform.c index 67afa00238c8acbbb08dd87da8ad23cae2a59d26..bff2cdb24376244e89f68d03c98c834354d5dcfc 100644 --- a/plugins/filter/transform.c +++ b/plugins/filter/transform.c @@ -2,7 +2,7 @@ * transform.c : transform image plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: transform.c,v 1.7 2002/02/24 20:51:09 gbazin Exp $ + * $Id: transform.c,v 1.8 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -126,10 +126,10 @@ static int vout_Create( vout_thread_t *p_vout ) /* Look what method was requested */ if( !(psz_method = psz_method_tmp - = config_GetPszVariable( VOUT_FILTER_VAR )) ) + = config_GetPszVariable( "filter" )) ) { intf_ErrMsg( "vout error: configuration variable %s empty", - VOUT_FILTER_VAR ); + "filter" ); return( 1 ); } @@ -194,8 +194,8 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->output.i_aspect = p_vout->render.i_aspect; /* Try to open the real video output */ - psz_filter = config_GetPszVariable( VOUT_FILTER_VAR ); - config_PutPszVariable( VOUT_FILTER_VAR, NULL ); + psz_filter = config_GetPszVariable( "filter" ); + config_PutPszVariable( "filter", NULL ); intf_WarnMsg( 1, "filter: spawning the real video output" ); @@ -216,7 +216,7 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->render.i_chroma, p_vout->render.i_aspect ); } - config_PutPszVariable( VOUT_FILTER_VAR, psz_filter ); + config_PutPszVariable( "filter", psz_filter ); if( psz_filter ) free( psz_filter ); /* Everything failed */ diff --git a/plugins/filter/wall.c b/plugins/filter/wall.c index edcd1e80629c1c66ed795f607ca07a455fe9837b..b5bf047b15025e3a1777fb5f86c688894124ed72 100644 --- a/plugins/filter/wall.c +++ b/plugins/filter/wall.c @@ -2,7 +2,7 @@ * wall.c : Wall video plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: wall.c,v 1.14 2002/02/27 03:47:56 sam Exp $ + * $Id: wall.c,v 1.15 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -130,10 +130,10 @@ static int vout_Create( vout_thread_t *p_vout ) /* Look what method was requested */ if( !(psz_method = psz_method_tmp - = config_GetPszVariable( VOUT_FILTER_VAR )) ) + = config_GetPszVariable( "filter" )) ) { intf_ErrMsg( "vout error: configuration variable %s empty", - VOUT_FILTER_VAR ); + "filter" ); return( 1 ); } @@ -283,8 +283,8 @@ static int vout_Init( vout_thread_t *p_vout ) p_vout->output.i_aspect = p_vout->render.i_aspect; /* Try to open the real video output */ - psz_filter = config_GetPszVariable( VOUT_FILTER_VAR ); - config_PutPszVariable( VOUT_FILTER_VAR, NULL ); + psz_filter = config_GetPszVariable( "filter" ); + config_PutPszVariable( "filter", NULL ); intf_WarnMsg( 1, "filter: spawning the real video outputs" ); @@ -339,7 +339,7 @@ static int vout_Init( vout_thread_t *p_vout ) intf_ErrMsg( "vout error: failed to get %ix%i vout threads", p_vout->p_sys->i_col, p_vout->p_sys->i_row ); RemoveAllVout( p_vout ); - config_PutPszVariable( VOUT_FILTER_VAR, psz_filter ); + config_PutPszVariable( "filter", psz_filter ); if( psz_filter ) free( psz_filter ); return 0; } @@ -348,7 +348,7 @@ static int vout_Init( vout_thread_t *p_vout ) } } - config_PutPszVariable( VOUT_FILTER_VAR, psz_filter ); + config_PutPszVariable( "filter", psz_filter ); if( psz_filter ) free( psz_filter ); ALLOCATE_DIRECTBUFFERS( VOUT_MAX_PICTURES ); diff --git a/plugins/ggi/ggi.c b/plugins/ggi/ggi.c index 7847162dfbc2cc00f3e7db080dd46e5decfb7598..96ac8bb85b384437fce1fa46ed74edf700c6e161 100644 --- a/plugins/ggi/ggi.c +++ b/plugins/ggi/ggi.c @@ -2,7 +2,7 @@ * ggi.c : GGI plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: ggi.c,v 1.15 2002/02/24 20:51:09 gbazin Exp $ + * $Id: ggi.c,v 1.16 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * Samuel Hocevar <sam@zoy.org> @@ -396,7 +396,7 @@ static int OpenDisplay( vout_thread_t *p_vout ) } /* Open display */ - psz_display = config_GetPszVariable( VOUT_DISPLAY_VAR ); + psz_display = config_GetPszVariable( "display" ); p_vout->p_sys->p_display = ggiOpen( psz_display, NULL ); if( psz_display ) free( psz_display ); @@ -410,8 +410,8 @@ static int OpenDisplay( vout_thread_t *p_vout ) /* Find most appropriate mode */ p_vout->p_sys->mode.frames = 2; /* 2 buffers */ - p_vout->p_sys->mode.visible.x = config_GetIntVariable( VOUT_WIDTH_VAR ); - p_vout->p_sys->mode.visible.y = config_GetIntVariable( VOUT_HEIGHT_VAR ); + p_vout->p_sys->mode.visible.x = config_GetIntVariable( "width" ); + p_vout->p_sys->mode.visible.y = config_GetIntVariable( "height" ); p_vout->p_sys->mode.virt.x = GGI_AUTO; p_vout->p_sys->mode.virt.y = GGI_AUTO; p_vout->p_sys->mode.size.x = GGI_AUTO; diff --git a/plugins/gtk/gnome.glade b/plugins/gtk/gnome.glade index 794caab5cfa4e71577201a995e9dfa3ef1ef4b2b..21f260567044f832a12dfb210486dfd320448016 100644 --- a/plugins/gtk/gnome.glade +++ b/plugins/gtk/gnome.glade @@ -749,7 +749,7 @@ <last_modification_time>Sat, 19 May 2001 03:13:28 GMT</last_modification_time> </signal> <stock_button>GNOME_STOCK_BUTTON_PREV</stock_button> - <relief>GTK_RELIEF_NONE</relief> + <relief>GTK_RELIEF_NORMAL</relief> <child> <padding>0</padding> <expand>False</expand> @@ -768,7 +768,7 @@ <last_modification_time>Sat, 19 May 2001 03:13:23 GMT</last_modification_time> </signal> <stock_button>GNOME_STOCK_BUTTON_NEXT</stock_button> - <relief>GTK_RELIEF_NONE</relief> + <relief>GTK_RELIEF_NORMAL</relief> <child> <padding>0</padding> <expand>False</expand> @@ -844,7 +844,7 @@ <last_modification_time>Tue, 29 May 2001 13:13:41 GMT</last_modification_time> </signal> <stock_button>GNOME_STOCK_BUTTON_DOWN</stock_button> - <relief>GTK_RELIEF_NONE</relief> + <relief>GTK_RELIEF_NORMAL</relief> <child> <padding>0</padding> <expand>False</expand> @@ -864,7 +864,7 @@ <last_modification_time>Sat, 19 May 2001 03:13:08 GMT</last_modification_time> </signal> <stock_button>GNOME_STOCK_BUTTON_UP</stock_button> - <relief>GTK_RELIEF_NONE</relief> + <relief>GTK_RELIEF_NORMAL</relief> <child> <padding>0</padding> <expand>False</expand> @@ -2814,1793 +2814,6 @@ Henri Fallon <henri@via.ecp.fr> </widget> </widget> -<widget> - <class>GnomeDialog</class> - <name>intf_preferences</name> - <title>Preferences</title> - <type>GTK_WINDOW_TOPLEVEL</type> - <position>GTK_WIN_POS_NONE</position> - <modal>False</modal> - <default_width>450</default_width> - <default_height>350</default_height> - <allow_shrink>True</allow_shrink> - <allow_grow>True</allow_grow> - <auto_shrink>False</auto_shrink> - <auto_close>False</auto_close> - <hide_on_close>False</hide_on_close> - - <widget> - <class>GtkVBox</class> - <child_name>GnomeDialog:vbox</child_name> - <name>preferences_vbox</name> - <border_width>5</border_width> - <homogeneous>False</homogeneous> - <spacing>10</spacing> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkHButtonBox</class> - <child_name>GnomeDialog:action_area</child_name> - <name>preferences_dialog</name> - <layout_style>GTK_BUTTONBOX_END</layout_style> - <spacing>8</spacing> - <child_min_width>85</child_min_width> - <child_min_height>27</child_min_height> - <child_ipad_x>7</child_ipad_x> - <child_ipad_y>0</child_ipad_y> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - <pack>GTK_PACK_END</pack> - </child> - - <widget> - <class>GtkButton</class> - <name>preferences_ok</name> - <can_default>True</can_default> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>GtkPreferencesOk</handler> - <data>"intf_preferences"</data> - <last_modification_time>Sat, 19 May 2001 03:06:57 GMT</last_modification_time> - </signal> - <stock_button>GNOME_STOCK_BUTTON_OK</stock_button> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_apply</name> - <can_default>True</can_default> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>GtkPreferencesApply</handler> - <data>"intf_preferences"</data> - <last_modification_time>Sat, 19 May 2001 03:06:53 GMT</last_modification_time> - </signal> - <stock_button>GNOME_STOCK_BUTTON_APPLY</stock_button> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_cancel</name> - <can_default>True</can_default> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>GtkPreferencesCancel</handler> - <data>"intf_preferences"</data> - <last_modification_time>Sat, 19 May 2001 03:07:05 GMT</last_modification_time> - </signal> - <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button> - </widget> - </widget> - - <widget> - <class>GtkFrame</class> - <name>preferences_frame</name> - <label>Preferences</label> - <label_xalign>0.05</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkNotebook</class> - <name>preferences_notebook</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> - - <widget> - <class>GtkTable</class> - <name>preferences_file_table</name> - <border_width>5</border_width> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GnomeFileEntry</class> - <name>preferences_file_combo</name> - <max_saved>10</max_saved> - <directory>False</directory> - <modal>False</modal> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_file_path_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_file_path_label</name> - <label>Default path: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_file</name> - <label>File</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_disc_table</name> - <border_width>5</border_width> - <rows>2</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GnomeFileEntry</class> - <name>preferences_disc_dvd_combo</name> - <max_saved>10</max_saved> - <directory>False</directory> - <modal>False</modal> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_disc_dvd_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GnomeFileEntry</class> - <name>preferences_file_vcd_combo</name> - <max_saved>10</max_saved> - <directory>False</directory> - <modal>False</modal> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_disc_vcd_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_disc_dvd_label</name> - <label>Default DVD path: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_disc_vcd_label</name> - <label>Default VCD path: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_disc</name> - <label>Disc</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_network_table</name> - <border_width>5</border_width> - <rows>7</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_server_label</name> - <label>Default server: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_network_port_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>1234</value> - <lower>0</lower> - <upper>65535</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_broadcast_label</name> - <label>Broadcast address: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_port_label</name> - <label>Default port: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GnomeEntry</class> - <name>preferences_network_server_combo</name> - <max_saved>10</max_saved> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_network_server_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>vls</text> - </widget> - </widget> - - <widget> - <class>GnomeEntry</class> - <name>preferences_network_broadcast_combo</name> - <max_saved>10</max_saved> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_network_broadcast_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_network_broadcast_checkbutton</name> - <can_focus>True</can_focus> - <label>Broadcast mode</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>preferences_network_ts_radiobutton</name> - <can_focus>True</can_focus> - <label>TS</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>preferences_network_protocol_group</group> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>True</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>preferences_network_rtp_radiobutton</name> - <can_focus>True</can_focus> - <label>RTP</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>preferences_network_protocol_group</group> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>True</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>preferences_network_http_radiobutton</name> - <can_focus>True</can_focus> - <label>HTTP</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>preferences_network_protocol_group</group> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>True</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_protocol_label</name> - <label>Default protocol: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>True</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_network</name> - <label>Network</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_network_interface_table</name> - <border_width>5</border_width> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_interface_label</name> - <label>Default interface: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GnomeEntry</class> - <name>preferences_interface_combo</name> - <max_saved>10</max_saved> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_interface_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_interface</name> - <label>Interface</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_video_table</name> - <border_width>5</border_width> - <rows>7</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_output_label</name> - <label>Default output: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_height</name> - <label>Default height: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_video_height_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>576</value> - <lower>0</lower> - <upper>1600</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_video_width_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>720</value> - <lower>100</lower> - <upper>1600</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_width_label</name> - <label>Default width: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GnomeEntry</class> - <name>preferences_video_output_combo</name> - <max_saved>10</max_saved> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_video_output_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_depth</name> - <label>Default depth:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_video_depth_optionmenu</name> - <can_focus>True</can_focus> - <items>15 bits -16 bits -32 bits -</items> - <initial_choice>1</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_fullscreen_depth</name> - <label>Fullscreen depth:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_video_fullscreen_depth_optionmenu</name> - <can_focus>True</can_focus> - <items>15 bits -16 bits -32 bits -</items> - <initial_choice>2</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_video_fullscreen_checkbutton</name> - <can_focus>True</can_focus> - <label>Fullscreen on play</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_video_grayscale_checkbutton</name> - <can_focus>True</can_focus> - <label>Grayscale</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_gamma_label</name> - <label>Gamma:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>spinbutton4</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>1</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>5</upper> - <step>0.1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_video</name> - <label>Video</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preference_audio_table</name> - <border_width>5</border_width> - <rows>6</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_audio_spdif_checkbutton</name> - <can_focus>True</can_focus> - <label>Spdif output</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_output_label</name> - <label>Default output: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GnomeEntry</class> - <name>preferences_audio_output_combo</name> - <max_saved>10</max_saved> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_audio_output_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_frequency_label</name> - <label>Frequency: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_audio_frequency_optionmenu</name> - <can_focus>True</can_focus> - <items>48000 Hz -44100 Hz -32000 Hz -22050 Hz -</items> - <initial_choice>0</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_quality_label</name> - <label>Quality: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_audio_quality_optionmenu</name> - <can_focus>True</can_focus> - <items>16 bits -8 bits -</items> - <initial_choice>0</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_channels_label</name> - <label>Channels: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_audio_channels_optionmenu</name> - <can_focus>True</can_focus> - <items>Mono -Stereo -</items> - <initial_choice>1</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_device_label</name> - <label>Default device:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GnomeEntry</class> - <name>preferences_audio_device_combo</name> - <max_saved>10</max_saved> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GnomeEntry:entry</child_name> - <name>preferences_audio_device_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_audio</name> - <label>Audio</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preference_playlist_table</name> - <border_width>5</border_width> - <rows>3</rows> - <columns>1</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_playlist_startup_checkbutton</name> - <can_focus>True</can_focus> - <label>Launch on startup</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_playlist_loop_checkbutton</name> - <can_focus>True</can_focus> - <label>Loop on playlist end</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_playlist_enqueue_checkbutton</name> - <can_focus>True</can_focus> - <label>Enqueue as default</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_playlist</name> - <label>Playlist</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_misc_table</name> - <border_width>5</border_width> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkFrame</class> - <name>preferences_misc_associated_files_frame</name> - <sensitive>False</sensitive> - <label>Files associated with vlc</label> - <label_xalign>0.05</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkTable</class> - <name>preferences_misc_associated_table</name> - <rows>4</rows> - <columns>1</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>0</column_spacing> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_ts_checkbutton</name> - <can_focus>True</can_focus> - <label>ts</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_vob_checkbutton</name> - <can_focus>True</can_focus> - <label>vob</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_mp2_checkbutton</name> - <can_focus>True</can_focus> - <label>mp2</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_mpeg_checkbutton</name> - <can_focus>True</can_focus> - <label>mpeg</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkFrame</class> - <name>preferences_misc_message_frame</name> - <label>Messages</label> - <label_xalign>0.05</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkTable</class> - <name>preferences_misc_message_table</name> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>0</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_misc_messages_label</name> - <label>Warning level: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_misc_messages_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_misc</name> - <label>Misc</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - </widget> -</widget> - <widget> <class>GnomeDialog</class> <name>intf_open</name> diff --git a/plugins/gtk/gnome_callbacks.c b/plugins/gtk/gnome_callbacks.c index e9c08254195a682fed521ca2afe7892d13995196..0ec84675017f21defdf1d135ae2f0d11fbccce3e 100644 --- a/plugins/gtk/gnome_callbacks.c +++ b/plugins/gtk/gnome_callbacks.c @@ -87,7 +87,7 @@ void GnomeMenubarPreferencesActivate (GtkMenuItem *menuitem, gpointer user_data) { - GtkPreferencesShow( GTK_WIDGET( menuitem ), NULL, "intf_window" ); + GtkPreferencesActivate( menuitem, "intf_window" ); } diff --git a/plugins/gtk/gnome_interface.c b/plugins/gtk/gnome_interface.c index 74fad977aa69298742377d7869e48757debc799f..bfbaf00566b22b9e53732d1c96a55871c7e70be6 100644 --- a/plugins/gtk/gnome_interface.c +++ b/plugins/gtk/gnome_interface.c @@ -600,7 +600,6 @@ create_intf_window (void) gtk_widget_show (button_title_prev); gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_prev, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, button_title_prev, _("Select previous title"), NULL); - gtk_button_set_relief (GTK_BUTTON (button_title_prev), GTK_RELIEF_NONE); button_title_next = gnome_stock_button (GNOME_STOCK_BUTTON_NEXT); gtk_widget_ref (button_title_next); @@ -608,7 +607,6 @@ create_intf_window (void) (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button_title_next); gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_next, FALSE, FALSE, 0); - gtk_button_set_relief (GTK_BUTTON (button_title_next), GTK_RELIEF_NONE); vseparator1 = gtk_vseparator_new (); gtk_widget_ref (vseparator1); @@ -645,7 +643,6 @@ create_intf_window (void) gtk_widget_show (button_chapter_prev); gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_prev, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, button_chapter_prev, _("Select previous chapter"), NULL); - gtk_button_set_relief (GTK_BUTTON (button_chapter_prev), GTK_RELIEF_NONE); button_chapter_next = gnome_stock_button (GNOME_STOCK_BUTTON_UP); gtk_widget_ref (button_chapter_next); @@ -654,7 +651,6 @@ create_intf_window (void) gtk_widget_show (button_chapter_next); gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_next, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, button_chapter_next, _("Select next chapter"), NULL); - gtk_button_set_relief (GTK_BUTTON (button_chapter_next), GTK_RELIEF_NONE); network_box = gtk_hbox_new (TRUE, 0); gtk_widget_ref (network_box); @@ -2103,965 +2099,6 @@ create_intf_jump (void) return intf_jump; } -GtkWidget* -create_intf_preferences (void) -{ - GtkWidget *intf_preferences; - GtkWidget *preferences_vbox; - GtkWidget *preferences_frame; - GtkWidget *preferences_notebook; - GtkWidget *preferences_file_table; - GtkWidget *preferences_file_combo; - GtkWidget *preferences_file_path_entry; - GtkWidget *preferences_file_path_label; - GtkWidget *preferences_file; - GtkWidget *preferences_disc_table; - GtkWidget *preferences_disc_dvd_combo; - GtkWidget *preferences_disc_dvd_entry; - GtkWidget *preferences_file_vcd_combo; - GtkWidget *preferences_disc_vcd_entry; - GtkWidget *preferences_disc_dvd_label; - GtkWidget *preferences_disc_vcd_label; - GtkWidget *preferences_disc; - GtkWidget *preferences_network_table; - GtkWidget *preferences_network_server_label; - GtkObject *preferences_network_port_spinbutton_adj; - GtkWidget *preferences_network_port_spinbutton; - GtkWidget *preferences_network_broadcast_label; - GtkWidget *preferences_network_port_label; - GtkWidget *preferences_network_server_combo; - GtkWidget *preferences_network_server_entry; - GtkWidget *preferences_network_broadcast_combo; - GtkWidget *preferences_network_broadcast_entry; - GtkWidget *preferences_network_broadcast_checkbutton; - GSList *preferences_network_protocol_group_group = NULL; - GtkWidget *preferences_network_ts_radiobutton; - GtkWidget *preferences_network_rtp_radiobutton; - GtkWidget *preferences_network_http_radiobutton; - GtkWidget *preferences_network_protocol_label; - GtkWidget *preferences_network; - GtkWidget *preferences_network_interface_table; - GtkWidget *preferences_interface_label; - GtkWidget *preferences_interface_combo; - GtkWidget *preferences_interface_entry; - GtkWidget *preferences_interface; - GtkWidget *preferences_video_table; - GtkWidget *preferences_video_output_label; - GtkWidget *preferences_video_height; - GtkObject *preferences_video_height_spinbutton_adj; - GtkWidget *preferences_video_height_spinbutton; - GtkObject *preferences_video_width_spinbutton_adj; - GtkWidget *preferences_video_width_spinbutton; - GtkWidget *preferences_video_width_label; - GtkWidget *preferences_video_output_combo; - GtkWidget *preferences_video_output_entry; - GtkWidget *preferences_video_depth; - GtkWidget *preferences_video_depth_optionmenu; - GtkWidget *preferences_video_depth_optionmenu_menu; - GtkWidget *glade_menuitem; - GtkWidget *preferences_video_fullscreen_depth; - GtkWidget *preferences_video_fullscreen_depth_optionmenu; - GtkWidget *preferences_video_fullscreen_depth_optionmenu_menu; - GtkWidget *preferences_video_fullscreen_checkbutton; - GtkWidget *preferences_video_grayscale_checkbutton; - GtkWidget *preferences_video_gamma_label; - GtkObject *spinbutton4_adj; - GtkWidget *spinbutton4; - GtkWidget *preferences_video; - GtkWidget *preference_audio_table; - GtkWidget *preferences_audio_spdif_checkbutton; - GtkWidget *preferences_audio_output_label; - GtkWidget *preferences_audio_output_combo; - GtkWidget *preferences_audio_output_entry; - GtkWidget *preferences_audio_frequency_label; - GtkWidget *preferences_audio_frequency_optionmenu; - GtkWidget *preferences_audio_frequency_optionmenu_menu; - GtkWidget *preferences_audio_quality_label; - GtkWidget *preferences_audio_quality_optionmenu; - GtkWidget *preferences_audio_quality_optionmenu_menu; - GtkWidget *preferences_audio_channels_label; - GtkWidget *preferences_audio_channels_optionmenu; - GtkWidget *preferences_audio_channels_optionmenu_menu; - GtkWidget *preferences_audio_device_label; - GtkWidget *preferences_audio_device_combo; - GtkWidget *preferences_audio_device_entry; - GtkWidget *preferences_audio; - GtkWidget *preference_playlist_table; - GtkWidget *preferences_playlist_startup_checkbutton; - GtkWidget *preferences_playlist_loop_checkbutton; - GtkWidget *preferences_playlist_enqueue_checkbutton; - GtkWidget *preferences_playlist; - GtkWidget *preferences_misc_table; - GtkWidget *preferences_misc_associated_files_frame; - GtkWidget *preferences_misc_associated_table; - GtkWidget *preferences_misc_ts_checkbutton; - GtkWidget *preferences_misc_vob_checkbutton; - GtkWidget *preferences_misc_mp2_checkbutton; - GtkWidget *preferences_misc_mpeg_checkbutton; - GtkWidget *preferences_misc_message_frame; - GtkWidget *preferences_misc_message_table; - GtkWidget *preferences_misc_messages_label; - GtkObject *preferences_misc_messages_spinbutton_adj; - GtkWidget *preferences_misc_messages_spinbutton; - GtkWidget *preferences_misc; - GtkWidget *preferences_dialog; - GtkWidget *preferences_ok; - GtkWidget *preferences_apply; - GtkWidget *preferences_cancel; - - intf_preferences = gnome_dialog_new (_("Preferences"), NULL); - gtk_object_set_data (GTK_OBJECT (intf_preferences), "intf_preferences", intf_preferences); - gtk_window_set_default_size (GTK_WINDOW (intf_preferences), 450, 350); - gtk_window_set_policy (GTK_WINDOW (intf_preferences), TRUE, TRUE, FALSE); - - preferences_vbox = GNOME_DIALOG (intf_preferences)->vbox; - gtk_object_set_data (GTK_OBJECT (intf_preferences), "preferences_vbox", preferences_vbox); - gtk_widget_show (preferences_vbox); - gtk_container_set_border_width (GTK_CONTAINER (preferences_vbox), 5); - - preferences_frame = gtk_frame_new (_("Preferences")); - gtk_widget_ref (preferences_frame); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_frame", preferences_frame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_frame); - gtk_box_pack_start (GTK_BOX (preferences_vbox), preferences_frame, TRUE, TRUE, 0); - gtk_frame_set_label_align (GTK_FRAME (preferences_frame), 0.05, 0.5); - - preferences_notebook = gtk_notebook_new (); - gtk_widget_ref (preferences_notebook); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_notebook", preferences_notebook, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_notebook); - gtk_container_add (GTK_CONTAINER (preferences_frame), preferences_notebook); - - preferences_file_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_file_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_table", preferences_file_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_file_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_file_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_file_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_file_table), 5); - - preferences_file_combo = gnome_file_entry_new (NULL, NULL); - gtk_widget_ref (preferences_file_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_combo", preferences_file_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_combo); - gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_file_path_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_file_combo)); - gtk_widget_ref (preferences_file_path_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_entry", preferences_file_path_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_path_entry); - - preferences_file_path_label = gtk_label_new (_("Default path: ")); - gtk_widget_ref (preferences_file_path_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_label", preferences_file_path_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_path_label); - gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_path_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_file_path_label), 0, 0.5); - - preferences_file = gtk_label_new (_("File")); - gtk_widget_ref (preferences_file); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file", preferences_file, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 0), preferences_file); - - preferences_disc_table = gtk_table_new (2, 2, FALSE); - gtk_widget_ref (preferences_disc_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_table", preferences_disc_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_disc_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_disc_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_disc_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_disc_table), 5); - - preferences_disc_dvd_combo = gnome_file_entry_new (NULL, NULL); - gtk_widget_ref (preferences_disc_dvd_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_combo", preferences_disc_dvd_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_dvd_combo); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_disc_dvd_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_disc_dvd_combo)); - gtk_widget_ref (preferences_disc_dvd_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_entry", preferences_disc_dvd_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_dvd_entry); - - preferences_file_vcd_combo = gnome_file_entry_new (NULL, NULL); - gtk_widget_ref (preferences_file_vcd_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_vcd_combo", preferences_file_vcd_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_vcd_combo); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_file_vcd_combo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_disc_vcd_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_file_vcd_combo)); - gtk_widget_ref (preferences_disc_vcd_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_entry", preferences_disc_vcd_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_vcd_entry); - - preferences_disc_dvd_label = gtk_label_new (_("Default DVD path: ")); - gtk_widget_ref (preferences_disc_dvd_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_label", preferences_disc_dvd_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_dvd_label); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_disc_dvd_label), 0, 0.5); - - preferences_disc_vcd_label = gtk_label_new (_("Default VCD path: ")); - gtk_widget_ref (preferences_disc_vcd_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_label", preferences_disc_vcd_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_vcd_label); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_vcd_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_disc_vcd_label), 0, 0.5); - - preferences_disc = gtk_label_new (_("Disc")); - gtk_widget_ref (preferences_disc); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc", preferences_disc, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 1), preferences_disc); - - preferences_network_table = gtk_table_new (7, 2, FALSE); - gtk_widget_ref (preferences_network_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_table", preferences_network_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_network_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_network_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_network_table), 5); - - preferences_network_server_label = gtk_label_new (_("Default server: ")); - gtk_widget_ref (preferences_network_server_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_label", preferences_network_server_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_server_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_server_label), 0, 0.5); - - preferences_network_port_spinbutton_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10); - preferences_network_port_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_network_port_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_network_port_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_spinbutton", preferences_network_port_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_port_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_spinbutton, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_broadcast_label = gtk_label_new (_("Broadcast address: ")); - gtk_widget_ref (preferences_network_broadcast_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_label", preferences_network_broadcast_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_label, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_broadcast_label), 0, 0.5); - - preferences_network_port_label = gtk_label_new (_("Default port: ")); - gtk_widget_ref (preferences_network_port_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_label", preferences_network_port_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_port_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_port_label), 0, 0.5); - - preferences_network_server_combo = gnome_entry_new (NULL); - gtk_widget_ref (preferences_network_server_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_combo", preferences_network_server_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_server_combo); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_server_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_network_server_combo)); - gtk_widget_ref (preferences_network_server_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_entry", preferences_network_server_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_server_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_network_server_entry), _("vls")); - - preferences_network_broadcast_combo = gnome_entry_new (NULL); - gtk_widget_ref (preferences_network_broadcast_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_combo", preferences_network_broadcast_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_combo); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_combo, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_broadcast_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_network_broadcast_combo)); - gtk_widget_ref (preferences_network_broadcast_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_entry", preferences_network_broadcast_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_entry); - - preferences_network_broadcast_checkbutton = gtk_check_button_new_with_label (_("Broadcast mode")); - gtk_widget_ref (preferences_network_broadcast_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_checkbutton", preferences_network_broadcast_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_checkbutton, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_ts_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("TS")); - preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_ts_radiobutton)); - gtk_widget_ref (preferences_network_ts_radiobutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_ts_radiobutton", preferences_network_ts_radiobutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_ts_radiobutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_ts_radiobutton, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_SHRINK), 0, 0); - - preferences_network_rtp_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("RTP")); - preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_rtp_radiobutton)); - gtk_widget_ref (preferences_network_rtp_radiobutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_rtp_radiobutton", preferences_network_rtp_radiobutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_rtp_radiobutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_rtp_radiobutton, 1, 2, 5, 6, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_SHRINK), 0, 0); - - preferences_network_http_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("HTTP")); - preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_http_radiobutton)); - gtk_widget_ref (preferences_network_http_radiobutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_http_radiobutton", preferences_network_http_radiobutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_http_radiobutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_http_radiobutton, 1, 2, 6, 7, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_SHRINK), 0, 0); - - preferences_network_protocol_label = gtk_label_new (_("Default protocol: ")); - gtk_widget_ref (preferences_network_protocol_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_protocol_label", preferences_network_protocol_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_protocol_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_protocol_label, 0, 1, 4, 7, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_protocol_label), 0, 0.5); - - preferences_network = gtk_label_new (_("Network")); - gtk_widget_ref (preferences_network); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network", preferences_network, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 2), preferences_network); - - preferences_network_interface_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_network_interface_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_interface_table", preferences_network_interface_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_interface_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_interface_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_network_interface_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_network_interface_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_network_interface_table), 5); - - preferences_interface_label = gtk_label_new (_("Default interface: ")); - gtk_widget_ref (preferences_interface_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_label", preferences_interface_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_label); - gtk_table_attach (GTK_TABLE (preferences_network_interface_table), preferences_interface_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_interface_label), 0, 0.5); - - preferences_interface_combo = gnome_entry_new (NULL); - gtk_widget_ref (preferences_interface_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_combo", preferences_interface_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_combo); - gtk_table_attach (GTK_TABLE (preferences_network_interface_table), preferences_interface_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_interface_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_interface_combo)); - gtk_widget_ref (preferences_interface_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_entry", preferences_interface_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_entry); - - preferences_interface = gtk_label_new (_("Interface")); - gtk_widget_ref (preferences_interface); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface", preferences_interface, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 3), preferences_interface); - - preferences_video_table = gtk_table_new (7, 2, FALSE); - gtk_widget_ref (preferences_video_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_table", preferences_video_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_video_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_video_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_video_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_video_table), 5); - - preferences_video_output_label = gtk_label_new (_("Default output: ")); - gtk_widget_ref (preferences_video_output_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_label", preferences_video_output_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_output_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_output_label), 0, 0.5); - - preferences_video_height = gtk_label_new (_("Default height: ")); - gtk_widget_ref (preferences_video_height); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height", preferences_video_height, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_height); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_height), 0, 0.5); - - preferences_video_height_spinbutton_adj = gtk_adjustment_new (576, 0, 1600, 1, 10, 10); - preferences_video_height_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_height_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_video_height_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height_spinbutton", preferences_video_height_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_height_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height_spinbutton, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_width_spinbutton_adj = gtk_adjustment_new (720, 100, 1600, 1, 10, 10); - preferences_video_width_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_width_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_video_width_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_spinbutton", preferences_video_width_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_width_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_spinbutton, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_width_label = gtk_label_new (_("Default width: ")); - gtk_widget_ref (preferences_video_width_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_label", preferences_video_width_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_width_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_width_label), 0, 0.5); - - preferences_video_output_combo = gnome_entry_new (NULL); - gtk_widget_ref (preferences_video_output_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_combo", preferences_video_output_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_output_combo); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_output_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_video_output_combo)); - gtk_widget_ref (preferences_video_output_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_entry", preferences_video_output_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_output_entry); - - preferences_video_depth = gtk_label_new (_("Default depth:")); - gtk_widget_ref (preferences_video_depth); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth", preferences_video_depth, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_depth); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_depth), 0, 0.5); - - preferences_video_depth_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_video_depth_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth_optionmenu", preferences_video_depth_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_depth_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth_optionmenu, 1, 2, 3, 4, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_video_depth_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("15 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("16 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("32 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_depth_optionmenu), preferences_video_depth_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_depth_optionmenu), 1); - - preferences_video_fullscreen_depth = gtk_label_new (_("Fullscreen depth:")); - gtk_widget_ref (preferences_video_fullscreen_depth); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth", preferences_video_fullscreen_depth, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_fullscreen_depth); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_fullscreen_depth), 0, 0.5); - - preferences_video_fullscreen_depth_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_video_fullscreen_depth_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth_optionmenu", preferences_video_fullscreen_depth_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_fullscreen_depth_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth_optionmenu, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - preferences_video_fullscreen_depth_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("15 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("16 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("32 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), preferences_video_fullscreen_depth_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), 2); - - preferences_video_fullscreen_checkbutton = gtk_check_button_new_with_label (_("Fullscreen on play")); - gtk_widget_ref (preferences_video_fullscreen_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_checkbutton", preferences_video_fullscreen_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_fullscreen_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_checkbutton, 0, 1, 6, 7, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_grayscale_checkbutton = gtk_check_button_new_with_label (_("Grayscale")); - gtk_widget_ref (preferences_video_grayscale_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_grayscale_checkbutton", preferences_video_grayscale_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_grayscale_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_grayscale_checkbutton, 1, 2, 6, 7, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_gamma_label = gtk_label_new (_("Gamma:")); - gtk_widget_ref (preferences_video_gamma_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_gamma_label", preferences_video_gamma_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_gamma_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_gamma_label, 0, 1, 5, 6, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_gamma_label), 0, 0.5); - - spinbutton4_adj = gtk_adjustment_new (0, 0, 5, 0.1, 10, 10); - spinbutton4 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton4_adj), 1, 1); - gtk_widget_ref (spinbutton4); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "spinbutton4", spinbutton4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (spinbutton4); - gtk_table_attach (GTK_TABLE (preferences_video_table), spinbutton4, 1, 2, 5, 6, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_video = gtk_label_new (_("Video")); - gtk_widget_ref (preferences_video); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video", preferences_video, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 4), preferences_video); - - preference_audio_table = gtk_table_new (6, 2, FALSE); - gtk_widget_ref (preference_audio_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_audio_table", preference_audio_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preference_audio_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preference_audio_table); - gtk_container_set_border_width (GTK_CONTAINER (preference_audio_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preference_audio_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preference_audio_table), 5); - - preferences_audio_spdif_checkbutton = gtk_check_button_new_with_label (_("Spdif output")); - gtk_widget_ref (preferences_audio_spdif_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_spdif_checkbutton", preferences_audio_spdif_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_spdif_checkbutton); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_spdif_checkbutton, 0, 2, 5, 6, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_audio_output_label = gtk_label_new (_("Default output: ")); - gtk_widget_ref (preferences_audio_output_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_label", preferences_audio_output_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_output_label); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_output_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_output_label), 0, 0.5); - - preferences_audio_output_combo = gnome_entry_new (NULL); - gtk_widget_ref (preferences_audio_output_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_combo", preferences_audio_output_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_output_combo); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_output_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_audio_output_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_audio_output_combo)); - gtk_widget_ref (preferences_audio_output_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_entry", preferences_audio_output_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_output_entry); - - preferences_audio_frequency_label = gtk_label_new (_("Frequency: ")); - gtk_widget_ref (preferences_audio_frequency_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_label", preferences_audio_frequency_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_frequency_label); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_frequency_label, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_frequency_label), 0, 0.5); - - preferences_audio_frequency_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_audio_frequency_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_optionmenu", preferences_audio_frequency_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_frequency_optionmenu); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_frequency_optionmenu, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_audio_frequency_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("48000 Hz")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("44100 Hz")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("32000 Hz")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("22050 Hz")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_frequency_optionmenu), preferences_audio_frequency_optionmenu_menu); - - preferences_audio_quality_label = gtk_label_new (_("Quality: ")); - gtk_widget_ref (preferences_audio_quality_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_label", preferences_audio_quality_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_quality_label); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_quality_label, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_quality_label), 0, 0.5); - - preferences_audio_quality_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_audio_quality_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_optionmenu", preferences_audio_quality_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_quality_optionmenu); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_quality_optionmenu, 1, 2, 3, 4, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_audio_quality_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("16 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("8 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_quality_optionmenu), preferences_audio_quality_optionmenu_menu); - - preferences_audio_channels_label = gtk_label_new (_("Channels: ")); - gtk_widget_ref (preferences_audio_channels_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_label", preferences_audio_channels_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_channels_label); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_channels_label, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_channels_label), 0, 0.5); - - preferences_audio_channels_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_audio_channels_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_optionmenu", preferences_audio_channels_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_channels_optionmenu); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_channels_optionmenu, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - preferences_audio_channels_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("Mono")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("Stereo")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), preferences_audio_channels_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), 1); - - preferences_audio_device_label = gtk_label_new (_("Default device:")); - gtk_widget_ref (preferences_audio_device_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_label", preferences_audio_device_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_device_label); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_device_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_device_label), 0, 0.5); - - preferences_audio_device_combo = gnome_entry_new (NULL); - gtk_widget_ref (preferences_audio_device_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_combo", preferences_audio_device_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_device_combo); - gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_device_combo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_audio_device_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_audio_device_combo)); - gtk_widget_ref (preferences_audio_device_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_entry", preferences_audio_device_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_device_entry); - - preferences_audio = gtk_label_new (_("Audio")); - gtk_widget_ref (preferences_audio); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio", preferences_audio, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 5), preferences_audio); - - preference_playlist_table = gtk_table_new (3, 1, FALSE); - gtk_widget_ref (preference_playlist_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_playlist_table", preference_playlist_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preference_playlist_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preference_playlist_table); - gtk_container_set_border_width (GTK_CONTAINER (preference_playlist_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preference_playlist_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preference_playlist_table), 5); - - preferences_playlist_startup_checkbutton = gtk_check_button_new_with_label (_("Launch on startup")); - gtk_widget_ref (preferences_playlist_startup_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_startup_checkbutton", preferences_playlist_startup_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_startup_checkbutton); - gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_startup_checkbutton, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_playlist_loop_checkbutton = gtk_check_button_new_with_label (_("Loop on playlist end")); - gtk_widget_ref (preferences_playlist_loop_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_loop_checkbutton", preferences_playlist_loop_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_loop_checkbutton); - gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_loop_checkbutton, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_playlist_enqueue_checkbutton = gtk_check_button_new_with_label (_("Enqueue as default")); - gtk_widget_ref (preferences_playlist_enqueue_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_enqueue_checkbutton", preferences_playlist_enqueue_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_enqueue_checkbutton); - gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_enqueue_checkbutton, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_playlist = gtk_label_new (_("Playlist")); - gtk_widget_ref (preferences_playlist); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist", preferences_playlist, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 6), preferences_playlist); - - preferences_misc_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_misc_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_table", preferences_misc_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_misc_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_misc_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_misc_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_misc_table), 5); - - preferences_misc_associated_files_frame = gtk_frame_new (_("Files associated with vlc")); - gtk_widget_ref (preferences_misc_associated_files_frame); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_files_frame", preferences_misc_associated_files_frame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_associated_files_frame); - gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_associated_files_frame, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_FILL), 0, 0); - gtk_widget_set_sensitive (preferences_misc_associated_files_frame, FALSE); - gtk_frame_set_label_align (GTK_FRAME (preferences_misc_associated_files_frame), 0.05, 0.5); - - preferences_misc_associated_table = gtk_table_new (4, 1, FALSE); - gtk_widget_ref (preferences_misc_associated_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_table", preferences_misc_associated_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_associated_table); - gtk_container_add (GTK_CONTAINER (preferences_misc_associated_files_frame), preferences_misc_associated_table); - - preferences_misc_ts_checkbutton = gtk_check_button_new_with_label (_("ts")); - gtk_widget_ref (preferences_misc_ts_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_ts_checkbutton", preferences_misc_ts_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_ts_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_ts_checkbutton, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_vob_checkbutton = gtk_check_button_new_with_label (_("vob")); - gtk_widget_ref (preferences_misc_vob_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_vob_checkbutton", preferences_misc_vob_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_vob_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_vob_checkbutton, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_mp2_checkbutton = gtk_check_button_new_with_label (_("mp2")); - gtk_widget_ref (preferences_misc_mp2_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mp2_checkbutton", preferences_misc_mp2_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_mp2_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mp2_checkbutton, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_mpeg_checkbutton = gtk_check_button_new_with_label (_("mpeg")); - gtk_widget_ref (preferences_misc_mpeg_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mpeg_checkbutton", preferences_misc_mpeg_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_mpeg_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mpeg_checkbutton, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_message_frame = gtk_frame_new (_("Messages")); - gtk_widget_ref (preferences_misc_message_frame); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_frame", preferences_misc_message_frame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_message_frame); - gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_message_frame, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_FILL), 0, 0); - gtk_frame_set_label_align (GTK_FRAME (preferences_misc_message_frame), 0.05, 0.5); - - preferences_misc_message_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_misc_message_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_table", preferences_misc_message_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_message_table); - gtk_container_add (GTK_CONTAINER (preferences_misc_message_frame), preferences_misc_message_table); - - preferences_misc_messages_label = gtk_label_new (_("Warning level: ")); - gtk_widget_ref (preferences_misc_messages_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_label", preferences_misc_messages_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_messages_label); - gtk_table_attach (GTK_TABLE (preferences_misc_message_table), preferences_misc_messages_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_messages_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); - preferences_misc_messages_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_misc_messages_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_misc_messages_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_spinbutton", preferences_misc_messages_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_messages_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_message_table), preferences_misc_messages_spinbutton, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc = gtk_label_new (_("Misc")); - gtk_widget_ref (preferences_misc); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc", preferences_misc, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 7), preferences_misc); - - preferences_dialog = GNOME_DIALOG (intf_preferences)->action_area; - gtk_object_set_data (GTK_OBJECT (intf_preferences), "preferences_dialog", preferences_dialog); - gtk_widget_show (preferences_dialog); - gtk_button_box_set_layout (GTK_BUTTON_BOX (preferences_dialog), GTK_BUTTONBOX_END); - gtk_button_box_set_spacing (GTK_BUTTON_BOX (preferences_dialog), 8); - - gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_OK); - preferences_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data); - gtk_widget_ref (preferences_ok); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_ok", preferences_ok, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_ok); - GTK_WIDGET_SET_FLAGS (preferences_ok, GTK_CAN_DEFAULT); - - gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_APPLY); - preferences_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data); - gtk_widget_ref (preferences_apply); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_apply", preferences_apply, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_apply); - GTK_WIDGET_SET_FLAGS (preferences_apply, GTK_CAN_DEFAULT); - - gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_CANCEL); - preferences_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data); - gtk_widget_ref (preferences_cancel); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_cancel", preferences_cancel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_cancel); - GTK_WIDGET_SET_FLAGS (preferences_cancel, GTK_CAN_DEFAULT); - - gtk_signal_connect (GTK_OBJECT (preferences_ok), "clicked", - GTK_SIGNAL_FUNC (GtkPreferencesOk), - "intf_preferences"); - gtk_signal_connect (GTK_OBJECT (preferences_apply), "clicked", - GTK_SIGNAL_FUNC (GtkPreferencesApply), - "intf_preferences"); - gtk_signal_connect (GTK_OBJECT (preferences_cancel), "clicked", - GTK_SIGNAL_FUNC (GtkPreferencesCancel), - "intf_preferences"); - - return intf_preferences; -} - GtkWidget* create_intf_open (void) { diff --git a/plugins/gtk/gnome_interface.h b/plugins/gtk/gnome_interface.h index 8c368a9d0005bb17a1e51a7689efd0d22e0a5e8e..ffa3f65fdc36d3ae0e53b7c48872950724bfc36c 100644 --- a/plugins/gtk/gnome_interface.h +++ b/plugins/gtk/gnome_interface.h @@ -11,6 +11,5 @@ GtkWidget* create_intf_disc (void); GtkWidget* create_intf_network (void); GtkWidget* create_intf_playlist (void); GtkWidget* create_intf_jump (void); -GtkWidget* create_intf_preferences (void); GtkWidget* create_intf_open (void); GtkWidget* create_intf_messages (void); diff --git a/plugins/gtk/gtk.glade b/plugins/gtk/gtk.glade index ff2a578de3601fb6503517953325e44e1aac5f5a..24d8266dcca0325fd897d8fa793b485e47f64863 100644 --- a/plugins/gtk/gtk.glade +++ b/plugins/gtk/gtk.glade @@ -2901,1900 +2901,6 @@ Henri Fallon <henri@via.ecp.fr></label> </widget> </widget> -<widget> - <class>GtkDialog</class> - <name>intf_preferences</name> - <title>Preferences</title> - <type>GTK_WINDOW_TOPLEVEL</type> - <position>GTK_WIN_POS_NONE</position> - <modal>False</modal> - <allow_shrink>True</allow_shrink> - <allow_grow>True</allow_grow> - <auto_shrink>False</auto_shrink> - - <widget> - <class>GtkVBox</class> - <child_name>Dialog:vbox</child_name> - <name>dialog-vbox5</name> - <border_width>5</border_width> - <homogeneous>False</homogeneous> - <spacing>5</spacing> - - <widget> - <class>GtkHBox</class> - <child_name>Dialog:action_area</child_name> - <name>dialog-action_area4</name> - <border_width>10</border_width> - <homogeneous>True</homogeneous> - <spacing>5</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - <pack>GTK_PACK_END</pack> - </child> - - <widget> - <class>GtkButton</class> - <name>preferences_ok_button</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>GtkPreferencesOk</handler> - <data>"intf_preferences"</data> - <last_modification_time>Mon, 14 May 2001 21:21:39 GMT</last_modification_time> - </signal> - <label>Ok</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_apply_button</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>GtkPreferencesApply</handler> - <data>"intf_preferences"</data> - <last_modification_time>Mon, 14 May 2001 21:22:10 GMT</last_modification_time> - </signal> - <label>Apply</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_cancel_button</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>GtkPreferencesCancel</handler> - <data>"intf_preferences"</data> - <last_modification_time>Mon, 14 May 2001 21:22:46 GMT</last_modification_time> - </signal> - <label>Cancel</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - </widget> - - <widget> - <class>GtkNotebook</class> - <name>preferences_notebook</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkTable</class> - <name>preferences_file_table</name> - <border_width>5</border_width> - <rows>1</rows> - <columns>3</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_file_path_label</name> - <label>Default path:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCombo</class> - <name>preferences_file_path_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items></items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_file_path_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_file_path_button</name> - <can_focus>True</can_focus> - <label>Browse</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <left_attach>2</left_attach> - <right_attach>3</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_file</name> - <label>File</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_disc_table</name> - <border_width>5</border_width> - <rows>2</rows> - <columns>3</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_disc_vcd_label</name> - <label>Default VCD path</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preference_disc_dvd_label</name> - <label>Default DVD path:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCombo</class> - <name>preferences_disc_dvd_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>/dev/dvd -</items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_disc_dvd_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>/dev/dvd</text> - </widget> - </widget> - - <widget> - <class>GtkCombo</class> - <name>preferences_disc_vcd_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>/dev/cdrom -</items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_disc_vcd_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>/dev/cdrom</text> - </widget> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_disc_dvd_browse_button</name> - <can_focus>True</can_focus> - <label>Browse</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <left_attach>2</left_attach> - <right_attach>3</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>preferences_disc_vcd_browse_button</name> - <can_focus>True</can_focus> - <label>Browse</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <left_attach>2</left_attach> - <right_attach>3</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_disc</name> - <label>Disc</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_network_table</name> - <border_width>5</border_width> - <rows>7</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkCombo</class> - <name>preferences_network_server_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items></items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_network_server_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>vls </text> - </widget> - </widget> - - <widget> - <class>GtkCombo</class> - <name>preferences_network_broadcast_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items></items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_network_broadcast_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_server_label</name> - <label>Default server:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_port_label</name> - <label>Default port:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_network_port_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>1234</value> - <lower>0</lower> - <upper>65535</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_broadcast_label</name> - <label>Broadcast address:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_network_broadcast_checkbutton</name> - <can_focus>True</can_focus> - <label>Broadcast mode</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_network_protocol_label</name> - <label>Default protocol:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>preferences_network_ts_radiobutton</name> - <can_focus>True</can_focus> - <label>TS</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>preferences_network_protocol_group</group> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>preferences_network_rtp_radiobutton</name> - <can_focus>True</can_focus> - <label>RTP</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>preferences_network_protocol_group</group> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>preferences_network_http_radiobutton</name> - <can_focus>True</can_focus> - <label>HTTP</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>preferences_network_protocol_group</group> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_network</name> - <label>Network</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_interface_table</name> - <border_width>5</border_width> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkCombo</class> - <name>preferences_interface_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>Gtk+ -Gnome -</items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_interface_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>Gtk+</text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_interface_label</name> - <label>Default interface:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_interface</name> - <label>Interface</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_video_table</name> - <border_width>5</border_width> - <rows>7</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkCombo</class> - <name>preferences_video_output_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>sdl -xvideo -x11 -</items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_video_output_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>sdl</text> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_output_label</name> - <label>Default output:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_width_label</name> - <label>Default width:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_video_height_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>576</value> - <lower>0</lower> - <upper>1200</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_video_width_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>720</value> - <lower>100</lower> - <upper>1600</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_height_label</name> - <label>Default height:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_depth_optionmenu</name> - <can_focus>True</can_focus> - <items>15 bits -16 bits -32 bits -</items> - <initial_choice>1</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_depth_label</name> - <label>Default depth:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_fullscreen_depth_label</name> - <label>Fullscreen depth:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_video_fullscreen_depth_optionmenu</name> - <can_focus>True</can_focus> - <items>15 bits -16 bits -32 bits -</items> - <initial_choice>2</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_video_gamma_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>1</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>10</upper> - <step>0.1</step> - <page>1</page> - <page_size>1</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_video_gamma_label</name> - <label>Gamma:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_video_fullscreen_checkbutton</name> - <can_focus>True</can_focus> - <label>Fullscreen on play</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_video_grayscale_checkbutton</name> - <can_focus>True</can_focus> - <label>Grayscale</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>6</top_attach> - <bottom_attach>7</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_video</name> - <label>Video</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_audio_table</name> - <border_width>5</border_width> - <rows>6</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_audio_quality_optionmenu</name> - <can_focus>True</can_focus> - <items>8 bits -16 bits -</items> - <initial_choice>1</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_audio_frequency_optionmenu</name> - <can_focus>True</can_focus> - <items>48000 Hz -44100 Hz -</items> - <initial_choice>0</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkOptionMenu</class> - <name>preferences_audio_channels_optionmenu</name> - <can_focus>True</can_focus> - <items>Mono -Stereo -</items> - <initial_choice>1</initial_choice> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_output_label</name> - <label>Default output:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_device_label</name> - <label>Default device:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_quality_label</name> - <label>Quality:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_frequency_label</name> - <label>Frequency:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>preferences_audio_channel_label</name> - <label>Channels:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>4</top_attach> - <bottom_attach>5</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_audio_spdif_checkbutton</name> - <can_focus>True</can_focus> - <label>Spdif output</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>2</right_attach> - <top_attach>5</top_attach> - <bottom_attach>6</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCombo</class> - <name>preferences_audio_output_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>dsp -alsa -</items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_audio_output_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>dsp</text> - </widget> - </widget> - - <widget> - <class>GtkCombo</class> - <name>preferences_audio_device_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>/dev/dsp -</items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>preferences_audio_device_entry</name> - <can_focus>True</can_focus> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>/dev/dsp</text> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_audio</name> - <label>Audio</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_playlist_table</name> - <border_width>5</border_width> - <rows>3</rows> - <columns>1</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_playlist_startup_checkbutton</name> - <can_focus>True</can_focus> - <label>Launch on startup</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_playlist_enqueue_checkbutton</name> - <can_focus>True</can_focus> - <label>Enqueue as default</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_playlist_loop_checkbutton</name> - <can_focus>True</can_focus> - <label>Loop on playlist end</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>True</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_playlist</name> - <label>Playlist</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkTable</class> - <name>preferences_misc_table</name> - <border_width>5</border_width> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>5</row_spacing> - <column_spacing>5</column_spacing> - - <widget> - <class>GtkFrame</class> - <name>preferences_misc_associated_frame</name> - <label>Types associated with vlc</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkTable</class> - <name>preferences_misc_associated_table</name> - <rows>4</rows> - <columns>1</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>0</column_spacing> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_associated_checkbutton</name> - <can_focus>True</can_focus> - <label>mpeg</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_mp2_checkbutton</name> - <can_focus>True</can_focus> - <label>mp2</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_vob_checkbutton</name> - <can_focus>True</can_focus> - <label>vob</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>preferences_misc_ts_checkbutton</name> - <can_focus>True</can_focus> - <label>ts</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>3</top_attach> - <bottom_attach>4</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkFrame</class> - <name>preferences_misc_message_frame</name> - <label>Messages</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkTable</class> - <name>preferences_misc_messages_table</name> - <rows>1</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>0</column_spacing> - - <widget> - <class>GtkLabel</class> - <name>preferences_misc_messages_label</name> - <label>Warning level: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>preferences_misc_messages_spinbutton</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences_misc</name> - <label>Misc</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> -</widget> - <widget> <class>GtkDialog</class> <name>intf_messages</name> diff --git a/plugins/gtk/gtk_display.c b/plugins/gtk/gtk_display.c index 96fdc442a6306f42d8bed38f6e1b8bfa2f6bba7f..aac18bd3d142aaed25491a307edbaa4239ef4cb8 100644 --- a/plugins/gtk/gtk_display.c +++ b/plugins/gtk/gtk_display.c @@ -2,7 +2,7 @@ * gtk_display.c: Gtk+ tools for main interface ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN - * $Id: gtk_display.c,v 1.18 2002/03/06 01:20:56 stef Exp $ + * $Id: gtk_display.c,v 1.19 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * St�phane Borel <stef@via.ecp.fr> @@ -147,7 +147,7 @@ gint GtkModeManage( intf_thread_t * p_intf ) p_input_bank->pp_input[0]->psz_source ); p_channel = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_window ), "network_channel_box" ) ); - if( config_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR ) ) + if( config_GetIntVariable( "network_channel" ) ) { gtk_widget_show( GTK_WIDGET( p_channel ) ); } @@ -193,7 +193,7 @@ gint GtkModeManage( intf_thread_t * p_intf ) } else { - if( config_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR ) ) + if( config_GetIntVariable( "network_channel" ) ) { gtk_widget_show( GTK_WIDGET( p_network_box ) ); diff --git a/plugins/gtk/gtk_interface.c b/plugins/gtk/gtk_interface.c index 8cd01fd669eff202ef0bd7676a6918543b69dbf3..b57860492284c65c882427638da43be9e0591815 100644 --- a/plugins/gtk/gtk_interface.c +++ b/plugins/gtk/gtk_interface.c @@ -2304,1009 +2304,6 @@ create_intf_playlist (void) return intf_playlist; } -GtkWidget* -create_intf_preferences (void) -{ - GtkWidget *intf_preferences; - GtkWidget *dialog_vbox5; - GtkWidget *preferences_notebook; - GtkWidget *preferences_file_table; - GtkWidget *preferences_file_path_label; - GtkWidget *preferences_file_path_combo; - GtkWidget *preferences_file_path_entry; - GtkWidget *preferences_file_path_button; - GtkWidget *preferences_file; - GtkWidget *preferences_disc_table; - GtkWidget *preferences_disc_vcd_label; - GtkWidget *preference_disc_dvd_label; - GtkWidget *preferences_disc_dvd_combo; - GList *preferences_disc_dvd_combo_items = NULL; - GtkWidget *preferences_disc_dvd_entry; - GtkWidget *preferences_disc_vcd_combo; - GList *preferences_disc_vcd_combo_items = NULL; - GtkWidget *preferences_disc_vcd_entry; - GtkWidget *preferences_disc_dvd_browse_button; - GtkWidget *preferences_disc_vcd_browse_button; - GtkWidget *preferences_disc; - GtkWidget *preferences_network_table; - GtkWidget *preferences_network_server_combo; - GtkWidget *preferences_network_server_entry; - GtkWidget *preferences_network_broadcast_combo; - GtkWidget *preferences_network_broadcast_entry; - GtkWidget *preferences_network_server_label; - GtkWidget *preferences_network_port_label; - GtkObject *preferences_network_port_spinbutton_adj; - GtkWidget *preferences_network_port_spinbutton; - GtkWidget *preferences_network_broadcast_label; - GtkWidget *preferences_network_broadcast_checkbutton; - GtkWidget *preferences_network_protocol_label; - GSList *preferences_network_protocol_group_group = NULL; - GtkWidget *preferences_network_ts_radiobutton; - GtkWidget *preferences_network_rtp_radiobutton; - GtkWidget *preferences_network_http_radiobutton; - GtkWidget *preferences_network; - GtkWidget *preferences_interface_table; - GtkWidget *preferences_interface_combo; - GList *preferences_interface_combo_items = NULL; - GtkWidget *preferences_interface_entry; - GtkWidget *preferences_interface_label; - GtkWidget *preferences_interface; - GtkWidget *preferences_video_table; - GtkWidget *preferences_video_output_combo; - GList *preferences_video_output_combo_items = NULL; - GtkWidget *preferences_video_output_entry; - GtkWidget *preferences_video_output_label; - GtkWidget *preferences_video_width_label; - GtkObject *preferences_video_height_spinbutton_adj; - GtkWidget *preferences_video_height_spinbutton; - GtkObject *preferences_video_width_spinbutton_adj; - GtkWidget *preferences_video_width_spinbutton; - GtkWidget *preferences_video_height_label; - GtkWidget *preferences_depth_optionmenu; - GtkWidget *preferences_depth_optionmenu_menu; - GtkWidget *glade_menuitem; - GtkWidget *preferences_video_depth_label; - GtkWidget *preferences_video_fullscreen_depth_label; - GtkWidget *preferences_video_fullscreen_depth_optionmenu; - GtkWidget *preferences_video_fullscreen_depth_optionmenu_menu; - GtkObject *preferences_video_gamma_spinbutton_adj; - GtkWidget *preferences_video_gamma_spinbutton; - GtkWidget *preferences_video_gamma_label; - GtkWidget *preferences_video_fullscreen_checkbutton; - GtkWidget *preferences_video_grayscale_checkbutton; - GtkWidget *preferences_video; - GtkWidget *preferences_audio_table; - GtkWidget *preferences_audio_quality_optionmenu; - GtkWidget *preferences_audio_quality_optionmenu_menu; - GtkWidget *preferences_audio_frequency_optionmenu; - GtkWidget *preferences_audio_frequency_optionmenu_menu; - GtkWidget *preferences_audio_channels_optionmenu; - GtkWidget *preferences_audio_channels_optionmenu_menu; - GtkWidget *preferences_audio_output_label; - GtkWidget *preferences_audio_device_label; - GtkWidget *preferences_audio_quality_label; - GtkWidget *preferences_audio_frequency_label; - GtkWidget *preferences_audio_channel_label; - GtkWidget *preferences_audio_spdif_checkbutton; - GtkWidget *preferences_audio_output_combo; - GList *preferences_audio_output_combo_items = NULL; - GtkWidget *preferences_audio_output_entry; - GtkWidget *preferences_audio_device_combo; - GList *preferences_audio_device_combo_items = NULL; - GtkWidget *preferences_audio_device_entry; - GtkWidget *preferences_audio; - GtkWidget *preferences_playlist_table; - GtkWidget *preferences_playlist_startup_checkbutton; - GtkWidget *preferences_playlist_enqueue_checkbutton; - GtkWidget *preferences_playlist_loop_checkbutton; - GtkWidget *preferences_playlist; - GtkWidget *preferences_misc_table; - GtkWidget *preferences_misc_associated_frame; - GtkWidget *preferences_misc_associated_table; - GtkWidget *preferences_misc_associated_checkbutton; - GtkWidget *preferences_misc_mp2_checkbutton; - GtkWidget *preferences_misc_vob_checkbutton; - GtkWidget *preferences_misc_ts_checkbutton; - GtkWidget *preferences_misc_message_frame; - GtkWidget *preferences_misc_messages_table; - GtkWidget *preferences_misc_messages_label; - GtkObject *preferences_misc_messages_spinbutton_adj; - GtkWidget *preferences_misc_messages_spinbutton; - GtkWidget *preferences_misc; - GtkWidget *dialog_action_area4; - GtkWidget *preferences_ok_button; - GtkWidget *preferences_apply_button; - GtkWidget *preferences_cancel_button; - - intf_preferences = gtk_dialog_new (); - gtk_object_set_data (GTK_OBJECT (intf_preferences), "intf_preferences", intf_preferences); - gtk_window_set_title (GTK_WINDOW (intf_preferences), _("Preferences")); - gtk_window_set_policy (GTK_WINDOW (intf_preferences), TRUE, TRUE, FALSE); - - dialog_vbox5 = GTK_DIALOG (intf_preferences)->vbox; - gtk_object_set_data (GTK_OBJECT (intf_preferences), "dialog_vbox5", dialog_vbox5); - gtk_widget_show (dialog_vbox5); - gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox5), 5); - - preferences_notebook = gtk_notebook_new (); - gtk_widget_ref (preferences_notebook); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_notebook", preferences_notebook, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_notebook); - gtk_box_pack_start (GTK_BOX (dialog_vbox5), preferences_notebook, TRUE, TRUE, 0); - - preferences_file_table = gtk_table_new (1, 3, FALSE); - gtk_widget_ref (preferences_file_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_table", preferences_file_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_file_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_file_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_file_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_file_table), 5); - - preferences_file_path_label = gtk_label_new (_("Default path:")); - gtk_widget_ref (preferences_file_path_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_label", preferences_file_path_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_path_label); - gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_path_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_file_path_label), 0, 0.5); - - preferences_file_path_combo = gtk_combo_new (); - gtk_widget_ref (preferences_file_path_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_combo", preferences_file_path_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_path_combo); - gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_path_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_file_path_entry = GTK_COMBO (preferences_file_path_combo)->entry; - gtk_widget_ref (preferences_file_path_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_entry", preferences_file_path_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_path_entry); - - preferences_file_path_button = gtk_button_new_with_label (_("Browse")); - gtk_widget_ref (preferences_file_path_button); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_button", preferences_file_path_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file_path_button); - gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_path_button, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_file = gtk_label_new (_("File")); - gtk_widget_ref (preferences_file); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file", preferences_file, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_file); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 0), preferences_file); - - preferences_disc_table = gtk_table_new (2, 3, FALSE); - gtk_widget_ref (preferences_disc_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_table", preferences_disc_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_disc_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_disc_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_disc_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_disc_table), 5); - - preferences_disc_vcd_label = gtk_label_new (_("Default VCD path")); - gtk_widget_ref (preferences_disc_vcd_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_label", preferences_disc_vcd_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_vcd_label); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_vcd_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_disc_vcd_label), 0, 0.5); - - preference_disc_dvd_label = gtk_label_new (_("Default DVD path:")); - gtk_widget_ref (preference_disc_dvd_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_disc_dvd_label", preference_disc_dvd_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preference_disc_dvd_label); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preference_disc_dvd_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preference_disc_dvd_label), 0, 0.5); - - preferences_disc_dvd_combo = gtk_combo_new (); - gtk_widget_ref (preferences_disc_dvd_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_combo", preferences_disc_dvd_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_dvd_combo); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_disc_dvd_combo_items = g_list_append (preferences_disc_dvd_combo_items, (gpointer) DVD_DEVICE); - gtk_combo_set_popdown_strings (GTK_COMBO (preferences_disc_dvd_combo), preferences_disc_dvd_combo_items); - g_list_free (preferences_disc_dvd_combo_items); - - preferences_disc_dvd_entry = GTK_COMBO (preferences_disc_dvd_combo)->entry; - gtk_widget_ref (preferences_disc_dvd_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_entry", preferences_disc_dvd_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_dvd_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_disc_dvd_entry), DVD_DEVICE); - - preferences_disc_vcd_combo = gtk_combo_new (); - gtk_widget_ref (preferences_disc_vcd_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_combo", preferences_disc_vcd_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_vcd_combo); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_vcd_combo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_disc_vcd_combo_items = g_list_append (preferences_disc_vcd_combo_items, (gpointer) _("/dev/cdrom")); - gtk_combo_set_popdown_strings (GTK_COMBO (preferences_disc_vcd_combo), preferences_disc_vcd_combo_items); - g_list_free (preferences_disc_vcd_combo_items); - - preferences_disc_vcd_entry = GTK_COMBO (preferences_disc_vcd_combo)->entry; - gtk_widget_ref (preferences_disc_vcd_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_entry", preferences_disc_vcd_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_vcd_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_disc_vcd_entry), _("/dev/cdrom")); - - preferences_disc_dvd_browse_button = gtk_button_new_with_label (_("Browse")); - gtk_widget_ref (preferences_disc_dvd_browse_button); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_browse_button", preferences_disc_dvd_browse_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_dvd_browse_button); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_browse_button, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_disc_vcd_browse_button = gtk_button_new_with_label (_("Browse")); - gtk_widget_ref (preferences_disc_vcd_browse_button); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_browse_button", preferences_disc_vcd_browse_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc_vcd_browse_button); - gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_vcd_browse_button, 2, 3, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_disc = gtk_label_new (_("Disc")); - gtk_widget_ref (preferences_disc); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc", preferences_disc, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_disc); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 1), preferences_disc); - - preferences_network_table = gtk_table_new (7, 2, FALSE); - gtk_widget_ref (preferences_network_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_table", preferences_network_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_network_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_network_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_network_table), 5); - - preferences_network_server_combo = gtk_combo_new (); - gtk_widget_ref (preferences_network_server_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_combo", preferences_network_server_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_server_combo); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_server_entry = GTK_COMBO (preferences_network_server_combo)->entry; - gtk_widget_ref (preferences_network_server_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_entry", preferences_network_server_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_server_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_network_server_entry), _("vls ")); - - preferences_network_broadcast_combo = gtk_combo_new (); - gtk_widget_ref (preferences_network_broadcast_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_combo", preferences_network_broadcast_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_combo); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_combo, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_broadcast_entry = GTK_COMBO (preferences_network_broadcast_combo)->entry; - gtk_widget_ref (preferences_network_broadcast_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_entry", preferences_network_broadcast_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_entry); - - preferences_network_server_label = gtk_label_new (_("Default server:")); - gtk_widget_ref (preferences_network_server_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_label", preferences_network_server_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_server_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_server_label), 0, 0.5); - - preferences_network_port_label = gtk_label_new (_("Default port:")); - gtk_widget_ref (preferences_network_port_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_label", preferences_network_port_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_port_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_port_label), 0, 0.5); - - preferences_network_port_spinbutton_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10); - preferences_network_port_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_network_port_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_network_port_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_spinbutton", preferences_network_port_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_port_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_spinbutton, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_broadcast_label = gtk_label_new (_("Broadcast address:")); - gtk_widget_ref (preferences_network_broadcast_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_label", preferences_network_broadcast_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_label, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_broadcast_label), 0, 0.5); - - preferences_network_broadcast_checkbutton = gtk_check_button_new_with_label (_("Broadcast mode")); - gtk_widget_ref (preferences_network_broadcast_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_checkbutton", preferences_network_broadcast_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_broadcast_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_checkbutton, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_protocol_label = gtk_label_new (_("Default protocol:")); - gtk_widget_ref (preferences_network_protocol_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_protocol_label", preferences_network_protocol_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_protocol_label); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_protocol_label, 0, 1, 4, 7, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_network_protocol_label), 0, 0.5); - - preferences_network_ts_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("TS")); - preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_ts_radiobutton)); - gtk_widget_ref (preferences_network_ts_radiobutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_ts_radiobutton", preferences_network_ts_radiobutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_ts_radiobutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_ts_radiobutton, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_rtp_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("RTP")); - preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_rtp_radiobutton)); - gtk_widget_ref (preferences_network_rtp_radiobutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_rtp_radiobutton", preferences_network_rtp_radiobutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_rtp_radiobutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_rtp_radiobutton, 1, 2, 5, 6, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network_http_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("HTTP")); - preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_http_radiobutton)); - gtk_widget_ref (preferences_network_http_radiobutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_http_radiobutton", preferences_network_http_radiobutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network_http_radiobutton); - gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_http_radiobutton, 1, 2, 6, 7, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_network = gtk_label_new (_("Network")); - gtk_widget_ref (preferences_network); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network", preferences_network, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_network); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 2), preferences_network); - - preferences_interface_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_interface_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_table", preferences_interface_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_interface_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_interface_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_interface_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_interface_table), 5); - - preferences_interface_combo = gtk_combo_new (); - gtk_widget_ref (preferences_interface_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_combo", preferences_interface_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_combo); - gtk_table_attach (GTK_TABLE (preferences_interface_table), preferences_interface_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_interface_combo_items = g_list_append (preferences_interface_combo_items, (gpointer) _("Gtk+")); - preferences_interface_combo_items = g_list_append (preferences_interface_combo_items, (gpointer) _("Gnome")); - gtk_combo_set_popdown_strings (GTK_COMBO (preferences_interface_combo), preferences_interface_combo_items); - g_list_free (preferences_interface_combo_items); - - preferences_interface_entry = GTK_COMBO (preferences_interface_combo)->entry; - gtk_widget_ref (preferences_interface_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_entry", preferences_interface_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_interface_entry), _("Gtk+")); - - preferences_interface_label = gtk_label_new (_("Default interface:")); - gtk_widget_ref (preferences_interface_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_label", preferences_interface_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface_label); - gtk_table_attach (GTK_TABLE (preferences_interface_table), preferences_interface_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_interface_label), 0, 0.5); - - preferences_interface = gtk_label_new (_("Interface")); - gtk_widget_ref (preferences_interface); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface", preferences_interface, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_interface); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 3), preferences_interface); - - preferences_video_table = gtk_table_new (7, 2, FALSE); - gtk_widget_ref (preferences_video_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_table", preferences_video_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_video_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_video_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_video_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_video_table), 5); - - preferences_video_output_combo = gtk_combo_new (); - gtk_widget_ref (preferences_video_output_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_combo", preferences_video_output_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_output_combo); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_video_output_combo_items = g_list_append (preferences_video_output_combo_items, (gpointer) _("sdl")); - preferences_video_output_combo_items = g_list_append (preferences_video_output_combo_items, (gpointer) _("xvideo")); - preferences_video_output_combo_items = g_list_append (preferences_video_output_combo_items, (gpointer) _("x11")); - gtk_combo_set_popdown_strings (GTK_COMBO (preferences_video_output_combo), preferences_video_output_combo_items); - g_list_free (preferences_video_output_combo_items); - - preferences_video_output_entry = GTK_COMBO (preferences_video_output_combo)->entry; - gtk_widget_ref (preferences_video_output_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_entry", preferences_video_output_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_output_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_video_output_entry), _("sdl")); - - preferences_video_output_label = gtk_label_new (_("Default output:")); - gtk_widget_ref (preferences_video_output_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_label", preferences_video_output_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_output_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_output_label), 0, 0.5); - - preferences_video_width_label = gtk_label_new (_("Default width:")); - gtk_widget_ref (preferences_video_width_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_label", preferences_video_width_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_width_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_width_label), 0, 0.5); - - preferences_video_height_spinbutton_adj = gtk_adjustment_new (576, 0, 1200, 1, 10, 10); - preferences_video_height_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_height_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_video_height_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height_spinbutton", preferences_video_height_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_height_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height_spinbutton, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_width_spinbutton_adj = gtk_adjustment_new (720, 100, 1600, 1, 10, 10); - preferences_video_width_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_width_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_video_width_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_spinbutton", preferences_video_width_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_width_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_spinbutton, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_height_label = gtk_label_new (_("Default height:")); - gtk_widget_ref (preferences_video_height_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height_label", preferences_video_height_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_height_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height_label, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_height_label), 0, 0.5); - - preferences_depth_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_depth_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_depth_optionmenu", preferences_depth_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_depth_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_depth_optionmenu, 1, 2, 3, 4, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_depth_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("15 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("16 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("32 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_depth_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_depth_optionmenu), preferences_depth_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_depth_optionmenu), 1); - - preferences_video_depth_label = gtk_label_new (_("Default depth:")); - gtk_widget_ref (preferences_video_depth_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth_label", preferences_video_depth_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_depth_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth_label, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_depth_label), 0, 0.5); - - preferences_video_fullscreen_depth_label = gtk_label_new (_("Fullscreen depth:")); - gtk_widget_ref (preferences_video_fullscreen_depth_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth_label", preferences_video_fullscreen_depth_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_fullscreen_depth_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth_label, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_fullscreen_depth_label), 0, 0.5); - - preferences_video_fullscreen_depth_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_video_fullscreen_depth_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth_optionmenu", preferences_video_fullscreen_depth_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_fullscreen_depth_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth_optionmenu, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_video_fullscreen_depth_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("15 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("16 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("32 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), preferences_video_fullscreen_depth_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), 2); - - preferences_video_gamma_spinbutton_adj = gtk_adjustment_new (0, 0, 10, 0.1, 1, 1); - preferences_video_gamma_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_gamma_spinbutton_adj), 1, 1); - gtk_widget_ref (preferences_video_gamma_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_gamma_spinbutton", preferences_video_gamma_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_gamma_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_gamma_spinbutton, 1, 2, 5, 6, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_gamma_label = gtk_label_new (_("Gamma:")); - gtk_widget_ref (preferences_video_gamma_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_gamma_label", preferences_video_gamma_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_gamma_label); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_gamma_label, 0, 1, 5, 6, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_video_gamma_label), 0, 0.5); - - preferences_video_fullscreen_checkbutton = gtk_check_button_new_with_label (_("Fullscreen on play")); - gtk_widget_ref (preferences_video_fullscreen_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_checkbutton", preferences_video_fullscreen_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_fullscreen_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_checkbutton, 0, 1, 6, 7, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video_grayscale_checkbutton = gtk_check_button_new_with_label (_("Grayscale")); - gtk_widget_ref (preferences_video_grayscale_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_grayscale_checkbutton", preferences_video_grayscale_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video_grayscale_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_grayscale_checkbutton, 1, 2, 6, 7, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_video = gtk_label_new (_("Video")); - gtk_widget_ref (preferences_video); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video", preferences_video, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_video); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 4), preferences_video); - - preferences_audio_table = gtk_table_new (6, 2, FALSE); - gtk_widget_ref (preferences_audio_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_table", preferences_audio_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_audio_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_audio_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_audio_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_audio_table), 5); - - preferences_audio_quality_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_audio_quality_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_optionmenu", preferences_audio_quality_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_quality_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_quality_optionmenu, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - preferences_audio_quality_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("8 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("16 bits")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_quality_optionmenu), preferences_audio_quality_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_audio_quality_optionmenu), 1); - - preferences_audio_frequency_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_audio_frequency_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_optionmenu", preferences_audio_frequency_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_frequency_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_frequency_optionmenu, 1, 2, 3, 4, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - preferences_audio_frequency_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("48000 Hz")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("44100 Hz")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_frequency_optionmenu), preferences_audio_frequency_optionmenu_menu); - - preferences_audio_channels_optionmenu = gtk_option_menu_new (); - gtk_widget_ref (preferences_audio_channels_optionmenu); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_optionmenu", preferences_audio_channels_optionmenu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_channels_optionmenu); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_channels_optionmenu, 1, 2, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - preferences_audio_channels_optionmenu_menu = gtk_menu_new (); - glade_menuitem = gtk_menu_item_new_with_label (_("Mono")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem); - glade_menuitem = gtk_menu_item_new_with_label (_("Stereo")); - gtk_widget_show (glade_menuitem); - gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem); - gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), preferences_audio_channels_optionmenu_menu); - gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), 1); - - preferences_audio_output_label = gtk_label_new (_("Default output:")); - gtk_widget_ref (preferences_audio_output_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_label", preferences_audio_output_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_output_label); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_output_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_output_label), 0, 0.5); - - preferences_audio_device_label = gtk_label_new (_("Default device:")); - gtk_widget_ref (preferences_audio_device_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_label", preferences_audio_device_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_device_label); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_device_label, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_device_label), 0, 0.5); - - preferences_audio_quality_label = gtk_label_new (_("Quality:")); - gtk_widget_ref (preferences_audio_quality_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_label", preferences_audio_quality_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_quality_label); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_quality_label, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_quality_label), 0, 0.5); - - preferences_audio_frequency_label = gtk_label_new (_("Frequency:")); - gtk_widget_ref (preferences_audio_frequency_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_label", preferences_audio_frequency_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_frequency_label); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_frequency_label, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_frequency_label), 0, 0.5); - - preferences_audio_channel_label = gtk_label_new (_("Channels:")); - gtk_widget_ref (preferences_audio_channel_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channel_label", preferences_audio_channel_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_channel_label); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_channel_label, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_audio_channel_label), 0, 0.5); - - preferences_audio_spdif_checkbutton = gtk_check_button_new_with_label (_("Spdif output")); - gtk_widget_ref (preferences_audio_spdif_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_spdif_checkbutton", preferences_audio_spdif_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_spdif_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_spdif_checkbutton, 0, 2, 5, 6, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_audio_output_combo = gtk_combo_new (); - gtk_widget_ref (preferences_audio_output_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_combo", preferences_audio_output_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_output_combo); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_output_combo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_audio_output_combo_items = g_list_append (preferences_audio_output_combo_items, (gpointer) _("dsp")); - preferences_audio_output_combo_items = g_list_append (preferences_audio_output_combo_items, (gpointer) _("alsa")); - gtk_combo_set_popdown_strings (GTK_COMBO (preferences_audio_output_combo), preferences_audio_output_combo_items); - g_list_free (preferences_audio_output_combo_items); - - preferences_audio_output_entry = GTK_COMBO (preferences_audio_output_combo)->entry; - gtk_widget_ref (preferences_audio_output_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_entry", preferences_audio_output_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_output_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_audio_output_entry), _("dsp")); - - preferences_audio_device_combo = gtk_combo_new (); - gtk_widget_ref (preferences_audio_device_combo); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_combo", preferences_audio_device_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_device_combo); - gtk_table_attach (GTK_TABLE (preferences_audio_table), preferences_audio_device_combo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - preferences_audio_device_combo_items = g_list_append (preferences_audio_device_combo_items, (gpointer) _("/dev/dsp")); - gtk_combo_set_popdown_strings (GTK_COMBO (preferences_audio_device_combo), preferences_audio_device_combo_items); - g_list_free (preferences_audio_device_combo_items); - - preferences_audio_device_entry = GTK_COMBO (preferences_audio_device_combo)->entry; - gtk_widget_ref (preferences_audio_device_entry); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_entry", preferences_audio_device_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio_device_entry); - gtk_entry_set_text (GTK_ENTRY (preferences_audio_device_entry), _("/dev/dsp")); - - preferences_audio = gtk_label_new (_("Audio")); - gtk_widget_ref (preferences_audio); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio", preferences_audio, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_audio); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 5), preferences_audio); - - preferences_playlist_table = gtk_table_new (3, 1, FALSE); - gtk_widget_ref (preferences_playlist_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_table", preferences_playlist_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_playlist_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_playlist_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_playlist_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_playlist_table), 5); - - preferences_playlist_startup_checkbutton = gtk_check_button_new_with_label (_("Launch on startup")); - gtk_widget_ref (preferences_playlist_startup_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_startup_checkbutton", preferences_playlist_startup_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_startup_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_playlist_table), preferences_playlist_startup_checkbutton, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_playlist_enqueue_checkbutton = gtk_check_button_new_with_label (_("Enqueue as default")); - gtk_widget_ref (preferences_playlist_enqueue_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_enqueue_checkbutton", preferences_playlist_enqueue_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_enqueue_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_playlist_table), preferences_playlist_enqueue_checkbutton, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_playlist_loop_checkbutton = gtk_check_button_new_with_label (_("Loop on playlist end")); - gtk_widget_ref (preferences_playlist_loop_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_loop_checkbutton", preferences_playlist_loop_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist_loop_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_playlist_table), preferences_playlist_loop_checkbutton, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_EXPAND), 0, 0); - - preferences_playlist = gtk_label_new (_("Playlist")); - gtk_widget_ref (preferences_playlist); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist", preferences_playlist, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_playlist); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 6), preferences_playlist); - - preferences_misc_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_misc_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_table", preferences_misc_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_table); - gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_misc_table); - gtk_container_set_border_width (GTK_CONTAINER (preferences_misc_table), 5); - gtk_table_set_row_spacings (GTK_TABLE (preferences_misc_table), 5); - gtk_table_set_col_spacings (GTK_TABLE (preferences_misc_table), 5); - - preferences_misc_associated_frame = gtk_frame_new (_("Types associated with vlc")); - gtk_widget_ref (preferences_misc_associated_frame); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_frame", preferences_misc_associated_frame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_associated_frame); - gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_associated_frame, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_FILL), 0, 0); - - preferences_misc_associated_table = gtk_table_new (4, 1, FALSE); - gtk_widget_ref (preferences_misc_associated_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_table", preferences_misc_associated_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_associated_table); - gtk_container_add (GTK_CONTAINER (preferences_misc_associated_frame), preferences_misc_associated_table); - - preferences_misc_associated_checkbutton = gtk_check_button_new_with_label (_("mpeg")); - gtk_widget_ref (preferences_misc_associated_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_checkbutton", preferences_misc_associated_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_associated_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_associated_checkbutton, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_mp2_checkbutton = gtk_check_button_new_with_label (_("mp2")); - gtk_widget_ref (preferences_misc_mp2_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mp2_checkbutton", preferences_misc_mp2_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_mp2_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mp2_checkbutton, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_vob_checkbutton = gtk_check_button_new_with_label (_("vob")); - gtk_widget_ref (preferences_misc_vob_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_vob_checkbutton", preferences_misc_vob_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_vob_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_vob_checkbutton, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_ts_checkbutton = gtk_check_button_new_with_label (_("ts")); - gtk_widget_ref (preferences_misc_ts_checkbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_ts_checkbutton", preferences_misc_ts_checkbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_ts_checkbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_ts_checkbutton, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc_message_frame = gtk_frame_new (_("Messages")); - gtk_widget_ref (preferences_misc_message_frame); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_frame", preferences_misc_message_frame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_message_frame); - gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_message_frame, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_FILL), 0, 0); - - preferences_misc_messages_table = gtk_table_new (1, 2, FALSE); - gtk_widget_ref (preferences_misc_messages_table); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_table", preferences_misc_messages_table, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_messages_table); - gtk_container_add (GTK_CONTAINER (preferences_misc_message_frame), preferences_misc_messages_table); - - preferences_misc_messages_label = gtk_label_new (_("Warning level: ")); - gtk_widget_ref (preferences_misc_messages_label); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_label", preferences_misc_messages_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_messages_label); - gtk_table_attach (GTK_TABLE (preferences_misc_messages_table), preferences_misc_messages_label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (preferences_misc_messages_label), 0, 0.5); - - preferences_misc_messages_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); - preferences_misc_messages_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_misc_messages_spinbutton_adj), 1, 0); - gtk_widget_ref (preferences_misc_messages_spinbutton); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_spinbutton", preferences_misc_messages_spinbutton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc_messages_spinbutton); - gtk_table_attach (GTK_TABLE (preferences_misc_messages_table), preferences_misc_messages_spinbutton, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (0), 0, 0); - - preferences_misc = gtk_label_new (_("Misc")); - gtk_widget_ref (preferences_misc); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc", preferences_misc, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_misc); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 7), preferences_misc); - - dialog_action_area4 = GTK_DIALOG (intf_preferences)->action_area; - gtk_object_set_data (GTK_OBJECT (intf_preferences), "dialog_action_area4", dialog_action_area4); - gtk_widget_show (dialog_action_area4); - gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area4), 10); - - preferences_ok_button = gtk_button_new_with_label (_("Ok")); - gtk_widget_ref (preferences_ok_button); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_ok_button", preferences_ok_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_ok_button); - gtk_box_pack_start (GTK_BOX (dialog_action_area4), preferences_ok_button, TRUE, TRUE, 0); - - preferences_apply_button = gtk_button_new_with_label (_("Apply")); - gtk_widget_ref (preferences_apply_button); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_apply_button", preferences_apply_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_apply_button); - gtk_box_pack_start (GTK_BOX (dialog_action_area4), preferences_apply_button, TRUE, TRUE, 0); - - preferences_cancel_button = gtk_button_new_with_label (_("Cancel")); - gtk_widget_ref (preferences_cancel_button); - gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_cancel_button", preferences_cancel_button, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences_cancel_button); - gtk_box_pack_start (GTK_BOX (dialog_action_area4), preferences_cancel_button, TRUE, TRUE, 0); - - gtk_signal_connect (GTK_OBJECT (preferences_ok_button), "clicked", - GTK_SIGNAL_FUNC (GtkPreferencesOk), - "intf_preferences"); - gtk_signal_connect (GTK_OBJECT (preferences_apply_button), "clicked", - GTK_SIGNAL_FUNC (GtkPreferencesApply), - "intf_preferences"); - gtk_signal_connect (GTK_OBJECT (preferences_cancel_button), "clicked", - GTK_SIGNAL_FUNC (GtkPreferencesCancel), - "intf_preferences"); - - return intf_preferences; -} - GtkWidget* create_intf_messages (void) { diff --git a/plugins/gtk/gtk_interface.h b/plugins/gtk/gtk_interface.h index e22ed299f24f473e70731f29fa74bd686baf1e74..8423c74f3b396d6b66977e63a25507d068139c26 100644 --- a/plugins/gtk/gtk_interface.h +++ b/plugins/gtk/gtk_interface.h @@ -10,5 +10,4 @@ GtkWidget* create_intf_disc (void); GtkWidget* create_intf_network (void); GtkWidget* create_intf_jump (void); GtkWidget* create_intf_playlist (void); -GtkWidget* create_intf_preferences (void); GtkWidget* create_intf_messages (void); diff --git a/plugins/gtk/gtk_open.c b/plugins/gtk/gtk_open.c index 7bd19aff6127f1ee91ce339738818147ddb1c939..3e92f9f3430fcbb5d183d9a2c6de3e64a4b9b095 100644 --- a/plugins/gtk/gtk_open.c +++ b/plugins/gtk/gtk_open.c @@ -2,7 +2,7 @@ * gtk_open.c : functions to handle file/disc/network open widgets. ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: gtk_open.c,v 1.18 2002/03/04 02:26:23 stef Exp $ + * $Id: gtk_open.c,v 1.19 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * St�phane Borel <stef@via.ecp.fr> @@ -72,7 +72,7 @@ gboolean GtkFileOpenShow( GtkWidget *widget, gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_fileopen ), "p_intf", p_intf ); - if( (psz_path = config_GetPszVariable( INTF_PATH_VAR )) ) + if( (psz_path = config_GetPszVariable( "search_path" )) ) gtk_file_selection_set_filename( GTK_FILE_SELECTION( p_intf->p_sys->p_fileopen ), psz_path ); if( psz_path ) free( psz_path ); @@ -153,7 +153,7 @@ void GtkDiscOpenDvd( GtkToggleButton * togglebutton, gpointer user_data ) { char *psz_dvd_device; - if( (psz_dvd_device = config_GetPszVariable( INPUT_DVD_DEVICE_VAR )) ) + if( (psz_dvd_device = config_GetPszVariable( "dvd_device" )) ) gtk_entry_set_text( GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton), "disc_name" ) ), psz_dvd_device ); @@ -167,7 +167,7 @@ void GtkDiscOpenVcd( GtkToggleButton * togglebutton, gpointer user_data ) { char *psz_vcd_device; - if( (psz_vcd_device = config_GetPszVariable( INPUT_VCD_DEVICE_VAR )) ) + if( (psz_vcd_device = config_GetPszVariable( "vcd_device" )) ) gtk_entry_set_text( GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton), "disc_name" ) ), psz_vcd_device ); @@ -272,9 +272,9 @@ gboolean GtkNetworkOpenShow( GtkWidget *widget, gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_network ), "network_port" ) ), - config_GetIntVariable( INPUT_PORT_VAR ) ); + config_GetIntVariable( "server_port" ) ); - psz_channel_server = config_GetPszVariable( INPUT_CHANNEL_SERVER_VAR ); + psz_channel_server = config_GetPszVariable( "channel_server" ); if( psz_channel_server ) gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel" ) ), @@ -283,11 +283,11 @@ gboolean GtkNetworkOpenShow( GtkWidget *widget, gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_port" ) ), - config_GetIntVariable( INPUT_CHANNEL_PORT_VAR ) ); + config_GetIntVariable( "channel_port" ) ); gtk_toggle_button_set_active( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_check" ), - config_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR ) ); + config_GetIntVariable( "network_channel" ) ); } gtk_widget_show( p_intf->p_sys->p_network ); @@ -337,7 +337,7 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data ) /* Manage channel server */ b_channel = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button), "network_channel_check" ) ) ); - config_PutIntVariable( INPUT_NETWORK_CHANNEL_VAR, b_channel ); + config_PutIntVariable( "network_channel", b_channel ); if( b_channel ) { char * psz_channel; @@ -353,10 +353,10 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data ) i_channel_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( lookup_widget( GTK_WIDGET(button), "network_channel_port" ) ) ); - config_PutPszVariable( INPUT_CHANNEL_SERVER_VAR, psz_channel ); + config_PutPszVariable( "channel_server", psz_channel ); if( i_channel_port < 65536 ) { - config_PutIntVariable( INPUT_CHANNEL_PORT_VAR, i_channel_port ); + config_PutIntVariable( "channel_port", i_channel_port ); } p_intf->p_sys->b_playing = 1; diff --git a/plugins/gtk/gtk_preferences.c b/plugins/gtk/gtk_preferences.c index bf333bb6dc1920e0a12fcb1ebdf0e1715f1db020..bbf906037c8c45c6fde93e08815614cf3f558cd7 100644 --- a/plugins/gtk/gtk_preferences.c +++ b/plugins/gtk/gtk_preferences.c @@ -1,11 +1,10 @@ /***************************************************************************** - * gtk_control.c : functions to handle stream control buttons. + * gtk_preferences.c: functions to handle the preferences dialog box. ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: gtk_preferences.c,v 1.11 2002/02/24 20:51:10 gbazin Exp $ + * $Id: gtk_preferences.c,v 1.12 2002/03/11 07:23:09 gbazin Exp $ * - * Authors: Samuel Hocevar <sam@zoy.org> - * St�phane Borel <stef@via.ecp.fr> + * Authors: Gildas Bazin <gbazin@netcourrier.com> * * 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 @@ -23,7 +22,13 @@ *****************************************************************************/ /***************************************************************************** - * Preamble + * Preamble: Our main job is to build a nice interface from the modules config + * structure. Once this is done, we need to track each change made by the + * user to the data contained in this interface so that when/if he decides to + * apply his changes we can quickly commit them into the modules config + * structure. (for this last task we use a GHashTable to accumulate the + * changes. To commit them, we then just have to circle through it ) + * *****************************************************************************/ #include <sys/types.h> /* off_t */ #include <stdlib.h> @@ -38,256 +43,676 @@ #include <string.h> -#include "stream_control.h" -#include "input_ext-intf.h" - #include "interface.h" -#include "intf_playlist.h" -#include "gtk_callbacks.h" -#include "gtk_interface.h" #include "gtk_support.h" -#include "gtk_playlist.h" #include "gtk_common.h" +#include "gtk_preferences.h" + +/* local functions */ +static GtkWidget *GtkCreateConfigDialog( char *, intf_thread_t * ); + +static void GtkConfigOk ( GtkButton *, gpointer ); +static void GtkConfigApply ( GtkButton *, gpointer ); +static void GtkConfigCancel ( GtkButton *, gpointer ); + +static void GtkStringChanged ( GtkEditable *, gpointer ); +static void GtkIntChanged ( GtkEditable *, gpointer ); +static void GtkBoolChanged ( GtkToggleButton *, gpointer ); + +static void GtkFreeHashTable ( gpointer ); +static void GtkFreeHashValue ( gpointer, gpointer, gpointer ); +static void GtkSaveHashValue ( gpointer, gpointer, gpointer ); + +static void GtkPluginConfigure ( GtkButton *, gpointer ); +static void GtkPluginSelected ( GtkButton *, gpointer ); +static void GtkPluginHighlighted ( GtkCList *, int, int, GdkEventButton *, + gpointer ); /**************************************************************************** - * GtkPreferencesShow: display interface window after initialization - * if necessary + * Callback for menuitems: display configuration interface window ****************************************************************************/ - -/* macros to create preference box */ -#define ASSIGN_PSZ_ENTRY( var, name ) \ - gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data( GTK_OBJECT( \ - p_intf->p_sys->p_preferences ), name ) ), \ - config_GetPszVariable( var ) ) - -#define ASSIGN_INT_VALUE( var, name ) \ - gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data( \ - GTK_OBJECT( p_intf->p_sys->p_preferences ), name ) ), \ - config_GetIntVariable( var ) ) - -#define ASSIGN_INT_TOGGLE( var, name ) \ - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( gtk_object_get_data( \ - GTK_OBJECT( p_intf->p_sys->p_preferences ), name ) ), \ - config_GetIntVariable( var ) ) - -gboolean GtkPreferencesShow( GtkWidget *widget, - GdkEventButton *event, - gpointer user_data ) +void GtkPreferencesActivate( GtkMenuItem * menuitem, gpointer user_data ) { - intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); + intf_thread_t *p_intf = GetIntf( GTK_WIDGET(menuitem), (char*)user_data ); - /* If we have never used the file selector, open it */ + /* If we have never used the preferences selector, open it */ if( !GTK_IS_WIDGET( p_intf->p_sys->p_preferences ) ) { - p_intf->p_sys->p_preferences = create_intf_preferences(); - gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_preferences ), - "p_intf", p_intf ); - - /* Default path */ - ASSIGN_PSZ_ENTRY( INTF_PATH_VAR, - "preferences_file_path_entry" ); - - /* Default DVD */ - ASSIGN_PSZ_ENTRY( INPUT_DVD_DEVICE_VAR, - "preferences_disc_dvd_entry" ); - - /* Default VCD */ - ASSIGN_PSZ_ENTRY( INPUT_VCD_DEVICE_VAR, - "preferences_disc_vcd_entry" ); - - /* Default port */ - ASSIGN_INT_VALUE( INPUT_PORT_VAR, - "preferences_network_port_spinbutton" ); - - /* XXX Protocol */ - - /* Default interface */ - ASSIGN_PSZ_ENTRY( INTF_METHOD_VAR, - "preferences_interface_entry" ); - - /* Default video output */ - ASSIGN_PSZ_ENTRY( VOUT_METHOD_VAR, - "preferences_video_output_entry" ); - - /* Default output width */ - ASSIGN_INT_VALUE( VOUT_WIDTH_VAR, - "preferences_video_width_spinbutton" ); - - /* Default output height */ - ASSIGN_INT_VALUE( VOUT_HEIGHT_VAR, - "preferences_video_height_spinbutton" ); - - /* XXX Default screen depth */ - - /* XXX Default fullscreen depth */ - - /* XXX Default gamma */ - - /* Fullscreen on play */ - ASSIGN_INT_TOGGLE( VOUT_FULLSCREEN_VAR, - "preferences_video_fullscreen_checkbutton" ); - - /* Grayscale display */ - ASSIGN_INT_TOGGLE( VOUT_GRAYSCALE_VAR, - "preferences_video_grayscale_checkbutton" ); - - /* Default audio output */ - ASSIGN_PSZ_ENTRY( AOUT_METHOD_VAR, - "preferences_audio_output_entry" ); - - - /* XXX Default frequency */ - - /* XXX Default quality */ - - /* XXX Default number of channels */ - - /* Use spdif output ? */ - ASSIGN_INT_TOGGLE( AOUT_SPDIF_VAR, - "preferences_audio_spdif_checkbutton" ); - - /* Launch playlist on startup */ - ASSIGN_INT_TOGGLE( PLAYLIST_STARTUP_VAR, - "preferences_playlist_startup_checkbutton" ); - - /* Enqueue drag'n dropped item as default */ - ASSIGN_INT_TOGGLE( PLAYLIST_ENQUEUE_VAR, - "preferences_playlist_enqueue_checkbutton" ); - - /* Loop on playlist end */ - ASSIGN_INT_TOGGLE( PLAYLIST_LOOP_VAR, - "preferences_playlist_loop_checkbutton" ); - - /* Verbosity of warning messages */ - ASSIGN_INT_VALUE( INTF_WARNING_VAR, - "preferences_misc_messages_spinbutton" ); -#undef ASSIGN_PSZ_ENTRY -#undef ASSIGN_INT_VALUE -#undef ASSIGN_INT_TOGGLE + p_intf->p_sys->p_preferences = GtkCreateConfigDialog( "main", + p_intf ); } gtk_widget_show( p_intf->p_sys->p_preferences ); gdk_window_raise( p_intf->p_sys->p_preferences->window ); - - return TRUE; } /**************************************************************************** - * GtkPreferencesApply: store the values into the environnement variables + * GtkCreateConfigDialog: dynamically creates the configuration dialog + * box from all the configuration data provided by the selected module. ****************************************************************************/ +static GtkWidget *GtkCreateConfigDialog( char *psz_module_name, + intf_thread_t *p_intf ) +{ + module_t *p_module, *p_module_bis; + int i; + + GHashTable *config_hash_table; + + GtkWidget *config_dialog; + GtkWidget *config_dialog_vbox; + GtkWidget *config_notebook; + GtkWidget *scrolled_window; + GtkWidget *category_vbox = NULL; + + GtkWidget *dialog_action_area; + GtkWidget *ok_button; + GtkWidget *apply_button; + GtkWidget *cancel_button; + + GtkWidget *item_frame; + GtkWidget *item_table; + GtkWidget *item_hbox; + GtkWidget *item_label; + GtkWidget *item_text; + GtkWidget *string_entry; + GtkWidget *integer_spinbutton; + GtkObject *item_adj; + GtkWidget *bool_checkbutton; + GtkWidget *plugin_clist; + GtkWidget *plugin_config_button; + GtkWidget *plugin_select_button; + + /* Look for the selected module */ + for( p_module = p_module_bank->first ; p_module != NULL ; + p_module = p_module->next ) + { -/* macros to read value frfom preference box */ -#define ASSIGN_PSZ_ENTRY( var, name ) \ - config_PutPszVariable( var, gtk_entry_get_text( \ - GTK_ENTRY( gtk_object_get_data( GTK_OBJECT( p_preferences ), name ) ) ) ) + if( psz_module_name && !strcmp( psz_module_name, p_module->psz_name ) ) + break; + } + if( !p_module ) return NULL; + + + /* + * We found it, now we can start building its configuration interface + */ + + /* Create the configuration dialog box */ + config_dialog = gtk_dialog_new(); + gtk_window_set_title( GTK_WINDOW(config_dialog), p_module->psz_longname ); + gtk_window_set_default_size( GTK_WINDOW(config_dialog), + 600 /*width*/, 400/*height*/ ); + + config_dialog_vbox = GTK_DIALOG(config_dialog)->vbox; + gtk_widget_show( config_dialog_vbox ); + gtk_container_set_border_width( GTK_CONTAINER(config_dialog_vbox), 0 ); + + /* Create our config hash table and associate it with the dialog box */ + config_hash_table = g_hash_table_new( NULL, NULL ); + gtk_object_set_data_full( GTK_OBJECT(config_dialog), "config_hash_table", + config_hash_table, + (GtkDestroyNotify)GtkFreeHashTable ); + + /* Create notebook */ + config_notebook = gtk_notebook_new(); + gtk_notebook_set_scrollable( GTK_NOTEBOOK(config_notebook), TRUE); + gtk_widget_show( config_notebook ); + gtk_box_pack_start( GTK_BOX(config_dialog_vbox), config_notebook, + TRUE, TRUE, 0 ); + + /* Enumerate config options and add corresponding config boxes */ + for( i = 0; i < p_module->i_config_lines; i++ ) + { -#define ASSIGN_INT_VALUE( var, name ) \ - config_PutIntVariable( var, gtk_spin_button_get_value_as_int( \ - GTK_SPIN_BUTTON( gtk_object_get_data( GTK_OBJECT( p_preferences ), \ - name ) ) ) ) + switch( p_module->p_config[i].i_type ) + { + case MODULE_CONFIG_HINT_CATEGORY: + + /* create a new scrolled window. */ + scrolled_window = gtk_scrolled_window_new( NULL, NULL ); + gtk_scrolled_window_set_policy( + GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC ); + gtk_widget_show( scrolled_window ); + + /* add scrolled window as a notebook page */ + item_label = gtk_label_new( p_module->p_config[i].psz_text ); + gtk_widget_show( item_label ); + gtk_notebook_append_page( GTK_NOTEBOOK(config_notebook), + scrolled_window, item_label ); + + /* pack a new vbox into the scrolled window */ + category_vbox = gtk_vbox_new( FALSE, 10 ); + gtk_container_set_border_width( GTK_CONTAINER(category_vbox), 5 ); + gtk_scrolled_window_add_with_viewport( + GTK_SCROLLED_WINDOW( scrolled_window ), category_vbox ); + gtk_widget_show( category_vbox ); + + break; + + case MODULE_CONFIG_ITEM_PLUGIN: + + /* add new frame for the config option */ + item_frame = gtk_frame_new( p_module->p_config[i].psz_text ); + gtk_widget_show( item_frame ); + gtk_box_pack_start( GTK_BOX(category_vbox), item_frame, + FALSE, FALSE, 5 ); + + /* add a new table for the config option */ + item_table = gtk_table_new( 3, 3, FALSE ); + gtk_widget_show( item_table ); + gtk_container_add( GTK_CONTAINER(item_frame), item_table ); + + /* create a new scrolled window */ + scrolled_window = gtk_scrolled_window_new( NULL, NULL ); + gtk_scrolled_window_set_policy( + GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC ); + gtk_widget_set_usize( scrolled_window, -2, 150 ); + gtk_widget_show( scrolled_window ); + gtk_table_attach( GTK_TABLE(item_table), scrolled_window, + 0, 2, 0, 1, GTK_FILL, GTK_FILL, 5, 5 ); + + /* create a new clist widget and add it to the scrolled win */ + plugin_clist = gtk_clist_new_with_titles( 1, + &p_module->p_config[i].psz_text ); + gtk_clist_column_titles_passive( GTK_CLIST(plugin_clist) ); + gtk_clist_set_selection_mode( GTK_CLIST(plugin_clist), + GTK_SELECTION_SINGLE); + gtk_container_add( GTK_CONTAINER(scrolled_window), plugin_clist ); + gtk_widget_show( plugin_clist ); + + /* build a list of available plugins */ + for( p_module_bis = p_module_bank->first ; + p_module_bis != NULL ; + p_module_bis = p_module_bis->next ) + { + if( p_module_bis->i_capabilities & + (1 << p_module->p_config[i].i_value) ) + + gtk_clist_append( GTK_CLIST(plugin_clist), + (gchar **)&p_module_bis->psz_name ); + } + + /* add text box for config description */ + if( p_module->p_config[i].psz_longtext ) + { + item_text = gtk_label_new( p_module->p_config[i].psz_longtext); + gtk_label_set_justify( GTK_LABEL(item_text), GTK_JUSTIFY_LEFT); + gtk_label_set_line_wrap( GTK_LABEL(item_text), TRUE ); + gtk_widget_show( item_text ); + gtk_table_attach( GTK_TABLE(item_table), item_text, + 2, 3, 0, 1, GTK_FILL, GTK_FILL, 5, 5 ); + } + + /* pack a label into the config line */ + item_label = gtk_label_new( "" ); + gtk_widget_show( item_label ); + gtk_table_attach( GTK_TABLE(item_table), item_label, + 2, 3, 1, 2, GTK_FILL, GTK_FILL, 5, 5 ); + + /* connect signals to the plugins list */ + gtk_signal_connect( GTK_OBJECT(plugin_clist), "select_row", + GTK_SIGNAL_FUNC(GtkPluginHighlighted), + (gpointer)item_label ); + + /* add configure button */ + plugin_config_button = + gtk_button_new_with_label( _("Configure") ); + gtk_widget_set_sensitive( plugin_config_button, FALSE ); + gtk_widget_show( plugin_config_button ); + gtk_table_attach( GTK_TABLE(item_table), plugin_config_button, + 0, 1, 1, 2, GTK_FILL, GTK_FILL, 5, 5 ); + gtk_object_set_data( GTK_OBJECT(plugin_clist), + "config_button", plugin_config_button ); + + /* add select button */ + plugin_select_button = + gtk_button_new_with_label( _("Select") ); + gtk_widget_show( plugin_select_button ); + gtk_table_attach( GTK_TABLE(item_table), plugin_select_button, + 1, 2, 1, 2, GTK_FILL, GTK_FILL, 5, 5 ); + + /* add new label */ + item_label = gtk_label_new( _("Selected:") ); + gtk_widget_show( item_label ); + gtk_table_attach( GTK_TABLE(item_table), item_label, + 0, 1, 2, 3, GTK_FILL, GTK_FILL, 5, 5 ); + + /* add input box with default value */ + string_entry = gtk_entry_new(); + gtk_object_set_data( GTK_OBJECT(plugin_clist), + "plugin_entry", string_entry ); + gtk_widget_show( string_entry ); + gtk_table_attach( GTK_TABLE(item_table), string_entry, + 2, 3, 2, 3, GTK_FILL, GTK_FILL, 5, 5 ); + vlc_mutex_lock( p_module->p_config[i].p_lock ); + gtk_entry_set_text( GTK_ENTRY(string_entry), + p_module->p_config[i].psz_value ? + p_module->p_config[i].psz_value : "" ); + vlc_mutex_unlock( p_module->p_config[i].p_lock ); + + /* connect signals to the buttons */ + gtk_signal_connect( GTK_OBJECT(plugin_config_button), "clicked", + GTK_SIGNAL_FUNC(GtkPluginConfigure), + (gpointer)plugin_clist ); + gtk_signal_connect( GTK_OBJECT(plugin_select_button), "clicked", + GTK_SIGNAL_FUNC(GtkPluginSelected), + (gpointer)plugin_clist ); + + /* connect signal to track changes in the text box */ + gtk_object_set_data( GTK_OBJECT(string_entry), "config_option", + p_module->p_config[i].psz_name ); + gtk_signal_connect( GTK_OBJECT(string_entry), "changed", + GTK_SIGNAL_FUNC(GtkStringChanged), + (gpointer)config_dialog ); + break; + + case MODULE_CONFIG_ITEM_STRING: + case MODULE_CONFIG_ITEM_FILE: + + /* add new frame for the config option */ + item_frame = gtk_frame_new( p_module->p_config[i].psz_text ); + gtk_widget_show( item_frame ); + gtk_box_pack_start( GTK_BOX(category_vbox), item_frame, + FALSE, FALSE, 5 ); + + /* add a new table for the config option */ + item_table = gtk_table_new( 1, 1, FALSE ); + gtk_widget_show( item_table ); + gtk_container_add( GTK_CONTAINER(item_frame), item_table ); + + /* add input box with default value */ + string_entry = gtk_entry_new(); + gtk_widget_show( string_entry ); + gtk_table_attach( GTK_TABLE(item_table), string_entry, + 0, 1, 0, 1, GTK_FILL, GTK_FILL, 5, 5 ); + vlc_mutex_lock( p_module->p_config[i].p_lock ); + gtk_entry_set_text( GTK_ENTRY(string_entry), + p_module->p_config[i].psz_value ? + p_module->p_config[i].psz_value : "" ); + vlc_mutex_unlock( p_module->p_config[i].p_lock ); + + /* add text box for config description */ + if( p_module->p_config[i].psz_longtext ) + { + item_text = gtk_label_new( p_module->p_config[i].psz_longtext); + gtk_label_set_justify( GTK_LABEL(item_text), GTK_JUSTIFY_LEFT); + gtk_label_set_line_wrap( GTK_LABEL(item_text), TRUE ); + gtk_widget_set_usize( item_text, 500, -2 ); + gtk_widget_show( item_text ); + gtk_table_resize( GTK_TABLE(item_table), 2, 1 ); + gtk_table_attach( GTK_TABLE(item_table), item_text, + 0, 1, 1, 2, GTK_FILL, GTK_FILL, 5, 5 ); + } + + /* connect signal to track changes in the text box */ + gtk_object_set_data( GTK_OBJECT(string_entry), "config_option", + p_module->p_config[i].psz_name ); + gtk_signal_connect( GTK_OBJECT(string_entry), "changed", + GTK_SIGNAL_FUNC(GtkStringChanged), + (gpointer)config_dialog ); + break; + + case MODULE_CONFIG_ITEM_INTEGER: + + /* add new frame for the config option */ + item_frame = gtk_frame_new( p_module->p_config[i].psz_text ); + gtk_widget_show( item_frame ); + gtk_box_pack_start( GTK_BOX(category_vbox), item_frame, + FALSE, FALSE, 5 ); + + /* add a new table for the config option */ + item_table = gtk_table_new( 2, 1, FALSE ); + gtk_widget_show( item_table ); + gtk_container_add( GTK_CONTAINER(item_frame), item_table ); + + /* add input box with default value */ + item_adj = gtk_adjustment_new( p_module->p_config[i].i_value, + -1, 1000, 1, 10, 10 ); + integer_spinbutton = gtk_spin_button_new( GTK_ADJUSTMENT(item_adj), + 1, 0 ); + gtk_widget_show( integer_spinbutton ); + gtk_table_attach( GTK_TABLE(item_table), integer_spinbutton, + 0, 1, 0, 1, GTK_FILL, GTK_FILL, 5, 5 ); + + /* add text box for config description */ + if( p_module->p_config[i].psz_longtext ) + { + item_text = gtk_label_new( p_module->p_config[i].psz_longtext); + gtk_label_set_justify( GTK_LABEL(item_text), GTK_JUSTIFY_LEFT); + gtk_label_set_line_wrap( GTK_LABEL(item_text), TRUE ); + gtk_widget_set_usize( item_text, 500, -2 ); + gtk_widget_show( item_text ); + gtk_table_resize( GTK_TABLE(item_table), 2, 1 ); + gtk_table_attach( GTK_TABLE(item_table), item_text, + 0, 2, 1, 2, GTK_FILL, GTK_FILL, 5, 5 ); + } + + /* connect signal to track changes in the spinbutton value */ + gtk_object_set_data( GTK_OBJECT(integer_spinbutton), + "config_option", p_module->p_config[i].psz_name ); + gtk_signal_connect( GTK_OBJECT(integer_spinbutton), "changed", + GTK_SIGNAL_FUNC(GtkIntChanged), + (gpointer)config_dialog ); + break; + + case MODULE_CONFIG_ITEM_BOOL: + + /* add new frame for the config option */ + item_frame = gtk_frame_new( p_module->p_config[i].psz_text ); + gtk_widget_show( item_frame ); + gtk_box_pack_start( GTK_BOX(category_vbox), item_frame, + FALSE, FALSE, 5 ); + + /* add a new table for the config option */ + item_table = gtk_table_new( 2, 1, FALSE ); + gtk_widget_show( item_table ); + gtk_container_add( GTK_CONTAINER(item_frame), item_table ); + + /* add check button */ + bool_checkbutton = gtk_check_button_new_with_label( + _(p_module->p_config[i].psz_text) ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(bool_checkbutton), + p_module->p_config[i].i_value ); + gtk_widget_show( bool_checkbutton ); + gtk_table_attach( GTK_TABLE(item_table), bool_checkbutton, + 0, 1, 0, 1, GTK_FILL, GTK_FILL, 5, 5 ); + + /* add text box for config description */ + if( p_module->p_config[i].psz_longtext ) + { + item_text = gtk_label_new( p_module->p_config[i].psz_longtext); + gtk_label_set_justify( GTK_LABEL(item_text), GTK_JUSTIFY_LEFT); + gtk_label_set_line_wrap( GTK_LABEL(item_text), TRUE ); + gtk_widget_set_usize( item_text, 500, -2 ); + gtk_widget_show( item_text ); + gtk_table_resize( GTK_TABLE(item_table), 2, 1 ); + gtk_table_attach( GTK_TABLE(item_table), item_text, + 0, 2, 1, 2, GTK_FILL, GTK_FILL, 5, 5 ); + } + + /* connect signal to track changes in the button state */ + gtk_object_set_data( GTK_OBJECT(bool_checkbutton), "config_option", + p_module->p_config[i].psz_name ); + gtk_signal_connect( GTK_OBJECT(bool_checkbutton), "toggled", + GTK_SIGNAL_FUNC(GtkBoolChanged), + (gpointer)config_dialog ); + break; + } + } -#define ASSIGN_INT_TOGGLE( var, name ) \ - config_PutIntVariable( var, gtk_toggle_button_get_active( \ - GTK_TOGGLE_BUTTON( gtk_object_get_data( GTK_OBJECT( p_preferences ), \ - name ) ) ) ) + /* Now let's add the action buttons at the bottom of the page */ + + dialog_action_area = GTK_DIALOG(config_dialog)->action_area; + gtk_widget_show( dialog_action_area ); + //gtk_container_set_border_width( GTK_CONTAINER(dialog_action_area), 10 ); + + /* add a new table for the config option */ + item_hbox = gtk_hbox_new( FALSE, 0 ); + gtk_widget_show( item_hbox ); + gtk_box_pack_end( GTK_BOX(dialog_action_area), item_hbox, + TRUE, FALSE, 0 ); + item_hbox = gtk_hbox_new( FALSE, 0 ); + gtk_widget_show( item_hbox ); + gtk_box_pack_end( GTK_BOX(dialog_action_area), item_hbox, + TRUE, FALSE, 0 ); + + /* Create the OK button */ + ok_button = gtk_button_new_with_label( _("Ok") ); + gtk_widget_show( ok_button ); + gtk_box_pack_start( GTK_BOX(dialog_action_area), ok_button, + TRUE, TRUE, 0 ); + + apply_button = gtk_button_new_with_label( _("Apply") ); + gtk_widget_show( apply_button ); + gtk_box_pack_start( GTK_BOX(dialog_action_area), apply_button, + TRUE, TRUE, 0 ); + + cancel_button = gtk_button_new_with_label( _("Cancel") ); + gtk_widget_show( cancel_button ); + gtk_box_pack_start( GTK_BOX(dialog_action_area), cancel_button, + TRUE, TRUE, 0 ); + + gtk_signal_connect( GTK_OBJECT(ok_button), "clicked", + GTK_SIGNAL_FUNC(GtkConfigOk), + config_dialog ); + gtk_signal_connect( GTK_OBJECT(apply_button), "clicked", + GTK_SIGNAL_FUNC(GtkConfigApply), + config_dialog ); + gtk_signal_connect( GTK_OBJECT(cancel_button), "clicked", + GTK_SIGNAL_FUNC(GtkConfigCancel), + config_dialog ); + + return config_dialog; +} -void GtkPreferencesApply( GtkButton * button, gpointer user_data ) +/**************************************************************************** + * GtkConfigApply: store the changes to the config inside the modules + * configuration structure + ****************************************************************************/ +void GtkConfigApply( GtkButton * button, gpointer user_data ) { - GtkWidget * p_preferences; + GHashTable *hash_table; + hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data), + "config_hash_table" ); + g_hash_table_foreach( hash_table, GtkSaveHashValue, NULL ); - /* get preferences window */ - p_preferences = gtk_widget_get_toplevel( GTK_WIDGET( button ) ); +} - /* Default path */ - ASSIGN_PSZ_ENTRY( INTF_PATH_VAR, "preferences_file_path_entry" ); +void GtkConfigOk( GtkButton * button, gpointer user_data ) +{ + GtkConfigApply( button, user_data ); + gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); +} - /* Default DVD */ - ASSIGN_PSZ_ENTRY( INPUT_DVD_DEVICE_VAR, "preferences_disc_dvd_entry" ); - /* Default VCD */ - ASSIGN_PSZ_ENTRY( INPUT_VCD_DEVICE_VAR, "preferences_disc_vcd_entry" ); +void GtkConfigCancel( GtkButton * button, gpointer user_data ) +{ + gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); +} - /* Default port */ - ASSIGN_INT_VALUE( INPUT_PORT_VAR, "preferences_network_port_spinbutton" ); +/**************************************************************************** + * GtkPluginHighlighted: display plugin description when an entry is selected + * in the clist, and activate the configure button if necessary. + ****************************************************************************/ +void GtkPluginHighlighted( GtkCList *plugin_clist, int row, int column, + GdkEventButton *event, gpointer user_data ) +{ + GtkWidget *config_button; + module_t *p_module; + char *psz_name; - /* XXX Protocol */ + if( gtk_clist_get_text( GTK_CLIST(plugin_clist), row, column, &psz_name ) ) + { - /* Default interface */ - ASSIGN_PSZ_ENTRY( INTF_METHOD_VAR, "preferences_interface_entry" ); + /* look for plugin 'psz_name' */ + for( p_module = p_module_bank->first ; + p_module != NULL ; + p_module = p_module->next ) + { + if( !strcmp( p_module->psz_name, psz_name ) ) + { + gtk_label_set_text( GTK_LABEL(user_data), + p_module->psz_longname ? + p_module->psz_longname : "" ); + gtk_object_set_data( GTK_OBJECT(plugin_clist), + "plugin_highlighted", p_module ); + + config_button = gtk_object_get_data( GTK_OBJECT(plugin_clist), + "config_button" ); + if( p_module->i_config_items ) + gtk_widget_set_sensitive( config_button, TRUE ); + else + gtk_widget_set_sensitive( config_button, FALSE ); + + break; + } + } - /* Default video output */ - ASSIGN_PSZ_ENTRY( VOUT_METHOD_VAR, "preferences_video_output_entry" ); + } +} - /* Default output width */ - ASSIGN_INT_VALUE( VOUT_WIDTH_VAR, "preferences_video_width_spinbutton" ); +/**************************************************************************** + * GtkPluginConfigure: display plugin configuration dialog box. + ****************************************************************************/ +void GtkPluginConfigure( GtkButton *button, gpointer user_data ) +{ + module_t *p_module; + GtkWidget *widget; - /* Default output height */ - ASSIGN_INT_VALUE( VOUT_HEIGHT_VAR, "preferences_video_height_spinbutton" ); + p_module = (module_t *)gtk_object_get_data( GTK_OBJECT(user_data), + "plugin_highlighted" ); - /* XXX Default screen depth */ + if( !p_module ) return; - /* XXX Default fullscreen depth */ + widget = GtkCreateConfigDialog( p_module->psz_name, NULL ); - /* XXX Default gamma */ - - /* Fullscreen on play */ - ASSIGN_INT_TOGGLE( VOUT_FULLSCREEN_VAR, - "preferences_video_fullscreen_checkbutton" ); + gtk_widget_show( widget ); + gdk_window_raise( widget->window ); - /* Grayscale display */ - ASSIGN_INT_TOGGLE( VOUT_GRAYSCALE_VAR, - "preferences_video_grayscale_checkbutton" ); +} - /* Default audio output */ - ASSIGN_PSZ_ENTRY( AOUT_METHOD_VAR, "preferences_audio_output_entry" ); +/**************************************************************************** + * GtkPluginSelected: select plugin. + ****************************************************************************/ +void GtkPluginSelected( GtkButton *button, gpointer user_data ) +{ + module_t *p_module; + GtkWidget *widget; - /* XXX Default frequency */ + p_module = (module_t *)gtk_object_get_data( GTK_OBJECT(user_data), + "plugin_highlighted" ); + widget = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data), + "plugin_entry" ); + if( !p_module ) return; - /* XXX Default quality */ + gtk_entry_set_text( GTK_ENTRY(widget), p_module->psz_name ); - /* XXX Default number of channels */ +} - /* Use spdif output ? */ - ASSIGN_INT_TOGGLE( AOUT_SPDIF_VAR, "preferences_audio_spdif_checkbutton" ); +/**************************************************************************** + * GtkStringChanged: signal called when the user changes a string value. + ****************************************************************************/ +static void GtkStringChanged( GtkEditable *editable, gpointer user_data ) +{ + module_config_t *p_config; + + GHashTable *hash_table; + hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data), + "config_hash_table" ); + /* free old p_config */ + p_config = (module_config_t *)g_hash_table_lookup( hash_table, + (gpointer)editable ); + if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, NULL ); + + p_config = malloc( sizeof(module_config_t) ); + p_config->i_type = MODULE_CONFIG_ITEM_STRING; + p_config->psz_value = gtk_editable_get_chars( editable, 0, -1 ); + p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable), + "config_option" ); + + g_hash_table_insert( hash_table, (gpointer)editable, + (gpointer)p_config ); +} - /* Launch playlist on startup */ - ASSIGN_INT_TOGGLE( PLAYLIST_STARTUP_VAR, - "preferences_playlist_startup_checkbutton" ); +/**************************************************************************** + * GtkIntChanged: signal called when the user changes a an integer value. + ****************************************************************************/ +static void GtkIntChanged( GtkEditable *editable, gpointer user_data ) +{ + module_config_t *p_config; + + GHashTable *hash_table; + hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data), + "config_hash_table" ); + + /* free old p_config */ + p_config = (module_config_t *)g_hash_table_lookup( hash_table, + (gpointer)editable ); + if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, NULL ); + + p_config = malloc( sizeof(module_config_t) ); + p_config->i_type = MODULE_CONFIG_ITEM_INTEGER; + p_config->i_value = gtk_spin_button_get_value_as_int( + GTK_SPIN_BUTTON(editable) ); + p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable), + "config_option" ); + + g_hash_table_insert( hash_table, (gpointer)editable, + (gpointer)p_config ); +} - /* Enqueue drag'n dropped item as default */ - ASSIGN_INT_TOGGLE( PLAYLIST_ENQUEUE_VAR, - "preferences_playlist_enqueue_checkbutton" ); +/**************************************************************************** + * GtkStringChanged: signal called when the user changes a bool value. + ****************************************************************************/ +static void GtkBoolChanged( GtkToggleButton *button, gpointer user_data ) +{ + module_config_t *p_config; - /* Loop on playlist end */ - ASSIGN_INT_TOGGLE( PLAYLIST_LOOP_VAR, - "preferences_playlist_loop_checkbutton" ); + GHashTable *hash_table; + hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data), + "config_hash_table" ); - /* Verbosity of warning messages */ - ASSIGN_INT_VALUE( INTF_WARNING_VAR, - "preferences_misc_messages_spinbutton" ); -} -#undef ASSIGN_PSZ_ENTRY -#undef ASSIGN_INT_VALUE -#undef ASSIGN_INT_TOGGLE + /* free old p_config */ + p_config = (module_config_t *)g_hash_table_lookup( hash_table, + (gpointer)button ); + if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, NULL ); + p_config = malloc( sizeof(module_config_t) ); + p_config->i_type = MODULE_CONFIG_ITEM_BOOL; + p_config->i_value = gtk_toggle_button_get_active( button ); + p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(button), + "config_option" ); -void GtkPreferencesOk( GtkButton * button, gpointer user_data ) -{ - GtkPreferencesApply( button, user_data ); - gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); + g_hash_table_insert( hash_table, (gpointer)button, + (gpointer)p_config ); } +/**************************************************************************** + * GtkFreeHashTable: signal called when the config hash table is destroyed. + ****************************************************************************/ +static void GtkFreeHashTable( gpointer user_data ) +{ + GHashTable *hash_table = (GHashTable *)user_data; + + g_hash_table_foreach( hash_table, GtkFreeHashValue, NULL ); + g_hash_table_destroy( hash_table ); +} -void GtkPreferencesCancel( GtkButton * button, gpointer user_data ) +/**************************************************************************** + * GtkFreeHashValue: signal called when an element of the config hash table + * is destroyed. + ****************************************************************************/ +static void GtkFreeHashValue( gpointer key, gpointer value, gpointer user_data) { - gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); + module_config_t *p_config = (module_config_t *)value; + + if( p_config->i_type == MODULE_CONFIG_ITEM_STRING ) + g_free( p_config->psz_value ); + free( p_config ); } /**************************************************************************** - * Callbacks for menuitems + * GtkSaveHashValue: callback used when enumerating the hash table in + * GtkConfigApply(). ****************************************************************************/ -void GtkPreferencesActivate( GtkMenuItem * menuitem, gpointer user_data ) +static void GtkSaveHashValue( gpointer key, gpointer value, gpointer user_data) { - GtkPreferencesShow( GTK_WIDGET( menuitem ), NULL, user_data ); + module_config_t *p_config = (module_config_t *)value; + + switch( p_config->i_type ) + { + + case MODULE_CONFIG_ITEM_STRING: + case MODULE_CONFIG_ITEM_FILE: + case MODULE_CONFIG_ITEM_PLUGIN: + config_PutPszVariable( p_config->psz_name, p_config->psz_value ); + break; + case MODULE_CONFIG_ITEM_INTEGER: + case MODULE_CONFIG_ITEM_BOOL: + config_PutIntVariable( p_config->psz_name, p_config->i_value ); + break; + } } diff --git a/plugins/gtk/gtk_preferences.h b/plugins/gtk/gtk_preferences.h index d9515fa8b54aaed1e3f4d474f91df795315afdd0..aeb1b457d671e104cad4561561f797f058075b8f 100644 --- a/plugins/gtk/gtk_preferences.h +++ b/plugins/gtk/gtk_preferences.h @@ -2,7 +2,7 @@ * gtk_control.h: prototypes for control functions ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN - * $Id: gtk_preferences.h,v 1.2 2001/05/15 14:49:48 stef Exp $ + * $Id: gtk_preferences.h,v 1.3 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * St�phane Borel <stef@via.ecp.fr> @@ -22,8 +22,4 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *****************************************************************************/ -gboolean GtkPreferencesShow ( GtkWidget *, GdkEventButton *, gpointer ); -void GtkPreferencesOk ( GtkButton *, gpointer ); -void GtkPreferencesApply ( GtkButton *, gpointer ); -void GtkPreferencesCancel ( GtkButton *, gpointer ); -void GtkPreferencesActivate( GtkMenuItem *, gpointer ); +void GtkPreferencesActivate( GtkMenuItem *, gpointer ); diff --git a/plugins/mga/xmga.c b/plugins/mga/xmga.c index 9805e27d58aa2a27229c7dbf5f39061c6236be06..7a6ba55136af6b503db1b6e01132f298be37ad3d 100644 --- a/plugins/mga/xmga.c +++ b/plugins/mga/xmga.c @@ -2,7 +2,7 @@ * xmga.c : X11 MGA plugin for vlc ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: xmga.c,v 1.6 2002/02/24 20:51:10 gbazin Exp $ + * $Id: xmga.c,v 1.7 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * Samuel Hocevar <sam@zoy.org> @@ -267,9 +267,9 @@ static int vout_Create( vout_thread_t *p_vout ) return( 1 ); } - /* Open display, unsing the VOUT_DISPLAY_VAR config variable or the DISPLAY + /* Open display, unsing the "display" config variable or the DISPLAY * environment variable */ - psz_display = config_GetPszVariable( VOUT_DISPLAY_VAR ); + psz_display = config_GetPszVariable( "display" ); p_vout->p_sys->p_display = XOpenDisplay( psz_display ); if( p_vout->p_sys->p_display == NULL ) /* error */ diff --git a/plugins/mpeg_system/mpeg_ps.c b/plugins/mpeg_system/mpeg_ps.c index 3944ad9653975916981395060c673b19745672b1..cb393e2cdfad285c30b302877ad7983e49e80125 100644 --- a/plugins/mpeg_system/mpeg_ps.c +++ b/plugins/mpeg_system/mpeg_ps.c @@ -2,7 +2,7 @@ * mpeg_ps.c : Program Stream input module for vlc ***************************************************************************** * Copyright (C) 2000-2001 VideoLAN - * $Id: mpeg_ps.c,v 1.5 2002/03/04 23:56:37 massiot Exp $ + * $Id: mpeg_ps.c,v 1.6 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * @@ -216,11 +216,11 @@ static int PSInit( input_thread_t * p_input ) case MPEG1_AUDIO_ES: case MPEG2_AUDIO_ES: - if( config_GetIntVariable( INPUT_CHANNEL_VAR ) + if( config_GetIntVariable( "input_channel" ) == (p_es->i_id & 0x1F) || - ( config_GetIntVariable( INPUT_CHANNEL_VAR ) < 0 + ( config_GetIntVariable( "input_channel" ) < 0 && !(p_es->i_id & 0x1F) ) ) - switch( config_GetIntVariable( INPUT_AUDIO_VAR ) ) + switch( config_GetIntVariable( "input_audio" ) ) { case -1: case REQUESTED_MPEG: @@ -229,11 +229,11 @@ static int PSInit( input_thread_t * p_input ) break; case AC3_AUDIO_ES: - if( config_GetIntVariable( INPUT_CHANNEL_VAR ) + if( config_GetIntVariable( "input_channel" ) == ((p_es->i_id & 0xF00) >> 8) || - ( config_GetIntVariable( INPUT_CHANNEL_VAR ) < 0 + ( config_GetIntVariable( "input_channel" ) < 0 && !((p_es->i_id & 0xF00) >> 8) ) ) - switch( config_GetIntVariable( INPUT_AUDIO_VAR ) ) + switch( config_GetIntVariable( "input_audio" ) ) { case -1: case REQUESTED_AC3: @@ -242,7 +242,7 @@ static int PSInit( input_thread_t * p_input ) break; case DVD_SPU_ES: - if( config_GetIntVariable( INPUT_SUBTITLE_VAR ) + if( config_GetIntVariable( "input_subtitle" ) == ((p_es->i_id & 0x1F00) >> 8) ) { input_SelectES( p_input, p_es ); @@ -250,11 +250,11 @@ static int PSInit( input_thread_t * p_input ) break; case LPCM_AUDIO_ES: - if( config_GetIntVariable( INPUT_CHANNEL_VAR ) + if( config_GetIntVariable( "input_channel" ) == ((p_es->i_id & 0x1F00) >> 8) || - ( config_GetIntVariable( INPUT_CHANNEL_VAR ) < 0 + ( config_GetIntVariable( "input_channel" ) < 0 && !((p_es->i_id & 0x1F00) >> 8) ) ) - switch( config_GetIntVariable( INPUT_AUDIO_VAR ) ) + switch( config_GetIntVariable( "input_audio" ) ) { case -1: case REQUESTED_LPCM: diff --git a/plugins/mpeg_vdec/vpar_synchro.c b/plugins/mpeg_vdec/vpar_synchro.c index e57e2eb940eb88e64f3e9f434c00ed3ece8874cf..8ad374a72bd5c5983bb448cc5e56a01c6091c3a0 100644 --- a/plugins/mpeg_vdec/vpar_synchro.c +++ b/plugins/mpeg_vdec/vpar_synchro.c @@ -2,7 +2,7 @@ * vpar_synchro.c : frame dropping routines ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: vpar_synchro.c,v 1.7 2002/02/24 20:51:10 gbazin Exp $ + * $Id: vpar_synchro.c,v 1.8 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * Samuel Hocevar <sam@via.ecp.fr> @@ -534,7 +534,7 @@ void vpar_SynchroNewPicture( vpar_thread_t * p_vpar, int i_coding_type, static int SynchroType( void ) { char psz_synchro_tmp[5]; - char * psz_synchro = config_GetPszVariable( VPAR_SYNCHRO_VAR ); + char * psz_synchro = config_GetPszVariable( "vpar_synchro" ); if( psz_synchro == NULL ) { diff --git a/plugins/network/ipv4.c b/plugins/network/ipv4.c index bae150a6d3451bc90b4ce8ab545143549faeae17..77f845e81cb7c18f92d3a74dfecda92ae5369ccc 100644 --- a/plugins/network/ipv4.c +++ b/plugins/network/ipv4.c @@ -2,7 +2,7 @@ * ipv4.c: IPv4 network abstraction layer ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: ipv4.c,v 1.4 2002/03/04 23:56:37 massiot Exp $ + * $Id: ipv4.c,v 1.5 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * Mathias Kretschmer <mathias@research.att.com> @@ -163,7 +163,7 @@ static int OpenUDP( network_socket_t * p_socket ) if( i_bind_port == 0 ) { - i_bind_port = config_GetIntVariable( INPUT_PORT_VAR ); + i_bind_port = config_GetIntVariable( "server_port" ); } /* Open a SOCK_DGRAM (UDP) socket, in the AF_INET domain, automatic (0) diff --git a/plugins/network/ipv6.c b/plugins/network/ipv6.c index 209bf68d439b9dab44d3bae66cf86bfefeeacb2d..936ed4fc3482e7df1a76fbe1e76c931d04401c23 100644 --- a/plugins/network/ipv6.c +++ b/plugins/network/ipv6.c @@ -2,7 +2,7 @@ * ipv6.c: IPv6 network abstraction layer ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: ipv6.c,v 1.1 2002/03/04 23:56:37 massiot Exp $ + * $Id: ipv6.c,v 1.2 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Alexis Guillard <alexis.guillard@bt.com> * Christophe Massiot <massiot@via.ecp.fr> @@ -148,7 +148,7 @@ static int OpenUDP( network_socket_t * p_socket ) if( i_bind_port == 0 ) { - i_bind_port = config_GetIntVariable( INPUT_PORT_VAR ); + i_bind_port = config_GetIntVariable( "server_port" ); } /* Open a SOCK_DGRAM (UDP) socket, in the AF_INET6 domain, automatic (0) diff --git a/plugins/qnx/vout_qnx.c b/plugins/qnx/vout_qnx.c index 20bc5322ceaf059d7927b89317058fc7ae282859..20d0b96f6677e26179cbb911f73f831e9e62d238 100644 --- a/plugins/qnx/vout_qnx.c +++ b/plugins/qnx/vout_qnx.c @@ -142,14 +142,14 @@ static int vout_Create( vout_thread_t *p_vout ) memset( p_vout->p_sys, 0, sizeof( vout_sys_t ) ); p_vout->b_fullscreen = - config_GetIntVariable( VOUT_FULLSCREEN_VAR ); + config_GetIntVariable( "fullscreen" ); p_vout->p_sys->i_mode = - config_GetIntVariable( VOUT_NOOVERLAY_VAR ) ? + config_GetIntVariable( "nooverlay" ) ? MODE_NORMAL_MEM : MODE_VIDEO_OVERLAY; p_vout->p_sys->dim.w = - config_GetIntVariable( VOUT_WIDTH_VAR ); + config_GetIntVariable( "width" ); p_vout->p_sys->dim.h = - config_GetIntVariable( VOUT_HEIGHT_VAR ); + config_GetIntVariable( "height" ); /* init display and create window */ if( QNXInitDisplay( p_vout ) || QNXCreateWnd( p_vout ) ) diff --git a/plugins/text/logger.c b/plugins/text/logger.c index 04bf16e5d2676742742c1560305e55e9e96622fd..f68b5568c07d56db4c1511c8be3a196cc8882dc8 100644 --- a/plugins/text/logger.c +++ b/plugins/text/logger.c @@ -2,7 +2,7 @@ * logger.c : file logging plugin for vlc ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: logger.c,v 1.4 2002/02/24 20:51:10 gbazin Exp $ + * $Id: logger.c,v 1.5 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -103,10 +103,9 @@ static int intf_Open( intf_thread_t *p_intf ) } if( !(psz_filename = psz_filename_tmp - = config_GetPszVariable( INTF_METHOD_VAR )) ) + = config_GetPszVariable( "intf" )) ) { - intf_ErrMsg( "intf error: configuration variable %s empty", - INTF_METHOD_VAR ); + intf_ErrMsg( "intf error: configuration variable intf empty" ); return -1; } diff --git a/plugins/vcd/input_vcd.c b/plugins/vcd/input_vcd.c index cf465d1e7c560175b38a46f3c73f22647ffddfc4..85b320d7164d7621bff131193acb8df5b0aca462 100644 --- a/plugins/vcd/input_vcd.c +++ b/plugins/vcd/input_vcd.c @@ -164,7 +164,7 @@ static int VCDOpen( struct input_thread_s *p_input ) free( psz_orig ); return -1; } - psz_source = config_GetPszVariable( INPUT_VCD_DEVICE_VAR ); + psz_source = config_GetPszVariable( "vcd_device" ); } /* test the type of file given */ diff --git a/plugins/x11/xcommon.c b/plugins/x11/xcommon.c index b31695f957be4a6f5771a1b42d847373f0d4d2e8..6845b18659a383247c53a97e6e3da9ceec177c39 100644 --- a/plugins/x11/xcommon.c +++ b/plugins/x11/xcommon.c @@ -2,7 +2,7 @@ * xcommon.c: Functions common to the X11 and XVideo plugins ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: xcommon.c,v 1.20 2002/03/03 20:42:21 gbazin Exp $ + * $Id: xcommon.c,v 1.21 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * Samuel Hocevar <sam@zoy.org> @@ -295,9 +295,9 @@ static int vout_Create( vout_thread_t *p_vout ) return( 1 ); } - /* Open display, unsing the VOUT_DISPLAY_VAR config variable or the DISPLAY + /* Open display, unsing the "display" config variable or the DISPLAY * environment variable */ - psz_display = config_GetPszVariable( VOUT_DISPLAY_VAR ); + psz_display = config_GetPszVariable( "display" ); p_vout->p_sys->p_display = XOpenDisplay( psz_display ); if( p_vout->p_sys->p_display == NULL ) /* error */ diff --git a/src/audio_output/audio_output.c b/src/audio_output/audio_output.c index 172b38eec0200b52326fe505e11b0de2ff9b7f00..58994641ab8fbb70a45dbbd4930d987088d09fa1 100644 --- a/src/audio_output/audio_output.c +++ b/src/audio_output/audio_output.c @@ -2,7 +2,7 @@ * audio_output.c : audio output thread ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: audio_output.c,v 1.81 2002/03/04 22:18:25 gbazin Exp $ + * $Id: audio_output.c,v 1.82 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Michel Kaempf <maxx@via.ecp.fr> * Cyril Deguet <asmax@via.ecp.fr> @@ -96,15 +96,15 @@ aout_thread_t *aout_CreateThread( int *pi_status, int i_channels, int i_rate ) } p_aout->i_latency = 0; - p_aout->i_rate = config_GetIntVariable( AOUT_RATE_VAR ); - p_aout->i_channels = config_GetIntVariable( AOUT_MONO_VAR ) ? 1 : 2; + p_aout->i_rate = config_GetIntVariable( "rate" ); + p_aout->i_channels = config_GetIntVariable( "mono" ) ? 1 : 2; /* Maybe we should pass this setting in argument */ p_aout->i_format = AOUT_FORMAT_DEFAULT; /* special setting for ac3 pass-through mode */ /* FIXME is it necessary ? (cf ac3_adec.c) */ - if( config_GetIntVariable( AOUT_SPDIF_VAR ) && p_main->b_ac3 ) + if( config_GetIntVariable( "spdif" ) && p_main->b_ac3 ) { intf_WarnMsg( 4, "aout info: setting ac3 spdif" ); p_aout->i_format = AOUT_FMT_AC3; @@ -118,7 +118,7 @@ aout_thread_t *aout_CreateThread( int *pi_status, int i_channels, int i_rate ) } /* Choose the best module */ - psz_name = config_GetPszVariable( AOUT_METHOD_VAR ); + psz_name = config_GetPszVariable( "aout" ); p_aout->p_module = module_Need( MODULE_CAPABILITY_AOUT, psz_name, (void *)p_aout ); if( psz_name ) free( psz_name ); @@ -149,7 +149,7 @@ aout_thread_t *aout_CreateThread( int *pi_status, int i_channels, int i_rate ) } /* Initialize the volume level */ - p_aout->i_volume = config_GetIntVariable( AOUT_VOLUME_VAR ); + p_aout->i_volume = config_GetIntVariable( "volume" ); p_aout->i_savedvolume = 0; /* FIXME: maybe it would be cleaner to change SpawnThread prototype diff --git a/src/input/input.c b/src/input/input.c index 456577e19da42f9773cba1b9d8112ac5180b7733..88ef91948bce6db39bce462e53fd20d23735137c 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -4,7 +4,7 @@ * decoders. ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: input.c,v 1.188 2002/03/09 16:48:33 stef Exp $ + * $Id: input.c,v 1.189 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * Alexis Guillard <alexis.guillard@bt.com> @@ -187,9 +187,8 @@ input_thread_t *input_CreateThread ( playlist_item_t *p_item, int *pi_status ) p_input->stream.control.i_status = PLAYING_S; p_input->stream.control.i_rate = DEFAULT_RATE; p_input->stream.control.b_mute = 0; - p_input->stream.control.b_grayscale = config_GetIntVariable( - VOUT_GRAYSCALE_VAR ); - p_input->stream.control.i_smp = config_GetIntVariable( VDEC_SMP_VAR ); + p_input->stream.control.b_grayscale = config_GetIntVariable( "grayscale" ); + p_input->stream.control.i_smp = config_GetIntVariable( "vdec_smp" ); intf_WarnMsg( 1, "input: playlist item `%s'", p_input->psz_source ); diff --git a/src/input/input_dec.c b/src/input/input_dec.c index 6e6f699608e00a7ae6ee0c6331c19980f52485b6..5adfd4a46d4f7053c07cb2497e23126f9cec6db8 100644 --- a/src/input/input_dec.c +++ b/src/input/input_dec.c @@ -2,7 +2,7 @@ * input_dec.c: Functions for the management of decoders ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: input_dec.c,v 1.29 2002/03/01 00:33:18 massiot Exp $ + * $Id: input_dec.c,v 1.30 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * @@ -50,11 +50,11 @@ vlc_thread_t input_RunDecoder( input_thread_t * p_input, if( p_es->i_type == MPEG1_AUDIO_ES || p_es->i_type == MPEG2_AUDIO_ES ) { - psz_plugin = config_GetPszVariable( ADEC_MPEG_VAR ); + psz_plugin = config_GetPszVariable( "mpeg_adec" ); } if( p_es->i_type == AC3_AUDIO_ES ) { - psz_plugin = config_GetPszVariable( ADEC_AC3_VAR ); + psz_plugin = config_GetPszVariable( "ac3_adec" ); } /* Get a suitable module */ diff --git a/src/input/mpeg_system.c b/src/input/mpeg_system.c index 7bf7351d2f3ce5041cc856857c138e10c57c2947..c9cfa3fd9d8bd780ab1920f02f868217f3769474 100644 --- a/src/input/mpeg_system.c +++ b/src/input/mpeg_system.c @@ -2,7 +2,7 @@ * mpeg_system.c: TS, PS and PES management ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: mpeg_system.c,v 1.83 2002/03/05 17:46:33 stef Exp $ + * $Id: mpeg_system.c,v 1.84 2002/03/11 07:23:09 gbazin Exp $ * * Authors: Christophe Massiot <massiot@via.ecp.fr> * Michel Lespinasse <walken@via.ecp.fr> @@ -812,11 +812,11 @@ es_descriptor_t * input_ParsePS( input_thread_t * p_input, p_es->i_cat = AUDIO_ES; #ifdef AUTO_SPAWN if( !p_input->stream.b_seekable ) - if( config_GetIntVariable( INPUT_CHANNEL_VAR ) + if( config_GetIntVariable( "input_channel" ) == (p_es->i_id & 0x1F) || - ( config_GetIntVariable( INPUT_CHANNEL_VAR ) < 0 + ( config_GetIntVariable( "input_channel" ) < 0 && !(p_es->i_id & 0x1F) ) ) - switch( config_GetIntVariable( INPUT_AUDIO_VAR ) ) + switch( config_GetIntVariable( "input_audio" ) ) { case -1: case REQUESTED_MPEG: @@ -832,11 +832,11 @@ es_descriptor_t * input_ParsePS( input_thread_t * p_input, p_es->i_cat = AUDIO_ES; #ifdef AUTO_SPAWN if( !p_input->stream.b_seekable ) - if( config_GetIntVariable( INPUT_CHANNEL_VAR ) + if( config_GetIntVariable( "input_channel" ) == ((p_es->i_id & 0xF00) >> 8) || - ( config_GetIntVariable( INPUT_CHANNEL_VAR ) < 0 + ( config_GetIntVariable( "input_channel" ) < 0 && !((p_es->i_id & 0xF00) >> 8)) ) - switch( config_GetIntVariable( INPUT_AUDIO_VAR ) ) + switch( config_GetIntVariable( "input_audio" ) ) { case -1: case REQUESTED_AC3: @@ -850,7 +850,7 @@ es_descriptor_t * input_ParsePS( input_thread_t * p_input, p_es->i_type = DVD_SPU_ES; p_es->i_cat = SPU_ES; #ifdef AUTO_SPAWN - if( config_GetIntVariable( INPUT_SUBTITLE_VAR ) + if( config_GetIntVariable( "input_subtitle" ) == ((p_es->i_id & 0x1F00) >> 8) ) { if( !p_input->stream.b_seekable ) @@ -1638,7 +1638,7 @@ static void input_DecodePMT( input_thread_t * p_input, es_descriptor_t * p_es ) if( p_main->b_audio ) { /* Default is the first one */ - i_required_audio_es = config_GetIntVariable( INPUT_CHANNEL_VAR ); + i_required_audio_es = config_GetIntVariable( "input_channel" ); if( i_required_audio_es < 0 ) { i_required_audio_es = 1; @@ -1653,7 +1653,7 @@ static void input_DecodePMT( input_thread_t * p_input, es_descriptor_t * p_es ) if( p_main->b_video ) { /* for spu, default is none */ - i_required_spu_es = config_GetIntVariable( INPUT_SUBTITLE_VAR ); + i_required_spu_es = config_GetIntVariable( "input_subtitle" ); if( i_required_spu_es < 0 ) { i_required_spu_es = 0; diff --git a/src/interface/interface.c b/src/interface/interface.c index eaaeb92cbc0e81e897e5d1de10923932d075938c..df26af55978769dd42015401359fa0077e83c996 100644 --- a/src/interface/interface.c +++ b/src/interface/interface.c @@ -4,7 +4,7 @@ * interface, such as command line. ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: interface.c,v 1.91 2002/03/06 03:27:17 sam Exp $ + * $Id: interface.c,v 1.92 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * @@ -71,7 +71,7 @@ intf_thread_t* intf_Create( void ) } /* Choose the best module */ - psz_name = config_GetPszVariable( INTF_METHOD_VAR ); + psz_name = config_GetPszVariable( "intf" ); p_intf->p_module = module_Need( MODULE_CAPABILITY_INTF, psz_name, (void *)p_intf ); @@ -165,7 +165,7 @@ static void intf_Manage( intf_thread_t *p_intf ) p_main->p_playlist->b_stopped = 0; p_main->p_playlist->i_mode = PLAYLIST_FORWARD + - config_GetIntVariable( PLAYLIST_LOOP_VAR ); + config_GetIntVariable( "playlist_loop" ); intf_WarnMsg( 3, "intf: creating new input thread" ); p_input = input_CreateThread( &p_main->p_playlist->current, NULL ); diff --git a/src/interface/main.c b/src/interface/main.c index e954e222f33dba3cce2b1e1502bfaf59a8078172..e48bf8a337581d7d1917bdea5921b6ef98fb7391 100644 --- a/src/interface/main.c +++ b/src/interface/main.c @@ -4,7 +4,7 @@ * and spawn threads. ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: main.c,v 1.161 2002/03/06 23:54:28 sam Exp $ + * $Id: main.c,v 1.162 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * Samuel Hocevar <sam@zoy.org> @@ -95,6 +95,164 @@ #define MODULE_NAME main #include "modules_inner.h" /* for configuration stuff */ + +#define INTF_TEXT "interface method" +#define INTF_LONGTEXT "This option allows you to select the interface used by"\ + " vlc.\nNote that the default behaviour is to" \ + " automatically select the best method available" + +#define WARNING_TEXT "warning level (or use -v, -vv, etc...)" +#define WARNING_LONGTEXT "Increasing the warning level will allow you to see" \ + " more debug messages and can sometimes help you to" \ + " troubleshoot a problem" + +#define STATS_TEXT "output statistics" +#define STATS_LONGTEXT "Enabling the stats mode will flood your log console" \ + " with various statistics messages" + +#define INTF_PATH_TEXT "interface default search path" +#define INTF_PATH_LONGTEXT "This option allows you to set the default path" \ + "that the interface will open when looking for a" \ + " file" + +#define AOUT_TEXT "audio output method" +#define AOUT_LONGTEXT "This option allows you to select the audio" \ + " audio output method used by vlc.\nNote that the" \ + " default behaviour is to automatically select the best"\ + " method available" + +#define NOAUDIO_TEXT "disable audio" +#define NOAUDIO_LONGTEXT "This will completely disable the audio output. The" \ + " audio decoding stage shouldn't even be done, so it"\ + " can allow you to save some processing power" + +#define MONO_TEXT "mono audio" +#define MONO_LONGTEXT "This will force a mono audio output" + +#define VOLUME_TEXT "audio output volume" +#define VOLUME_LONGTEXT "You can set the default audio output volume here" + +#define RATE_TEXT "audio output frequency" +#define RATE_LONGTEXT "You can force the audio output frequency here" + +#define DESYNC_TEXT "Compensate desynchronization of audio (in ms)" +#define DESYNC_LONGTEXT "This option allows you to delay the audio output." \ + "This can be handy if you notice a lag between the" \ + " video and the audio" + +#define VOUT_TEXT "video output method" +#define VOUT_LONGTEXT "This option allows you to select the video output" \ + "method used by vlc.\nNote that the default behaviour" \ + "is to automatically select the best method available" + +#define NOVIDEO_TEXT "disable video" +#define NOVIDEO_LONGTEXT "This will completely disable the video output. The" \ + "video decoding stage shouldn't even be done, so it" \ + "can allow you to save some processing power" + +#define DISPLAY_TEXT "display identifier" +#define DISPLAY_LONGTEXT NULL + +#define WIDTH_TEXT "video width" +#define WIDTH_LONGTEXT "You can enforce the video width here.\nNote" \ + "that by default vlc will adapt to the video properties" + +#define HEIGHT_TEXT "video height" +#define HEIGHT_LONGTEXT NULL + +#define GRAYSCALE_TEXT "grayscale video output" +#define GRAYSCALE_LONGTEXT NULL + +#define FULLSCREEN_TEXT "fullscreen video output" +#define FULLSCREEN_LONGTEXT NULL + +#define NOOVERLAY_TEXT "disable accelerated display" +#define NOOVERLAY_LONGTEXT NULL + +#define SPUMARGIN_TEXT "force SPU position" +#define SPUMARGIN_LONGTEXT NULL + +#define FILTER_TEXT "video filter module" +#define FILTER_LONGTEXT NULL + +#define INPUT_TEXT "input method" +#define INPUT_LONGTEXT NULL + +#define SERVER_PORT_TEXT "server port" +#define SERVER_PORT_LONGTEXT NULL + +#define NETCHANNEL_TEXT "enable network channel mode" +#define NETCHANNEL_LONGTEXT NULL + +#define CHAN_SERV_TEXT "channel server address" +#define CHAN_SERV_LONGTEXT NULL + +#define CHAN_PORT_TEXT "channel server port" +#define CHAN_PORT_LONGTEXT NULL + +#define IFACE_TEXT "network interface" +#define IFACE_LONGTEXT NULL + +#define INPUT_AUDIO_TEXT "choose audio" +#define INPUT_AUDIO_LONGTEXT NULL + +#define INPUT_CHAN_TEXT "choose channel" +#define INPUT_CHAN_LONGTEXT NULL + +#define INPUT_SUBT_TEXT "choose subtitles" +#define INPUT_SUBT_LONGTEXT NULL + +#define DVD_DEV_TEXT "DVD device" +#define DVD_DEV_LONGTEXT NULL + +#define VCD_DEV_TEXT "VCD device" +#define VCD_DEV_LONGTEXT NULL + +#define IPV6_TEXT "force IPv6" +#define IPV6_LONGTEXT NULL + +#define IPV4_TEXT "force IPv6" +#define IPV4_LONGTEXT NULL + +#define ADEC_MPEG_TEXT "choose MPEG audio decoder" +#define ADEC_MPEG_LONGTEXT NULL + +#define ADEC_AC3_TEXT "choose AC3 audio decoder" +#define ADEC_AC3_LONGTEXT NULL + +#define VDEC_SMP_TEXT "use additional processors" +#define VDEC_SMP_LONGTEXT NULL + +#define VPAR_SYNCHRO_TEXT "force synchro algorithm {I|I+|IP|IP+|IPB}" +#define VPAR_SYNCHRO_LONGTEXT NULL + +#define NOMMX_TEXT "disable CPU's MMX support" +#define NOMMX_LONGTEXT NULL + +#define NO3DN_TEXT "disable CPU's 3D Now! support" +#define NO3DN_LONGTEXT NULL + +#define NOMMXEXT_TEXT "disable CPU's MMX EXT support" +#define NOMMXEXT_LONGTEXT NULL + +#define NOSSE_TEXT "disable CPU's SSE support" +#define NOSSE_LONGTEXT NULL + +#define NOALTIVEC_TEXT "disable CPU's AltiVec support" +#define NOALTIVEC_LONGTEXT NULL + +#define PLAYLIST_LAUNCH_TEXT "launch playlist on startup" +#define PLAYLIST_LAUNCH_LONGTEXT NULL + +#define PLAYLIST_ENQUEUE_TEXT "enqeue playlist as default" +#define PLAYLIST_ENQUEUE_LONGTEXT NULL + +#define PLAYLIST_LOOP_TEXT "loop playlist on end" +#define PLAYLIST_LOOP_LONGTEXT NULL + +#define MEMCPY_TEXT "memory copy method" +#define MEMCPY_LONGTEXT NULL + /* Quick usage guide MODULE_CONFIG_START MODULE_CONFIG_STOP @@ -109,96 +267,77 @@ ADD_BOOL( option_name, p_callback, text, longtext ) MODULE_CONFIG_START -/* Help options */ -ADD_CATEGORY_HINT( "Help Options", NULL ) -ADD_BOOL ( "help", NULL,"print help and exit (or use -h)", NULL ) -ADD_BOOL ( "longhelp", NULL, "print long help version and exit (or use -H)", - NULL ) -ADD_BOOL ( "list", NULL, "list available plugins (or use -l)", NULL ) -ADD_STRING ( "pluginhelp", NULL, NULL,"print help on a plugin and exit",NULL ) -ADD_BOOL ( "version", NULL, "output version information and exit", NULL ) - /* Interface options */ -ADD_CATEGORY_HINT( "Interface Options", NULL) -ADD_PLUGIN ( INTF_METHOD_VAR, MODULE_CAPABILITY_INTF, NULL, NULL, - "interface method", NULL ) -ADD_INTEGER ( INTF_WARNING_VAR, 0, NULL, "warning level (or use -v)", NULL ) -ADD_BOOL ( INTF_STATS_VAR, NULL, "output statistics", NULL ) -ADD_STRING ( INTF_PATH_VAR, NULL, NULL, "interface default search path", NULL) - -/* Audio Options */ -ADD_CATEGORY_HINT( "Audio Options", NULL) -ADD_BOOL ( AOUT_NOAUDIO_VAR, NULL, "disable audio", NULL ) -ADD_PLUGIN ( AOUT_METHOD_VAR, MODULE_CAPABILITY_AOUT, NULL, NULL, - "audio output method", NULL ) -ADD_BOOL ( AOUT_MONO_VAR, NULL, "mono audio", NULL ) -ADD_INTEGER ( AOUT_VOLUME_VAR, VOLUME_DEFAULT, NULL, "VLC output volume", NULL) -ADD_INTEGER ( AOUT_RATE_VAR, 44100, NULL, "VLC output frequency", NULL ) -ADD_INTEGER ( AOUT_DESYNC_VAR, 0, NULL, "Compensate desynchronization of the " - "audio (in ms)", NULL ) +ADD_CATEGORY_HINT( "Interface", NULL) +ADD_PLUGIN ( "intf", MODULE_CAPABILITY_INTF, NULL, NULL, INTF_TEXT, INTF_LONGTEXT ) +ADD_INTEGER ( "warning", 0, NULL, WARNING_TEXT, WARNING_LONGTEXT ) +ADD_BOOL ( "stats", NULL, STATS_TEXT, STATS_LONGTEXT ) +ADD_STRING ( "search_path", NULL, NULL, INTF_PATH_TEXT, INTF_PATH_LONGTEXT ) + +/* Audio options */ +ADD_CATEGORY_HINT( "Audio", NULL) +ADD_PLUGIN ( "aout", MODULE_CAPABILITY_AOUT, NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT ) +ADD_BOOL ( "noaudio", NULL, NOAUDIO_TEXT, NOAUDIO_LONGTEXT ) +ADD_BOOL ( "mono", NULL, MONO_TEXT, MONO_LONGTEXT ) +ADD_INTEGER ( "volume", VOLUME_DEFAULT, NULL, VOLUME_TEXT, VOLUME_LONGTEXT ) +ADD_INTEGER ( "rate", 44100, NULL, RATE_TEXT, RATE_LONGTEXT ) +ADD_INTEGER ( "desync", 0, NULL, DESYNC_TEXT, DESYNC_LONGTEXT ) /* Video options */ -ADD_CATEGORY_HINT( "Video Options", NULL ) -ADD_BOOL ( VOUT_NOVIDEO_VAR, NULL, "disable video", NULL ) -ADD_PLUGIN ( VOUT_METHOD_VAR, MODULE_CAPABILITY_VOUT, NULL, NULL, - "video output method", NULL ) -ADD_STRING ( VOUT_DISPLAY_VAR, NULL, NULL, "display string", NULL ) -ADD_INTEGER ( VOUT_WIDTH_VAR, 720, NULL, "display width", NULL ) -ADD_INTEGER ( VOUT_HEIGHT_VAR, 576, NULL, "display height", NULL ) -ADD_BOOL ( VOUT_GRAYSCALE_VAR, NULL, "grayscale output", NULL ) -ADD_BOOL ( VOUT_FULLSCREEN_VAR, NULL, "fullscreen output", NULL ) -ADD_BOOL ( VOUT_NOOVERLAY_VAR, NULL, "disable accelerated display", NULL ) -ADD_PLUGIN ( VOUT_FILTER_VAR, MODULE_CAPABILITY_VOUT, NULL, NULL, - "video filter module", NULL ) -ADD_INTEGER ( VOUT_SPUMARGIN_VAR, -1, NULL, "force SPU position", NULL ) +ADD_CATEGORY_HINT( "Video", NULL ) +ADD_PLUGIN ( "vout", MODULE_CAPABILITY_VOUT, NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT ) +ADD_BOOL ( "novideo", NULL, NOVIDEO_TEXT, NOVIDEO_LONGTEXT ) +ADD_STRING ( "display", NULL, NULL, DISPLAY_TEXT, DISPLAY_LONGTEXT ) +ADD_INTEGER ( "width", 720, NULL, WIDTH_TEXT, WIDTH_LONGTEXT ) +ADD_INTEGER ( "height", 576, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT ) +ADD_BOOL ( "grayscale", NULL, GRAYSCALE_TEXT, GRAYSCALE_LONGTEXT ) +ADD_BOOL ( "fullscreen", NULL, FULLSCREEN_TEXT, FULLSCREEN_LONGTEXT ) +ADD_BOOL ( "nooverlay", NULL, NOOVERLAY_TEXT, NOOVERLAY_LONGTEXT ) +ADD_INTEGER ( "spumargin", -1, NULL, SPUMARGIN_TEXT, SPUMARGIN_LONGTEXT ) +ADD_PLUGIN ( "filter", MODULE_CAPABILITY_VOUT, NULL, NULL, FILTER_TEXT, FILTER_LONGTEXT ) /* Input options */ -ADD_CATEGORY_HINT( "Input Options", NULL ) -ADD_STRING ( INPUT_METHOD_VAR, NULL, NULL, "input method", NULL ) -ADD_INTEGER ( INPUT_PORT_VAR, 1234, NULL, "server port", NULL ) -ADD_BOOL ( INPUT_NETWORK_CHANNEL_VAR, NULL, "enable network channel mode", - NULL ) -ADD_STRING ( INPUT_CHANNEL_SERVER_VAR, "localhost", NULL, - "channel server address", NULL ) -ADD_INTEGER ( INPUT_CHANNEL_PORT_VAR, 6010, NULL, "channel server port", NULL ) -ADD_STRING ( INPUT_IFACE_VAR, "eth0", NULL, "network interface", NULL ) - -ADD_INTEGER ( INPUT_AUDIO_VAR, -1, NULL, "choose audio", NULL ) -ADD_INTEGER ( INPUT_CHANNEL_VAR, -1, NULL, "choose channel", NULL ) -ADD_INTEGER ( INPUT_SUBTITLE_VAR, -1, NULL, "choose subtitles", NULL ) - -ADD_STRING ( INPUT_DVD_DEVICE_VAR, "/dev/dvd", NULL, "DVD device", NULL ) -ADD_STRING ( INPUT_VCD_DEVICE_VAR, "/dev/cdrom", NULL, "VCD device", NULL ) -ADD_BOOL ( INPUT_IPV6_VAR, NULL, "force IPv6", NULL ) -ADD_BOOL ( INPUT_IPV4_VAR, NULL, "force IPv4", NULL ) +ADD_CATEGORY_HINT( "Input", NULL ) +ADD_STRING ( "input", NULL, NULL, INPUT_TEXT, INPUT_LONGTEXT ) +ADD_INTEGER ( "server_port", 1234, NULL, SERVER_PORT_TEXT, SERVER_PORT_LONGTEXT ) +ADD_BOOL ( "network_channel", NULL, NETCHANNEL_TEXT, NETCHANNEL_LONGTEXT ) +ADD_STRING ( "channel_server", "localhost", NULL, CHAN_SERV_TEXT, CHAN_SERV_LONGTEXT ) +ADD_INTEGER ( "channel_port", 6010, NULL, CHAN_PORT_TEXT, CHAN_PORT_LONGTEXT ) +ADD_STRING ( "iface", "eth0", NULL, IFACE_TEXT, IFACE_LONGTEXT ) + +ADD_INTEGER ( "input_audio", -1, NULL, INPUT_AUDIO_TEXT, INPUT_AUDIO_LONGTEXT ) +ADD_INTEGER ( "input channel", -1, NULL, INPUT_CHAN_TEXT, INPUT_CHAN_LONGTEXT ) +ADD_INTEGER ( "input_subtitle", -1, NULL, INPUT_SUBT_TEXT, INPUT_SUBT_LONGTEXT ) + +ADD_STRING ( "dvd_device", "/dev/dvd", NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT ) +ADD_STRING ( "vcd_device", "/dev/cdrom", NULL, VCD_DEV_TEXT, VCD_DEV_LONGTEXT ) +ADD_BOOL ( "ipv6", NULL, IPV6_TEXT, IPV6_LONGTEXT ) +ADD_BOOL ( "ipv4", NULL, IPV4_TEXT, IPV4_LONGTEXT ) /* Decoder options */ -ADD_CATEGORY_HINT( "Decoders Options", NULL ) -ADD_PLUGIN ( ADEC_MPEG_VAR, MODULE_CAPABILITY_DECODER, NULL, NULL, - "choose MPEG audio decoder", NULL ) -ADD_PLUGIN ( ADEC_AC3_VAR, MODULE_CAPABILITY_DECODER, NULL, NULL, - "choose AC3 audio decoder", NULL ) -ADD_INTEGER ( VDEC_SMP_VAR, 0, NULL, "use additional processors", NULL ) -ADD_STRING ( VPAR_SYNCHRO_VAR, NULL, NULL, "force synchro algorithm " - "{I|I+|IP|IP+|IPB}", NULL ) +ADD_CATEGORY_HINT( "Decoders", NULL ) +ADD_PLUGIN ( "mpeg_adec", MODULE_CAPABILITY_DECODER, NULL, NULL, ADEC_MPEG_TEXT, ADEC_MPEG_LONGTEXT ) +ADD_PLUGIN ( "ac3_adec", MODULE_CAPABILITY_DECODER, NULL, NULL, ADEC_AC3_TEXT, ADEC_AC3_LONGTEXT ) +ADD_INTEGER ( "vdec_smp", 0, NULL, VDEC_SMP_TEXT, VDEC_SMP_LONGTEXT ) +ADD_STRING ( "vpar_synchro", NULL, NULL, VPAR_SYNCHRO_TEXT, VPAR_SYNCHRO_LONGTEXT ) /* CPU options */ -ADD_CATEGORY_HINT( "CPU Options Options", NULL ) -ADD_BOOL ( NOMMX_VAR, NULL, "disable CPU's MMX support", NULL ) -ADD_BOOL ( NO3DN_VAR, NULL, "disable CPU's 3D Now! support", NULL ) -ADD_BOOL ( NOMMXEXT_VAR, NULL, "disable CPU's MMX EXT support", NULL ) -ADD_BOOL ( NOSSE_VAR, NULL, "disable CPU's SSE support", NULL ) -ADD_BOOL ( NOALTIVEC_VAR, NULL, "disable CPU's AltiVec support", NULL ) +ADD_CATEGORY_HINT( "CPU", NULL ) +ADD_BOOL ( "nommx", NULL, NOMMX_TEXT, NOMMX_LONGTEXT ) +ADD_BOOL ( "no3dn", NULL, NO3DN_TEXT, NO3DN_LONGTEXT ) +ADD_BOOL ( "nommxext", NULL, NOMMXEXT_TEXT, NOMMXEXT_LONGTEXT ) +ADD_BOOL ( "nosse", NULL, NOSSE_TEXT, NOSSE_LONGTEXT ) +ADD_BOOL ( "noaltivec", NULL, NOALTIVEC_TEXT, NOALTIVEC_LONGTEXT ) /* Playlist options */ -ADD_BOOL ( PLAYLIST_STARTUP_VAR, NULL, "launch playlist on startup", NULL ) -ADD_BOOL ( PLAYLIST_ENQUEUE_VAR, NULL, "enqueue playlist as default", NULL ) -ADD_BOOL ( PLAYLIST_LOOP_VAR, NULL, "loop on playlist end", NULL ) +ADD_CATEGORY_HINT( "Playlist", NULL ) +ADD_BOOL ( "playlist_launch", NULL, PLAYLIST_LAUNCH_TEXT, PLAYLIST_LAUNCH_LONGTEXT ) +ADD_BOOL ( "playlist_enqueue", NULL, PLAYLIST_ENQUEUE_TEXT, PLAYLIST_ENQUEUE_LONGTEXT ) +ADD_BOOL ( "playlist_loop", NULL, PLAYLIST_LOOP_TEXT, PLAYLIST_LOOP_LONGTEXT ) /* Misc options */ -ADD_CATEGORY_HINT( "Miscellaneous Options", NULL ) -ADD_PLUGIN ( MEMCPY_METHOD_VAR, MODULE_CAPABILITY_MEMCPY, NULL, NULL, - "memory copy method", NULL ) +ADD_CATEGORY_HINT( "Miscellaneous", NULL ) +ADD_PLUGIN ( "memcpy", MODULE_CAPABILITY_MEMCPY, NULL, NULL, MEMCPY_TEXT, MEMCPY_LONGTEXT ) MODULE_CONFIG_STOP @@ -212,6 +351,23 @@ MODULE_ACTIVATE_STOP MODULE_DEACTIVATE_START MODULE_DEACTIVATE_STOP + +/* Hack for help options */ +static module_t help_module; +static module_config_t p_help_config[] = { + { MODULE_CONFIG_ITEM_BOOL, "help", "print help (or use -h)", + NULL, NULL, 0, NULL, NULL, 0 }, + { MODULE_CONFIG_ITEM_BOOL, "longhelp", "print detailed help (or use -H)", + NULL, NULL, 0, NULL, NULL, 0 }, + { MODULE_CONFIG_ITEM_BOOL, "list", "print a list of available plugins " + "(or use -l)", NULL, NULL, 0, NULL, NULL, 0 }, + { MODULE_CONFIG_ITEM_STRING, "plugin", "print help on plugin (or use -p)", + NULL, NULL, 0, NULL, &help_module.config_lock, 0 }, + { MODULE_CONFIG_ITEM_BOOL, "version", "print version information", + NULL, NULL, 0, NULL, NULL, 0 }, + { MODULE_CONFIG_HINT_END, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0 } }; + + /***************************************************************************** * End configuration. *****************************************************************************/ @@ -267,6 +423,7 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) input_bank_t input_bank; aout_bank_t aout_bank; vout_bank_t vout_bank; + char *psz_plugin; char *p_tmp; p_main = &main_data; /* set up the global variables */ @@ -300,7 +457,7 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) /* * Initialize threads system */ - vlc_threads_init( ); + vlc_threads_init(); /* * Test if our code is likely to run on this CPU @@ -345,6 +502,17 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) module_InitBank(); module_LoadMain(); + /* Hack: insert the help module here */ + help_module.psz_name = "help"; + help_module.i_config_lines = sizeof(p_help_config) / + sizeof(module_config_t); + help_module.i_config_items = help_module.i_config_lines - 1; + vlc_mutex_init( &help_module.config_lock ); + help_module.p_config = p_help_config; + help_module.next = p_module_bank->first; + p_module_bank->first = &help_module; + /* end hack */ + if( GetConfigurationFromCmdLine( &i_argc, ppsz_argv, 1 ) ) { intf_MsgDestroy(); @@ -354,6 +522,10 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) /* Check for short help option */ if( config_GetIntVariable( "help" ) ) { + intf_Msg( "Usage: %s [options] [parameters] [file]...\n", + p_main->psz_arg0 ); + + Usage( "help" ); Usage( "main" ); return( -1 ); } @@ -365,6 +537,10 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) return( -1 ); } + /* Hack: remove the help module here */ + p_module_bank->first = help_module.next; + /* end hack */ + /* * Load the builtins and plugins into the module_bank. * We have to do it before GetConfiguration() because this also gets the @@ -376,8 +552,13 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) intf_WarnMsg( 2, "module: module bank initialized, found %i modules", p_module_bank->i_count ); + /* Hack: insert the help module here */ + help_module.next = p_module_bank->first; + p_module_bank->first = &help_module; + /* end hack */ + /* Check for help on plugins */ - if( (p_tmp = config_GetPszVariable( "pluginhelp" )) ) + if( (p_tmp = config_GetPszVariable( "plugin" )) ) { Usage( p_tmp ); free( p_tmp ); @@ -398,6 +579,11 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) return( -1 ); } + /* Hack: remove the help module here */ + p_module_bank->first = help_module.next; + /* end hack */ + + /* * Override default configuration with config file settings */ @@ -417,21 +603,21 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) } /* p_main inititalization. FIXME ? */ - p_main->i_desync = (mtime_t)config_GetIntVariable( AOUT_DESYNC_VAR ) + p_main->i_desync = (mtime_t)config_GetIntVariable( "desync" ) * (mtime_t)1000; - p_main->b_stats = config_GetIntVariable( INTF_STATS_VAR ); - p_main->b_audio = !config_GetIntVariable( AOUT_NOAUDIO_VAR ); - p_main->b_stereo= !config_GetIntVariable( AOUT_MONO_VAR ); - p_main->b_video = !config_GetIntVariable( VOUT_NOVIDEO_VAR ); - if( config_GetIntVariable( NOMMX_VAR ) ) + p_main->b_stats = config_GetIntVariable( "stats" ); + p_main->b_audio = !config_GetIntVariable( "noaudio" ); + p_main->b_stereo= !config_GetIntVariable( "mono" ); + p_main->b_video = !config_GetIntVariable( "novideo" ); + if( config_GetIntVariable( "nommx" ) ) p_main->i_cpu_capabilities &= ~CPU_CAPABILITY_MMX; - if( config_GetIntVariable( NO3DN_VAR ) ) + if( config_GetIntVariable( "no3dn" ) ) p_main->i_cpu_capabilities &= ~CPU_CAPABILITY_3DNOW; - if( config_GetIntVariable( NOMMXEXT_VAR ) ) + if( config_GetIntVariable( "nommxext" ) ) p_main->i_cpu_capabilities &= ~CPU_CAPABILITY_MMXEXT; - if( config_GetIntVariable( NOSSE_VAR ) ) + if( config_GetIntVariable( "nosse" ) ) p_main->i_cpu_capabilities &= ~CPU_CAPABILITY_SSE; - if( config_GetIntVariable( NOALTIVEC_VAR ) ) + if( config_GetIntVariable( "noaltivec" ) ) p_main->i_cpu_capabilities &= ~CPU_CAPABILITY_ALTIVEC; @@ -487,8 +673,10 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) /* * Choose the best memcpy module */ + psz_plugin = config_GetPszVariable( "memcpy" ); p_main->p_memcpy_module = module_Need( MODULE_CAPABILITY_MEMCPY, NULL, - NULL ); + psz_plugin ); + if( psz_plugin ) free( psz_plugin ); if( p_main->p_memcpy_module == NULL ) { intf_ErrMsg( "intf error: no suitable memcpy module, " @@ -504,13 +692,13 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) /* * Initialize shared resources and libraries */ - if( config_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR ) && + if( config_GetIntVariable( "network_channel" ) && network_ChannelCreate() ) { /* On error during Channels initialization, switch off channels */ intf_ErrMsg( "intf error: channels initialization failed, " "deactivating channels" ); - config_PutIntVariable( INPUT_NETWORK_CHANNEL_VAR, 0 ); + config_PutIntVariable( "network_channel", 0 ); } /* @@ -541,7 +729,7 @@ int main( int i_argc, char *ppsz_argv[], char *ppsz_env[] ) /* * Go back into channel 0 which is the network */ - if( config_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR ) ) + if( config_GetIntVariable( "network_channel" ) ) { network_ChannelJoin( COMMON_CHANNEL ); } @@ -616,8 +804,7 @@ static int GetConfigurationFromCmdLine( int *pi_argc, char *ppsz_argv[], struct option *p_longopts; /* Short options */ - const char *psz_shortopts = "hHvl"; - + const char *psz_shortopts = "hHvlp:"; /* Set default configuration and copy arguments */ p_main->i_argc = *pi_argc; @@ -650,15 +837,13 @@ static int GetConfigurationFromCmdLine( int *pi_argc, char *ppsz_argv[], * Generate the longopts structure used by getopt_long */ i_longopts_size = 0; - for( p_module = p_module_bank->first ; + for( p_module = p_module_bank->first; p_module != NULL ; p_module = p_module->next ) { /* count the number of exported configuration options (to allocate - * longopts). The i_config_options we use is an approximation of the - * real number of options (it also includes markers like: category ...) - * but it is enough for our purpose */ - i_longopts_size += p_module->i_config_options -1; + * longopts). */ + i_longopts_size += p_module->i_config_items; } p_longopts = (struct option *)malloc( sizeof(struct option) @@ -676,14 +861,11 @@ static int GetConfigurationFromCmdLine( int *pi_argc, char *ppsz_argv[], p_module != NULL ; p_module = p_module->next ) { - for( i = 1; i < (p_module->i_config_options -1); i++ ) + for( i = 0; i < p_module->i_config_lines; i++ ) { - if( (p_module->p_config[i].i_type == MODULE_CONFIG_ITEM_CATEGORY)|| - (p_module->p_config[i].i_type == - MODULE_CONFIG_ITEM_SUBCATEGORY)|| - (p_module->p_config[i].i_type == - MODULE_CONFIG_ITEM_SUBCATEGORY_END) ) - continue; + if( p_module->p_config[i].i_type & MODULE_CONFIG_HINT ) + /* ignore hints */ + continue; p_longopts[i_index].name = p_module->p_config[i].psz_name; p_longopts[i_index].has_arg = (p_module->p_config[i].i_type == MODULE_CONFIG_ITEM_BOOL)? @@ -747,6 +929,9 @@ static int GetConfigurationFromCmdLine( int *pi_argc, char *ppsz_argv[], case 'l': /* -l, --list */ config_PutIntVariable( "list", 1 ); break; + case 'p': /* -p, --plugin */ + config_PutPszVariable( "plugin", optarg ); + break; case 'v': /* -v, --verbose */ p_main->i_warning_level++; break; @@ -754,6 +939,7 @@ static int GetConfigurationFromCmdLine( int *pi_argc, char *ppsz_argv[], /* Internal error: unknown option */ case '?': default: + if( !b_ignore_errors ) { intf_ErrMsg( "intf error: unknown option `%s'", @@ -767,7 +953,6 @@ static int GetConfigurationFromCmdLine( int *pi_argc, char *ppsz_argv[], #endif free( p_longopts ); return( EINVAL ); - break; } } @@ -818,10 +1003,6 @@ static void Usage( const char *psz_module_name ) ShowConsole(); #endif - /* Usage */ - intf_Msg( "Usage: %s [options] [parameters] [file]...\n", - p_main->psz_arg0 ); - /* Enumerate the config of each module */ for( p_module = p_module_bank->first ; p_module != NULL ; @@ -831,16 +1012,19 @@ static void Usage( const char *psz_module_name ) if( psz_module_name && strcmp( psz_module_name, p_module->psz_name ) ) continue; + /* ignore plugins without config options */ + if( !p_module->i_config_items ) continue; + /* print module name */ - intf_Msg( "%s configuration:\n", p_module->psz_name ); + intf_Msg( "%s options:\n", p_module->psz_name ); - for( i = 0; i < (p_module->i_config_options -1); i++ ) + for( i = 0; i < p_module->i_config_lines; i++ ) { int j; switch( p_module->p_config[i].i_type ) { - case MODULE_CONFIG_ITEM_CATEGORY: + case MODULE_CONFIG_HINT_CATEGORY: intf_Msg( " %s", p_module->p_config[i].psz_text ); break; @@ -870,7 +1054,7 @@ static void Usage( const char *psz_module_name ) p_module->p_config[i].psz_text ); psz_spaces[j] = 32; break; - default: + case MODULE_CONFIG_ITEM_BOOL: /* Nasty hack, but right now I'm too tired to think about * a nice solution */ j = 25 - strlen( p_module->p_config[i].psz_name ) - 1; @@ -892,7 +1076,8 @@ static void Usage( const char *psz_module_name ) "\n *.mpg, *.vob \tPlain MPEG-1/2 files" "\n [dvd:][device][@raw_device][@[title][,[chapter][,angle]]]" "\n \tDVD device" - "\n vcd:<device> \tVCD device" + "\n [vcd:][device][@[title][,[chapter]]" + "\n \tVCD device" "\n udpstream:[<server>[:<server port>]][@[<bind address>]" "[:<bind port>]]" "\n \tUDP stream sent by VLS" diff --git a/src/misc/configuration.c b/src/misc/configuration.c index 3b460c1984fe90fbe6284e481ba0c26be5806388..13709a5759ac09a15122b5593b0b92cbda4380cd 100644 --- a/src/misc/configuration.c +++ b/src/misc/configuration.c @@ -2,7 +2,7 @@ * configuration.c management of the modules configuration ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: configuration.c,v 1.2 2002/02/26 22:08:57 gbazin Exp $ + * $Id: configuration.c,v 1.3 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Gildas Bazin <gbazin@netcourrier.com> * @@ -27,9 +27,6 @@ #include <videolan/vlc.h> -/* TODO: implement locking for config_PutPszVariable and config_GetPszVariable - * because they are not thread safe */ - /***************************************************************************** * config_GetIntVariable: get the value of an int variable ***************************************************************************** @@ -96,7 +93,9 @@ char * config_GetPszVariable( const char *psz_name ) } /* return a copy of the string */ + vlc_mutex_lock( p_config->p_lock ); if( p_config->psz_value ) psz_value = strdup( p_config->psz_value ); + vlc_mutex_unlock( p_config->p_lock ); return psz_value; } @@ -111,7 +110,6 @@ char * config_GetPszVariable( const char *psz_name ) void config_PutPszVariable( const char *psz_name, char *psz_value ) { module_config_t *p_config; - char *psz_tmp; p_config = config_FindConfig( psz_name ); @@ -131,12 +129,15 @@ void config_PutPszVariable( const char *psz_name, char *psz_value ) return; } - psz_tmp = p_config->psz_value; + vlc_mutex_lock( p_config->p_lock ); + + /* free old string */ + if( p_config->psz_value ) free( p_config->psz_value ); + if( psz_value ) p_config->psz_value = strdup( psz_value ); else p_config->psz_value = NULL; - /* free old string */ - if( psz_tmp ) free( psz_tmp ); + vlc_mutex_unlock( p_config->p_lock ); } @@ -187,14 +188,10 @@ module_config_t *config_FindConfig( const char *psz_name ) p_module != NULL ; p_module = p_module->next ) { - for( i = 0; i < (p_module->i_config_options -1); i++ ) + for( i = 0; i < p_module->i_config_lines; i++ ) { - if( (p_module->p_config[i].i_type == - MODULE_CONFIG_ITEM_CATEGORY)|| - (p_module->p_config[i].i_type == - MODULE_CONFIG_ITEM_SUBCATEGORY)|| - (p_module->p_config[i].i_type == - MODULE_CONFIG_ITEM_SUBCATEGORY_END) ) + if( p_module->p_config[i].i_type & MODULE_CONFIG_HINT ) + /* ignore hints */ continue; if( !strcmp( psz_name, p_module->p_config[i].psz_name ) ) return &p_module->p_config[i]; @@ -211,42 +208,46 @@ module_config_t *config_FindConfig( const char *psz_name ) * this module might be unloaded from memory at any time (remember HideModule). * This is why we need to create an exact copy of the config data. *****************************************************************************/ -module_config_t *config_Duplicate( module_config_t *p_config_orig, - int i_config_options ) +module_config_t *config_Duplicate( module_t *p_module ) { int i; module_config_t *p_config; /* allocate memory */ p_config = (module_config_t *)malloc( sizeof(module_config_t) - * i_config_options ); + * p_module->i_config_lines ); if( p_config == NULL ) { intf_ErrMsg( "config_Duplicate error: can't allocate p_config" ); return( NULL ); } - for( i = 0; i < i_config_options ; i++ ) + for( i = 0; i < p_module->i_config_lines ; i++ ) { - p_config[i].i_type = p_config_orig[i].i_type; - p_config[i].i_value = p_config_orig[i].i_value; - p_config[i].b_dirty = p_config_orig[i].b_dirty; - if( p_config_orig[i].psz_name ) - p_config[i].psz_name = strdup( p_config_orig[i].psz_name ); + p_config[i].i_type = p_module->p_config_orig[i].i_type; + p_config[i].i_value = p_module->p_config_orig[i].i_value; + p_config[i].b_dirty = p_module->p_config_orig[i].b_dirty; + p_config[i].p_lock = &p_module->config_lock; + if( p_module->p_config_orig[i].psz_name ) + p_config[i].psz_name = + strdup( p_module->p_config_orig[i].psz_name ); else p_config[i].psz_name = NULL; - if( p_config_orig[i].psz_text ) - p_config[i].psz_text = strdup( p_config_orig[i].psz_text ); + if( p_module->p_config_orig[i].psz_text ) + p_config[i].psz_text = + strdup( p_module->p_config_orig[i].psz_text ); else p_config[i].psz_text = NULL; - if( p_config_orig[i].psz_longtext ) - p_config[i].psz_longtext = strdup( p_config_orig[i].psz_longtext ); + if( p_module->p_config_orig[i].psz_longtext ) + p_config[i].psz_longtext = + strdup( p_module->p_config_orig[i].psz_longtext ); else p_config[i].psz_longtext = NULL; - if( p_config_orig[i].psz_value ) - p_config[i].psz_value = strdup( p_config_orig[i].psz_value ); + if( p_module->p_config_orig[i].psz_value ) + p_config[i].psz_value = + strdup( p_module->p_config_orig[i].psz_value ); else p_config[i].psz_value = NULL; /* the callback pointer is only valid when the module is loaded so this * value is set in ActivateModule() and reset in DeactivateModule() */ - p_config_orig[i].p_callback = NULL; + p_config[i].p_callback = NULL; } return p_config; diff --git a/src/misc/modules_plugin.h b/src/misc/modules_plugin.h index e7af760dc92919038ee607834d7ac53b3bacfce1..168a64db33a30d54904236134f9dff0281866837 100644 --- a/src/misc/modules_plugin.h +++ b/src/misc/modules_plugin.h @@ -2,7 +2,7 @@ * modules_plugin.h : Plugin management functions used by the core application. ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: modules_plugin.h,v 1.14 2002/03/04 23:56:38 massiot Exp $ + * $Id: modules_plugin.h,v 1.15 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Samuel Hocevar <sam@zoy.org> * @@ -154,6 +154,7 @@ module_error( void ) *****************************************************************************/ #define STORE_SYMBOLS( p_symbols ) \ (p_symbols)->p_main = p_main; \ + (p_symbols)->p_module_bank = p_module_bank; \ (p_symbols)->p_input_bank = p_input_bank; \ (p_symbols)->p_aout_bank = p_aout_bank; \ (p_symbols)->p_vout_bank = p_vout_bank; \ diff --git a/src/misc/netutils.c b/src/misc/netutils.c index e31e2fd9d045f55a886f63dd49f0c15cdcaad904..12621764970561254018baee9d433866ef49de4b 100644 --- a/src/misc/netutils.c +++ b/src/misc/netutils.c @@ -2,7 +2,7 @@ * netutils.c: various network functions ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: netutils.c,v 1.59 2002/03/04 23:56:38 massiot Exp $ + * $Id: netutils.c,v 1.60 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * Benoit Steiner <benny@via.ecp.fr> @@ -157,7 +157,7 @@ int network_ChannelJoin( int i_channel ) struct timeval delay; fd_set fds; - if( !config_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR ) ) + if( !config_GetIntVariable( "network_channel" ) ) { intf_ErrMsg( "network: channels disabled, to enable them, use the" "--channels option" ); @@ -174,24 +174,23 @@ int network_ChannelJoin( int i_channel ) mwait( p_main->p_channel->last_change + INPUT_CHANNEL_CHANGE_DELAY ); } - if( config_GetIntVariable( INPUT_IPV4_VAR ) ) + if( config_GetIntVariable( "ipv4" ) ) { psz_network = "ipv4"; } - if( config_GetIntVariable( INPUT_IPV6_VAR ) ) + if( config_GetIntVariable( "ipv6" ) ) { psz_network = "ipv6"; } /* Getting information about the channel server */ - if( !(psz_vlcs = config_GetPszVariable( INPUT_CHANNEL_SERVER_VAR )) ) + if( !(psz_vlcs = config_GetPszVariable( "channel_server" )) ) { - intf_ErrMsg( "network: configuration variable %s empty", - INPUT_CHANNEL_SERVER_VAR ); + intf_ErrMsg( "network: configuration variable channel_server empty" ); return -1; } - i_port = config_GetIntVariable( INPUT_CHANNEL_PORT_VAR ); + i_port = config_GetIntVariable( "channel_port" ); intf_WarnMsg( 5, "channel: connecting to %s:%d", psz_vlcs, i_port ); @@ -315,10 +314,9 @@ static int GetMacAddress( int i_fd, char *psz_mac ) * Looking for information about the eth0 interface */ interface.ifr_addr.sa_family = AF_INET; - if( !(psz_interface = config_GetPszVariable( INPUT_IFACE_VAR )) ) + if( !(psz_interface = config_GetPszVariable( "iface" )) ) { - intf_ErrMsg( "network error: configuration variable %s empty", - INPUT_IFACE_VAR ); + intf_ErrMsg( "network error: configuration variable iface empty" ); return -1; } strcpy( interface.ifr_name, psz_interface ); diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 9b2feff3fa3f2bf5144c1af4eea583c783066ca6..d92f82f661c3b16c1213935343b74315f8e18c11 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -5,7 +5,7 @@ * thread, and destroy a previously oppened video output thread. ***************************************************************************** * Copyright (C) 2000-2001 VideoLAN - * $Id: video_output.c,v 1.164 2002/03/03 20:42:21 gbazin Exp $ + * $Id: video_output.c,v 1.165 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * @@ -106,9 +106,9 @@ vout_thread_t * vout_CreateThread ( int *pi_status, } /* Choose the best module */ - if( !(psz_plugin = config_GetPszVariable( VOUT_FILTER_VAR )) ) + if( !(psz_plugin = config_GetPszVariable( "filter" )) ) { - psz_plugin = config_GetPszVariable( VOUT_METHOD_VAR ); + psz_plugin = config_GetPszVariable( "vout" ); } /* Initialize thread properties - thread id and locks will be initialized @@ -154,7 +154,7 @@ vout_thread_t * vout_CreateThread ( int *pi_status, p_vout->c_fps_samples= 0; /* user requested fullscreen? */ - if( config_GetIntVariable( VOUT_FULLSCREEN_VAR ) ) + if( config_GetIntVariable( "fullscreen" ) ) p_vout->i_changes |= VOUT_FULLSCREEN_CHANGE; p_vout->p_module diff --git a/src/video_output/vout_subpictures.c b/src/video_output/vout_subpictures.c index e1d41ee78d671f0431eba4d61d1553a23ea07b69..33f1bcd7ecd322dcf102e3ab7ff2bd6819bfaee2 100644 --- a/src/video_output/vout_subpictures.c +++ b/src/video_output/vout_subpictures.c @@ -2,7 +2,7 @@ * vout_subpictures.c : subpicture management functions ***************************************************************************** * Copyright (C) 2000 VideoLAN - * $Id: vout_subpictures.c,v 1.9 2002/02/24 20:51:10 gbazin Exp $ + * $Id: vout_subpictures.c,v 1.10 2002/03/11 07:23:10 gbazin Exp $ * * Authors: Vincent Seguin <seguin@via.ecp.fr> * Samuel Hocevar <sam@zoy.org> @@ -60,7 +60,7 @@ void vout_DisplaySubPicture( vout_thread_t *p_vout, subpicture_t *p_subpic ) /* If the user requested an SPU margin, we force the position after * having checked that it was a valid value. */ - i_margin = config_GetIntVariable( VOUT_SPUMARGIN_VAR ); + i_margin = config_GetIntVariable( "spumargin" ); if( i_margin >= 0 ) {