From: Clément Stenac Date: Sat, 11 Dec 2004 14:45:46 +0000 (+0000) Subject: Improvements to preferences X-Git-Tag: 0.8.2~1528 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;ds=sidebyside;h=a90a19a6b0468ea9fedadc27cfc1118d70295263;p=vlc Improvements to preferences * Each module can declare a "human-readable short name" with set_name * Modules are sorted by category (set_category, set_subcategory). Modules configs can be separated by set_section() * Separated audio-filter and audio-visual * Separated extraintf and control * New command and widget : add_module_list() for comma-separated modules * Vfilters now use "," as separator --- diff --git a/Makefile.am b/Makefile.am index 76cf122d11..854b5360ee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -99,7 +99,7 @@ HEADERS_include = \ include/vlc_es.h \ include/vlc_es_out.h \ include/vlc_filter.h \ - include/vlc_help.h \ + include/vlc_config_cat.h \ include/vlc_httpd.h \ include/vlc_tls.h \ include/vlc_input.h \ diff --git a/include/configuration.h b/include/configuration.h index 66c2bf2944..af4cb17ce4 100644 --- a/include/configuration.h +++ b/include/configuration.h @@ -28,12 +28,18 @@ *****************************************************************************/ /* Configuration hint types */ + + #define CONFIG_HINT_END 0x0001 /* End of config */ #define CONFIG_HINT_CATEGORY 0x0002 /* Start of new category */ #define CONFIG_HINT_SUBCATEGORY 0x0003 /* Start of sub-category */ #define CONFIG_HINT_SUBCATEGORY_END 0x0004 /* End of sub-category */ #define CONFIG_HINT_USAGE 0x0005 /* Usage information */ +#define CONFIG_CATEGORY 0x0006 /* Set category */ +#define CONFIG_SUBCATEGORY 0x0007 /* Set subcategory */ +#define CONFIG_SECTION 0x0008 /* Start of new section */ + #define CONFIG_HINT 0x000F /* Configuration item types */ @@ -45,9 +51,68 @@ #define CONFIG_ITEM_FLOAT 0x0060 /* Float option */ #define CONFIG_ITEM_DIRECTORY 0x0070 /* Directory option */ #define CONFIG_ITEM_KEY 0x0080 /* Hot key option */ +#define CONFIG_ITEM_MODULE_LIST 0x0090 /* Module option */ +#define CONFIG_ITEM_MODULE_LIST_CAT 0x00A0 /* Module option */ #define CONFIG_ITEM 0x00F0 +/******************************************************************* + * All predefined categories and subcategories + *******************************************************************/ +#define CAT_INTERFACE 1 + #define SUBCAT_INTERFACE_GENERAL 101 + #define SUBCAT_INTERFACE_CONTROL 102 + #define SUBCAT_INTERFACE_HOTKEYS 103 + +#define CAT_AUDIO 2 + #define SUBCAT_AUDIO_GENERAL 201 + #define SUBCAT_AUDIO_AOUT 202 + #define SUBCAT_AUDIO_AFILTER 203 + #define SUBCAT_AUDIO_VISUAL 204 + #define SUBCAT_AUDIO_MISC 205 + +#define CAT_VIDEO 3 + #define SUBCAT_VIDEO_GENERAL 301 + #define SUBCAT_VIDEO_VOUT 302 + #define SUBCAT_VIDEO_VFILTER 303 + #define SUBCAT_VIDEO_TEXT 304 + #define SUBCAT_VIDEO_SUBPIC 305 + +#define CAT_INPUT 4 + #define SUBCAT_INPUT_ACCESS 401 + #define SUBCAT_INPUT_DEMUX 402 + #define SUBCAT_INPUT_VCODEC 403 + #define SUBCAT_INPUT_ACODEC 404 + #define SUBCAT_INPUT_SCODEC 405 + #define SUBCAT_INPUT_ADVANCED 406 + +#define CAT_SOUT 5 + #define SUBCAT_SOUT_GENERAL 501 + #define SUBCAT_SOUT_STREAM 502 + #define SUBCAT_SOUT_MUX 503 + #define SUBCAT_SOUT_ACO 504 + #define SUBCAT_SOUT_PACKETIZER 505 + #define SUBCAT_SOUT_SAP 506 + #define SUBCAT_SOUT_VOD 507 + +#define CAT_ADVANCED 6 + #define SUBCAT_ADVANCED_CPU 601 + #define SUBCAT_ADVANCED_MISC 602 + #define SUBCAT_ADVANCED_NETWORK 603 + #define SUBCAT_ADVANCED_XML 604 + +#define CAT_PLAYLIST 7 + #define SUBCAT_PLAYLIST_GENERAL 701 + #define SUBCAT_PLAYLIST_SD 702 + #define SUBCAT_PLAYLIST_EXPORT 703 + +struct config_category_t +{ + int i_id; + char *psz_name; + char *psz_help; +}; + struct module_config_t { int i_type; /* Configuration type */ @@ -146,16 +211,37 @@ int config_CreateDir( vlc_object_t *, char * ); * allow for a more user friendly interface. *****************************************************************************/ -#define add_category_hint( text, longtext, advc ) \ +#define set_category( i_id ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ - { static module_config_t tmp = { CONFIG_HINT_CATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; p_config[i_config].b_advanced = advc; } -#define add_subcategory_hint( text, longtext ) \ + { static module_config_t tmp = { CONFIG_CATEGORY, NULL, NULL , '\0', NULL, NULL, NULL, i_id }; p_config[ i_config ] = tmp; } + +#define set_subcategory( i_id ) \ + i_config++; \ + if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ + (i_config+11) * sizeof(module_config_t)); \ + { static module_config_t tmp = { CONFIG_SUBCATEGORY, NULL, NULL , '\0', NULL, NULL, NULL, i_id }; p_config[ i_config ] = tmp; } + +#define set_section( text, longtext) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ + { static module_config_t tmp = { CONFIG_SECTION, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; } + +#define add_category_hint( text, longtext, advc ) \ + i_config++; \ + if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ + (i_config+11) * sizeof(module_config_t)); \ + { static module_config_t tmp = { CONFIG_HINT_CATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; p_config[i_config].b_advanced = advc; } + +#define add_subcategory_hint( text, longtext ) \ + i_config++; \ + if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ + (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_HINT_SUBCATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; } + + #define end_subcategory_hint \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ @@ -167,6 +253,7 @@ int config_CreateDir( vlc_object_t *, char * ); (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_HINT_USAGE, NULL, NULL, '\0', text }; p_config[ i_config ] = tmp; } + #define add_string( name, psz_value, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ @@ -182,36 +269,57 @@ int config_CreateDir( vlc_object_t *, char * ); if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_DIRECTORY, NULL, name, '\0', text, longtext, psz_value, 0, 0 }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_module( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_MODULE, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + + +#define add_module_list( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \ + i_config++; \ + if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ + (i_config+11) * sizeof(module_config_t)); \ + { static module_config_t tmp = { CONFIG_ITEM_MODULE_LIST, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + + +#define add_module_list_cat( name, i_subcategory, psz_value, p_callback, text, longtext, advc ) \ + i_config++; \ + if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ + (i_config+11) * sizeof(module_config_t)); \ + { static module_config_t tmp = { CONFIG_ITEM_MODULE_LIST_CAT, NULL, name, '\0', text, longtext, psz_value, 0, 0.0, i_subcategory }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_integer( name, i_value, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_INTEGER, NULL, name, '\0', text, longtext, NULL, i_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_key( name, i_value, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_KEY, NULL, name, '\0', text, longtext, NULL, i_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_integer_with_range( name, i_value, i_min, i_max, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_INTEGER, NULL, name, '\0', text, longtext, NULL, i_value, 0, i_min, i_max }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_float( name, f_value, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_FLOAT, NULL, name, '\0', text, longtext, NULL, 0, f_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_float_with_range( name, f_value, f_min, f_max, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ (i_config+11) * sizeof(module_config_t)); \ { static module_config_t tmp = { CONFIG_ITEM_FLOAT, NULL, name, '\0', text, longtext, NULL, 0, f_value, 0, 0, f_min, f_max }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; } + #define add_bool( name, b_value, p_callback, text, longtext, advc ) \ i_config++; \ if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \ diff --git a/include/modules.h b/include/modules.h index cc709908f8..93d084ae92 100644 --- a/include/modules.h +++ b/include/modules.h @@ -84,6 +84,7 @@ struct module_t * Variables set by the module to identify itself */ char *psz_shortname; /* Module name */ + char *psz_name; /* Human-readable shortname */ char *psz_longname; /* Module descriptive name */ /* diff --git a/include/modules_inner.h b/include/modules_inner.h index 9cab60a6c8..3d2847987c 100644 --- a/include/modules_inner.h +++ b/include/modules_inner.h @@ -100,6 +100,7 @@ p_module->b_reentrant = VLC_TRUE; \ p_module->psz_object_name = MODULE_STRING; \ p_module->psz_shortname = MODULE_STRING; \ + p_module->psz_name = NULL; \ p_module->psz_longname = MODULE_STRING; \ p_module->pp_shortcuts[ 0 ] = MODULE_STRING; \ p_module->i_cpu = 0; \ @@ -162,6 +163,9 @@ #define set_shortname( desc ) \ p_submodule->psz_shortname = desc +#define set_name( desc ) \ + p_submodule->psz_name = desc + #define set_description( desc ) \ p_submodule->psz_longname = desc diff --git a/include/vlc_common.h b/include/vlc_common.h index 197549ba1b..b2b69847f4 100644 --- a/include/vlc_common.h +++ b/include/vlc_common.h @@ -234,6 +234,8 @@ typedef struct module_config_t module_config_t; typedef struct module_symbols_t module_symbols_t; typedef struct module_cache_t module_cache_t; +typedef struct config_category_t config_category_t; + /* Interface */ typedef struct intf_thread_t intf_thread_t; typedef struct intf_sys_t intf_sys_t; diff --git a/include/vlc_help.h b/include/vlc_help.h deleted file mode 100644 index 5f24ba2d38..0000000000 --- a/include/vlc_help.h +++ /dev/null @@ -1,190 +0,0 @@ -/***************************************************************************** - * vlc_help.h: Help strings - ***************************************************************************** - * Copyright (C) 2003 VideoLAN - * $Id$ - * - * Authors: Clément Stenac - * Anil Daoud - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -#ifndef _VLC_HELP_H -#define _VLC_HELP_H 1 - -/* - * First, we need help strings for the General Settings and for the - * Plugins screen - */ -#define GENERAL_TITLE N_( "VLC preferences" ) -#define GENERAL_HELP N_( \ - "Configure the global options in General Settings " \ - "and configure each VLC module in the Modules section.\n" \ - "Click on \"Advanced Options\" to see all options." ) - -#define PLUGIN_TITLE N_( "VLC modules preferences" ) -#define PLUGIN_HELP N_( \ - "In this tree, you can set options for every module used by VLC.\n" \ - "Modules are sorted by type." ) - -/* - * Then, help for each module capabilities. - */ - -#define ACCESS_TITLE N_( "Access modules settings" ) -#define ACCESS_HELP N_( \ - "Settings related to the various access methods used by VLC.\n" \ - "Common settings you may want to alter are HTTP proxy or " \ - "caching settings." ) - -#define AUDIO_FILTER_TITLE N_("Audio filters settings") -#define AUDIO_FILTER_HELP N_( \ - "Audio filters can be set in the Audio section, and configured " \ - "here.") - -#define AUDIO_FILTER2_TITLE N_("Audio filters settings") -#define AUDIO_FILTER2_HELP N_(" ") - -#define AOUT_TITLE N_("Audio output modules settings") -#define AOUT_HELP N_("These are general settings for audio output modules.") - -#define CHROMA_TITLE N_("Chroma modules settings") -#define CHROMA_HELP N_("These settings affect chroma transformation modules.") - -#define DECODER_TITLE N_("Decoder modules settings" ) -#define DECODER_HELP N_( \ - "In the Subsdec section you may want to set the text encoding of your " \ - "preferred subtitles.") - -#define PACKETIZER_TITLE N_("Packetizer modules settings" ) -#define PACKETIZER_HELP N_(" ") - -#define ENCODER_TITLE N_("Encoders settings") -#define ENCODER_HELP N_( \ - "These are general settings for video/audio/subtitles encoding modules.") - -#define DEMUX_TITLE N_("Demuxers settings") -#define DEMUX_HELP N_( "These settings affect demuxer modules.") - -#define INTERFACE_TITLE N_("Interface plugins settings") -#define INTERFACE_HELP N_( \ - "Interface plugins can be enabled in the Interface section and " \ - "configured here.") - -#define DIALOGS_TITLE N_("Dialog providers settings") -#define DIALOGS_HELP N_( \ - "Dialog providers can be configured here.") - -#define NETWORK_TITLE N_("Network modules settings") -#define NETWORK_HELP N_(" ") - -#define SOUT_ACCESS_TITLE N_("Stream output access modules settings") -#define SOUT_ACCESS_HELP N_( \ - "In this section you can set the caching value for the stream " \ - "output access modules.") - -#define SOUT_MUX_TITLE N_("Stream output muxer modules settings") -#define SOUT_MUX_HELP N_(" ") - -#define SOUT_STREAM_TITLE N_("Stream output modules settings") -#define SOUT_STREAM_HELP N_(" ") - -#define SUBTITLE_DEMUX_TITLE N_("Subtitle demuxer settings") -#define SUBTITLE_DEMUX_HELP N_( \ - "In this section you can force the behavior of the subtitle demuxer, " \ - "for example by setting the subtitles type or file name.") - -#define TEXT_TITLE N_("Text renderer settings") -#define TEXT_HELP N_( \ - "Use these settings to choose the font you want VLC to use for text " \ - "rendering (to display subtitles for example).") - -#define _VOUT_TITLE N_("Video output modules settings") -#define VOUT_HELP N_( \ - "Choose your preferred video output in the Video section, " \ - "and configure it here." ) - -#define VIDEO_FILTER_TITLE N_("Video filters settings") -#define VIDEO_FILTER_HELP N_( \ - "Video filters can be enabled in the Video section and configured " \ - "here.\n" \ - "Configure the \"adjust\" filter to modify contrast/hue/saturation " \ - "settings.") - -#define VIDEO_FILTER2_TITLE N_("Video filters settings") -#define VIDEO_FILTER2_HELP N_(" ") - -/* - * A little help for modules with unknown capabilities - */ - -#define UNKNOWN_TITLE N_("No help available" ) -#define UNKNOWN_HELP N_("No help is available for these modules") - -/***************************************************************************** - * GetCapabilityHelp: Display the help for one capability. - *****************************************************************************/ -static inline char * GetCapabilityHelp( char *psz_capability, int i_type) -{ - if( psz_capability == NULL) return " "; - - if( !strcasecmp(psz_capability,"access_demux") ) - return i_type == 1 ? ACCESS_TITLE : ACCESS_HELP; - if( !strcasecmp(psz_capability,"access2") ) - return i_type == 1 ? ACCESS_TITLE : ACCESS_HELP; - if( !strcasecmp(psz_capability,"audio filter") ) - return i_type == 1 ? AUDIO_FILTER_TITLE : AUDIO_FILTER_HELP; - if( !strcasecmp(psz_capability,"audio filter2") ) - return i_type == 1 ? AUDIO_FILTER2_TITLE : AUDIO_FILTER2_HELP; - if( !strcasecmp(psz_capability,"audio output") ) - return i_type == 1 ? AOUT_TITLE : AOUT_HELP; - if( !strcasecmp(psz_capability,"chroma") ) - return i_type == 1 ? CHROMA_TITLE : CHROMA_HELP; - if( !strcasecmp(psz_capability,"decoder") ) - return i_type == 1 ? DECODER_TITLE : DECODER_HELP; - if( !strcasecmp(psz_capability,"packetizer") ) - return i_type == 1 ? PACKETIZER_TITLE : PACKETIZER_HELP; - if( !strcasecmp(psz_capability,"encoder") ) - return i_type == 1 ? ENCODER_TITLE : ENCODER_HELP; - if( !strcasecmp(psz_capability,"demux2") ) - return i_type == 1 ? DEMUX_TITLE : DEMUX_HELP; - if( !strcasecmp(psz_capability,"interface") ) - return i_type == 1 ? INTERFACE_TITLE : INTERFACE_HELP; - if( !strcasecmp(psz_capability,"dialogs provider") ) - return i_type == 1 ? DIALOGS_TITLE : DIALOGS_HELP; - if( !strcasecmp(psz_capability,"network") ) - return i_type == 1 ? NETWORK_TITLE : NETWORK_HELP; - if( !strcasecmp(psz_capability,"sout access") ) - return i_type == 1 ? SOUT_ACCESS_TITLE : SOUT_ACCESS_HELP; - if( !strcasecmp(psz_capability,"sout mux") ) - return i_type == 1 ? SOUT_MUX_TITLE : SOUT_MUX_HELP; - if( !strcasecmp(psz_capability,"sout stream") ) - return i_type == 1 ? SOUT_STREAM_TITLE : SOUT_STREAM_HELP; - if( !strcasecmp(psz_capability,"subtitle demux") ) - return i_type == 1 ? SUBTITLE_DEMUX_TITLE : SUBTITLE_DEMUX_HELP; - if( !strcasecmp(psz_capability,"text renderer") ) - return i_type == 1 ? TEXT_TITLE : TEXT_HELP; - if( !strcasecmp(psz_capability,"video output") ) - return i_type == 1 ? _VOUT_TITLE : VOUT_HELP; - if( !strcasecmp(psz_capability,"video filter") ) - return i_type == 1 ? VIDEO_FILTER_TITLE : VIDEO_FILTER_HELP; - if( !strcasecmp(psz_capability,"video filter2") ) - return i_type == 1 ? VIDEO_FILTER2_TITLE : VIDEO_FILTER2_HELP; - - return " "; -} - -#endif /* VLC_HELP_H */ diff --git a/modules/access/cdda.c b/modules/access/cdda.c index db0d4a5113..9ecc50210d 100644 --- a/modules/access/cdda.c +++ b/modules/access/cdda.c @@ -47,6 +47,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("Audio CD input") ); set_capability( "access2", 10 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); set_callbacks( Open, Close ); add_usage_hint( N_("[cdda:][device][@[track]]") ); diff --git a/modules/access/cdda/cdda.c b/modules/access/cdda/cdda.c index 7d67c1641d..459be4bf87 100644 --- a/modules/access/cdda/cdda.c +++ b/modules/access/cdda/cdda.c @@ -99,6 +99,8 @@ vlc_module_begin(); set_callbacks( E_(CDDAOpen), E_(CDDAClose) ); add_shortcut( "cddax" ); add_shortcut( "cd" ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); /* Configuration options */ add_integer ( MODULE_STRING "-debug", 0, E_(CDDADebugCB), diff --git a/modules/access/directory.c b/modules/access/directory.c index 019196da72..43674bb6fb 100644 --- a/modules/access/directory.c +++ b/modules/access/directory.c @@ -75,6 +75,9 @@ static char *psz_recursive_list_text[] = { N_("none"), N_("collapse"), N_("expand") }; vlc_module_begin(); + set_category( CAT_INPUT ); + set_name( _("Directory" ) ); + set_subcategory( SUBCAT_INPUT_ACCESS ); set_description( _("Standard filesystem directory input") ); set_capability( "access2", 55 ); add_shortcut( "directory" ); diff --git a/modules/access/dshow/dshow.cpp b/modules/access/dshow/dshow.cpp index 7e669109a2..020aea0580 100644 --- a/modules/access/dshow/dshow.cpp +++ b/modules/access/dshow/dshow.cpp @@ -130,6 +130,8 @@ static void DemuxClose ( vlc_object_t * ); vlc_module_begin(); set_shortname( _("DirectShow") ); set_description( _("DirectShow input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "dshow-caching", (mtime_t)(0.2*CLOCK_FREQ) / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/dvb/access.c b/modules/access/dvb/access.c index 558974eaf0..e98e79326c 100644 --- a/modules/access/dvb/access.c +++ b/modules/access/dvb/access.c @@ -121,6 +121,8 @@ static void Close( vlc_object_t *p_this ); vlc_module_begin(); set_shortname( _("DVB") ); set_description( N_("DVB input with v4l2 support") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "dvb-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c index 439a4181da..0b983a923a 100644 --- a/modules/access/dvdnav.c +++ b/modules/access/dvdnav.c @@ -69,7 +69,10 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_name( _("DVD with menus (DVD with menu support)") ); set_description( _("DVDnav Input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "dvdnav-angle", 1, NULL, ANGLE_TEXT, ANGLE_LONGTEXT, VLC_FALSE ); add_integer( "dvdnav-caching", DEFAULT_PTS_DELAY / 1000, NULL, diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c index 403331d0b0..dee8934844 100644 --- a/modules/access/dvdread.c +++ b/modules/access/dvdread.c @@ -87,7 +87,10 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); - set_description( _("DVDRead Input") ); + set_name( _("DVD without menus") ); + set_description( _("DVDRead Input (DVD without menu support)") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "dvdread-angle", 1, NULL, ANGLE_TEXT, ANGLE_LONGTEXT, VLC_FALSE ); add_integer( "dvdread-caching", DEFAULT_PTS_DELAY / 1000, NULL, diff --git a/modules/access/file.c b/modules/access/file.c index 9ad196c08d..fc7bd47047 100644 --- a/modules/access/file.c +++ b/modules/access/file.c @@ -86,6 +86,9 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("Standard filesystem file input") ); + set_name( _("File") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "file-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); add_string( "file-cat", NULL, NULL, CAT_TEXT, CAT_LONGTEXT, VLC_TRUE ); set_capability( "access2", 50 ); diff --git a/modules/access/ftp.c b/modules/access/ftp.c index 1aed4d30a8..d4fa2bee36 100644 --- a/modules/access/ftp.c +++ b/modules/access/ftp.c @@ -52,8 +52,11 @@ static void Close( vlc_object_t * ); "used for the connection.") vlc_module_begin(); + set_name( "FTP" ); set_description( _("FTP input") ); set_capability( "access2", 0 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "ftp-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); add_string( "ftp-user", "anonymous", NULL, USER_TEXT, USER_LONGTEXT, diff --git a/modules/access/http.c b/modules/access/http.c index 863367d6d2..686f65737a 100644 --- a/modules/access/http.c +++ b/modules/access/http.c @@ -74,6 +74,9 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("HTTP input") ); set_capability( "access2", 0 ); + set_name( _( "HTTP/HTTPS" ) ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_string( "http-proxy", NULL, NULL, PROXY_TEXT, PROXY_LONGTEXT, VLC_FALSE ); diff --git a/modules/access/mms/mms.c b/modules/access/mms/mms.c index d6853acd7f..cec33cda1b 100644 --- a/modules/access/mms/mms.c +++ b/modules/access/mms/mms.c @@ -55,8 +55,11 @@ static void Close( vlc_object_t * ); "Always select the stream with the maximum bitrate." ) vlc_module_begin(); + set_name( _("MMS") ); set_description( _("Microsoft Media Server (MMS) input") ); set_capability( "access2", -1 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "mms-caching", 4 * DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/pvr/pvr.c b/modules/access/pvr/pvr.c index 0d6682a8d0..936d6de4e0 100644 --- a/modules/access/pvr/pvr.c +++ b/modules/access/pvr/pvr.c @@ -88,6 +88,8 @@ static char *psz_bitrates_list_text[] = { N_("vbr"), N_("cbr") }; vlc_module_begin(); set_shortname( _("PVR") ); set_description( _("MPEG Encoding cards input (with ivtv drivers)") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); set_capability( "access2", 0 ); add_shortcut( "pvr" ); diff --git a/modules/access/satellite/satellite.c b/modules/access/satellite/satellite.c index 8e8d19d7be..89d5cf03c0 100644 --- a/modules/access/satellite/satellite.c +++ b/modules/access/satellite/satellite.c @@ -70,6 +70,8 @@ void E_(Close) ( vlc_object_t * ); vlc_module_begin(); set_description( _("Satellite input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "dvb-dmx", 0, NULL, DEMUX_TEXT, DEMUX_LONGTEXT, VLC_FALSE ); add_integer( "dvb-tuner", 0, NULL, TUNER_TEXT, TUNER_LONGTEXT, VLC_FALSE ); diff --git a/modules/access/screen/screen.c b/modules/access/screen/screen.c index f2e36ac56c..8159a0af8e 100644 --- a/modules/access/screen/screen.c +++ b/modules/access/screen/screen.c @@ -60,6 +60,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("Screen Input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "screen-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/tcp.c b/modules/access/tcp.c index e113ef922f..2eff261f4f 100644 --- a/modules/access/tcp.c +++ b/modules/access/tcp.c @@ -43,7 +43,10 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_name( _("TCP") ); set_description( _("TCP input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "tcp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/udp.c b/modules/access/udp.c index 44426e03fa..c44d7ffb1e 100644 --- a/modules/access/udp.c +++ b/modules/access/udp.c @@ -51,7 +51,10 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_name( _("UDP/RTP" ) ); set_description( _("UDP/RTP input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "udp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/v4l/v4l.c b/modules/access/v4l/v4l.c index 9aaa840e14..e0c3166926 100644 --- a/modules/access/v4l/v4l.c +++ b/modules/access/v4l/v4l.c @@ -89,6 +89,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_shortname( _("Video4Linux") ); set_description( _("Video4Linux input") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "v4l-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); diff --git a/modules/access/vcd/vcd.c b/modules/access/vcd/vcd.c index 2ca299e072..c6bdbab11e 100644 --- a/modules/access/vcd/vcd.c +++ b/modules/access/vcd/vcd.c @@ -46,6 +46,8 @@ vlc_module_begin(); set_description( _("VCD input") ); set_capability( "access2", 60 ); set_callbacks( Open, Close ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); add_usage_hint( N_("[vcd:][device][@[title][,[chapter]]]") ); add_integer( "vcd-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, diff --git a/modules/access/vcdx/vcd.c b/modules/access/vcdx/vcd.c index a44471d5c2..52db0a87fe 100644 --- a/modules/access/vcdx/vcd.c +++ b/modules/access/vcdx/vcd.c @@ -94,6 +94,8 @@ vlc_module_begin(); set_callbacks( E_(Open), E_(Close) ); add_shortcut( "vcd" ); add_shortcut( "vcdx" ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); /* Configuration options */ add_integer ( MODULE_STRING "-debug", 0, E_(DebugCallback), diff --git a/modules/access_output/dummy.c b/modules/access_output/dummy.c index 34484eec55..ca6b404563 100644 --- a/modules/access_output/dummy.c +++ b/modules/access_output/dummy.c @@ -39,6 +39,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("Dummy stream output") ); set_capability( "sout access", 0 ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_ACO ); add_shortcut( "dummy" ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/access_output/file.c b/modules/access_output/file.c index f828a1b8b1..62a1e6d15b 100644 --- a/modules/access_output/file.c +++ b/modules/access_output/file.c @@ -66,6 +66,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("File stream output") ); set_capability( "sout access", 50 ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_ACO ); add_shortcut( "file" ); add_shortcut( "stream" ); add_bool( SOUT_CFG_PREFIX "append", 0, NULL, APPEND_TEXT,APPEND_LONGTEXT, diff --git a/modules/access_output/http.c b/modules/access_output/http.c index 1e2cf59aec..2446e650cd 100644 --- a/modules/access_output/http.c +++ b/modules/access_output/http.c @@ -77,6 +77,8 @@ vlc_module_begin(); add_shortcut( "http" ); add_shortcut( "https" ); add_shortcut( "mmsh" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_ACO ); add_string( SOUT_CFG_PREFIX "user", "", NULL, USER_TEXT, USER_LONGTEXT, VLC_TRUE ); add_string( SOUT_CFG_PREFIX "pwd", "", NULL, diff --git a/modules/access_output/udp.c b/modules/access_output/udp.c index cc32019f35..a6d471826b 100644 --- a/modules/access_output/udp.c +++ b/modules/access_output/udp.c @@ -87,6 +87,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("UDP stream output") ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_ACO ); add_integer( SOUT_CFG_PREFIX "caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE ); add_integer( SOUT_CFG_PREFIX "ttl", 0, NULL,TTL_TEXT, TTL_LONGTEXT, VLC_TRUE ); diff --git a/modules/audio_filter/channel_mixer/headphone.c b/modules/audio_filter/channel_mixer/headphone.c index 77a967631d..f5fe50f349 100644 --- a/modules/audio_filter/channel_mixer/headphone.c +++ b/modules/audio_filter/channel_mixer/headphone.c @@ -59,6 +59,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, vlc_module_begin(); set_description( N_("headphone channel mixer with virtual spatialization effect") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AFILTER ); add_integer( "headphone-dim", 10, NULL, HEADPHONE_DIM_TEXT, HEADPHONE_DIM_LONGTEXT, VLC_FALSE ); diff --git a/modules/audio_filter/channel_mixer/simple.c b/modules/audio_filter/channel_mixer/simple.c index 1d182df353..e31441b494 100644 --- a/modules/audio_filter/channel_mixer/simple.c +++ b/modules/audio_filter/channel_mixer/simple.c @@ -45,6 +45,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, vlc_module_begin(); set_description( _("audio filter for simple channel mixing") ); set_capability( "audio filter", 10 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_callbacks( Create, NULL ); vlc_module_end(); diff --git a/modules/audio_filter/channel_mixer/trivial.c b/modules/audio_filter/channel_mixer/trivial.c index 2165bc39e9..8530387190 100644 --- a/modules/audio_filter/channel_mixer/trivial.c +++ b/modules/audio_filter/channel_mixer/trivial.c @@ -2,7 +2,7 @@ * trivial.c : trivial channel mixer plug-in (drops unwanted channels) ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: trivial.c,v 1.12 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Christophe Massiot * @@ -45,6 +45,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, vlc_module_begin(); set_description( _("audio filter for trivial channel mixing") ); set_capability( "audio filter", 1 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_callbacks( Create, NULL ); vlc_module_end(); diff --git a/modules/audio_filter/converter/a52tofloat32.c b/modules/audio_filter/converter/a52tofloat32.c index 1006cc6961..6023b37f9e 100644 --- a/modules/audio_filter/converter/a52tofloat32.c +++ b/modules/audio_filter/converter/a52tofloat32.c @@ -101,6 +101,8 @@ struct filter_sys_t vlc_module_begin(); set_description( _("ATSC A/52 (AC-3) audio decoder") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); add_bool( "a52-dynrng", 1, NULL, DYNRNG_TEXT, DYNRNG_LONGTEXT, VLC_FALSE ); set_capability( "audio filter", 100 ); set_callbacks( Create, Destroy ); diff --git a/modules/audio_filter/converter/a52tospdif.c b/modules/audio_filter/converter/a52tospdif.c index da7e458ecd..a1a6766988 100644 --- a/modules/audio_filter/converter/a52tospdif.c +++ b/modules/audio_filter/converter/a52tospdif.c @@ -2,7 +2,7 @@ * a52tospdif.c : encapsulates A/52 frames into S/PDIF packets ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: a52tospdif.c,v 1.16 2002/12/06 16:34:04 sam Exp $ + * $Id$ * * Authors: Christophe Massiot * Stéphane Borel @@ -48,6 +48,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for A/52->S/PDIF encapsulation") ); set_capability( "audio filter", 10 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/dtstofloat32.c b/modules/audio_filter/converter/dtstofloat32.c index f99b002711..b23b051ee6 100644 --- a/modules/audio_filter/converter/dtstofloat32.c +++ b/modules/audio_filter/converter/dtstofloat32.c @@ -87,6 +87,8 @@ struct filter_sys_t "listening room.") vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("DTS Coherent Acoustics audio decoder") ); add_bool( "dts-dynrng", 1, NULL, DYNRNG_TEXT, DYNRNG_LONGTEXT, VLC_FALSE ); set_capability( "audio filter", 100 ); diff --git a/modules/audio_filter/converter/dtstospdif.c b/modules/audio_filter/converter/dtstospdif.c index 179b1aac9a..7b13c550e0 100644 --- a/modules/audio_filter/converter/dtstospdif.c +++ b/modules/audio_filter/converter/dtstospdif.c @@ -2,7 +2,7 @@ * dtstospdif.c : encapsulates DTS frames into S/PDIF packets ***************************************************************************** * Copyright (C) 2003 VideoLAN - * $Id: dtstospdif.c,v 1.8 2004/02/15 21:52:59 gbazin Exp $ + * $Id$ * * Authors: Jon Lech Johansen * @@ -65,6 +65,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for DTS->S/PDIF encapsulation") ); set_capability( "audio filter", 10 ); set_callbacks( Create, Close ); diff --git a/modules/audio_filter/converter/fixed32tofloat32.c b/modules/audio_filter/converter/fixed32tofloat32.c index 7f1151d9a8..4b5cf285f8 100644 --- a/modules/audio_filter/converter/fixed32tofloat32.c +++ b/modules/audio_filter/converter/fixed32tofloat32.c @@ -2,7 +2,7 @@ * fixed32float32.c : converter from fixed32 to float32 bits integer ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: fixed32tofloat32.c,v 1.11 2002/11/20 16:43:32 sam Exp $ + * $Id$ * * Authors: Jean-Paul Saman * @@ -45,6 +45,8 @@ static void FloatToFixed ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for fixed32<->float32 conversion") ); set_capability( "audio filter", 10 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/fixed32tos16.c b/modules/audio_filter/converter/fixed32tos16.c index 50094e1b71..9a6ddcbbec 100644 --- a/modules/audio_filter/converter/fixed32tos16.c +++ b/modules/audio_filter/converter/fixed32tos16.c @@ -2,7 +2,7 @@ * fixed32tos16.c : converter from fixed32 to signed 16 bits integer ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: fixed32tos16.c,v 1.11 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Jean-Paul Saman * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for fixed32->s16 conversion") ); set_capability( "audio filter", 10 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/float32tos16.c b/modules/audio_filter/converter/float32tos16.c index bfd53f600a..6c473561e2 100644 --- a/modules/audio_filter/converter/float32tos16.c +++ b/modules/audio_filter/converter/float32tos16.c @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for float32->s16 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/float32tos8.c b/modules/audio_filter/converter/float32tos8.c index 3bca9e0f98..3c22113c49 100644 --- a/modules/audio_filter/converter/float32tos8.c +++ b/modules/audio_filter/converter/float32tos8.c @@ -2,7 +2,7 @@ * float32tos8.c : converter from float32 to signed 8 bits integer ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: float32tos8.c,v 1.8 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Xavier Maillard * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for float32->s8 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/float32tou16.c b/modules/audio_filter/converter/float32tou16.c index f2637f0944..18bc07e8e9 100644 --- a/modules/audio_filter/converter/float32tou16.c +++ b/modules/audio_filter/converter/float32tou16.c @@ -2,7 +2,7 @@ * float32tou16.c : converter from float32 to unsigned 16 bits integer ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: float32tou16.c,v 1.8 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Xavier Maillard * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for float32->u16 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/float32tou8.c b/modules/audio_filter/converter/float32tou8.c index 93492185eb..46fc75f542 100644 --- a/modules/audio_filter/converter/float32tou8.c +++ b/modules/audio_filter/converter/float32tou8.c @@ -2,7 +2,7 @@ * float32tou8.c : converter from float32 to unsigned 8 bits integer ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: float32tou8.c,v 1.8 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Xavier Maillard * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for float32->u8 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/mpgatofixed32.c b/modules/audio_filter/converter/mpgatofixed32.c index 33a9a34ab7..de5fd41aef 100644 --- a/modules/audio_filter/converter/mpgatofixed32.c +++ b/modules/audio_filter/converter/mpgatofixed32.c @@ -62,6 +62,8 @@ struct filter_sys_t * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("MPEG audio decoder") ); set_capability( "audio filter", 100 ); set_callbacks( Create, Destroy ); diff --git a/modules/audio_filter/converter/s16tofixed32.c b/modules/audio_filter/converter/s16tofixed32.c index 2a8b34fd30..e5e9a200d7 100644 --- a/modules/audio_filter/converter/s16tofixed32.c +++ b/modules/audio_filter/converter/s16tofixed32.c @@ -2,7 +2,7 @@ * s16tofixed32.c : converter from signed 16 bits integer to fixed 32 ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: s16tofixed32.c,v 1.2 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Marc Ariberti * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for s16->fixed32 conversion") ); set_capability( "audio filter", 15 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/s16tofloat32.c b/modules/audio_filter/converter/s16tofloat32.c index 9aaca7103e..d5350a5127 100644 --- a/modules/audio_filter/converter/s16tofloat32.c +++ b/modules/audio_filter/converter/s16tofloat32.c @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for s16->float32 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/s16tofloat32swab.c b/modules/audio_filter/converter/s16tofloat32swab.c index 07d9a2fce2..1e2f5ee87e 100644 --- a/modules/audio_filter/converter/s16tofloat32swab.c +++ b/modules/audio_filter/converter/s16tofloat32swab.c @@ -3,7 +3,7 @@ * with endianness change ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: s16tofloat32swab.c,v 1.10 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Samuel Hocevar * Henri Fallon @@ -54,6 +54,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for s16->float32 with endianness conversion") ); set_capability( "audio filter", 1 ); diff --git a/modules/audio_filter/converter/s8tofloat32.c b/modules/audio_filter/converter/s8tofloat32.c index 31fd41ce16..2a03f78952 100644 --- a/modules/audio_filter/converter/s8tofloat32.c +++ b/modules/audio_filter/converter/s8tofloat32.c @@ -2,7 +2,7 @@ * s8tofloat32.c : converter from signed 8 bits integer to float32. ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: s8tofloat32.c,v 1.3 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Gildas Bazin * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for s8->float32 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/u8tofixed32.c b/modules/audio_filter/converter/u8tofixed32.c index 13a2b2796e..1cb09f03f1 100644 --- a/modules/audio_filter/converter/u8tofixed32.c +++ b/modules/audio_filter/converter/u8tofixed32.c @@ -2,7 +2,7 @@ * u8tofixed32.c : converter from unsigned 8 bits integer to fixed32. ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: u8tofixed32.c,v 1.2 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Samuel Hocevar * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for u8->fixed32 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/converter/u8tofloat32.c b/modules/audio_filter/converter/u8tofloat32.c index cb9c53c332..c5c66a97fe 100644 --- a/modules/audio_filter/converter/u8tofloat32.c +++ b/modules/audio_filter/converter/u8tofloat32.c @@ -2,7 +2,7 @@ * u8tofloat32.c : converter from unsigned 8 bits integer to float32. ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: u8tofloat32.c,v 1.4 2003/10/25 00:49:13 sam Exp $ + * $Id$ * * Authors: Gildas Bazin * @@ -43,6 +43,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for u8->float32 conversion") ); set_capability( "audio filter", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_filter/equalizer.c b/modules/audio_filter/equalizer.c index 2b005cba3a..ee610ffb1e 100644 --- a/modules/audio_filter/equalizer.c +++ b/modules/audio_filter/equalizer.c @@ -64,6 +64,9 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("Equalizer 10 bands") ); set_capability( "audio filter", 0 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AFILTER ); + add_string( "equalizer-preset", "flat", NULL, PRESET_TEXT, PRESET_LONGTEXT, VLC_TRUE ); change_string_list( preset_list, preset_list_text, 0 ); diff --git a/modules/audio_filter/normvol.c b/modules/audio_filter/normvol.c index eebafc1554..57bd97a804 100644 --- a/modules/audio_filter/normvol.c +++ b/modules/audio_filter/normvol.c @@ -80,6 +80,8 @@ typedef struct aout_filter_sys_t vlc_module_begin(); set_description( _("Volume normalizer") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AFILTER ); add_shortcut( "volnorm" ); add_integer( "norm-buff-size", 20 ,NULL ,BUFF_TEXT, BUFF_LONGTEXT, VLC_TRUE); diff --git a/modules/audio_filter/resampler/bandlimited.c b/modules/audio_filter/resampler/bandlimited.c index 1e01cc9e51..c31a3b8246 100644 --- a/modules/audio_filter/resampler/bandlimited.c +++ b/modules/audio_filter/resampler/bandlimited.c @@ -79,6 +79,8 @@ struct aout_filter_sys_t * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("audio filter for band-limited interpolation resampling") ); set_capability( "audio filter", 20 ); set_callbacks( Create, Close ); diff --git a/modules/audio_filter/resampler/coreaudio.c b/modules/audio_filter/resampler/coreaudio.c index 6353498dc8..03f8a71a9c 100644 --- a/modules/audio_filter/resampler/coreaudio.c +++ b/modules/audio_filter/resampler/coreaudio.c @@ -70,6 +70,8 @@ struct aout_filter_sys_t *****************************************************************************/ vlc_module_begin(); set_description( _("audio filter using CoreAudio for resampling") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_capability( "audio filter", 40 ); set_callbacks( Create, Close ); vlc_module_end(); diff --git a/modules/audio_filter/resampler/linear.c b/modules/audio_filter/resampler/linear.c index f8e5e2f81f..1d1f60d3ff 100644 --- a/modules/audio_filter/resampler/linear.c +++ b/modules/audio_filter/resampler/linear.c @@ -57,6 +57,8 @@ struct aout_filter_sys_t *****************************************************************************/ vlc_module_begin(); set_description( _("audio filter for linear interpolation resampling") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_capability( "audio filter", 5 ); set_callbacks( Create, Close ); vlc_module_end(); diff --git a/modules/audio_filter/resampler/trivial.c b/modules/audio_filter/resampler/trivial.c index 1d97f659f6..a0e2beb264 100644 --- a/modules/audio_filter/resampler/trivial.c +++ b/modules/audio_filter/resampler/trivial.c @@ -2,7 +2,7 @@ * trivial.c : trivial resampler (skips samples or pads with zeroes) ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: trivial.c,v 1.11 2003/03/04 03:27:40 gbazin Exp $ + * $Id$ * * Authors: Christophe Massiot * @@ -45,6 +45,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, vlc_module_begin(); set_description( _("audio filter for trivial resampling") ); set_capability( "audio filter", 1 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_callbacks( Create, NULL ); vlc_module_end(); diff --git a/modules/audio_filter/resampler/ugly.c b/modules/audio_filter/resampler/ugly.c index 5b091887d1..ef89370539 100644 --- a/modules/audio_filter/resampler/ugly.c +++ b/modules/audio_filter/resampler/ugly.c @@ -45,6 +45,8 @@ static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, vlc_module_begin(); set_description( _("audio filter for ugly resampling") ); set_capability( "audio filter", 2 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_callbacks( Create, NULL ); vlc_module_end(); diff --git a/modules/audio_mixer/float32.c b/modules/audio_mixer/float32.c index 5c2d06237d..67f6650154 100644 --- a/modules/audio_mixer/float32.c +++ b/modules/audio_mixer/float32.c @@ -2,7 +2,7 @@ * float32.c : precise float32 audio mixer implementation ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: float32.c,v 1.10 2004/01/25 17:20:18 kuehne Exp $ + * $Id$ * * Authors: Christophe Massiot * @@ -42,6 +42,8 @@ static void DoWork ( aout_instance_t *, aout_buffer_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("Float32 audio mixer") ); set_capability( "audio mixer", 10 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_mixer/spdif.c b/modules/audio_mixer/spdif.c index e21fc7b7cb..07d5f79a1e 100644 --- a/modules/audio_mixer/spdif.c +++ b/modules/audio_mixer/spdif.c @@ -42,6 +42,8 @@ static void DoWork ( aout_instance_t *, aout_buffer_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("Dummy S/PDIF audio mixer") ); set_capability( "audio mixer", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_mixer/trivial.c b/modules/audio_mixer/trivial.c index e18b673e4f..1ecfd3d46a 100644 --- a/modules/audio_mixer/trivial.c +++ b/modules/audio_mixer/trivial.c @@ -2,7 +2,7 @@ * trivial.c : trivial mixer plug-in (1 input, no downmixing) ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: trivial.c,v 1.14 2004/01/25 17:20:18 kuehne Exp $ + * $Id$ * * Authors: Christophe Massiot * @@ -42,6 +42,8 @@ static void DoWork ( aout_instance_t *, aout_buffer_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_MISC ); set_description( _("Trivial audio mixer") ); set_capability( "audio mixer", 1 ); set_callbacks( Create, NULL ); diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c index 2731febf7e..706b079cf2 100644 --- a/modules/audio_output/alsa.c +++ b/modules/audio_output/alsa.c @@ -97,6 +97,8 @@ static void ALSAFill ( aout_instance_t * ); *****************************************************************************/ vlc_module_begin(); set_description( _("ALSA audio output") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_string( "alsadev", DEFAULT_ALSA_DEVICE, aout_FindAndRestart, N_("ALSA Device Name"), NULL, VLC_FALSE ); set_capability( "audio output", 150 ); diff --git a/modules/audio_output/arts.c b/modules/audio_output/arts.c index 12e5818303..35af45890d 100644 --- a/modules/audio_output/arts.c +++ b/modules/audio_output/arts.c @@ -2,7 +2,7 @@ * arts.c : aRts module ***************************************************************************** * Copyright (C) 2001-2002 VideoLAN - * $Id: arts.c,v 1.20 2004/01/25 17:58:29 murray Exp $ + * $Id$ * * Authors: Emmanuel Blindauer * Samuel Hocevar @@ -65,6 +65,8 @@ static void Play ( aout_instance_t * ); vlc_module_begin(); set_description( _("aRts audio output") ); set_capability( "audio output", 50 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/audio_output/coreaudio.c b/modules/audio_output/coreaudio.c index b2ef49020c..cd72439ecb 100644 --- a/modules/audio_output/coreaudio.c +++ b/modules/audio_output/coreaudio.c @@ -222,6 +222,8 @@ static OSStatus StreamListener ( AudioStreamID inStream, vlc_module_begin(); set_description( _("CoreAudio output") ); set_capability( "audio output", 100 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); set_callbacks( Open, Close ); add_integer( "coreaudio-dev", -1, NULL, ADEV_TEXT, ADEV_LONGTEXT, VLC_FALSE ); vlc_module_end(); diff --git a/modules/audio_output/directx.c b/modules/audio_output/directx.c index eff1f75476..5bed710d0c 100644 --- a/modules/audio_output/directx.c +++ b/modules/audio_output/directx.c @@ -209,6 +209,8 @@ static int FillBuffer ( aout_instance_t *, int, aout_buffer_t * ); vlc_module_begin(); set_description( _("DirectX audio output") ); set_capability( "audio output", 100 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_shortcut( "directx" ); set_callbacks( OpenAudio, CloseAudio ); vlc_module_end(); diff --git a/modules/audio_output/esd.c b/modules/audio_output/esd.c index 0022da6d7f..0981659388 100644 --- a/modules/audio_output/esd.c +++ b/modules/audio_output/esd.c @@ -65,6 +65,8 @@ static void Play ( aout_instance_t * ); vlc_module_begin(); set_description( _("EsounD audio output") ); set_capability( "audio output", 50 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); set_callbacks( Open, Close ); add_shortcut( "esound" ); vlc_module_end(); diff --git a/modules/audio_output/hd1000a.cpp b/modules/audio_output/hd1000a.cpp index 97f867f624..a7747d0a5b 100644 --- a/modules/audio_output/hd1000a.cpp +++ b/modules/audio_output/hd1000a.cpp @@ -74,6 +74,8 @@ static void InterleaveS16( int16_t *, int16_t * ); vlc_module_begin(); set_description( N_("HD1000 audio output") ); set_capability( "audio output", 100 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/audio_output/oss.c b/modules/audio_output/oss.c index 6b07c97497..e8df5b4eda 100644 --- a/modules/audio_output/oss.c +++ b/modules/audio_output/oss.c @@ -107,6 +107,8 @@ static mtime_t BufferDuration( aout_instance_t * p_aout ); vlc_module_begin(); set_description( _("Linux OSS audio output") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_file( "dspdev", "/dev/dsp", aout_FindAndRestart, N_("OSS DSP device"), NULL, VLC_FALSE ); add_bool( "oss-buggy", 0, NULL, BUGGY_TEXT, BUGGY_LONGTEXT, VLC_TRUE ); diff --git a/modules/audio_output/portaudio.c b/modules/audio_output/portaudio.c index 7135870048..2a3e402339 100644 --- a/modules/audio_output/portaudio.c +++ b/modules/audio_output/portaudio.c @@ -109,6 +109,8 @@ static int PAOpenStream( aout_instance_t * ); vlc_module_begin(); set_description( N_("PORTAUDIO audio output") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_integer( "portaudio-device", 0, NULL, DEVICE_TEXT, DEVICE_LONGTEXT, VLC_FALSE ); set_capability( "audio output", 0 ); diff --git a/modules/audio_output/sdl.c b/modules/audio_output/sdl.c index 8242c1f7ab..fba4a72416 100644 --- a/modules/audio_output/sdl.c +++ b/modules/audio_output/sdl.c @@ -2,7 +2,7 @@ * sdl.c : SDL audio output plugin for vlc ***************************************************************************** * Copyright (C) 2000-2002 VideoLAN - * $Id: sdl.c,v 1.26 2004/01/25 17:58:29 murray Exp $ + * $Id$ * * Authors: Michel Kaempf * Sam Hocevar @@ -67,6 +67,8 @@ static void SDLCallback ( void *, byte_t *, int ); vlc_module_begin(); set_description( _("Simple DirectMedia Layer audio output") ); set_capability( "audio output", 40 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_shortcut( "sdl" ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/audio_output/waveout.c b/modules/audio_output/waveout.c index bdb96c0f01..d742c28fc8 100644 --- a/modules/audio_output/waveout.c +++ b/modules/audio_output/waveout.c @@ -134,6 +134,8 @@ static void WaveOutThread( notification_thread_t * ); vlc_module_begin(); set_description( _("Win32 waveOut extension output") ); set_capability( "audio output", 50 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_bool( "waveout-float32", 1, 0, FLOAT_TEXT, FLOAT_LONGTEXT, VLC_TRUE ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/codec/a52.c b/modules/codec/a52.c index 64f2f5298f..6c37c8798c 100644 --- a/modules/codec/a52.c +++ b/modules/codec/a52.c @@ -90,6 +90,8 @@ vlc_module_begin(); set_description( _("A/52 parser") ); set_capability( "decoder", 100 ); set_callbacks( OpenDecoder, CloseDecoder ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); add_submodule(); set_description( _("A/52 audio packetizer") ); diff --git a/modules/codec/adpcm.c b/modules/codec/adpcm.c index 469ec1bd7b..5c42d2acc8 100644 --- a/modules/codec/adpcm.c +++ b/modules/codec/adpcm.c @@ -2,7 +2,7 @@ * adpcm.c : adpcm variant audio decoder ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: adpcm.c,v 1.19 2004/01/25 18:20:12 bigben Exp $ + * $Id$ * * Authors: Laurent Aimar * @@ -40,6 +40,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *, block_t ** ); vlc_module_begin(); set_description( _("ADPCM audio decoder") ); set_capability( "decoder", 50 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); set_callbacks( OpenDecoder, CloseDecoder ); vlc_module_end(); diff --git a/modules/codec/araw.c b/modules/codec/araw.c index d487fe2a3c..ef8618aa41 100644 --- a/modules/codec/araw.c +++ b/modules/codec/araw.c @@ -40,6 +40,8 @@ vlc_module_begin(); /* audio decoder module */ set_description( _("Raw/Log Audio decoder") ); set_capability( "decoder", 100 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); set_callbacks( DecoderOpen, DecoderClose ); /* audio encoder submodule */ diff --git a/modules/codec/cinepak.c b/modules/codec/cinepak.c index c0191015ec..21f23a110a 100644 --- a/modules/codec/cinepak.c +++ b/modules/codec/cinepak.c @@ -37,6 +37,8 @@ static void CloseDecoder( vlc_object_t * ); vlc_module_begin(); set_description( _("Cinepak video decoder") ); set_capability( "decoder", 100 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_callbacks( OpenDecoder, CloseDecoder ); vlc_module_end(); diff --git a/modules/codec/dmo/dmo.c b/modules/codec/dmo/dmo.c index c5950ddfd1..9ef43bc94d 100644 --- a/modules/codec/dmo/dmo.c +++ b/modules/codec/dmo/dmo.c @@ -100,6 +100,8 @@ vlc_module_begin(); add_shortcut( "dmo" ); set_capability( "decoder", 1 ); set_callbacks( DecoderOpen, DecoderClose ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_SCODEC ); # define ENC_CFG_PREFIX "sout-dmo-" add_submodule(); diff --git a/modules/codec/dts.c b/modules/codec/dts.c index 0530e06e21..6c651c9000 100644 --- a/modules/codec/dts.c +++ b/modules/codec/dts.c @@ -90,6 +90,8 @@ static block_t *GetSoutBuffer( decoder_t * ); vlc_module_begin(); set_description( _("DTS parser") ); set_capability( "decoder", 100 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); set_callbacks( OpenDecoder, CloseDecoder ); add_submodule(); diff --git a/modules/codec/dvbsub.c b/modules/codec/dvbsub.c index 42769f4034..6446e5de43 100644 --- a/modules/codec/dvbsub.c +++ b/modules/codec/dvbsub.c @@ -50,6 +50,8 @@ static block_t *Encode ( encoder_t *, subpicture_t * ); vlc_module_begin(); set_description( _("DVB subtitles decoder") ); set_capability( "decoder", 50 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_SCODEC ); set_callbacks( Open, Close ); # define ENC_CFG_PREFIX "sout-dvbsub-" diff --git a/modules/codec/faad.c b/modules/codec/faad.c index c1a5447662..cc75d8a2d3 100644 --- a/modules/codec/faad.c +++ b/modules/codec/faad.c @@ -37,6 +37,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("AAC audio decoder (using libfaad2)") ); set_capability( "decoder", 100 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/codec/ffmpeg/ffmpeg.c b/modules/codec/ffmpeg/ffmpeg.c index 5210657085..9c9dc1a429 100644 --- a/modules/codec/ffmpeg/ffmpeg.c +++ b/modules/codec/ffmpeg/ffmpeg.c @@ -77,6 +77,8 @@ static char *enc_hq_list_text[] = { N_("rd"), N_("bits"), N_("simple") }; *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_SCODEC ); /* decoder main module */ #if defined(MODULE_NAME_is_ffmpegaltivec) \ || (defined(CAN_COMPILE_ALTIVEC) && !defined(NO_ALTIVEC_IN_FFMPEG)) @@ -87,6 +89,7 @@ vlc_module_begin(); set_description( _("ffmpeg audio/video decoder ((MS)MPEG4,SVQ1,H263,WMV,WMA)") ); set_capability( "decoder", 70 ); #endif + set_section( N_("Decoding") , NULL ); set_callbacks( OpenDecoder, CloseDecoder ); add_bool( "ffmpeg-dr", 1, NULL, DR_TEXT, DR_TEXT, VLC_TRUE ); @@ -118,6 +121,7 @@ vlc_module_begin(); /* encoder submodule */ add_submodule(); + set_section( N_("Encoding") , NULL ); set_description( _("ffmpeg audio/video encoder") ); set_capability( "encoder", 100 ); set_callbacks( E_(OpenEncoder), E_(CloseEncoder) ); diff --git a/modules/codec/flac.c b/modules/codec/flac.c index f63c7eedb5..ded735afff 100644 --- a/modules/codec/flac.c +++ b/modules/codec/flac.c @@ -142,6 +142,9 @@ static uint8_t flac_crc8( const uint8_t *data, unsigned len ); *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); + set_description( _("Flac audio decoder") ); set_capability( "decoder", 100 ); set_callbacks( OpenDecoder, CloseDecoder ); diff --git a/modules/codec/libmpeg2.c b/modules/codec/libmpeg2.c index bfd45d7464..1fa676171d 100755 --- a/modules/codec/libmpeg2.c +++ b/modules/codec/libmpeg2.c @@ -90,6 +90,8 @@ static picture_t *GetNewPicture( decoder_t *, uint8_t ** ); vlc_module_begin(); set_description( _("MPEG I/II video decoder (using libmpeg2)") ); set_capability( "decoder", 150 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_callbacks( OpenDecoder, CloseDecoder ); add_shortcut( "libmpeg2" ); vlc_module_end(); diff --git a/modules/codec/lpcm.c b/modules/codec/lpcm.c index 2a72e2f97c..06e4b135dc 100644 --- a/modules/codec/lpcm.c +++ b/modules/codec/lpcm.c @@ -2,7 +2,7 @@ * lpcm.c: lpcm decoder/packetizer module ***************************************************************************** * Copyright (C) 1999-2003 VideoLAN - * $Id: lpcm.c,v 1.21 2004/01/25 18:20:12 bigben Exp $ + * $Id$ * * Authors: Samuel Hocevar * Henri Fallon @@ -77,6 +77,8 @@ static void *DecodeFrame ( decoder_t *, block_t ** ); *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); set_description( _("Linear PCM audio decoder") ); set_capability( "decoder", 100 ); set_callbacks( OpenDecoder, CloseDecoder ); diff --git a/modules/codec/mash.cpp b/modules/codec/mash.cpp index ca28b045b6..f8f30234df 100644 --- a/modules/codec/mash.cpp +++ b/modules/codec/mash.cpp @@ -64,6 +64,8 @@ static block_t *SendFrame ( decoder_t *, block_t * ); vlc_module_begin(); set_description( _("Video decoder using openmash") ); set_capability( "decoder", 50 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_callbacks( OpenDecoder, CloseDecoder ); vlc_module_end(); diff --git a/modules/codec/mpeg_audio.c b/modules/codec/mpeg_audio.c index fd3c8ed944..045519cb9d 100644 --- a/modules/codec/mpeg_audio.c +++ b/modules/codec/mpeg_audio.c @@ -104,6 +104,8 @@ static int SyncInfo( uint32_t i_header, unsigned int * pi_channels, *****************************************************************************/ vlc_module_begin(); set_description( _("MPEG audio layer I/II/III parser") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); #if defined(SYS_DARWIN) set_capability( "decoder", 5 ); #else diff --git a/modules/codec/ogt/cvd.c b/modules/codec/ogt/cvd.c index 46abe55ca2..87826b5023 100644 --- a/modules/codec/ogt/cvd.c +++ b/modules/codec/ogt/cvd.c @@ -46,6 +46,8 @@ vlc_module_begin(); set_description( _("CVD subtitle decoder") ); set_capability( "decoder", 50 ); set_callbacks( VCDSubOpen, VCDSubClose ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_SCODEC ); add_integer ( MODULE_STRING "-debug", 0, NULL, DEBUG_TEXT, DEBUG_LONGTEXT, VLC_TRUE ); diff --git a/modules/codec/quicktime.c b/modules/codec/quicktime.c index de073126c0..edb611d201 100644 --- a/modules/codec/quicktime.c +++ b/modules/codec/quicktime.c @@ -58,6 +58,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("QuickTime library decoder") ); set_capability( "decoder", 10 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_callbacks( Open, Close ); /* create a mutex */ diff --git a/modules/codec/rawvideo.c b/modules/codec/rawvideo.c index 86c20a86ac..bacea024cd 100644 --- a/modules/codec/rawvideo.c +++ b/modules/codec/rawvideo.c @@ -67,6 +67,8 @@ static block_t *SendFrame ( decoder_t *, block_t * ); vlc_module_begin(); set_description( _("Pseudo raw video decoder") ); set_capability( "decoder", 50 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_callbacks( OpenDecoder, CloseDecoder ); add_submodule(); diff --git a/modules/codec/speex.c b/modules/codec/speex.c index 2cdeb30023..0d51c675e8 100755 --- a/modules/codec/speex.c +++ b/modules/codec/speex.c @@ -99,6 +99,9 @@ static block_t *Encode ( encoder_t *, aout_buffer_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); + set_description( _("Speex audio decoder") ); set_capability( "decoder", 100 ); set_callbacks( OpenDecoder, CloseDecoder ); diff --git a/modules/codec/spudec/spudec.c b/modules/codec/spudec/spudec.c index 1f758f8262..e988d58155 100644 --- a/modules/codec/spudec/spudec.c +++ b/modules/codec/spudec/spudec.c @@ -40,6 +40,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("DVD subtitles decoder") ); set_capability( "decoder", 50 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_SCODEC ); set_callbacks( DecoderOpen, Close ); add_submodule(); diff --git a/modules/codec/subsdec.c b/modules/codec/subsdec.c index 9e8ded6af2..07fa17e48f 100644 --- a/modules/codec/subsdec.c +++ b/modules/codec/subsdec.c @@ -92,6 +92,8 @@ vlc_module_begin(); set_description( _("text subtitles decoder") ); set_capability( "decoder", 50 ); set_callbacks( OpenDecoder, CloseDecoder ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_SCODEC ); add_integer( "subsdec-align", 0, NULL, ALIGN_TEXT, ALIGN_LONGTEXT, VLC_TRUE ); diff --git a/modules/codec/tarkin.c b/modules/codec/tarkin.c index 62c8d30e97..cfff76e0b1 100644 --- a/modules/codec/tarkin.c +++ b/modules/codec/tarkin.c @@ -74,6 +74,8 @@ static void tarkin_CopyPicture( decoder_t *, picture_t *, uint8_t *, int ); vlc_module_begin(); set_description( _("Tarkin decoder module") ); set_capability( "decoder", 100 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_callbacks( OpenDecoder, CloseDecoder ); add_shortcut( "tarkin" ); vlc_module_end(); diff --git a/modules/codec/theora.c b/modules/codec/theora.c index e5268cfe20..32289431a3 100644 --- a/modules/codec/theora.c +++ b/modules/codec/theora.c @@ -88,6 +88,8 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict ); "of specifying a particular bitrate. This will produce a VBR stream." ) vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); set_description( _("Theora video decoder") ); set_capability( "decoder", 100 ); set_callbacks( OpenDecoder, CloseDecoder ); diff --git a/modules/codec/toolame.c b/modules/codec/toolame.c index c01dd0986d..61a70a16e3 100644 --- a/modules/codec/toolame.c +++ b/modules/codec/toolame.c @@ -63,6 +63,8 @@ vlc_module_begin(); set_description( _("libtoolame audio encoder") ); set_capability( "encoder", 50 ); set_callbacks( OpenEncoder, CloseEncoder ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); add_float( ENC_CFG_PREFIX "quality", 0.0, NULL, ENC_QUALITY_TEXT, ENC_QUALITY_LONGTEXT, VLC_FALSE ); diff --git a/modules/codec/vorbis.c b/modules/codec/vorbis.c index d7889f66e0..3e4cc85d6b 100644 --- a/modules/codec/vorbis.c +++ b/modules/codec/vorbis.c @@ -148,6 +148,8 @@ vlc_module_begin(); #else set_capability( "decoder", 100 ); #endif + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACODEC ); set_callbacks( OpenDecoder, CloseDecoder ); add_submodule(); diff --git a/modules/codec/x264.c b/modules/codec/x264.c index 2f6d11d798..94f455d7a2 100644 --- a/modules/codec/x264.c +++ b/modules/codec/x264.c @@ -101,6 +101,8 @@ vlc_module_begin(); set_description( _("h264 video encoder using x264 library")); set_capability( "encoder", 200 ); set_callbacks( Open, Close ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_VCODEC ); add_integer( SOUT_CFG_PREFIX "qp", 0, NULL, QP_TEXT, QP_LONGTEXT, VLC_FALSE ); diff --git a/modules/control/corba/corba.c b/modules/control/corba/corba.c index dd2b434760..ab6a54e8b0 100644 --- a/modules/control/corba/corba.c +++ b/modules/control/corba/corba.c @@ -682,6 +682,8 @@ static void Run ( intf_thread_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); +set_category( CAT_INTERFACE ); +set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_category_hint( N_( "Corba control" ), NULL, VLC_FALSE ); set_description( _( "corba control module" ) ); diff --git a/modules/control/gestures.c b/modules/control/gestures.c index eb4afd10e1..4936f5a375 100644 --- a/modules/control/gestures.c +++ b/modules/control/gestures.c @@ -10,7 +10,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -87,6 +87,8 @@ static char *button_list[] = { "left", "middle", "right" }; static char *button_list_text[] = { N_("Left"), N_("Middle"), N_("Right") }; vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_integer( "gestures-threshold", 30, NULL, THRESHOLD_TEXT, THRESHOLD_LONGTEXT, VLC_TRUE ); add_string( "gestures-button", "right", NULL, BUTTON_TEXT, BUTTON_LONGTEXT, VLC_FALSE ); diff --git a/modules/control/http.c b/modules/control/http.c index 87be3a5587..358a1ea07a 100644 --- a/modules/control/http.c +++ b/modules/control/http.c @@ -91,6 +91,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("HTTP remote control interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_string ( "http-host", NULL, NULL, HOST_TEXT, HOST_LONGTEXT, VLC_TRUE ); add_string ( "http-src", NULL, NULL, SRC_TEXT, SRC_LONGTEXT, VLC_TRUE ); add_string ( "http-intf-cert", NULL, NULL, CERT_TEXT, CERT_LONGTEXT, VLC_TRUE ); diff --git a/modules/control/joystick.c b/modules/control/joystick.c index 9c5dbf4df3..5d732e6fda 100644 --- a/modules/control/joystick.c +++ b/modules/control/joystick.c @@ -158,6 +158,8 @@ static void Run ( intf_thread_t *p_intf ); #define MAP_LONGTEXT N_( "Allows you to remap the actions." ) vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_integer( "motion-threshold", DEFAULT_THRESHOLD, NULL, THRESHOLD_TEXT, THRESHOLD_LONGTEXT, VLC_TRUE ); add_string( "joystick-device", DEFAULT_DEVICE, NULL, diff --git a/modules/control/lirc.c b/modules/control/lirc.c index 86a45d4e07..7c7bd5e0a5 100644 --- a/modules/control/lirc.c +++ b/modules/control/lirc.c @@ -62,6 +62,8 @@ static void Run ( intf_thread_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); set_description( _("Infrared remote control interface") ); set_capability( "interface", 0 ); set_callbacks( Open, Close ); diff --git a/modules/control/netsync.c b/modules/control/netsync.c index a4ac92b117..d939f47c50 100644 --- a/modules/control/netsync.c +++ b/modules/control/netsync.c @@ -88,6 +88,8 @@ static mtime_t GetClockRef( intf_thread_t *, mtime_t ); vlc_module_begin(); set_description( _("Network synchronisation") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_bool( "netsync-master", 0, NULL, NETSYNC_TEXT, NETSYNC_LONGTEXT, VLC_TRUE ); diff --git a/modules/control/ntservice.c b/modules/control/ntservice.c index 99c1f57b4a..be50dcfec9 100755 --- a/modules/control/ntservice.c +++ b/modules/control/ntservice.c @@ -59,6 +59,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("Windows Service interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_bool( "ntservice-install", 0, NULL, INSTALL_TEXT, INSTALL_LONGTEXT, VLC_TRUE ); add_bool( "ntservice-uninstall", 0, NULL, diff --git a/modules/control/rc.c b/modules/control/rc.c index 6696d9a3b0..23fdd2c764 100644 --- a/modules/control/rc.c +++ b/modules/control/rc.c @@ -150,6 +150,8 @@ void __msg_rc( intf_thread_t *p_intf, const char *psz_fmt, ... ) #endif vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); set_description( _("Remote control interface") ); add_bool( "rc-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE ); #ifdef HAVE_ISATTY diff --git a/modules/control/rtci.c b/modules/control/rtci.c index 0377c6ec5f..087f04a071 100755 --- a/modules/control/rtci.c +++ b/modules/control/rtci.c @@ -152,6 +152,8 @@ static void __msg_rtci( intf_thread_t *p_intf, const char *psz_fmt, ... ) vlc_module_begin(); set_description( _("Real time control interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_bool( "rtci-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE ); #ifdef HAVE_ISATTY add_bool( "rtci-fake-tty", 0, NULL, TTY_TEXT, TTY_LONGTEXT, VLC_TRUE ); diff --git a/modules/demux/a52.c b/modules/demux/a52.c index aef2c928f6..353ecf54df 100644 --- a/modules/demux/a52.c +++ b/modules/demux/a52.c @@ -39,6 +39,8 @@ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("Raw A/52 demuxer") ); set_capability( "demux2", 145 ); set_callbacks( Open, Close ); diff --git a/modules/demux/aac.c b/modules/demux/aac.c index 90830b8838..9180e4db22 100644 --- a/modules/demux/aac.c +++ b/modules/demux/aac.c @@ -36,6 +36,8 @@ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("AAC demuxer" ) ); set_capability( "demux2", 100 ); set_callbacks( Open, Close ); diff --git a/modules/demux/aiff.c b/modules/demux/aiff.c index ca540d4ece..5dc2ac3c03 100644 --- a/modules/demux/aiff.c +++ b/modules/demux/aiff.c @@ -2,7 +2,7 @@ * aiff.c: Audio Interchange File Format demuxer ***************************************************************************** * Copyright (C) 2004 VideoLAN - * $Id: aiff.c,v 1.1 2004/01/28 12:25:37 fenrir Exp $ + * $Id$ * * Authors: Laurent Aimar * @@ -40,6 +40,8 @@ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("AIFF demuxer" ) ); set_capability( "demux2", 10 ); set_callbacks( Open, Close ); diff --git a/modules/demux/asf/asf.c b/modules/demux/asf/asf.c index 3bec78b0ad..a7a73c8387 100644 --- a/modules/demux/asf/asf.c +++ b/modules/demux/asf/asf.c @@ -46,6 +46,8 @@ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("ASF v1.0 demuxer") ); set_capability( "demux2", 200 ); set_callbacks( Open, Close ); diff --git a/modules/demux/au.c b/modules/demux/au.c index 0a76b279a9..e3543b8caf 100644 --- a/modules/demux/au.c +++ b/modules/demux/au.c @@ -41,6 +41,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("AU demuxer") ); set_capability( "demux2", 10 ); set_callbacks( Open, Close ); diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c index 88a8f08138..2bec734136 100644 --- a/modules/demux/avi/avi.c +++ b/modules/demux/avi/avi.c @@ -50,6 +50,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("AVI demuxer") ); set_capability( "demux2", 212 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_bool( "avi-interleaved", 0, NULL, INTERLEAVE_TEXT, INTERLEAVE_LONGTEXT, VLC_TRUE ); diff --git a/modules/demux/demuxdump.c b/modules/demux/demuxdump.c index 98154bacf3..9a108c8006 100644 --- a/modules/demux/demuxdump.c +++ b/modules/demux/demuxdump.c @@ -46,6 +46,8 @@ static int Open( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("Filedump demuxer") ); set_capability( "demux2", 0 ); add_file( "demuxdump-file", "stream-demux.dump", NULL, FILE_TEXT, diff --git a/modules/demux/dts.c b/modules/demux/dts.c index 5b9d2f2c05..3524c07b83 100644 --- a/modules/demux/dts.c +++ b/modules/demux/dts.c @@ -35,6 +35,8 @@ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("Raw DTS demuxer") ); set_capability( "demux2", 155 ); set_callbacks( Open, Close ); diff --git a/modules/demux/flac.c b/modules/demux/flac.c index 5077c5d980..401089b604 100644 --- a/modules/demux/flac.c +++ b/modules/demux/flac.c @@ -37,6 +37,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("FLAC demuxer") ); set_capability( "demux2", 155 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_callbacks( Open, Close ); add_shortcut( "flac" ); vlc_module_end(); diff --git a/modules/demux/livedotcom.cpp b/modules/demux/livedotcom.cpp index 26117ad09a..0f20ade114 100644 --- a/modules/demux/livedotcom.cpp +++ b/modules/demux/livedotcom.cpp @@ -71,8 +71,11 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("live.com (RTSP/RTP/SDP) demuxer" ) ); set_capability( "demux2", 50 ); + set_name( "Live.com RTP/RTSP"); set_callbacks( Open, Close ); add_shortcut( "live" ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_submodule(); set_description( _("RTSP/RTP access and demux") ); diff --git a/modules/demux/m3u.c b/modules/demux/m3u.c index 675ee28ce4..06dee5a351 100644 --- a/modules/demux/m3u.c +++ b/modules/demux/m3u.c @@ -63,6 +63,8 @@ static int Control ( demux_t *, int, va_list ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("Playlist metademux") ); set_capability( "demux2", 5 ); set_callbacks( Activate, Deactivate ); diff --git a/modules/demux/mjpeg.c b/modules/demux/mjpeg.c index 75b29458f1..e7335c2469 100644 --- a/modules/demux/mjpeg.c +++ b/modules/demux/mjpeg.c @@ -48,6 +48,8 @@ vlc_module_begin(); set_description( _("JPEG camera demuxer") ); set_capability( "demux2", 5 ); set_callbacks( Open, Close ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_float( "mjpeg-fps", 0.0, NULL, FPS_TEXT, FPS_LONGTEXT, VLC_FALSE ); vlc_module_end(); diff --git a/modules/demux/mkv.cpp b/modules/demux/mkv.cpp index 1624dafe88..176b252caa 100644 --- a/modules/demux/mkv.cpp +++ b/modules/demux/mkv.cpp @@ -95,9 +95,12 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_name( _("Matroska") ); set_description( _("Matroska stream demuxer" ) ); set_capability( "demux2", 50 ); set_callbacks( Open, Close ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_bool( "mkv-seek-percent", 1, NULL, N_("Seek based on percent not time"), diff --git a/modules/demux/mod.c b/modules/demux/mod.c index d84c79cbb4..6b081e51d5 100644 --- a/modules/demux/mod.c +++ b/modules/demux/mod.c @@ -47,6 +47,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("MOD demuxer (libmodplug)" ) ); set_capability( "demux2", 10 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_bool( "mod-noisereduction", VLC_TRUE, NULL, N_("Noise reduction"), N_("Noise reduction"), VLC_FALSE ); diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c index fbc41abc61..c988aedb08 100644 --- a/modules/demux/mp4/mp4.c +++ b/modules/demux/mp4/mp4.c @@ -45,6 +45,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("MP4 stream demuxer") ); set_capability( "demux2", 242 ); set_callbacks( Open, Close ); diff --git a/modules/demux/mpeg/h264.c b/modules/demux/mpeg/h264.c index 8cfaa068fb..6360234b18 100644 --- a/modules/demux/mpeg/h264.c +++ b/modules/demux/mpeg/h264.c @@ -37,6 +37,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("H264 video demuxer" ) ); set_capability( "demux2", 0 ); add_float( "h264-fps", 25.0, NULL, "fps", "fps", VLC_TRUE ); diff --git a/modules/demux/mpeg/m4a.c b/modules/demux/mpeg/m4a.c index 58ac716f55..b691640250 100644 --- a/modules/demux/mpeg/m4a.c +++ b/modules/demux/mpeg/m4a.c @@ -37,6 +37,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("MPEG-4 audio demuxer" ) ); set_capability( "demux2", 110 ); set_callbacks( Open, Close ); diff --git a/modules/demux/mpeg/m4v.c b/modules/demux/mpeg/m4v.c index 31926fe431..584b2c5a94 100644 --- a/modules/demux/mpeg/m4v.c +++ b/modules/demux/mpeg/m4v.c @@ -37,6 +37,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("MPEG-4 video demuxer" ) ); set_capability( "demux2", 0 ); set_callbacks( Open, Close ); diff --git a/modules/demux/mpeg/mpga.c b/modules/demux/mpeg/mpga.c index ca0afc0d25..2499eff5b4 100644 --- a/modules/demux/mpeg/mpga.c +++ b/modules/demux/mpeg/mpga.c @@ -41,6 +41,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("MPEG-I/II audio demuxer" ) ); set_capability( "demux2", 100 ); set_callbacks( Open, Close ); diff --git a/modules/demux/mpeg/mpgv.c b/modules/demux/mpeg/mpgv.c index 5dc3751388..7753265dd2 100644 --- a/modules/demux/mpeg/mpgv.c +++ b/modules/demux/mpeg/mpgv.c @@ -37,6 +37,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("MPEG-I/II video demuxer" ) ); set_capability( "demux2", 100 ); set_callbacks( Open, Close ); diff --git a/modules/demux/nsv.c b/modules/demux/nsv.c index 88b43e2664..1201b82a14 100644 --- a/modules/demux/nsv.c +++ b/modules/demux/nsv.c @@ -44,6 +44,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("NullSoft demuxer" ) ); set_capability( "demux2", 10 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_callbacks( Open, Close ); add_shortcut( "nsv" ); vlc_module_end(); diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c index bbe3484741..6046018de8 100644 --- a/modules/demux/ogg.c +++ b/modules/demux/ogg.c @@ -41,6 +41,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("Ogg stream demuxer" ) ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_capability( "demux2", 50 ); set_callbacks( Open, Close ); add_shortcut( "ogg" ); diff --git a/modules/demux/playlist/playlist.c b/modules/demux/playlist/playlist.c index 82031b3727..d5b2cb3cc9 100644 --- a/modules/demux/playlist/playlist.c +++ b/modules/demux/playlist/playlist.c @@ -35,6 +35,8 @@ *****************************************************************************/ vlc_module_begin(); add_shortcut( "playlist" ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_description( _("Old playlist open") ); add_shortcut( "old-open" ); @@ -42,16 +44,21 @@ vlc_module_begin(); set_callbacks( Import_Old , NULL ); add_submodule(); - set_description( _("M3U playlist import") ); - add_shortcut( "m3u-open" ); - set_capability( "demux2" , 10 ); - set_callbacks( Import_M3U , Close_M3U ); - + set_description( _("Native playlist import") ); + add_shortcut( "playlist" ); + add_shortcut( "native-open" ); + set_capability( "demux2" , 10 ); + set_callbacks( Import_Native , Close_Native ); add_submodule(); - set_description( _("PLS playlist import") ); - add_shortcut( "pls-open" ); - set_capability( "demux2" , 10 ); - set_callbacks( Import_PLS , Close_PLS ); + set_description( _("M3U playlist import") ); + add_shortcut( "m3u-open" ); + set_capability( "demux2" , 10 ); + set_callbacks( Import_M3U , Close_M3U ); + add_submodule(); + set_description( _("PLS playlist import") ); + add_shortcut( "pls-open" ); + set_capability( "demux2" , 10 ); + set_callbacks( Import_PLS , Close_PLS ); vlc_module_end(); diff --git a/modules/demux/playlist/playlist.h b/modules/demux/playlist/playlist.h index 96572aa072..9bc6e11237 100644 --- a/modules/demux/playlist/playlist.h +++ b/modules/demux/playlist/playlist.h @@ -29,6 +29,9 @@ vlc_bool_t FindItem( demux_t *, playlist_t *, playlist_item_t **); int Import_Old ( vlc_object_t * ); int Import_M3U ( vlc_object_t * ); +int Import_Native ( vlc_object_t * ); +int Close_Native ( vlc_object_t * ); + void Close_M3U ( vlc_object_t * ); int Import_PLS ( vlc_object_t * ); void Close_PLS ( vlc_object_t * ); diff --git a/modules/demux/ps.c b/modules/demux/ps.c index 72f81daa81..c069c0f704 100644 --- a/modules/demux/ps.c +++ b/modules/demux/ps.c @@ -45,6 +45,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("PS demuxer") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_capability( "demux2", 1 ); set_callbacks( Open, Close ); add_shortcut( "ps" ); diff --git a/modules/demux/pva.c b/modules/demux/pva.c index 07978cab0c..b699ea3b65 100644 --- a/modules/demux/pva.c +++ b/modules/demux/pva.c @@ -42,6 +42,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("PVA demuxer" ) ); set_capability( "demux2", 10 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_callbacks( Open, Close ); add_shortcut( "pva" ); vlc_module_end(); diff --git a/modules/demux/rawdv.c b/modules/demux/rawdv.c index f50c0a56c1..5814eff906 100644 --- a/modules/demux/rawdv.c +++ b/modules/demux/rawdv.c @@ -38,6 +38,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("raw DV demuxer") ); set_capability( "demux2", 2 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_callbacks( Open, Close ); add_shortcut( "rawdv" ); vlc_module_end(); diff --git a/modules/demux/real.c b/modules/demux/real.c index 94e0b4273b..01e0cdfb46 100644 --- a/modules/demux/real.c +++ b/modules/demux/real.c @@ -38,6 +38,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("Real demuxer" ) ); set_capability( "demux2", 15 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_callbacks( Open, Close ); add_shortcut( "real" ); add_shortcut( "rm" ); diff --git a/modules/demux/sgimb.c b/modules/demux/sgimb.c index 02ea755ef9..ce59ceab1c 100644 --- a/modules/demux/sgimb.c +++ b/modules/demux/sgimb.c @@ -111,6 +111,8 @@ static void Deactivate( vlc_object_t * ); vlc_module_begin(); set_description( _("Kasenna MediaBase metademux") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_capability( "demux2", 170 ); set_callbacks( Activate, Deactivate ); add_shortcut( "sgimb" ); diff --git a/modules/demux/subtitle.c b/modules/demux/subtitle.c index 0aedae1310..d1e7a66ebe 100644 --- a/modules/demux/subtitle.c +++ b/modules/demux/subtitle.c @@ -65,6 +65,8 @@ static char *ppsz_sub_type[] = vlc_module_begin(); set_description( _("Text subtitles demux") ); set_capability( "demux2", 0 ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_float( "sub-fps", 0.0, NULL, N_("Frames per second"), SUB_FPS_LONGTEXT, VLC_TRUE ); diff --git a/modules/demux/ts.c b/modules/demux/ts.c index 8ec1ef226f..a043540950 100644 --- a/modules/demux/ts.c +++ b/modules/demux/ts.c @@ -85,6 +85,9 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("ISO 13818-1 MPEG Transport Stream input - new" ) ); + set_name ( _("MPEG-TS") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); add_string( "ts-extra-pmt", NULL, NULL, PMT_TEXT, PMT_LONGTEXT, VLC_TRUE ); add_bool( "ts-es-id-pid", 0, NULL, PID_TEXT, PID_LONGTEXT, VLC_TRUE ); diff --git a/modules/demux/vobsub.c b/modules/demux/vobsub.c index 6b64c6554f..24aae6cde6 100644 --- a/modules/demux/vobsub.c +++ b/modules/demux/vobsub.c @@ -46,6 +46,8 @@ static void Close( vlc_object_t *p_this ); vlc_module_begin(); set_description( _("Vobsub subtitles demux") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_capability( "demux2", 1 ); set_callbacks( Open, Close ); diff --git a/modules/demux/wav.c b/modules/demux/wav.c index d83eebd711..ff5caae13c 100644 --- a/modules/demux/wav.c +++ b/modules/demux/wav.c @@ -40,6 +40,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("WAV demuxer") ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); set_capability( "demux2", 142 ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/gui/beos/BeOS.cpp b/modules/gui/beos/BeOS.cpp index 3f6cdfe6c3..303856b9ca 100644 --- a/modules/gui/beos/BeOS.cpp +++ b/modules/gui/beos/BeOS.cpp @@ -2,7 +2,7 @@ * beos.cpp : BeOS plugin for vlc ***************************************************************************** * Copyright (C) 2000, 2001 VideoLAN - * $Id: BeOS.cpp,v 1.14 2004/01/26 16:52:31 zorglub Exp $ + * $Id$ * * Authors: Jean-Marc Dressler * Samuel Hocevar @@ -49,6 +49,8 @@ void E_(CloseVideo) ( vlc_object_t * ); static char * ppsz_screenshotformat[] = { "TGA", "PPM", "PNG", "JPEG", "BMP" }; vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_bool( "beos-dvdmenus", 0, NULL, _("Use DVD Menus"), "", VLC_TRUE ); add_string( "beos-screenshotpath", "/boot/home/", NULL, _("Screenshot Path"), "", VLC_TRUE ); diff --git a/modules/gui/gtk/gnome.c b/modules/gui/gtk/gnome.c index e3686c62ec..733e5f4b8c 100644 --- a/modules/gui/gtk/gnome.c +++ b/modules/gui/gtk/gnome.c @@ -75,6 +75,8 @@ vlc_module_begin(); int i = getenv( "DISPLAY" ) == NULL ? 15 : 100; #endif set_description( _("GNOME interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_bool( "gnome-tooltips", 1, E_(GtkHideTooltips), TOOLTIPS_TEXT, TOOLTIPS_LONGTEXT, VLC_FALSE ); diff --git a/modules/gui/gtk/gtk.c b/modules/gui/gtk/gtk.c index 10e0114b52..779003197e 100644 --- a/modules/gui/gtk/gtk.c +++ b/modules/gui/gtk/gtk.c @@ -74,6 +74,8 @@ vlc_module_begin(); int i = getenv( "DISPLAY" ) == NULL ? 10 : 90; #endif set_description( _("Gtk+ interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_bool( "gtk-tooltips", 1, E_(GtkHideTooltips), TOOLTIPS_TEXT, TOOLTIPS_LONGTEXT, VLC_FALSE ); diff --git a/modules/gui/gtk2/gnome2.c b/modules/gui/gtk2/gnome2.c index e580916f94..aae13b4b5e 100644 --- a/modules/gui/gtk2/gnome2.c +++ b/modules/gui/gtk2/gnome2.c @@ -2,7 +2,7 @@ * gnome2.c : GNOME 2 plugin for vlc ***************************************************************************** * Copyright (C) 2003 VideoLAN - * $Id: gnome2.c,v 1.3 2004/03/03 20:39:52 gbazin Exp $ + * $Id$ * * Authors: Samuel Hocevar * @@ -52,6 +52,8 @@ static int Manage ( intf_thread_t * ); vlc_module_begin(); int i = getenv( "DISPLAY" ) == NULL ? 15 : 95; set_description( _("Gtk2 interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); set_capability( "interface", i ); set_callbacks( Open, Close ); set_program( "gvlc" ); diff --git a/modules/gui/gtk2/gtk2.c b/modules/gui/gtk2/gtk2.c index 40d7993d36..7273e60f8d 100644 --- a/modules/gui/gtk2/gtk2.c +++ b/modules/gui/gtk2/gtk2.c @@ -2,7 +2,7 @@ * gtk2.c : Gtk2 plugin for vlc ***************************************************************************** * Copyright (C) 2003 VideoLAN - * $Id: gtk2.c,v 1.3 2004/03/03 20:39:52 gbazin Exp $ + * $Id$ * * Authors: Samuel Hocevar * @@ -52,6 +52,8 @@ static int Manage ( intf_thread_t * ); *****************************************************************************/ vlc_module_begin(); int i = getenv( "DISPLAY" ) == NULL ? 15 : 95; + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); set_description( _("Gtk2 interface") ); set_capability( "interface", i ); set_callbacks( Open, Close ); diff --git a/modules/gui/kde/kde.cpp b/modules/gui/kde/kde.cpp index 7cfd2bdd60..2b9a43956d 100644 --- a/modules/gui/kde/kde.cpp +++ b/modules/gui/kde/kde.cpp @@ -2,7 +2,7 @@ * kde.cpp : KDE plugin for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: kde.cpp,v 1.15 2004/01/25 18:53:07 gbazin Exp $ + * $Id$ * * Authors: Andres Krapf Sun Mar 25 2001 * @@ -51,6 +51,8 @@ static void run(intf_thread_t *p_intf); *****************************************************************************/ vlc_module_begin(); /* int i = getenv( "DISPLAY" ) == NULL ? 8 : 85; */ + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); set_description( _("KDE interface") ); add_file( "kde-uirc", DATA_PATH "/ui.rc", NULL, N_( "path to ui.rc file" ), NULL, VLC_TRUE ); set_capability( "interface", 0 ); /* 0 used to be i, disabled because kvlc not maintained */ diff --git a/modules/gui/macosx/macosx.m b/modules/gui/macosx/macosx.m index 2999a8324f..7ef816fc4b 100644 --- a/modules/gui/macosx/macosx.m +++ b/modules/gui/macosx/macosx.m @@ -71,6 +71,8 @@ vlc_module_begin(); set_description( _("Mac OS X interface, sound and video") ); set_capability( "interface", 100 ); set_callbacks( E_(OpenIntf), E_(CloseIntf) ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_submodule(); set_capability( "video output", 100 ); set_callbacks( E_(OpenVideoQT), E_(CloseVideoQT) ); diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c index f8c7f0e203..e78a7d0ac7 100644 --- a/modules/gui/ncurses.c +++ b/modules/gui/ncurses.c @@ -91,6 +91,8 @@ static void ReadDir ( intf_thread_t * ); vlc_module_begin(); set_description( _("ncurses interface") ); set_capability( "interface", 10 ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); set_callbacks( Open, Close ); add_shortcut( "curses" ); add_directory( "browse-dir", NULL, NULL, BROWSE_TEXT, BROWSE_LONGTEXT, VLC_FALSE ); diff --git a/modules/gui/pda/pda.c b/modules/gui/pda/pda.c index 77385e65a9..02fddb48ff 100644 --- a/modules/gui/pda/pda.c +++ b/modules/gui/pda/pda.c @@ -64,6 +64,8 @@ gint E_(GtkModeManage) ( intf_thread_t * p_intf ); *****************************************************************************/ vlc_module_begin(); set_description( N_("PDA Linux Gtk2+ interface") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); // add_bool( "pda-autoplayfile", 1, GtkAutoPlayFile, AUTOPLAYFILE_TEXT, AUTOPLAYFILE_LONGTEXT, VLC_TRUE ); set_capability( "interface", 70 ); set_callbacks( Open, Close ); diff --git a/modules/gui/qnx/qnx.c b/modules/gui/qnx/qnx.c index 8c8248b45c..7c41d58e77 100644 --- a/modules/gui/qnx/qnx.c +++ b/modules/gui/qnx/qnx.c @@ -44,6 +44,8 @@ vlc_module_begin(); set_description( _("QNX RTOS video and audio output") ); set_capability( "video output", 100 ); set_callbacks( E_(OpenVideo), E_(CloseVideo) ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_submodule(); set_capability( "audio output", 100 ); set_callbacks( E_(OpenAudio), E_(CloseAudio) ); diff --git a/modules/gui/qt/qt.cpp b/modules/gui/qt/qt.cpp index 29a6935577..e8894617a7 100644 --- a/modules/gui/qt/qt.cpp +++ b/modules/gui/qt/qt.cpp @@ -2,7 +2,7 @@ * qt.cpp : Qt plugin for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: qt.cpp,v 1.2 2003/03/30 18:14:38 gbazin Exp $ + * $Id$ * * Authors: Samuel Hocevar * @@ -47,6 +47,8 @@ vlc_module_begin(); set_description( _("Qt interface") ); set_capability( "interface", i ); set_program( "qvlc" ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); set_callbacks( E_(Open), E_(Close) ); vlc_module_end(); diff --git a/modules/gui/skins2/src/skin_main.cpp b/modules/gui/skins2/src/skin_main.cpp index 285c002a81..7c1e42307d 100644 --- a/modules/gui/skins2/src/skin_main.cpp +++ b/modules/gui/skins2/src/skin_main.cpp @@ -340,6 +340,8 @@ static int DemuxControl( demux_t *p_demux, int i_query, va_list args ) " correctly.") vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_string( "skins2-last", "", NULL, SKINS2_LAST, SKINS2_LAST_LONG, VLC_TRUE ); add_string( "skins2-config", "", NULL, SKINS2_CONFIG, SKINS2_CONFIG_LONG, diff --git a/modules/gui/wxwindows/open.cpp b/modules/gui/wxwindows/open.cpp index 3b5c238c04..e789766d45 100644 --- a/modules/gui/wxwindows/open.cpp +++ b/modules/gui/wxwindows/open.cpp @@ -37,6 +37,8 @@ #include +#include + #include "wxwindows.h" #include "preferences_widgets.h" diff --git a/modules/gui/wxwindows/preferences.cpp b/modules/gui/wxwindows/preferences.cpp index c80bd5e866..40ccfee50f 100644 --- a/modules/gui/wxwindows/preferences.cpp +++ b/modules/gui/wxwindows/preferences.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include #include "wxwindows.h" #include "preferences_widgets.h" @@ -46,9 +46,9 @@ # define wxRB_SINGLE 0 #endif -#define GENERAL_ID 1242 -#define PLUGIN_ID 1243 -#define CAPABILITY_ID 1244 +#define TYPE_CATEGORY 0 +#define TYPE_SUBCATEGORY 1 +#define TYPE_MODULE 2 /***************************************************************************** * Classes declarations. @@ -82,7 +82,6 @@ private: vlc_bool_t b_advanced; wxTreeItemId root_item; - wxTreeItemId general_item; wxTreeItemId plugins_item; }; @@ -94,7 +93,7 @@ public: PrefsPanel() { } PrefsPanel( wxWindow *parent, intf_thread_t *_p_intf, - PrefsDialog *, int i_object_id, char *, char * ); + PrefsDialog *, ConfigTreeData* ); virtual ~PrefsPanel() {} void ApplyChanges(); @@ -106,6 +105,7 @@ private: vlc_bool_t b_advanced; + wxStaticText *hidden_text; wxBoxSizer *config_sizer; wxScrolledWindow *config_window; @@ -116,18 +116,22 @@ class ConfigTreeData : public wxTreeItemData { public: - ConfigTreeData() { b_submodule = 0; panel = NULL; psz_section = NULL; + ConfigTreeData() { b_submodule = 0; panel = NULL; psz_name = NULL; psz_help = NULL; } - virtual ~ConfigTreeData() { if( panel ) delete panel; - if( psz_section) free(psz_section); - if( psz_help) free(psz_help); } + virtual ~ConfigTreeData() { + if( panel ) delete panel; + if( psz_name ) free( psz_name ); + if( psz_help ) free( psz_help ); + }; vlc_bool_t b_submodule; PrefsPanel *panel; wxBoxSizer *sizer; + int i_object_id; - char *psz_section; + int i_type; + char *psz_name; char *psz_help; }; @@ -302,7 +306,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, wxTR_LINES_AT_ROOT | wxTR_HIDE_ROOT | wxTR_HAS_BUTTONS | wxTR_TWIST_BUTTONS | wxSUNKEN_BORDER ) { - vlc_list_t *p_list; + vlc_list_t *p_list = NULL;; module_t *p_module; module_config_t *p_item; int i_index; @@ -320,16 +324,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE ); if( !p_list ) return; - /* - * Build a tree of the main options - */ - ConfigTreeData *config_data = new ConfigTreeData; - config_data->i_object_id = GENERAL_ID; - config_data->psz_help = wraptext( GENERAL_HELP, 72 , ISUTF8 ); - config_data->psz_section = strdup( GENERAL_TITLE ); - general_item = AppendItem( root_item, wxU(_("General settings")), - -1, -1, config_data ); - + /* Build the categories list */ for( i_index = 0; i_index < p_list->i_count; i_index++ ) { p_module = (module_t *)p_list->p_values[i_index].p_object; @@ -338,6 +333,8 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, } if( i_index < p_list->i_count ) { + wxTreeItemId current_item; + char *psz_help; /* We found the main module */ /* Enumerate config categories and store a reference so we can @@ -346,46 +343,66 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, if( p_item ) do { + ConfigTreeData *config_data; switch( p_item->i_type ) { - case CONFIG_HINT_CATEGORY: - ConfigTreeData *config_data = new ConfigTreeData; - config_data->psz_section = strdup(p_item->psz_text); - if( p_item->psz_longtext ) + case CONFIG_CATEGORY: + config_data = new ConfigTreeData; + config_data->psz_name = strdup( config_CategoryNameGet( + p_item->i_value ) ); + psz_help = config_CategoryHelpGet( p_item->i_value ); + if( psz_help ) { - config_data->psz_help = - wraptext( p_item->psz_longtext, 72 , ISUTF8 ); + config_data->psz_help = wraptext( strdup( psz_help ), + 72 , ISUTF8 ); } else { config_data->psz_help = NULL; } - config_data->i_object_id = p_module->i_object_id; + config_data->i_type = TYPE_CATEGORY; + config_data->i_object_id = p_item->i_value; /* Add the category to the tree */ - AppendItem( general_item, wxU(p_item->psz_text), + current_item = AppendItem( root_item, + wxU( config_data->psz_name ), + -1, -1, config_data ); + break; + case CONFIG_SUBCATEGORY: + config_data = new ConfigTreeData; + config_data->psz_name = strdup( config_CategoryNameGet( + p_item->i_value ) ); + psz_help = config_CategoryHelpGet( p_item->i_value ); + if( psz_help ) + { + config_data->psz_help = wraptext( strdup( psz_help ) , + 72 , ISUTF8 ); + } + else + { + config_data->psz_help = NULL; + } + config_data->i_type = TYPE_SUBCATEGORY; + config_data->i_object_id = p_item->i_value; + AppendItem( current_item, wxU( config_data->psz_name ), -1, -1, config_data ); break; } } while( p_item->i_type != CONFIG_HINT_END && p_item++ ); - SortChildren( general_item ); } /* * Build a tree of all the plugins */ - config_data = new ConfigTreeData; - config_data->i_object_id = PLUGIN_ID; - config_data->psz_help = wraptext( PLUGIN_HELP, 72, ISUTF8 ); - config_data->psz_section = strdup( PLUGIN_TITLE ); - plugins_item = AppendItem( root_item, wxU(_("Modules")), - -1, -1,config_data ); - for( i_index = 0; i_index < p_list->i_count; i_index++ ) { + int i_category = -1; + int i_subcategory = -1; + int i_options = 0; + p_module = (module_t *)p_list->p_values[i_index].p_object; /* Exclude the main module */ @@ -395,66 +412,89 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, /* Exclude empty plugins (submodules don't have config options, they * are stored in the parent module) */ if( p_module->b_submodule ) - p_item = ((module_t *)p_module->p_parent)->p_config; + continue; +// p_item = ((module_t *)p_module->p_parent)->p_config; else p_item = p_module->p_config; if( !p_item ) continue; do { + if( p_item->i_type == CONFIG_CATEGORY ) + { + i_category = p_item->i_value; + } + else if( p_item->i_type == CONFIG_SUBCATEGORY ) + { + i_subcategory = p_item->i_value; + } if( p_item->i_type & CONFIG_ITEM ) + i_options ++; + if( i_options > 0 && i_category >= 0 && i_subcategory >= 0 ) + { break; + } } while( p_item->i_type != CONFIG_HINT_END && p_item++ ); - if( p_item->i_type == CONFIG_HINT_END ) continue; - /* Find the capability child item */ - long cookie; size_t i_child_index; - wxTreeItemId capability_item = GetFirstChild( plugins_item, cookie); - for( i_child_index = 0; - i_child_index < GetChildrenCount( plugins_item, FALSE ); - i_child_index++ ) + if( !i_options ) continue; + + /* Find the right category item */ + long cookie; + vlc_bool_t b_found = VLC_FALSE; + wxTreeItemId category_item = GetFirstChild( root_item , cookie); + while( category_item.IsOk() ) { - if( !GetItemText(capability_item).Cmp( - wxU(p_module->psz_capability ) ) ) + ConfigTreeData *config_data = + (ConfigTreeData *)GetItemData( category_item ); + if( config_data->i_object_id == i_category ) { + b_found = VLC_TRUE; break; } - capability_item = GetNextChild( plugins_item, cookie ); + category_item = GetNextChild( root_item, cookie ); } - if( i_child_index == GetChildrenCount( plugins_item, FALSE ) && - p_module->psz_capability && *p_module->psz_capability ) + if( !b_found ) continue; + + /* Find subcategory item */ + b_found = VLC_FALSE; + cookie = -1; + wxTreeItemId subcategory_item = GetFirstChild( category_item, cookie ); + while( subcategory_item.IsOk() ) { - /* We didn't find it, add it */ - ConfigTreeData *config_data = new ConfigTreeData; - config_data->psz_section = - wraptext( GetCapabilityHelp( p_module->psz_capability , 1 ), - 72, ISUTF8 ); - config_data->psz_help = - wraptext( GetCapabilityHelp( p_module->psz_capability , 2 ), - 72, ISUTF8 ); - config_data->i_object_id = CAPABILITY_ID; - capability_item = AppendItem( plugins_item, - wxU(p_module->psz_capability), - -1,-1,config_data ); + ConfigTreeData *config_data = + (ConfigTreeData *)GetItemData( subcategory_item ); + if( config_data->i_object_id == i_subcategory ) + { + b_found = VLC_TRUE; + break; + } + subcategory_item = GetNextChild( category_item, cookie ); + } + if( !b_found ) + { + subcategory_item = category_item; } /* Add the plugin to the tree */ ConfigTreeData *config_data = new ConfigTreeData; config_data->b_submodule = p_module->b_submodule; + config_data->i_type = TYPE_MODULE; config_data->i_object_id = p_module->b_submodule ? ((module_t *)p_module->p_parent)->i_object_id : p_module->i_object_id; config_data->psz_help = NULL; - AppendItem( capability_item, wxU(p_module->psz_object_name), -1, -1, + + AppendItem( subcategory_item, wxU( p_module->psz_name ? + p_module->psz_name : p_module->psz_object_name) + , -1, -1, config_data ); } /* Sort all this mess */ long cookie; size_t i_child_index; - SortChildren( plugins_item ); - wxTreeItemId capability_item = GetFirstChild( plugins_item, cookie); + wxTreeItemId capability_item = GetFirstChild( root_item, cookie); for( i_child_index = 0; i_child_index < GetChildrenCount( plugins_item, FALSE ); i_child_index++ ) @@ -474,7 +514,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, SelectItem( GetFirstChild( root_item, cookie ) ); #endif - Expand( general_item ); + Expand( root_item ); } PrefsTreeCtrl::~PrefsTreeCtrl() @@ -483,51 +523,44 @@ PrefsTreeCtrl::~PrefsTreeCtrl() void PrefsTreeCtrl::ApplyChanges() { - long cookie, cookie2; + long cookie, cookie2, cookie3; ConfigTreeData *config_data; - /* Apply changes to the main module */ - wxTreeItemId item = GetFirstChild( general_item, cookie ); - for( size_t i_child_index = 0; - i_child_index < GetChildrenCount( general_item, FALSE ); - i_child_index++ ) + wxTreeItemId category = GetFirstChild( root_item, cookie ); + while( category.IsOk() ) { - config_data = (ConfigTreeData *)GetItemData( item ); - if( config_data && config_data->panel ) + wxTreeItemId subcategory = GetFirstChild( category, cookie2 ); + while( subcategory.IsOk() ) { - config_data->panel->ApplyChanges(); - } - - item = GetNextChild( general_item, cookie ); - } - - /* Apply changes to the plugins */ - item = GetFirstChild( plugins_item, cookie ); - for( size_t i_child_index = 0; - i_child_index < GetChildrenCount( plugins_item, FALSE ); - i_child_index++ ) - { - wxTreeItemId item2 = GetFirstChild( item, cookie2 ); - for( size_t i_child_index = 0; - i_child_index < GetChildrenCount( item, FALSE ); - i_child_index++ ) - { - config_data = (ConfigTreeData *)GetItemData( item2 ); + wxTreeItemId module = GetFirstChild( subcategory, cookie3 ); + while( module.IsOk() ) + { + config_data = (ConfigTreeData *)GetItemData( module ); + if( config_data && config_data->panel ) + { + config_data->panel->ApplyChanges(); + } + module = GetNextChild( subcategory, cookie3 ); + } + config_data = (ConfigTreeData *)GetItemData( subcategory ); if( config_data && config_data->panel ) { config_data->panel->ApplyChanges(); } - - item2 = GetNextChild( item, cookie2 ); + subcategory = GetNextChild( category, cookie2 ); } - - item = GetNextChild( plugins_item, cookie ); + config_data = (ConfigTreeData *)GetItemData( category ); + if( config_data && config_data->panel ) + { + config_data->panel->ApplyChanges(); + } + category = GetNextChild( root_item, cookie ); } } void PrefsTreeCtrl::CleanChanges() { - long cookie, cookie2; + long cookie, cookie2, cookie3; ConfigTreeData *config_data; config_data = !GetSelection() ? NULL : @@ -538,10 +571,45 @@ void PrefsTreeCtrl::CleanChanges() p_sizer->Remove( config_data->panel ); } + wxTreeItemId category = GetFirstChild( root_item, cookie ); + while( category.IsOk() ) + { + wxTreeItemId subcategory = GetFirstChild( category, cookie2 ); + while( subcategory.IsOk() ) + { + wxTreeItemId module = GetFirstChild( subcategory, cookie3 ); + while( module.IsOk() ) + { + config_data = (ConfigTreeData *)GetItemData( module ); + if( config_data && config_data->panel ) + { + delete config_data->panel; + config_data->panel = NULL; + } + module = GetNextChild( subcategory, cookie3 ); + } + config_data = (ConfigTreeData *)GetItemData( subcategory ); + if( config_data && config_data->panel ) + { + delete config_data->panel; + config_data->panel = NULL; + } + subcategory = GetNextChild( category, cookie2 ); + } + config_data = (ConfigTreeData *)GetItemData( category ); + if( config_data && config_data->panel ) + { + delete config_data->panel; + config_data->panel = NULL; + } + category = GetNextChild( root_item, cookie ); + } + +#if 0 /* Clean changes for the main module */ - wxTreeItemId item = GetFirstChild( general_item, cookie ); + wxTreeItemId item = GetFirstChild( root_item, cookie ); for( size_t i_child_index = 0; - i_child_index < GetChildrenCount( general_item, FALSE ); + i_child_index < GetChildrenCount( root_item, FALSE ); i_child_index++ ) { config_data = (ConfigTreeData *)GetItemData( item ); @@ -551,9 +619,8 @@ void PrefsTreeCtrl::CleanChanges() config_data->panel = NULL; } - item = GetNextChild( general_item, cookie ); + item = GetNextChild( root_item, cookie ); } - /* Clean changes for the plugins */ item = GetFirstChild( plugins_item, cookie ); for( size_t i_child_index = 0; @@ -578,7 +645,7 @@ void PrefsTreeCtrl::CleanChanges() item = GetNextChild( plugins_item, cookie ); } - +#endif if( GetSelection() ) { wxTreeEvent event; @@ -596,29 +663,28 @@ ConfigTreeData *PrefsTreeCtrl::FindModuleConfig( ConfigTreeData *config_data ) return config_data; } - long cookie, cookie2; + long cookie, cookie2, cookie3; ConfigTreeData *config_new; - wxTreeItemId item = GetFirstChild( plugins_item, cookie ); - for( size_t i_child_index = 0; - i_child_index < GetChildrenCount( plugins_item, FALSE ); - i_child_index++ ) + wxTreeItemId category = GetFirstChild( root_item, cookie ); + while( category.IsOk() ) { - wxTreeItemId item2 = GetFirstChild( item, cookie2 ); - for( size_t i_child_index = 0; - i_child_index < GetChildrenCount( item, FALSE ); - i_child_index++ ) + wxTreeItemId subcategory = GetFirstChild( category, cookie2 ); + while( subcategory.IsOk() ) { - config_new = (ConfigTreeData *)GetItemData( item2 ); - if( config_new && !config_new->b_submodule && - config_new->i_object_id == config_data->i_object_id ) + wxTreeItemId module = GetFirstChild( subcategory, cookie3 ); + while( module.IsOk() ) { - return config_new; + config_new = (ConfigTreeData *)GetItemData( module ); + if( config_new && !config_new->b_submodule && + config_new->i_object_id == config_data->i_object_id ) + { + return config_new; + } + module = GetNextChild( subcategory, cookie3 ); } - - item2 = GetNextChild( item, cookie2 ); + subcategory = GetNextChild( category, cookie2 ); } - - item = GetNextChild( plugins_item, cookie ); + category = GetNextChild( root_item, cookie ); } /* Found nothing */ @@ -648,9 +714,7 @@ void PrefsTreeCtrl::OnSelectTreeItem( wxTreeEvent& event ) /* The panel hasn't been created yet. Let's do it. */ config_data->panel = new PrefsPanel( p_parent, p_intf, p_prefs_dialog, - config_data->i_object_id, - config_data->psz_section, - config_data->psz_help ); + config_data ); config_data->panel->SwitchAdvanced( b_advanced ); } else @@ -688,10 +752,11 @@ void PrefsTreeCtrl::OnAdvanced( wxCommandEvent& event ) *****************************************************************************/ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, PrefsDialog *_p_prefs_dialog, - int i_object_id, char *psz_section, char *psz_help ) + ConfigTreeData *config_data ) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize ) { module_config_t *p_item; + vlc_list_t *p_list = NULL;; wxStaticText *label; wxStaticText *help; @@ -710,10 +775,9 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL ); - if( i_object_id == PLUGIN_ID || i_object_id == GENERAL_ID || - i_object_id == CAPABILITY_ID ) + if( config_data->i_type == TYPE_CATEGORY ) { - label = new wxStaticText( this, -1,wxU(_( psz_section ))); + label = new wxStaticText( this, -1,wxU(_( config_data->psz_name ))); wxFont heading_font = label->GetFont(); heading_font.SetPointSize( heading_font.GetPointSize() + 5 ); label->SetFont( heading_font ); @@ -721,7 +785,8 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, sizer->Add( new wxStaticLine( this, 0 ), 0, wxEXPAND | wxLEFT | wxRIGHT, 2 ); - help = new wxStaticText( this, -1, wxU(_( psz_help ) ) ); + hidden_text = NULL; + help = new wxStaticText( this, -1, wxU(_( config_data->psz_help ) ) ); sizer->Add( help ,0 ,wxEXPAND | wxALL, 5 ); config_sizer = NULL; config_window = NULL; @@ -729,7 +794,35 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, else { /* Get a pointer to the module */ - p_module = (module_t *)vlc_object_get( p_intf, i_object_id ); + if( config_data->i_type == TYPE_MODULE ) + { + p_module = (module_t *)vlc_object_get( p_intf, + config_data->i_object_id ); + } + else + { + /* List the plugins */ + int i_index; + vlc_bool_t b_found = VLC_FALSE; + p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE ); + if( !p_list ) return; + + for( i_index = 0; i_index < p_list->i_count; i_index++ ) + { + p_module = (module_t *)p_list->p_values[i_index].p_object; + if( !strcmp( p_module->psz_object_name, "main" ) ) + { + b_found = VLC_TRUE; + break; + } + } + if( !p_module && !b_found ) + { + msg_Warn( p_intf, "ohoh, unable to find main module"); + return; + } + } + if( p_module->i_object_type != VLC_OBJECT_MODULE ) { /* 0OOoo something went really bad */ @@ -745,21 +838,34 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, p_item = p_module->p_config; /* Find the category if it has been specified */ - if( psz_section && p_item->i_type == CONFIG_HINT_CATEGORY ) + if( config_data->i_type == TYPE_SUBCATEGORY ) { - while( !p_item->i_type == CONFIG_HINT_CATEGORY || - strcmp( psz_section, p_item->psz_text ) ) + do { + if( p_item->i_type == CONFIG_SUBCATEGORY && + p_item->i_value == config_data->i_object_id ) + { + break; + } if( p_item->i_type == CONFIG_HINT_END ) break; - p_item++; - } + } while( p_item++ ); } /* Add a head title to the panel */ + char *psz_head; + if( config_data->i_type == TYPE_SUBCATEGORY ) + { + psz_head = config_data->psz_name; + p_item++; + } + else + { + psz_head = p_module->psz_longname; + } + label = new wxStaticText( this, -1, - wxU(_(psz_section ? p_item->psz_text : - p_module->psz_longname ))); + wxU(_( psz_head ? psz_head : _("Unknown") ) ) ); wxFont heading_font = label->GetFont(); heading_font.SetPointSize( heading_font.GetPointSize() + 5 ); label->SetFont( heading_font ); @@ -777,8 +883,10 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, if( p_item ) do { /* If a category has been specified, check we finished the job */ - if( psz_section && p_item->i_type == CONFIG_HINT_CATEGORY && - strcmp( psz_section, p_item->psz_text ) ) + if( config_data->i_type == TYPE_SUBCATEGORY && + (p_item->i_type == CONFIG_CATEGORY || + p_item->i_type == CONFIG_SUBCATEGORY ) && + p_item->i_value != config_data->i_object_id ) break; ConfigControl *control = @@ -793,25 +901,40 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, config_sizer->Add( control, 0, wxEXPAND | wxALL, 2 ); } - while( p_item->i_type != CONFIG_HINT_END && p_item++ ); + while( !( p_item->i_type == CONFIG_HINT_END || + ( config_data->i_type == TYPE_SUBCATEGORY && + ( p_item->i_type == CONFIG_CATEGORY || + p_item->i_type == CONFIG_SUBCATEGORY ) ) ) && p_item++ ); + config_sizer->Layout(); config_window->SetSizer( config_sizer ); sizer->Add( config_window, 1, wxEXPAND | wxALL, 5 ); + hidden_text = new wxStaticText( this, -1, + wxU( _( "Some options are available but hidden. " \ + "Check \"Advanced options\" to see them." ) ) ); + sizer->Add( hidden_text ); /* And at last put a useful help string if available */ - if( psz_help && *psz_help ) + if( config_data->psz_help && *config_data->psz_help ) { sizer->Add( new wxStaticLine( this, 0 ), 0, wxEXPAND | wxLEFT | wxRIGHT, 2 ); - help = new wxStaticText( this, -1, wxU(_(psz_help)), + help = new wxStaticText( this, -1, wxU(_(config_data->psz_help)), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT, wxT("") ); sizer->Add( help ,0 ,wxEXPAND | wxALL, 5 ); } - vlc_object_release( p_module ); + if( config_data->i_type == TYPE_MODULE ) + { + vlc_object_release( p_module ); + } + else + { + vlc_list_release( p_list ); + } } sizer->Layout(); SetSizer( sizer ); @@ -832,6 +955,8 @@ void PrefsPanel::ApplyChanges() case CONFIG_ITEM_FILE: case CONFIG_ITEM_DIRECTORY: case CONFIG_ITEM_MODULE: + case CONFIG_ITEM_MODULE_LIST: + case CONFIG_ITEM_MODULE_LIST_CAT: config_PutPsz( p_intf, control->GetName().mb_str(), control->GetPszValue().mb_str() ); break; @@ -854,7 +979,12 @@ void PrefsPanel::ApplyChanges() void PrefsPanel::SwitchAdvanced( vlc_bool_t b_new_advanced ) { - if( b_advanced == b_new_advanced ) return; + bool hidden = false; + + if( b_advanced == b_new_advanced ) + { + goto hide; + } if( config_sizer && config_window ) { @@ -865,6 +995,7 @@ void PrefsPanel::SwitchAdvanced( vlc_bool_t b_new_advanced ) ConfigControl *control = config_array.Item(i); if( control->IsAdvanced() ) { + if( !b_advanced ) hidden = true; control->Show( b_advanced ); config_sizer->Show( control, b_advanced ); } @@ -874,5 +1005,16 @@ void PrefsPanel::SwitchAdvanced( vlc_bool_t b_new_advanced ) config_window->FitInside(); config_window->Refresh(); } +hide: + if( hidden && hidden_text ) + { + hidden_text->Show( true ); + config_sizer->Show( hidden_text, true ); + } + else if ( hidden_text ) + { + hidden_text->Show( false ); + config_sizer->Show( hidden_text, false ); + } return; } diff --git a/modules/gui/wxwindows/preferences_widgets.cpp b/modules/gui/wxwindows/preferences_widgets.cpp index acd6293ede..b087529dae 100644 --- a/modules/gui/wxwindows/preferences_widgets.cpp +++ b/modules/gui/wxwindows/preferences_widgets.cpp @@ -33,11 +33,13 @@ #include #include -#include +#include #include "wxwindows.h" #include "preferences_widgets.h" +#include + /***************************************************************************** * CreateConfigControl wrapper *****************************************************************************/ @@ -51,6 +53,9 @@ ConfigControl *CreateConfigControl( vlc_object_t *p_this, case CONFIG_ITEM_MODULE: p_control = new ModuleConfigControl( p_this, p_item, parent ); break; + case CONFIG_ITEM_MODULE_LIST_CAT: + p_control = new ModuleListCatConfigControl( p_this, p_item, parent ); + break; case CONFIG_ITEM_STRING: if( !p_item->i_list ) @@ -95,6 +100,10 @@ ConfigControl *CreateConfigControl( vlc_object_t *p_this, p_control = new BoolConfigControl( p_this, p_item, parent ); break; + case CONFIG_SECTION: + p_control = new SectionConfigControl( p_this, p_item, parent ); + break; + default: break; } @@ -259,7 +268,7 @@ ModuleConfigControl::ModuleConfigControl( vlc_object_t *p_this, p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE ); combo->Append( wxU(_("Default")), (void *)NULL ); combo->SetSelection( 0 ); - for( int i_index = 0; i_index < p_list->i_count; i_index++ ) + for( unsigned int i_index = 0; i_index < p_list->i_count; i_index++ ) { p_parser = (module_t *)p_list->p_values[i_index].p_object ; @@ -291,6 +300,103 @@ wxString ModuleConfigControl::GetPszValue() return wxU( (char *)combo->GetClientData( combo->GetSelection() )); } +/***************************************************************************** + * ModuleListCatonfigControl implementation + *****************************************************************************/ +BEGIN_EVENT_TABLE(ModuleListCatConfigControl, wxPanel) + EVT_CHECKBOX( wxID_HIGHEST , ModuleListCatConfigControl::OnUpdate ) +END_EVENT_TABLE() + + +ModuleListCatConfigControl::ModuleListCatConfigControl( vlc_object_t *p_this, + module_config_t *p_item, + wxWindow *parent ) + : ConfigControl( p_this, p_item, parent ) +{ + vlc_list_t *p_list; + module_t *p_parser; + + delete sizer; + sizer = new wxBoxSizer( wxVERTICAL ); + label = new wxStaticText(this, -1, wxU(p_item->psz_text)); + sizer->Add( label ); + + text = new wxTextCtrl( this, -1, wxU(p_item->psz_value), + wxDefaultPosition,wxSize( 300, 20 ) ); + + + /* build a list of available modules */ + p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE ); + for( unsigned int i_index = 0; i_index < p_list->i_count; i_index++ ) + { + p_parser = (module_t *)p_list->p_values[i_index].p_object ; + + if( !strcmp( p_parser->psz_object_name, "main" ) ) + continue; + + module_config_t *p_config = p_parser->p_config; + if( p_config ) do + { + /* Hack: required subcategory is stored in i_min */ + if( p_config->i_type == CONFIG_SUBCATEGORY && + p_config->i_value == p_item->i_min ) + { + moduleCheckBox *mc = new moduleCheckBox; + mc->checkbox = new wxCheckBox( this, wxID_HIGHEST, + wxU(p_parser->psz_longname)); + mc->psz_module = strdup( p_parser->psz_object_name ); + pp_checkboxes.push_back( mc ); + + if( p_item->psz_value && + strstr( p_item->psz_value, p_parser->psz_object_name ) ) + { + mc->checkbox->SetValue( true ); + } + sizer->Add( mc->checkbox ); + } + } while( p_config->i_type != CONFIG_HINT_END && p_config++ ); + } + vlc_list_release( p_list ); + + text->SetToolTip( wxU(p_item->psz_longtext) ); + sizer->Add(text, wxEXPAND ); + + sizer->Add (new wxStaticText( this, -1, wxU( vlc_wraptext( _("Select modules that you want. To get more advanced control, you can also modify the resulting chain by yourself") , 72, ISUTF8 ) ) ) ); + + sizer->Layout(); + this->SetSizerAndFit( sizer ); +} + +ModuleListCatConfigControl::~ModuleListCatConfigControl() +{ + ; +} + +wxString ModuleListCatConfigControl::GetPszValue() +{ + return wxU( text->GetValue().c_str() ) ; +} + +void ModuleListCatConfigControl::OnUpdate( wxCommandEvent &event ) +{ + wxString newtext = wxU(""); + for( int i = 0 ; i< pp_checkboxes.size() ; i++ ) + { + if( pp_checkboxes[i]->checkbox->IsChecked() ) + { + if( newtext.Len() == 0 ) + { + newtext = newtext + wxU( pp_checkboxes[i]->psz_module ); + } + else + { + newtext += wxU( "," ) + wxU(pp_checkboxes[i]->psz_module); + } + } + } + text->SetValue( newtext ); +} + /***************************************************************************** * StringConfigControl implementation *****************************************************************************/ @@ -750,3 +856,24 @@ int BoolConfigControl::GetIntValue() if( checkbox->IsChecked() ) return 1; else return 0; } + +/***************************************************************************** + * SectionConfigControl implementation + *****************************************************************************/ +SectionConfigControl::SectionConfigControl( vlc_object_t *p_this, + module_config_t *p_item, + wxWindow *parent ) + : ConfigControl( p_this, p_item, parent ) +{ + delete sizer; + sizer = new wxBoxSizer( wxVERTICAL ); + sizer->Add( new wxStaticText( this, -1, wxU( p_item->psz_text ) ) ); + sizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND, 5 ); + sizer->Layout(); + this->SetSizerAndFit( sizer ); +} + +SectionConfigControl::~SectionConfigControl() +{ + ; +} diff --git a/modules/gui/wxwindows/preferences_widgets.h b/modules/gui/wxwindows/preferences_widgets.h index 51669c61e7..88bd1ba7fb 100644 --- a/modules/gui/wxwindows/preferences_widgets.h +++ b/modules/gui/wxwindows/preferences_widgets.h @@ -21,6 +21,8 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *****************************************************************************/ +#include + class ConfigControl: public wxPanel { public: @@ -82,6 +84,28 @@ private: wxComboBox *combo; }; +struct moduleCheckBox { + wxCheckBox *checkbox; + char *psz_module; +}; + +class ModuleListCatConfigControl: public ConfigControl +{ +public: + ModuleListCatConfigControl( vlc_object_t *, module_config_t *, wxWindow * ); + ~ModuleListCatConfigControl(); + virtual wxString GetPszValue(); +private: + std::vector pp_checkboxes; + + void OnUpdate( wxCommandEvent& ); + + wxTextCtrl *text; + DECLARE_EVENT_TABLE() +}; + +; + class StringConfigControl: public ConfigControl { public: @@ -190,3 +214,10 @@ private: DECLARE_EVENT_TABLE() }; + +class SectionConfigControl: public ConfigControl +{ +public: + SectionConfigControl( vlc_object_t *, module_config_t *, wxWindow * ); + ~SectionConfigControl(); +}; diff --git a/modules/gui/wxwindows/wxwindows.cpp b/modules/gui/wxwindows/wxwindows.cpp index b7f2bdbfed..28156a21a1 100644 --- a/modules/gui/wxwindows/wxwindows.cpp +++ b/modules/gui/wxwindows/wxwindows.cpp @@ -97,6 +97,8 @@ vlc_module_begin(); int i_score = getenv( "DISPLAY" ) == NULL ? 15 : 150; #endif set_description( (char *) _("wxWindows interface module") ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); set_capability( "interface", i_score ); set_callbacks( Open, Close ); add_shortcut( "wxwindows" ); diff --git a/modules/misc/dummy/dummy.c b/modules/misc/dummy/dummy.c index acf9f286c2..4846422e75 100644 --- a/modules/misc/dummy/dummy.c +++ b/modules/misc/dummy/dummy.c @@ -57,9 +57,12 @@ vlc_module_begin(); set_description( _("Dummy interface function") ); set_capability( "interface", 0 ); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); add_shortcut( "vlc" ); set_callbacks( E_(OpenIntf), NULL ); #ifdef WIN32 + set_section( N_( "Dummy Interface" ), NULL ); add_category_hint( N_("Interface"), NULL, VLC_FALSE ); add_bool( "dummy-quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_FALSE ); #endif @@ -72,6 +75,7 @@ vlc_module_begin(); set_capability( "demux2", 0 ); set_callbacks( E_(OpenDemux), E_(CloseDemux) ); add_submodule(); + set_section( N_( "Dummy decoder" ), NULL ); set_description( _("Dummy decoder function") ); set_capability( "decoder", 0 ); set_callbacks( E_(OpenDecoder), E_(CloseDecoder) ); @@ -86,6 +90,7 @@ vlc_module_begin(); set_callbacks( E_(OpenAudio), NULL ); add_submodule(); set_description( _("Dummy video output function") ); + set_section( N_( "Dummy Video output" ), NULL ); set_capability( "video output", 1 ); set_callbacks( E_(OpenVideo), NULL ); add_category_hint( N_("Video"), NULL, VLC_FALSE ); diff --git a/modules/misc/freetype.c b/modules/misc/freetype.c index 6ab58a0653..bcb48a3c7d 100644 --- a/modules/misc/freetype.c +++ b/modules/misc/freetype.c @@ -91,6 +91,8 @@ static char *ppsz_sizes_text[] = { N_("Smaller"), N_("Small"), N_("Normal"), vlc_module_begin(); set_description( _("freetype2 font renderer") ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_TEXT ); add_file( "freetype-font", DEFAULT_FONT, NULL, FONT_TEXT, FONT_LONGTEXT, VLC_FALSE ); diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c index 8cec5f27f9..74c3f0374b 100644 --- a/modules/misc/gnutls.c +++ b/modules/misc/gnutls.c @@ -60,6 +60,8 @@ vlc_module_begin(); set_description( _("GnuTLS TLS encryption layer") ); set_capability( "tls", 1 ); set_callbacks( Open, Close ); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_MISC ); add_integer( "dh-bits", DH_BITS, NULL, DH_BITS_TEXT, DH_BITS_LONGTEXT, VLC_TRUE ); diff --git a/modules/misc/logger.c b/modules/misc/logger.c index 4563eea577..78e131f4f8 100644 --- a/modules/misc/logger.c +++ b/modules/misc/logger.c @@ -98,6 +98,8 @@ static char *mode_list_text[] = { N_("Text"), "HTML" }; #define LOGMODE_LONGTEXT N_("Specify the log format. Available choices are \"text\" (default) and \"html\".") vlc_module_begin(); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_MISC ); set_description( _("File logging interface") ); add_file( "logfile", NULL, NULL, N_("Log filename"), N_("Specify the log filename."), VLC_FALSE ); diff --git a/modules/misc/memcpy/memcpy.c b/modules/misc/memcpy/memcpy.c index c368728549..7daa9f43e7 100644 --- a/modules/misc/memcpy/memcpy.c +++ b/modules/misc/memcpy/memcpy.c @@ -2,7 +2,7 @@ * memcpy.c : classic memcpy module ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: memcpy.c,v 1.3 2003/03/30 18:14:38 gbazin Exp $ + * $Id$ * * Authors: Samuel Hocevar * @@ -77,6 +77,8 @@ static int Activate ( vlc_object_t *p_this ) * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_MISC ); #ifdef MODULE_NAME_IS_memcpy set_description( _("libc memcpy") ); add_shortcut( "c" ); diff --git a/modules/misc/memcpy/memcpyaltivec.c b/modules/misc/memcpy/memcpyaltivec.c index 0023a91aac..56280526f9 100644 --- a/modules/misc/memcpy/memcpyaltivec.c +++ b/modules/misc/memcpy/memcpyaltivec.c @@ -54,6 +54,8 @@ static int Activate ( vlc_object_t *p_this ) *****************************************************************************/ vlc_module_begin(); set_description( _("AltiVec memcpy") ); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_MISC ); add_requirement( ALTIVEC ); set_capability( "memcpy", 100 ); set_callbacks( Activate, NULL ); diff --git a/modules/misc/playlist/export.c b/modules/misc/playlist/export.c index b11b7c5677..406bb4caec 100644 --- a/modules/misc/playlist/export.c +++ b/modules/misc/playlist/export.c @@ -38,6 +38,8 @@ int Export_Old ( vlc_object_t *p_intf ); *****************************************************************************/ vlc_module_begin(); + set_category( CAT_PLAYLIST ); + set_subcategory( SUBCAT_PLAYLIST_EXPORT ); add_submodule(); set_description( _("M3U playlist exporter") ); add_shortcut( "export-m3u" ); diff --git a/modules/misc/rtsp.c b/modules/misc/rtsp.c index de6815de29..c3c5a87ba9 100644 --- a/modules/misc/rtsp.c +++ b/modules/misc/rtsp.c @@ -49,6 +49,8 @@ static void Close( vlc_object_t * ); vlc_module_begin(); set_description( _("RTSP VoD server") ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_VOD ); set_capability( "vod server", 1 ); set_callbacks( Open, Close ); add_shortcut( "rtsp" ); diff --git a/modules/misc/screensaver.c b/modules/misc/screensaver.c index 5ade800345..e261caf304 100644 --- a/modules/misc/screensaver.c +++ b/modules/misc/screensaver.c @@ -41,6 +41,8 @@ static void Run ( intf_thread_t *p_intf ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_CONTROL ); set_description( _("X Screensaver disabler") ); set_capability( "interface", 0 ); set_callbacks( Activate, NULL ); diff --git a/modules/misc/svg.c b/modules/misc/svg.c index 9f25f303b0..6f017dfbf5 100644 --- a/modules/misc/svg.c +++ b/modules/misc/svg.c @@ -61,6 +61,8 @@ static void FreeString( subpicture_t * ); #define TEMPLATE_LONGTEXT N_( "Location of a file holding a SVG template for automatic string conversion" ) vlc_module_begin(); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_TEXT ); set_capability( "text renderer", 100 ); add_shortcut( "svg" ); add_string( "svg-template-file", "", NULL, TEMPLATE_TEXT, TEMPLATE_LONGTEXT, VLC_TRUE ); diff --git a/modules/misc/xml/libxml.c b/modules/misc/xml/libxml.c index abdcdc21c1..13243c5b7d 100644 --- a/modules/misc/xml/libxml.c +++ b/modules/misc/xml/libxml.c @@ -36,6 +36,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_XML ); set_description( _("XML Parser (using libxml2)") ); set_capability( "xml", 10 ); set_callbacks( Open, Close ); diff --git a/modules/misc/xml/xtag.c b/modules/misc/xml/xtag.c index cf492cfafa..e7a8b7b5ae 100644 --- a/modules/misc/xml/xtag.c +++ b/modules/misc/xml/xtag.c @@ -83,6 +83,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_XML ); set_description( _("Simple XML Parser") ); set_capability( "xml", 5 ); set_callbacks( Open, Close ); diff --git a/modules/mux/asf.c b/modules/mux/asf.c index e8fbc822f6..52c3b7c7b4 100644 --- a/modules/mux/asf.c +++ b/modules/mux/asf.c @@ -62,6 +62,10 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("ASF muxer") ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); + set_name( "ASF" ); + set_capability( "sout mux", 5 ); add_shortcut( "asf" ); add_shortcut( "asfh" ); diff --git a/modules/mux/avi.c b/modules/mux/avi.c index 4265ce52a8..56cca29557 100644 --- a/modules/mux/avi.c +++ b/modules/mux/avi.c @@ -42,6 +42,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("AVI muxer") ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); set_capability( "sout mux", 5 ); add_shortcut( "avi" ); set_callbacks( Open, Close ); diff --git a/modules/mux/dummy.c b/modules/mux/dummy.c index c5b6cc4fdd..c99eeefc08 100644 --- a/modules/mux/dummy.c +++ b/modules/mux/dummy.c @@ -40,6 +40,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("Dummy/Raw muxer") ); set_capability( "sout mux", 5 ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); add_shortcut( "dummy" ); add_shortcut( "raw" ); add_shortcut( "es" ); diff --git a/modules/mux/mp4.c b/modules/mux/mp4.c index 4a615bb652..fe621f7076 100644 --- a/modules/mux/mp4.c +++ b/modules/mux/mp4.c @@ -54,6 +54,9 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("MP4/MOV muxer") ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); + set_name( "MP4" ); add_bool( SOUT_CFG_PREFIX "faststart", 1, NULL, FASTSTART_TEXT, FASTSTART_LONGTEXT, VLC_TRUE ); diff --git a/modules/mux/mpeg/ps.c b/modules/mux/mpeg/ps.c index f337f99c8e..6d14a84983 100644 --- a/modules/mux/mpeg/ps.c +++ b/modules/mux/mpeg/ps.c @@ -53,6 +53,9 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("PS muxer") ); + set_name( "MPEG-PS" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); set_capability( "sout mux", 50 ); add_shortcut( "ps" ); add_shortcut( "mpeg1" ); diff --git a/modules/mux/mpeg/ts.c b/modules/mux/mpeg/ts.c index 7b7031c29b..e7e28b4ebd 100644 --- a/modules/mux/mpeg/ts.c +++ b/modules/mux/mpeg/ts.c @@ -127,6 +127,9 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("TS muxer (libdvbpsi)") ); + set_name( "MPEG-TS"); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); set_capability( "sout mux", 120 ); add_shortcut( "ts" ); diff --git a/modules/mux/mpjpeg.c b/modules/mux/mpjpeg.c index f22dbac743..eaab175d07 100644 --- a/modules/mux/mpjpeg.c +++ b/modules/mux/mpjpeg.c @@ -40,6 +40,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("Multipart jpeg muxer") ); set_capability( "sout mux", 5 ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); set_callbacks( Open, Close ); add_shortcut( "mpjpeg" ); vlc_module_end(); diff --git a/modules/mux/ogg.c b/modules/mux/ogg.c index 5db148708d..6f689e2f61 100644 --- a/modules/mux/ogg.c +++ b/modules/mux/ogg.c @@ -49,6 +49,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("Ogg/ogm muxer") ); set_capability( "sout mux", 10 ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); add_shortcut( "ogg" ); add_shortcut( "ogm" ); set_callbacks( Open, Close ); diff --git a/modules/mux/wav.c b/modules/mux/wav.c index e751d51b95..1076eca105 100644 --- a/modules/mux/wav.c +++ b/modules/mux/wav.c @@ -41,6 +41,8 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("WAV muxer") ); set_capability( "sout mux", 5 ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_MUX ); set_callbacks( Open, Close ); add_shortcut( "wav" ); vlc_module_end(); diff --git a/modules/packetizer/copy.c b/modules/packetizer/copy.c index 6fbe948404..c208dfca9b 100644 --- a/modules/packetizer/copy.c +++ b/modules/packetizer/copy.c @@ -38,6 +38,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_PACKETIZER ); set_description( _("Copy packetizer") ); set_capability( "packetizer", 1 ); set_callbacks( Open, Close ); diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c index dd51eb8f4e..e0855b47d4 100644 --- a/modules/packetizer/h264.c +++ b/modules/packetizer/h264.c @@ -42,6 +42,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_PACKETIZER ); set_description( _("H264 video packetizer") ); set_capability( "packetizer", 50 ); set_callbacks( Open, Close ); diff --git a/modules/packetizer/mpeg4audio.c b/modules/packetizer/mpeg4audio.c index ee5eeb769d..8f5c9b711e 100644 --- a/modules/packetizer/mpeg4audio.c +++ b/modules/packetizer/mpeg4audio.c @@ -2,7 +2,7 @@ * mpeg4audio.c: parse and packetize an MPEG 4 audio stream ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: mpeg4audio.c,v 1.17 2004/02/25 18:43:24 gbazin Exp $ + * $Id$ * * Authors: Laurent Aimar * Gildas Bazin @@ -113,6 +113,8 @@ static int ADTSSyncInfo( decoder_t *, const byte_t * p_buf, * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_PACKETIZER ); set_description( _("MPEG4 audio packetizer") ); set_capability( "packetizer", 50 ); set_callbacks( OpenPacketizer, ClosePacketizer ); diff --git a/modules/packetizer/mpeg4video.c b/modules/packetizer/mpeg4video.c index 809a9b7271..3488aafbda 100644 --- a/modules/packetizer/mpeg4video.c +++ b/modules/packetizer/mpeg4video.c @@ -41,6 +41,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_PACKETIZER ); set_description( _("MPEG4 video packetizer") ); set_capability( "packetizer", 50 ); set_callbacks( Open, Close ); diff --git a/modules/packetizer/mpegvideo.c b/modules/packetizer/mpegvideo.c index 1ceecd5876..6e26d00ad3 100644 --- a/modules/packetizer/mpegvideo.c +++ b/modules/packetizer/mpegvideo.c @@ -55,6 +55,8 @@ static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_PACKETIZER ); set_description( _("MPEG-I/II video packetizer") ); set_capability( "packetizer", 50 ); set_callbacks( Open, Close ); diff --git a/modules/services_discovery/hal.c b/modules/services_discovery/hal.c index 9ee9e9aa65..3f595b0e28 100644 --- a/modules/services_discovery/hal.c +++ b/modules/services_discovery/hal.c @@ -61,6 +61,8 @@ vlc_module_begin(); set_description( _("HAL device detection") ); + set_category( CAT_PLAYLIST ); + set_subcategory( SUBCAT_PLAYLIST_SD ); set_capability( "services_discovery", 0 ); set_callbacks( Open, Close ); diff --git a/modules/services_discovery/sap.c b/modules/services_discovery/sap.c index fb1fce3a72..d00e1c1dee 100644 --- a/modules/services_discovery/sap.c +++ b/modules/services_discovery/sap.c @@ -103,6 +103,8 @@ vlc_module_begin(); set_description( _("SAP interface") ); + set_category( CAT_PLAYLIST ); + set_subcategory( SUBCAT_PLAYLIST_SD ); add_string( "sap-addr", NULL, NULL, SAP_ADDR_TEXT, SAP_ADDR_LONGTEXT, VLC_TRUE ); diff --git a/modules/stream_out/display.c b/modules/stream_out/display.c index b402df09e7..cbb7947da3 100644 --- a/modules/stream_out/display.c +++ b/modules/stream_out/display.c @@ -50,6 +50,8 @@ vlc_module_begin(); set_description( _("Display stream output") ); set_capability( "sout stream", 50 ); add_shortcut( "display" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); add_bool( SOUT_CFG_PREFIX "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, VLC_TRUE ); add_bool( SOUT_CFG_PREFIX "video", 1, NULL, VIDEO_TEXT, diff --git a/modules/stream_out/duplicate.c b/modules/stream_out/duplicate.c index b694c5f06a..7966792650 100644 --- a/modules/stream_out/duplicate.c +++ b/modules/stream_out/duplicate.c @@ -41,6 +41,8 @@ vlc_module_begin(); set_capability( "sout stream", 50 ); add_shortcut( "duplicate" ); add_shortcut( "dup" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/stream_out/es.c b/modules/stream_out/es.c index 2383352a48..86a4088824 100644 --- a/modules/stream_out/es.c +++ b/modules/stream_out/es.c @@ -78,6 +78,8 @@ vlc_module_begin(); set_description( _("Elementary stream output") ); set_capability( "sout stream", 50 ); add_shortcut( "es" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); add_string( SOUT_CFG_PREFIX "access", "", NULL, ACCESS_TEXT, ACCESS_LONGTEXT, VLC_TRUE ); diff --git a/modules/stream_out/gather.c b/modules/stream_out/gather.c index 7985f71ab0..debc9cd392 100644 --- a/modules/stream_out/gather.c +++ b/modules/stream_out/gather.c @@ -40,6 +40,8 @@ vlc_module_begin(); set_description( _("Gathering stream output") ); set_capability( "sout stream", 50 ); add_shortcut( "gather" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); set_callbacks( Open, Close ); vlc_module_end(); diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c index e03ea10f8e..d60086ef65 100644 --- a/modules/stream_out/rtp.c +++ b/modules/stream_out/rtp.c @@ -87,6 +87,8 @@ vlc_module_begin(); set_description( _("RTP stream output") ); set_capability( "sout stream", 0 ); add_shortcut( "rtp" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); add_string( SOUT_CFG_PREFIX "dst", "", NULL, DST_TEXT, DST_LONGTEXT, VLC_TRUE ); diff --git a/modules/stream_out/standard.c b/modules/stream_out/standard.c index f8a8711641..08a4ee8556 100644 --- a/modules/stream_out/standard.c +++ b/modules/stream_out/standard.c @@ -79,6 +79,8 @@ vlc_module_begin(); set_capability( "sout stream", 50 ); add_shortcut( "standard" ); add_shortcut( "std" ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); add_string( SOUT_CFG_PREFIX "access", "", NULL, ACCESS_TEXT, ACCESS_LONGTEXT, VLC_FALSE ); diff --git a/modules/stream_out/transcode.c b/modules/stream_out/transcode.c index dc8b09bf4f..0e24bba283 100644 --- a/modules/stream_out/transcode.c +++ b/modules/stream_out/transcode.c @@ -134,6 +134,8 @@ vlc_module_begin(); set_capability( "sout stream", 50 ); add_shortcut( "transcode" ); set_callbacks( Open, Close ); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); add_string( SOUT_CFG_PREFIX "venc", NULL, NULL, VENC_TEXT, VENC_LONGTEXT, VLC_FALSE ); diff --git a/modules/stream_out/transrate/transrate.c b/modules/stream_out/transrate/transrate.c index 691722b7f0..513d3b5f7a 100644 --- a/modules/stream_out/transrate/transrate.c +++ b/modules/stream_out/transrate/transrate.c @@ -53,6 +53,8 @@ static int transrate_video_process( sout_stream_t *, sout_stream_id_t *, block_ * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_STREAM ); set_description( _("MPEG2 video transrating stream output") ); set_capability( "sout stream", 50 ); add_shortcut( "transrate" ); diff --git a/modules/video_filter/adjust.c b/modules/video_filter/adjust.c index 5b4909cce5..7136f2805b 100644 --- a/modules/video_filter/adjust.c +++ b/modules/video_filter/adjust.c @@ -71,6 +71,8 @@ static int SendEvents( vlc_object_t *, char const *, vlc_module_begin(); set_description( _("Image properties filter") ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); set_capability( "video filter", 0 ); add_float_with_range( "contrast", 1.0, 0.0, 2.0, NULL, CONT_TEXT, CONT_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/blend.c b/modules/video_filter/blend.c index bbf50dd782..00517c8cea 100644 --- a/modules/video_filter/blend.c +++ b/modules/video_filter/blend.c @@ -65,6 +65,8 @@ static void BlendPalRV( filter_t *, picture_t *, picture_t *, picture_t *, *****************************************************************************/ vlc_module_begin(); set_description( _("Video pictures blending") ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); set_capability( "video blending", 100 ); set_callbacks( OpenFilter, CloseFilter ); vlc_module_end(); diff --git a/modules/video_filter/clone.c b/modules/video_filter/clone.c index f3e4a4232c..5d0b300468 100644 --- a/modules/video_filter/clone.c +++ b/modules/video_filter/clone.c @@ -62,7 +62,9 @@ static int SendEvents( vlc_object_t *, char const *, vlc_module_begin(); set_description( _("Clone video filter") ); set_capability( "video filter", 0 ); - + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); + add_integer( "clone-count", 2, NULL, COUNT_TEXT, COUNT_LONGTEXT, VLC_FALSE ); add_string ( "clone-vout-list", NULL, NULL, VOUTLIST_TEXT, VOUTLIST_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/crop.c b/modules/video_filter/crop.c index 83b0094588..9c6b475d29 100644 --- a/modules/video_filter/crop.c +++ b/modules/video_filter/crop.c @@ -59,6 +59,8 @@ static int SendEvents( vlc_object_t *, char const *, vlc_module_begin(); set_description( _("Crop video filter") ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); set_capability( "video filter", 0 ); add_string( "crop-geometry", NULL, NULL, GEOMETRY_TEXT, GEOMETRY_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/deinterlace.c b/modules/video_filter/deinterlace.c index 47d3234f00..397c335071 100644 --- a/modules/video_filter/deinterlace.c +++ b/modules/video_filter/deinterlace.c @@ -98,6 +98,8 @@ static char *mode_list_text[] = { N_("Discard"), N_("Blend"), N_("Mean"), vlc_module_begin(); set_description( _("Deinterlacing video filter") ); set_capability( "video filter", 0 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); add_string( "deinterlace-mode", "discard", NULL, MODE_TEXT, MODE_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/distort.c b/modules/video_filter/distort.c index 10a5702821..72bf5b2133 100644 --- a/modules/video_filter/distort.c +++ b/modules/video_filter/distort.c @@ -65,6 +65,8 @@ static char *mode_list_text[] = { N_("Wave"), N_("Ripple") }; vlc_module_begin(); set_description( _("Distort video filter") ); set_capability( "video filter", 0 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); add_string( "distort-mode", "wave", NULL, MODE_TEXT, MODE_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/invert.c b/modules/video_filter/invert.c index 5c10f778db..6ae0c0e880 100644 --- a/modules/video_filter/invert.c +++ b/modules/video_filter/invert.c @@ -50,6 +50,8 @@ static int SendEvents( vlc_object_t *, char const *, *****************************************************************************/ vlc_module_begin(); set_description( _("Invert video filter") ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); set_capability( "video filter", 0 ); add_shortcut( "invert" ); set_callbacks( Create, Destroy ); diff --git a/modules/video_filter/logo.c b/modules/video_filter/logo.c index 8a1988e624..4d9149954c 100644 --- a/modules/video_filter/logo.c +++ b/modules/video_filter/logo.c @@ -84,6 +84,8 @@ static char *ppsz_pos_descriptions[] = vlc_module_begin(); set_description( _("Logo video filter") ); set_capability( "video filter", 0 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); add_shortcut( "logo" ); set_callbacks( Create, Destroy ); diff --git a/modules/video_filter/marq.c b/modules/video_filter/marq.c index 02cb1d33fa..6620e61684 100755 --- a/modules/video_filter/marq.c +++ b/modules/video_filter/marq.c @@ -78,6 +78,8 @@ struct filter_sys_t vlc_module_begin(); set_capability( "sub filter", 0 ); set_callbacks( CreateFilter, DestroyFilter ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_SUBPIC ); add_string( "marq-marquee", "Marquee", NULL, MSG_TEXT, MSG_LONGTEXT, VLC_FALSE ); add_integer( "marq-x", 0, NULL, POSX_TEXT, POSX_LONGTEXT, VLC_FALSE ); add_integer( "marq-y", 0, NULL, POSY_TEXT, POSY_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/scale.c b/modules/video_filter/scale.c index d4606c1cbb..75b473a069 100644 --- a/modules/video_filter/scale.c +++ b/modules/video_filter/scale.c @@ -52,6 +52,8 @@ static picture_t *Filter( filter_t *, picture_t * ); vlc_module_begin(); set_description( _("Video scaling filter") ); set_capability( "video filter2", 10000 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); set_callbacks( OpenFilter, CloseFilter ); vlc_module_end(); diff --git a/modules/video_filter/time.c b/modules/video_filter/time.c index 3932935ff3..dbb28d1e47 100644 --- a/modules/video_filter/time.c +++ b/modules/video_filter/time.c @@ -64,6 +64,8 @@ struct filter_sys_t *****************************************************************************/ vlc_module_begin(); set_capability( "sub filter", 0 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_SUBPIC ); set_callbacks( CreateFilter, DestroyFilter ); add_string( "time-format", "%Y-%m-%d %H:%M:%S", NULL, MSG_TEXT, MSG_LONGTEXT, VLC_FALSE ); add_integer( "time-x", 0, NULL, POSX_TEXT, POSX_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_filter/transform.c b/modules/video_filter/transform.c index 0e1ec782e0..aba527b1e5 100644 --- a/modules/video_filter/transform.c +++ b/modules/video_filter/transform.c @@ -65,6 +65,8 @@ static char *type_list_text[] = { N_("Rotate by 90 degrees"), vlc_module_begin(); set_description( _("Video transformation filter") ); set_capability( "video filter", 0 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); add_string( "transform-type", "90", NULL, TYPE_TEXT, TYPE_LONGTEXT, VLC_FALSE); diff --git a/modules/video_filter/wall.c b/modules/video_filter/wall.c index 28ec64ecbd..9f54a70b8d 100644 --- a/modules/video_filter/wall.c +++ b/modules/video_filter/wall.c @@ -65,6 +65,8 @@ static int SendEvents( vlc_object_t *, char const *, vlc_module_begin(); set_description( _("wall video filter") ); set_capability( "video filter", 0 ); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VFILTER ); add_integer( "wall-cols", 3, NULL, COLS_TEXT, COLS_LONGTEXT, VLC_FALSE ); add_integer( "wall-rows", 3, NULL, ROWS_TEXT, ROWS_LONGTEXT, VLC_FALSE ); diff --git a/modules/video_output/aa.c b/modules/video_output/aa.c index 9db0342dd4..8a6f9f37e6 100644 --- a/modules/video_output/aa.c +++ b/modules/video_output/aa.c @@ -52,6 +52,8 @@ static void SetPalette ( vout_thread_t *, uint16_t *, uint16_t *, uint16_t * * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VOUT ); set_description( _("ASCII-art video output") ); set_capability( "video output", 10 ); add_shortcut( "aalib" ); diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c index 6b8d8773e6..db68c29f9a 100644 --- a/modules/video_output/caca.c +++ b/modules/video_output/caca.c @@ -51,6 +51,8 @@ static void Display ( vout_thread_t *, picture_t * ); * Module descriptor *****************************************************************************/ vlc_module_begin(); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_VOUT ); set_description( _("color ASCII art video output") ); set_capability( "video output", 12 ); set_callbacks( Create, Destroy ); diff --git a/modules/visualization/galaktos/plugin.c b/modules/visualization/galaktos/plugin.c index b591da468a..3e2b7791a6 100644 --- a/modules/visualization/galaktos/plugin.c +++ b/modules/visualization/galaktos/plugin.c @@ -46,7 +46,7 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("GaLaktos visualization plugin") ); - set_capability( "audio filter", 0 ); + set_capability( "visualization", 0 ); set_callbacks( Open, Close ); add_shortcut( "galaktos" ); vlc_module_end(); diff --git a/modules/visualization/goom.c b/modules/visualization/goom.c index 80c1bbb426..88b3c8600b 100644 --- a/modules/visualization/goom.c +++ b/modules/visualization/goom.c @@ -68,7 +68,9 @@ static void Close ( vlc_object_t * ); vlc_module_begin(); set_description( _("Goom effect") ); - set_capability( "audio filter", 0 ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_VISUAL ); + set_capability( "visualization", 0 ); add_integer( "goom-width", 320, NULL, WIDTH_TEXT, RES_LONGTEXT, VLC_FALSE ); add_integer( "goom-height", 240, NULL, diff --git a/modules/visualization/visual/visual.c b/modules/visualization/visual/visual.c index a0570bd976..a68b139033 100644 --- a/modules/visualization/visual/visual.c +++ b/modules/visualization/visual/visual.c @@ -72,13 +72,17 @@ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); - set_description( _("visualizer filter") ); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_VISUAL ); + set_description( _("Visualizer filter") ); + set_section( N_( "General") , NULL ); add_string("effect-list", "spectrum", NULL, ELIST_TEXT, ELIST_LONGTEXT, VLC_TRUE ); add_integer("effect-width",VOUT_WIDTH,NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_FALSE ); add_integer("effect-height" , VOUT_HEIGHT , NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_FALSE ); + set_section( N_("Spectrum analyser") , NULL ); add_integer("visual-nbbands", 80, NULL, NBBANDS_TEXT, NBBANDS_LONGTEXT, VLC_FALSE ); add_integer("visual-separ", 1, NULL, @@ -87,9 +91,10 @@ vlc_module_begin(); AMP_TEXT, AMP_LONGTEXT, VLC_FALSE ); add_bool("visual-peaks", VLC_TRUE, NULL, PEAKS_TEXT, PEAKS_LONGTEXT, VLC_FALSE ); + set_section( N_( "Random effect") , NULL ); add_integer("visual-stars", 200, NULL, STARS_TEXT, STARS_LONGTEXT, VLC_FALSE ); - set_capability( "audio filter", 0 ); + set_capability( "visualization", 0 ); set_callbacks( Open, Close ); add_shortcut( "visualizer"); vlc_module_end(); diff --git a/src/audio_output/input.c b/src/audio_output/input.c index f6a48def42..59c653cc00 100644 --- a/src/audio_output/input.c +++ b/src/audio_output/input.c @@ -53,7 +53,7 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input ) audio_sample_format_t user_filter_format; audio_sample_format_t intermediate_format;/* input of resampler */ vlc_value_t val, text; - char * psz_filters; + char * psz_filters, *psz_visual; aout_filter_t * p_user_channel_mixer; aout_FormatPrint( p_aout, "input", &p_input->input ); @@ -141,29 +141,29 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input ) if( var_Type( p_aout, "equalizer" ) == 0 ) { module_config_t *p_config; - int i; - - p_config = config_FindConfig( VLC_OBJECT(p_aout), "equalizer-preset" ); - if( p_config && p_config->i_list ) - { - var_Create( p_aout, "equalizer", - VLC_VAR_STRING | VLC_VAR_HASCHOICE ); - text.psz_string = _("Equalizer"); - var_Change( p_aout, "equalizer", VLC_VAR_SETTEXT, &text, NULL ); - - val.psz_string = ""; text.psz_string = _("Disable"); - var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, &val, &text ); - - for( i = 0; i < p_config->i_list; i++ ) - { - val.psz_string = p_config->ppsz_list[i]; - text.psz_string = p_config->ppsz_list_text[i]; - var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, - &val, &text ); - } - - var_AddCallback( p_aout, "equalizer", EqualizerCallback, NULL ); - } + int i; + + p_config = config_FindConfig( VLC_OBJECT(p_aout), "equalizer-preset" ); + if( p_config && p_config->i_list ) + { + var_Create( p_aout, "equalizer", + VLC_VAR_STRING | VLC_VAR_HASCHOICE ); + text.psz_string = _("Equalizer"); + var_Change( p_aout, "equalizer", VLC_VAR_SETTEXT, &text, NULL ); + + val.psz_string = ""; text.psz_string = _("Disable"); + var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, &val, &text ); + + for( i = 0; i < p_config->i_list; i++ ) + { + val.psz_string = p_config->ppsz_list[i]; + text.psz_string = p_config->ppsz_list_text[i]; + var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, + &val, &text ); + } + + var_AddCallback( p_aout, "equalizer", EqualizerCallback, NULL ); + } } if( var_Type( p_aout, "audio-filter" ) == 0 ) @@ -173,14 +173,35 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input ) text.psz_string = _("Audio filters"); var_Change( p_aout, "audio-filter", VLC_VAR_SETTEXT, &text, NULL ); } + if( var_Type( p_aout, "audio-visual" ) == 0 ) + { + var_Create( p_aout, "audio-visual", + VLC_VAR_STRING | VLC_VAR_DOINHERIT ); + text.psz_string = _("Audio visualizations"); + var_Change( p_aout, "audio-visual", VLC_VAR_SETTEXT, &text, NULL ); + } var_Get( p_aout, "audio-filter", &val ); psz_filters = val.psz_string; + var_Get( p_aout, "audio-visual", &val ); + psz_visual = val.psz_string; + + if( psz_filters && *psz_filters && psz_visual && *psz_visual ) + { + psz_filters = (char *)realloc( psz_filters, strlen( psz_filters ) + + strlen( psz_visual ) + 1); + sprintf( psz_filters, "%s,%s", psz_filters, psz_visual ); + } + else if( psz_visual && *psz_visual ) + { + if( psz_filters ) free( psz_filters ); + psz_filters = strdup( psz_visual ); + } + if( psz_filters && *psz_filters ) { char *psz_parser = psz_filters; char *psz_next; - while( psz_parser && *psz_parser ) { aout_filter_t * p_filter; @@ -227,14 +248,19 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input ) if( p_filter->p_module== NULL ) { - msg_Err( p_aout, "cannot add user filter %s (skipped)", - psz_parser ); - - vlc_object_detach( p_filter ); - vlc_object_destroy( p_filter ); - psz_parser = psz_next; - continue; - + p_filter->p_module = + module_Need( p_filter,"visualization", psz_parser, + VLC_TRUE ); + if( p_filter->p_module == NULL ) + { + msg_Err( p_aout, "cannot add user filter %s (skipped)", + psz_parser ); + + vlc_object_detach( p_filter ); + vlc_object_destroy( p_filter ); + psz_parser = psz_next; + continue; + } } p_filter->b_continuity = VLC_FALSE; @@ -245,6 +271,7 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input ) } } if( psz_filters ) free( psz_filters ); + if( psz_visual ) free( psz_visual ); /* Attach the user channel mixer */ if ( p_user_channel_mixer ) diff --git a/src/libvlc.c b/src/libvlc.c index 551f40a220..c28ed67502 100644 --- a/src/libvlc.c +++ b/src/libvlc.c @@ -245,6 +245,7 @@ int VLC_Init( int i_object, int i_argc, char *ppsz_argv[] ) char * p_tmp; char * psz_modules; char * psz_parser; + char * psz_control; char * psz_language; vlc_bool_t b_exit = VLC_FALSE; vlc_t * p_vlc = vlc_current_object( i_object ); @@ -657,6 +658,20 @@ int VLC_Init( int i_object, int i_argc, char *ppsz_argv[] ) * Load background interfaces */ psz_modules = config_GetPsz( p_vlc, "extraintf" ); + psz_control = config_GetPsz( p_vlc, "control" ); + + if( psz_modules && *psz_modules && psz_control && *psz_control ) + { + psz_modules = (char *)realloc( psz_modules, strlen( psz_modules ) + + strlen( psz_control ) + 1 ); + sprintf( psz_modules, "%s,%s", psz_modules, psz_control ); + } + else if( psz_control && *psz_control ) + { + if( psz_modules ) free( psz_modules ); + psz_modules = strdup( psz_control ); + } + psz_parser = psz_modules; while ( psz_parser && *psz_parser ) { diff --git a/src/libvlc.h b/src/libvlc.h index f5144f52ac..9c2cdc6a9d 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -61,6 +61,10 @@ static char *ppsz_language_text[] = "interface. Use a comma separated list of interface modules. (common " \ "values are logger, gestures, sap, rc, http or screensaver)") +#define CONTROL_TEXT N_("Control interfaces") +#define CONTROL_LONGTEXT N_( \ + "This option allows you to select control interfaces. " ) + #define VERBOSE_TEXT N_("Verbosity (0,1,2)") #define VERBOSE_LONGTEXT N_( \ "This options sets the verbosity level (0=only errors and " \ @@ -149,7 +153,12 @@ static char *ppsz_language_text[] = #define AUDIO_FILTER_TEXT N_("Audio filters") #define AUDIO_FILTER_LONGTEXT N_( \ "This allows you to add audio post processing filters, to modify " \ - "the sound, or audio visualization modules (spectrum analyzer, etc.).") + "the sound" ) + +#define AUDIO_VISUAL_TEXT N_("Audio visualizations ") +#define AUDIO_VISUAL_LONGTEXT N_( \ + "This allows you to add visualization modules " \ + "(spectrum analyzer, etc.).") #define AUDIO_CHANNEL_MIXER N_("Channel mixer") #define AUDIO_CHANNEL_MIXER_LONGTEXT N_( \ @@ -808,35 +817,14 @@ static char *ppsz_align_descriptions[] = * N_(text), N_(longtext) ); * add_integer( option_name, i_value, p_callback, N_(text), N_(longtext), b_advanced_option ); - * add_bool( option_name, b_value, p_callback, N_(text), N_(longtext), + * add_bool( option_name, b_value, p_callback, N_(text), N_(longtext), b_advanced_option ); */ vlc_module_begin(); - /* Interface options */ - add_category_hint( N_("Interface"), INTF_CAT_LONGTEXT , VLC_FALSE ); - add_module( "intf", "interface", NULL, NULL, INTF_TEXT, - INTF_LONGTEXT, VLC_FALSE ); - change_short('I'); - add_string( "extraintf", NULL, NULL, EXTRAINTF_TEXT, - EXTRAINTF_LONGTEXT, VLC_FALSE ); - add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT, - VLC_FALSE ); - change_short('v'); - add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_TRUE ); - change_short('q'); - add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT, - VLC_FALSE ); - change_string_list( ppsz_language, ppsz_language_text, 0 ); - add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE ); - add_bool( "advanced", 0, NULL, ADVANCED_TEXT, - ADVANCED_LONGTEXT, VLC_FALSE ); - /* Audio options */ - add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , VLC_FALSE ); - add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT, - VLC_TRUE ); - change_short('A'); + set_category( CAT_AUDIO ); + set_subcategory( SUBCAT_AUDIO_GENERAL ); add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, VLC_FALSE ); add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN, AOUT_VOLUME_MAX, NULL, VOLUME_TEXT, @@ -853,16 +841,24 @@ vlc_module_begin(); add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, VLC_FALSE ); add_integer( "audio-desync", 0, NULL, DESYNC_TEXT, DESYNC_LONGTEXT, VLC_TRUE ); - add_string( "audio-filter", 0, NULL,AUDIO_FILTER_TEXT, - AUDIO_FILTER_LONGTEXT, VLC_FALSE ); + set_subcategory( SUBCAT_AUDIO_AOUT ); + add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT, + VLC_TRUE ); + set_subcategory( SUBCAT_AUDIO_AFILTER ); + add_module_list_cat( "audio-filter", SUBCAT_AUDIO_AFILTER, 0, + NULL, AUDIO_FILTER_TEXT, + AUDIO_FILTER_LONGTEXT, VLC_FALSE ); + set_subcategory( SUBCAT_AUDIO_VISUAL ); + add_string( "audio-visual", 0, NULL,AUDIO_VISUAL_TEXT, + AUDIO_VISUAL_LONGTEXT, VLC_FALSE ); + set_subcategory( SUBCAT_AUDIO_MISC ); add_module( "audio-channel-mixer", "audio filter", NULL, NULL, AUDIO_CHANNEL_MIXER, AUDIO_CHANNEL_MIXER_LONGTEXT, VLC_FALSE ); + change_short('A'); /* Video options */ - add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , VLC_FALSE ); - add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT, - VLC_TRUE ); - change_short('V'); + set_category( CAT_VIDEO ); + set_subcategory( SUBCAT_VIDEO_GENERAL ); add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, VLC_TRUE ); add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE ); add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_TRUE ); @@ -886,19 +882,29 @@ vlc_module_begin(); add_bool( "video-on-top", 0, NULL, VIDEO_ON_TOP_TEXT, VIDEO_ON_TOP_LONGTEXT, VLC_FALSE ); - add_bool( "video-deco", 1, NULL, VIDEO_DECO_TEXT, - VIDEO_DECO_LONGTEXT, VLC_TRUE ); - add_module( "filter", "video filter", NULL, NULL, - FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE ); add_string( "aspect-ratio", "", NULL, ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, VLC_TRUE ); + + set_subcategory( SUBCAT_VIDEO_VOUT ); + add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT, + VLC_TRUE ); + change_short('V'); + + set_subcategory( SUBCAT_VIDEO_VFILTER ); + add_bool( "video-deco", 0, NULL, VIDEO_DECO_TEXT, + VIDEO_DECO_LONGTEXT, VLC_TRUE ); + add_module_list_cat( "filter", SUBCAT_VIDEO_VFILTER, NULL, NULL, + FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE ); #if 0 add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT ); #endif /* Subpictures options */ - add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , VLC_FALSE ); + set_subcategory( SUBCAT_VIDEO_SUBPIC ); + set_section( N_("On Screen Display") , NULL ); add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, VLC_FALSE ); + + set_section( N_("Subtitles") , NULL ); add_bool( "sub-autodetect-file", VLC_TRUE, NULL, SUB_AUTO_TEXT, SUB_AUTO_LONGTEXT, VLC_FALSE ); add_integer( "sub-autodetect-fuzzy", 3, NULL, @@ -914,11 +920,21 @@ vlc_module_begin(); SUB_FILE_LONGTEXT, VLC_TRUE ); add_integer( "spumargin", -1, NULL, SPUMARGIN_TEXT, SPUMARGIN_LONGTEXT, VLC_TRUE ); + + set_section( N_( "Overlays" ) , NULL ); add_module( "sub-filter", "sub filter", NULL, NULL, SUB_FILTER_TEXT, SUB_FILTER_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_VIDEO_TEXT ); + /* Input options */ - add_category_hint( N_("Input"), INPUT_CAT_LONGTEXT , VLC_FALSE ); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_ACCESS ); + set_subcategory( SUBCAT_INPUT_DEMUX ); + set_subcategory( SUBCAT_INPUT_VCODEC ); + set_subcategory( SUBCAT_INPUT_ACODEC ); + set_subcategory( SUBCAT_INPUT_SCODEC ); + set_subcategory( SUBCAT_INPUT_ADVANCED ); add_integer( "cr-average", 40, NULL, CR_AVERAGE_TEXT, CR_AVERAGE_LONGTEXT, VLC_FALSE ); add_integer( "server-port", 1234, NULL, @@ -947,6 +963,8 @@ vlc_module_begin(); add_string( "bookmarks", NULL, NULL, BOOKMARKS_TEXT, BOOKMARKS_LONGTEXT, VLC_TRUE ); + set_section( N_( "Default devices") , NULL ) + add_file( "dvd", DVD_DEVICE, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT, VLC_FALSE ); add_file( "vcd", VCD_DEVICE, NULL, VCD_DEV_TEXT, VCD_DEV_LONGTEXT, @@ -959,6 +977,7 @@ vlc_module_begin(); add_bool( "ipv4", 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, VLC_FALSE ); change_short('4'); + set_section( N_( "Socks proxy") , NULL ) add_string( "socks", NULL, NULL, SOCKS_SERVER_TEXT, SOCKS_SERVER_LONGTEXT, VLC_TRUE ); add_string( "socks-user", NULL, NULL, @@ -967,6 +986,7 @@ vlc_module_begin(); SOCKS_PASS_TEXT, SOCKS_PASS_LONGTEXT, VLC_TRUE ); + set_section( N_("Metadata" ) , NULL ) add_string( "meta-title", NULL, NULL, META_TITLE_TEXT, META_TITLE_LONGTEXT, VLC_TRUE ); add_string( "meta-author", NULL, NULL, META_AUTHOR_TEXT, @@ -993,7 +1013,10 @@ vlc_module_begin(); /* Stream output options */ + set_category( CAT_SOUT ); + set_subcategory( SUBCAT_SOUT_GENERAL ); add_category_hint( N_("Stream output"), SOUT_CAT_LONGTEXT , VLC_TRUE ); + add_string( "sout", NULL, NULL, SOUT_TEXT, SOUT_LONGTEXT, VLC_TRUE ); add_bool( "sout-display", VLC_FALSE, NULL, SOUT_DISPLAY_TEXT, SOUT_DISPLAY_LONGTEXT, VLC_TRUE ); @@ -1005,22 +1028,29 @@ vlc_module_begin(); SOUT_AUDIO_LONGTEXT, VLC_TRUE ); add_bool( "sout-video", 1, NULL, SOUT_VIDEO_TEXT, SOUT_VIDEO_LONGTEXT, VLC_TRUE ); + add_integer( "ttl", 1, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE ); - add_module( "packetizer", "packetizer", NULL, NULL, - PACKETIZER_TEXT, PACKETIZER_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_SOUT_STREAM ); + set_subcategory( SUBCAT_SOUT_MUX ); add_module( "mux", "sout mux", NULL, NULL, MUX_TEXT, MUX_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_SOUT_ACO ); add_module( "access_output", "sout access", NULL, NULL, ACCESS_OUTPUT_TEXT, ACCESS_OUTPUT_LONGTEXT, VLC_TRUE ); - add_integer( "ttl", 1, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_SOUT_PACKETIZER ); + add_module( "packetizer", "packetizer", NULL, NULL, + PACKETIZER_TEXT, PACKETIZER_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_SOUT_SAP ); add_bool( "sap-flow-control", VLC_FALSE, NULL, ANN_SAPCTRL_TEXT, ANN_SAPCTRL_LONGTEXT, VLC_TRUE ); add_integer( "sap-interval", 5, NULL, ANN_SAPINTV_TEXT, ANN_SAPINTV_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_SOUT_VOD ); /* CPU options */ - add_category_hint( N_("CPU"), CPU_CAT_LONGTEXT, VLC_TRUE ); + set_category( CAT_ADVANCED ); + set_subcategory( SUBCAT_ADVANCED_CPU ); #if defined( __i386__ ) add_bool( "mmx", 1, NULL, MMX_TEXT, MMX_LONGTEXT, VLC_TRUE ); add_bool( "3dn", 1, NULL, THREE_DN_TEXT, THREE_DN_LONGTEXT, VLC_TRUE ); @@ -1031,22 +1061,8 @@ vlc_module_begin(); #if defined( __powerpc__ ) || defined( SYS_DARWIN ) add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, VLC_TRUE ); #endif - - /* Playlist options */ - add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE ); - add_string( "services-discovery", 0, NULL, - SD_TEXT, SD_LONGTEXT, VLC_FALSE ); - change_short('S'); - add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE ); - change_short('Z'); - add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE ); - change_short('L'); - add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_TRUE ); - change_short('R'); - add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, VLC_TRUE ); - /* Misc options */ - add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_ADVANCED_MISC ); add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT, MEMCPY_LONGTEXT, VLC_TRUE ); add_module( "access", "access", NULL, NULL, ACCESS_TEXT, @@ -1088,7 +1104,56 @@ vlc_module_begin(); WIN9X_CV_LONGTEXT, VLC_TRUE ); #endif + /* Playlist options */ + set_category( CAT_PLAYLIST ); + set_subcategory( SUBCAT_PLAYLIST_GENERAL ); + add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE ); + add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE ); + change_short('Z'); + add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE ); + change_short('L'); + add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_TRUE ); + change_short('R'); + add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, VLC_TRUE ); + + set_subcategory( SUBCAT_PLAYLIST_SD ); + add_module_list_cat( "services-discovery", SUBCAT_PLAYLIST_SD, NULL, + NULL, SD_TEXT, SD_LONGTEXT, VLC_FALSE ); + change_short('S'); + + /* Interface options */ + set_category( CAT_INTERFACE ); + set_subcategory( SUBCAT_INTERFACE_GENERAL ); + + set_section ( N_("Interface module" ), NULL ); + add_module( "intf", "interface", NULL, NULL, INTF_TEXT, + INTF_LONGTEXT, VLC_FALSE ); + change_short('I'); + + set_section ( N_("Extra interface modules" ), NULL ); + add_module_list_cat( "extraintf", SUBCAT_INTERFACE_GENERAL, + NULL, NULL, EXTRAINTF_TEXT, + EXTRAINTF_LONGTEXT, VLC_FALSE ); + + set_section ( N_("Miscellaneous"), NULL ); + add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT, + VLC_FALSE ); + change_short('v'); + add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_TRUE ); + change_short('q'); + add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT, + VLC_FALSE ); + change_string_list( ppsz_language, ppsz_language_text, 0 ); + add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE ); + add_bool( "advanced", 0, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT, + VLC_FALSE ); + + set_subcategory( SUBCAT_INTERFACE_CONTROL ); + add_module_list_cat( "control", SUBCAT_INTERFACE_CONTROL, NULL, NULL, + CONTROL_TEXT, CONTROL_LONGTEXT, VLC_FALSE ); + /* Hotkey options*/ + set_subcategory( SUBCAT_INTERFACE_HOTKEYS ); add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , VLC_FALSE ); #if defined(SYS_DARWIN) diff --git a/src/misc/configuration.c b/src/misc/configuration.c index 7ecb49c30b..1d1f777106 100644 --- a/src/misc/configuration.c +++ b/src/misc/configuration.c @@ -203,6 +203,8 @@ char * __config_GetPsz( vlc_object_t *p_this, const char *psz_name ) if( (p_config->i_type!=CONFIG_ITEM_STRING) && (p_config->i_type!=CONFIG_ITEM_FILE) && (p_config->i_type!=CONFIG_ITEM_DIRECTORY) && + (p_config->i_type!=CONFIG_ITEM_MODULE_LIST) && + (p_config->i_type!=CONFIG_ITEM_MODULE_LIST_CAT) && (p_config->i_type!=CONFIG_ITEM_MODULE) ) { msg_Err( p_this, "option %s does not refer to a string", psz_name ); @@ -241,6 +243,8 @@ void __config_PutPsz( vlc_object_t *p_this, if( (p_config->i_type!=CONFIG_ITEM_STRING) && (p_config->i_type!=CONFIG_ITEM_FILE) && (p_config->i_type!=CONFIG_ITEM_DIRECTORY) && + (p_config->i_type!=CONFIG_ITEM_MODULE_LIST) && + (p_config->i_type!=CONFIG_ITEM_MODULE_LIST_CAT) && (p_config->i_type!=CONFIG_ITEM_MODULE) ) { msg_Err( p_this, "option %s does not refer to a string", psz_name ); diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index c76a222217..d7122d85a9 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -353,7 +353,7 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent, /* continue the parent's filter chain */ char *psz_end; - psz_end = strchr( ((vout_thread_t *)p_parent)->psz_filter_chain, ':' ); + psz_end = strchr( ((vout_thread_t *)p_parent)->psz_filter_chain, ',' ); if( psz_end && *(psz_end+1) ) p_vout->psz_filter_chain = strdup( psz_end+1 ); else p_vout->psz_filter_chain = NULL; @@ -372,7 +372,7 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent, * colons */ char *psz_end; - psz_end = strchr( p_vout->psz_filter_chain, ':' ); + psz_end = strchr( p_vout->psz_filter_chain, ',' ); if( psz_end ) psz_plugin = strndup( p_vout->psz_filter_chain, psz_end - p_vout->psz_filter_chain );