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 \
*****************************************************************************/
/* 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 */
#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 */
* 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, \
(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, \
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, \
* 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 */
/*
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; \
#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
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;
+++ /dev/null
-/*****************************************************************************
- * vlc_help.h: Help strings
- *****************************************************************************
- * Copyright (C) 2003 VideoLAN
- * $Id$
- *
- * Authors: Clément Stenac <zorglub@videolan.org>
- * Anil Daoud <anil@videolan.org>
- *
- * 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 */
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]]") );
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),
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" );
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 );
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 );
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,
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,
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 );
"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,
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 );
"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 );
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" );
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 );
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 );
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 );
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 );
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 );
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,
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),
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();
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,
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,
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 );
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 );
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();
* 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 <massiot@via.ecp.fr>
*
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();
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 );
* 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 <massiot@via.ecp.fr>
* Stéphane Borel <stef@via.ecp.fr>
* 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 );
"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 );
* 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 <jon-vl@nanocrew.net>
*
* 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 );
* 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 <jpsaman@wxs.nl>
*
* 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 );
* 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 <jpsaman@wxs.nl>
*
* 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 );
* 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 );
* 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 <zedek@fxgsproject.org>
*
* 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 );
* 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 <zedek@fxgsproject.org>
*
* 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 );
* 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 <zedek@fxgsproject.org>
*
* 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 );
* 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 );
* 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 <marcari@videolan.ord>
*
* 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 );
* 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 );
* 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 <sam@zoy.org>
* Henri Fallon <henri@videolan.org>
* 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 );
* 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 <gbazin@netcourrier.com>
*
* 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 );
* 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 <sam@zoy.org>
*
* 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 );
* 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 <gbazin@netcourrier.com>
*
* 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 );
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 );
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);
* 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 );
*****************************************************************************/
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();
*****************************************************************************/
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();
* 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 <massiot@via.ecp.fr>
*
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();
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();
* 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 <massiot@via.ecp.fr>
*
* 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 );
* 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 );
* 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 <massiot@via.ecp.fr>
*
* 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 );
*****************************************************************************/
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 );
* 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 <manu@agat.net>
* Samuel Hocevar <sam@zoy.org>
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();
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();
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();
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();
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();
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 );
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 );
* 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 <maxx@via.ecp.fr>
* Sam Hocevar <sam@zoy.org>
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();
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();
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") );
* 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 <fenrir@via.ecp.fr>
*
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();
/* 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 */
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();
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();
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();
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-"
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();
*****************************************************************************/
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))
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 );
/* 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) );
*****************************************************************************/
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 );
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();
* 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 <sam@zoy.org>
* Henri Fallon <henri@videolan.org>
*****************************************************************************/
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 );
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();
*****************************************************************************/
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
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 );
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 */
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();
* 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 );
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();
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 );
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();
"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 );
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 );
#else
set_capability( "decoder", 100 );
#endif
+ set_category( CAT_INPUT );
+ set_subcategory( SUBCAT_INPUT_ACODEC );
set_callbacks( OpenDecoder, CloseDecoder );
add_submodule();
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 );
* 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" ) );
* 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
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 );
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 );
#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,
* 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 );
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 );
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,
#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
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 );
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 );
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 );
* 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 <fenrir@via.ecp.fr>
*
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 );
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 );
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 );
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 );
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,
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 );
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();
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") );
* 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 );
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();
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"),
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 );
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 );
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 );
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 );
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 );
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 );
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 );
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();
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" );
*****************************************************************************/
vlc_module_begin();
add_shortcut( "playlist" );
+ set_category( CAT_INPUT );
+ set_subcategory( SUBCAT_INPUT_DEMUX );
set_description( _("Old playlist open") );
add_shortcut( "old-open" );
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();
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 * );
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" );
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();
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();
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" );
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" );
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 );
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 );
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 );
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();
* 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 <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
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 );
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 );
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 );
* 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 <sam@zoy.org>
*
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" );
* 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 <sam@zoy.org>
*
*****************************************************************************/
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 );
* 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 <dae@chez.com> Sun Mar 25 2001
*
*****************************************************************************/
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 */
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) );
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 );
*****************************************************************************/
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 );
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) );
* 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 <sam@zoy.org>
*
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();
" 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,
#include <vlc/intf.h>
+#include <vector>
+
#include "wxwindows.h"
#include "preferences_widgets.h"
#include <vlc/vlc.h>
#include <vlc/intf.h>
-#include <vlc_help.h>
+#include <vlc_config_cat.h>
#include "wxwindows.h"
#include "preferences_widgets.h"
# 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.
vlc_bool_t b_advanced;
wxTreeItemId root_item;
- wxTreeItemId general_item;
wxTreeItemId plugins_item;
};
PrefsPanel() { }
PrefsPanel( wxWindow *parent, intf_thread_t *_p_intf,
- PrefsDialog *, int i_object_id, char *, char * );
+ PrefsDialog *, ConfigTreeData* );
virtual ~PrefsPanel() {}
void ApplyChanges();
vlc_bool_t b_advanced;
+ wxStaticText *hidden_text;
wxBoxSizer *config_sizer;
wxScrolledWindow *config_window;
{
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;
};
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;
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;
}
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
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 */
/* 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++ )
SelectItem( GetFirstChild( root_item, cookie ) );
#endif
- Expand( general_item );
+ Expand( root_item );
}
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 :
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 );
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;
item = GetNextChild( plugins_item, cookie );
}
-
+#endif
if( GetSelection() )
{
wxTreeEvent event;
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 */
/* 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
*****************************************************************************/
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;
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 );
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;
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 */
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 );
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 =
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 );
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;
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 )
{
ConfigControl *control = config_array.Item(i);
if( control->IsAdvanced() )
{
+ if( !b_advanced ) hidden = true;
control->Show( b_advanced );
config_sizer->Show( control, b_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;
}
#include <vlc/vlc.h>
#include <vlc/intf.h>
-#include <vlc_help.h>
+#include <vlc_config_cat.h>
#include "wxwindows.h"
#include "preferences_widgets.h"
+#include <wx/statline.h>
+
/*****************************************************************************
* CreateConfigControl wrapper
*****************************************************************************/
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 )
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;
}
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 ;
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
*****************************************************************************/
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()
+{
+ ;
+}
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
+#include <vector>
+
class ConfigControl: public wxPanel
{
public:
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<moduleCheckBox *> pp_checkboxes;
+
+ void OnUpdate( wxCommandEvent& );
+
+ wxTextCtrl *text;
+ DECLARE_EVENT_TABLE()
+};
+
+;
+
class StringConfigControl: public ConfigControl
{
public:
DECLARE_EVENT_TABLE()
};
+
+class SectionConfigControl: public ConfigControl
+{
+public:
+ SectionConfigControl( vlc_object_t *, module_config_t *, wxWindow * );
+ ~SectionConfigControl();
+};
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" );
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
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) );
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 );
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 );
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 );
#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 );
* 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 <sam@zoy.org>
*
* 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" );
*****************************************************************************/
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 );
*****************************************************************************/
vlc_module_begin();
+ set_category( CAT_PLAYLIST );
+ set_subcategory( SUBCAT_PLAYLIST_EXPORT );
add_submodule();
set_description( _("M3U playlist exporter") );
add_shortcut( "export-m3u" );
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" );
* 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 );
#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 );
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 );
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 );
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" );
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 );
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" );
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 );
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" );
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" );
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();
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 );
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();
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 );
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 );
* 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 <fenrir@via.ecp.fr>
* Gildas Bazin <gbazin@netcourrier.com>
* 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 );
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 );
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 );
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 );
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 );
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,
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();
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 );
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();
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 );
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 );
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 );
* 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" );
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 );
*****************************************************************************/
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();
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 );
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 );
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 );
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 );
*****************************************************************************/
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 );
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 );
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 );
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();
*****************************************************************************/
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 );
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);
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 );
* 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" );
* 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 );
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();
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,
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,
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();
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 );
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 )
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;
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;
}
}
if( psz_filters ) free( psz_filters );
+ if( psz_visual ) free( psz_visual );
/* Attach the user channel mixer */
if ( p_user_channel_mixer )
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 );
* 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 )
{
"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 " \
#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_( \
* 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,
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 );
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,
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,
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,
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,
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,
/* 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 );
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 );
#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,
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)
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 );
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 );
/* 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;
* 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 );