Commit a90a19a6 authored by Clément Stenac's avatar Clément Stenac

Improvements to preferences

* Each module can declare a "human-readable short name" with set_name
* Modules are sorted by category (set_category, set_subcategory).
  Modules configs can be separated by set_section()
* Separated audio-filter and audio-visual
* Separated extraintf and control
* New command and widget : add_module_list() for comma-separated modules
* Vfilters now use "," as separator
parent b78f2482
......@@ -99,7 +99,7 @@ HEADERS_include = \
include/vlc_es.h \
include/vlc_es_out.h \
include/vlc_filter.h \
include/vlc_help.h \
include/vlc_config_cat.h \
include/vlc_httpd.h \
include/vlc_tls.h \
include/vlc_input.h \
......
......@@ -28,12 +28,18 @@
*****************************************************************************/
/* Configuration hint types */
#define CONFIG_HINT_END 0x0001 /* End of config */
#define CONFIG_HINT_CATEGORY 0x0002 /* Start of new category */
#define CONFIG_HINT_SUBCATEGORY 0x0003 /* Start of sub-category */
#define CONFIG_HINT_SUBCATEGORY_END 0x0004 /* End of sub-category */
#define CONFIG_HINT_USAGE 0x0005 /* Usage information */
#define CONFIG_CATEGORY 0x0006 /* Set category */
#define CONFIG_SUBCATEGORY 0x0007 /* Set subcategory */
#define CONFIG_SECTION 0x0008 /* Start of new section */
#define CONFIG_HINT 0x000F
/* Configuration item types */
......@@ -45,9 +51,68 @@
#define CONFIG_ITEM_FLOAT 0x0060 /* Float option */
#define CONFIG_ITEM_DIRECTORY 0x0070 /* Directory option */
#define CONFIG_ITEM_KEY 0x0080 /* Hot key option */
#define CONFIG_ITEM_MODULE_LIST 0x0090 /* Module option */
#define CONFIG_ITEM_MODULE_LIST_CAT 0x00A0 /* Module option */
#define CONFIG_ITEM 0x00F0
/*******************************************************************
* All predefined categories and subcategories
*******************************************************************/
#define CAT_INTERFACE 1
#define SUBCAT_INTERFACE_GENERAL 101
#define SUBCAT_INTERFACE_CONTROL 102
#define SUBCAT_INTERFACE_HOTKEYS 103
#define CAT_AUDIO 2
#define SUBCAT_AUDIO_GENERAL 201
#define SUBCAT_AUDIO_AOUT 202
#define SUBCAT_AUDIO_AFILTER 203
#define SUBCAT_AUDIO_VISUAL 204
#define SUBCAT_AUDIO_MISC 205
#define CAT_VIDEO 3
#define SUBCAT_VIDEO_GENERAL 301
#define SUBCAT_VIDEO_VOUT 302
#define SUBCAT_VIDEO_VFILTER 303
#define SUBCAT_VIDEO_TEXT 304
#define SUBCAT_VIDEO_SUBPIC 305
#define CAT_INPUT 4
#define SUBCAT_INPUT_ACCESS 401
#define SUBCAT_INPUT_DEMUX 402
#define SUBCAT_INPUT_VCODEC 403
#define SUBCAT_INPUT_ACODEC 404
#define SUBCAT_INPUT_SCODEC 405
#define SUBCAT_INPUT_ADVANCED 406
#define CAT_SOUT 5
#define SUBCAT_SOUT_GENERAL 501
#define SUBCAT_SOUT_STREAM 502
#define SUBCAT_SOUT_MUX 503
#define SUBCAT_SOUT_ACO 504
#define SUBCAT_SOUT_PACKETIZER 505
#define SUBCAT_SOUT_SAP 506
#define SUBCAT_SOUT_VOD 507
#define CAT_ADVANCED 6
#define SUBCAT_ADVANCED_CPU 601
#define SUBCAT_ADVANCED_MISC 602
#define SUBCAT_ADVANCED_NETWORK 603
#define SUBCAT_ADVANCED_XML 604
#define CAT_PLAYLIST 7
#define SUBCAT_PLAYLIST_GENERAL 701
#define SUBCAT_PLAYLIST_SD 702
#define SUBCAT_PLAYLIST_EXPORT 703
struct config_category_t
{
int i_id;
char *psz_name;
char *psz_help;
};
struct module_config_t
{
int i_type; /* Configuration type */
......@@ -146,16 +211,37 @@ int config_CreateDir( vlc_object_t *, char * );
* allow for a more user friendly interface.
*****************************************************************************/
#define add_category_hint( text, longtext, advc ) \
#define set_category( i_id ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_HINT_CATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; p_config[i_config].b_advanced = advc; }
#define add_subcategory_hint( text, longtext ) \
{ static module_config_t tmp = { CONFIG_CATEGORY, NULL, NULL , '\0', NULL, NULL, NULL, i_id }; p_config[ i_config ] = tmp; }
#define set_subcategory( i_id ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_SUBCATEGORY, NULL, NULL , '\0', NULL, NULL, NULL, i_id }; p_config[ i_config ] = tmp; }
#define set_section( text, longtext) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_SECTION, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; }
#define add_category_hint( text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_HINT_CATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; p_config[i_config].b_advanced = advc; }
#define add_subcategory_hint( text, longtext ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_HINT_SUBCATEGORY, NULL, NULL, '\0', text, longtext }; p_config[ i_config ] = tmp; }
#define end_subcategory_hint \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
......@@ -167,6 +253,7 @@ int config_CreateDir( vlc_object_t *, char * );
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_HINT_USAGE, NULL, NULL, '\0', text }; p_config[ i_config ] = tmp; }
#define add_string( name, psz_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
......@@ -182,36 +269,57 @@ int config_CreateDir( vlc_object_t *, char * );
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_DIRECTORY, NULL, name, '\0', text, longtext, psz_value, 0, 0 }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_module( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_MODULE, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_module_list( name, psz_caps, psz_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_MODULE_LIST, psz_caps, name, '\0', text, longtext, psz_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_module_list_cat( name, i_subcategory, psz_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_MODULE_LIST_CAT, NULL, name, '\0', text, longtext, psz_value, 0, 0.0, i_subcategory }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_integer( name, i_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_INTEGER, NULL, name, '\0', text, longtext, NULL, i_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_key( name, i_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_KEY, NULL, name, '\0', text, longtext, NULL, i_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_integer_with_range( name, i_value, i_min, i_max, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_INTEGER, NULL, name, '\0', text, longtext, NULL, i_value, 0, i_min, i_max }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_float( name, f_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_FLOAT, NULL, name, '\0', text, longtext, NULL, 0, f_value }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_float_with_range( name, f_value, f_min, f_max, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
(i_config+11) * sizeof(module_config_t)); \
{ static module_config_t tmp = { CONFIG_ITEM_FLOAT, NULL, name, '\0', text, longtext, NULL, 0, f_value, 0, 0, f_min, f_max }; p_config[ i_config ] = tmp; p_config[ i_config ].pf_callback = p_callback; p_config[i_config].b_advanced = advc; }
#define add_bool( name, b_value, p_callback, text, longtext, advc ) \
i_config++; \
if(!(i_config%10)) p_config = (module_config_t* )realloc(p_config, \
......
......@@ -84,6 +84,7 @@ struct module_t
* Variables set by the module to identify itself
*/
char *psz_shortname; /* Module name */
char *psz_name; /* Human-readable shortname */
char *psz_longname; /* Module descriptive name */
/*
......
......@@ -100,6 +100,7 @@
p_module->b_reentrant = VLC_TRUE; \
p_module->psz_object_name = MODULE_STRING; \
p_module->psz_shortname = MODULE_STRING; \
p_module->psz_name = NULL; \
p_module->psz_longname = MODULE_STRING; \
p_module->pp_shortcuts[ 0 ] = MODULE_STRING; \
p_module->i_cpu = 0; \
......@@ -162,6 +163,9 @@
#define set_shortname( desc ) \
p_submodule->psz_shortname = desc
#define set_name( desc ) \
p_submodule->psz_name = desc
#define set_description( desc ) \
p_submodule->psz_longname = desc
......
......@@ -234,6 +234,8 @@ typedef struct module_config_t module_config_t;
typedef struct module_symbols_t module_symbols_t;
typedef struct module_cache_t module_cache_t;
typedef struct config_category_t config_category_t;
/* Interface */
typedef struct intf_thread_t intf_thread_t;
typedef struct intf_sys_t intf_sys_t;
......
/*****************************************************************************
* vlc_help.h: Help strings
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id$
*
* Authors: Clment 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 */
......@@ -47,6 +47,8 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("Audio CD input") );
set_capability( "access2", 10 );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
set_callbacks( Open, Close );
add_usage_hint( N_("[cdda:][device][@[track]]") );
......
......@@ -99,6 +99,8 @@ vlc_module_begin();
set_callbacks( E_(CDDAOpen), E_(CDDAClose) );
add_shortcut( "cddax" );
add_shortcut( "cd" );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
/* Configuration options */
add_integer ( MODULE_STRING "-debug", 0, E_(CDDADebugCB),
......
......@@ -75,6 +75,9 @@ static char *psz_recursive_list_text[] = { N_("none"), N_("collapse"),
N_("expand") };
vlc_module_begin();
set_category( CAT_INPUT );
set_name( _("Directory" ) );
set_subcategory( SUBCAT_INPUT_ACCESS );
set_description( _("Standard filesystem directory input") );
set_capability( "access2", 55 );
add_shortcut( "directory" );
......
......@@ -130,6 +130,8 @@ static void DemuxClose ( vlc_object_t * );
vlc_module_begin();
set_shortname( _("DirectShow") );
set_description( _("DirectShow input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "dshow-caching", (mtime_t)(0.2*CLOCK_FREQ) / 1000, NULL,
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -121,6 +121,8 @@ static void Close( vlc_object_t *p_this );
vlc_module_begin();
set_shortname( _("DVB") );
set_description( N_("DVB input with v4l2 support") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "dvb-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -69,7 +69,10 @@ static int Open ( vlc_object_t * );
static void Close( vlc_object_t * );
vlc_module_begin();
set_name( _("DVD with menus (DVD with menu support)") );
set_description( _("DVDnav Input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "dvdnav-angle", 1, NULL, ANGLE_TEXT,
ANGLE_LONGTEXT, VLC_FALSE );
add_integer( "dvdnav-caching", DEFAULT_PTS_DELAY / 1000, NULL,
......
......@@ -87,7 +87,10 @@ static int Open ( vlc_object_t * );
static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("DVDRead Input") );
set_name( _("DVD without menus") );
set_description( _("DVDRead Input (DVD without menu support)") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "dvdread-angle", 1, NULL, ANGLE_TEXT,
ANGLE_LONGTEXT, VLC_FALSE );
add_integer( "dvdread-caching", DEFAULT_PTS_DELAY / 1000, NULL,
......
......@@ -86,6 +86,9 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("Standard filesystem file input") );
set_name( _("File") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "file-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
add_string( "file-cat", NULL, NULL, CAT_TEXT, CAT_LONGTEXT, VLC_TRUE );
set_capability( "access2", 50 );
......
......@@ -52,8 +52,11 @@ static void Close( vlc_object_t * );
"used for the connection.")
vlc_module_begin();
set_name( "FTP" );
set_description( _("FTP input") );
set_capability( "access2", 0 );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "ftp-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL,
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
add_string( "ftp-user", "anonymous", NULL, USER_TEXT, USER_LONGTEXT,
......
......@@ -74,6 +74,9 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("HTTP input") );
set_capability( "access2", 0 );
set_name( _( "HTTP/HTTPS" ) );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_string( "http-proxy", NULL, NULL, PROXY_TEXT, PROXY_LONGTEXT,
VLC_FALSE );
......
......@@ -55,8 +55,11 @@ static void Close( vlc_object_t * );
"Always select the stream with the maximum bitrate." )
vlc_module_begin();
set_name( _("MMS") );
set_description( _("Microsoft Media Server (MMS) input") );
set_capability( "access2", -1 );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "mms-caching", 4 * DEFAULT_PTS_DELAY / 1000, NULL,
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -88,6 +88,8 @@ static char *psz_bitrates_list_text[] = { N_("vbr"), N_("cbr") };
vlc_module_begin();
set_shortname( _("PVR") );
set_description( _("MPEG Encoding cards input (with ivtv drivers)") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
set_capability( "access2", 0 );
add_shortcut( "pvr" );
......
......@@ -70,6 +70,8 @@ void E_(Close) ( vlc_object_t * );
vlc_module_begin();
set_description( _("Satellite input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "dvb-dmx", 0, NULL, DEMUX_TEXT, DEMUX_LONGTEXT, VLC_FALSE );
add_integer( "dvb-tuner", 0, NULL, TUNER_TEXT, TUNER_LONGTEXT, VLC_FALSE );
......
......@@ -60,6 +60,8 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("Screen Input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "screen-caching", DEFAULT_PTS_DELAY / 1000, NULL,
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -43,7 +43,10 @@ static int Open ( vlc_object_t * );
static void Close( vlc_object_t * );
vlc_module_begin();
set_name( _("TCP") );
set_description( _("TCP input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "tcp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -51,7 +51,10 @@ static int Open ( vlc_object_t * );
static void Close( vlc_object_t * );
vlc_module_begin();
set_name( _("UDP/RTP" ) );
set_description( _("UDP/RTP input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "udp-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -89,6 +89,8 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_shortname( _("Video4Linux") );
set_description( _("Video4Linux input") );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "v4l-caching", DEFAULT_PTS_DELAY / 1000, NULL,
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
......
......@@ -46,6 +46,8 @@ vlc_module_begin();
set_description( _("VCD input") );
set_capability( "access2", 60 );
set_callbacks( Open, Close );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
add_usage_hint( N_("[vcd:][device][@[title][,[chapter]]]") );
add_integer( "vcd-caching", DEFAULT_PTS_DELAY / 1000, NULL, CACHING_TEXT,
......
......@@ -94,6 +94,8 @@ vlc_module_begin();
set_callbacks( E_(Open), E_(Close) );
add_shortcut( "vcd" );
add_shortcut( "vcdx" );
set_category( CAT_INPUT );
set_subcategory( SUBCAT_INPUT_ACCESS );
/* Configuration options */
add_integer ( MODULE_STRING "-debug", 0, E_(DebugCallback),
......
......@@ -39,6 +39,8 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("Dummy stream output") );
set_capability( "sout access", 0 );
set_category( CAT_SOUT );
set_subcategory( SUBCAT_SOUT_ACO );
add_shortcut( "dummy" );
set_callbacks( Open, Close );
vlc_module_end();
......
......@@ -66,6 +66,8 @@ static void Close( vlc_object_t * );
vlc_module_begin();
set_description( _("File stream output") );
set_capability( "sout access", 50 );
set_category( CAT_SOUT );
set_subcategory( SUBCAT_SOUT_ACO );
add_shortcut( "file" );
add_shortcut( "stream" );
add_bool( SOUT_CFG_PREFIX "append", 0, NULL, APPEND_TEXT,APPEND_LONGTEXT,
......
......@@ -77,6 +77,8 @@ vlc_module_begin();
add_shortcut( "http" );
add_shortcut( "https" );
add_shortcut( "mmsh" );
set_category( CAT_SOUT );
set_subcategory( SUBCAT_SOUT_ACO );