VLC 4.0.0-dev
vlc_config_cat.h File Reference
Include dependency graph for vlc_config_cat.h:

Go to the source code of this file.

Data Structures

struct  config_category_t
 
struct  config_subcategory_t
 

Macros

#define MAIN_TITLE   N_( "VLC preferences" )
 
#define INTF_TITLE   N_( "Interface" )
 
#define AUDIO_TITLE   N_( "Audio" )
 
#define VIDEO_TITLE   N_( "Video" )
 
#define INPUT_TITLE   N_( "Input / Codecs" )
 
#define SOUT_TITLE   N_( "Stream output" )
 
#define PLAYLIST_TITLE   N_( "Playlist" )
 
#define AADVANCED_TITLE   N_( "Advanced" )
 
#define SUBPIC_TITLE   N_( "Subtitles / OSD" )
 
#define HOTKEYS_TITLE   N_( "Hotkeys" )
 
#define ML_TITLE   N_( "Media Library" )
 
#define INTF_TOOLTIP   N_( "Interface Settings" )
 
#define AUDIO_TOOLTIP   N_( "Audio Settings" )
 
#define VIDEO_TOOLTIP   N_( "Video Settings" )
 
#define SUBPIC_TOOLTIP   N_( "Subtitle & On Screen Display Settings" )
 
#define INPUT_TOOLTIP   N_( "Input & Codec Settings" )
 
#define HOTKEYS_TOOLTIP   N_( "Hotkeys Settings" )
 
#define ML_TOOLTIP   N_( "Media Library Settings" )
 
#define INTF_HELP   N_( "Settings for VLC's interfaces" )
 
#define INTF_GENERAL_HELP   N_( "Main interfaces settings" )
 
#define INTF_MAIN_HELP   N_( "Settings for the main interface" )
 
#define INTF_CONTROL_HELP   N_( "Settings for VLC's control interfaces" )
 
#define INTF_HOTKEYS_HELP   N_( "Hotkeys settings" )
 
#define AUDIO_HELP   N_( "Audio settings" )
 
#define AUDIO_GENERAL_HELP   N_("General audio settings")
 
#define AFILTER_HELP   N_( "Audio filters are used to process the audio stream." )
 
#define AVISUAL_HELP   N_( "Audio visualizations" )
 
#define AOUT_HELP   N_("General settings for audio output modules.")
 
#define VIDEO_HELP   N_("Video settings")
 
#define VIDEO_GENERAL_HELP   N_( "General video settings" )
 
#define VOUT_HELP   N_("General settings for video output modules.")
 
#define VFILTER_HELP   N_("Video filters are used to process the video stream." )
 
#define SUBPIC_HELP
 
#define SPLITTER_HELP   N_("Video splitters separate the stream into multiple videos.")
 
#define INPUT_HELP
 
#define ACCESS_HELP
 
#define STREAM_FILTER_HELP
 
#define DEMUX_HELP   N_( "Demuxers are used to separate audio and video streams." )
 
#define VDEC_HELP   N_( "Settings for the video, images or video+audio decoders and encoders." )
 
#define ADEC_HELP   N_( "Settings for the audio-only decoders and encoders." )
 
#define SDEC_HELP   N_( "Settings for subtitle, teletext and CC decoders and encoders." )
 
#define SOUT_HELP
 
#define SOUT_GENERAL_HELP   N_( "General stream output settings")
 
#define SOUT_MUX_HELP
 
#define SOUT_ACO_HELP
 
#define SOUT_PACKET_HELP
 
#define SOUT_RENDER_HELP   N_( "External renderer discovery related settings." )
 
#define SOUT_STREAM_HELP
 
#define SOUT_VOD_HELP   N_( "VLC's implementation of Video On Demand" )
 
#define PLAYLIST_HELP
 
#define PGENERAL_HELP   N_( "General playlist behaviour")
 
#define SD_HELP
 
#define PEXPORT_HELP   N_( "Settings relating to exporting playlists." )
 
#define AADVANCED_HELP   N_( "Advanced settings. Use with care...")
 
#define ANETWORK_HELP   N_( "Advanced network settings." )
 

Functions

static int vlc_config_cat_IndexOf (enum vlc_config_cat cat)
 Get the table index for the given category entry. More...
 
static int vlc_config_subcat_IndexOf (enum vlc_config_subcat subcat)
 Get the table index for the given subcategory entry. More...
 
static enum vlc_config_subcat vlc_config_cat_GetGeneralSubcat (enum vlc_config_cat cat)
 Get the "general" subcategory for a given category. More...
 
static const char * vlc_config_subcat_GetName (enum vlc_config_subcat subcat)
 Get the name for a subcategory. More...
 
static const char * vlc_config_subcat_GetHelp (enum vlc_config_subcat subcat)
 Get the help text for a subcategory. More...
 
static const char * vlc_config_cat_GetName (enum vlc_config_cat cat)
 Get the name for a category. More...
 
static const char * vlc_config_cat_GetHelp (enum vlc_config_cat cat)
 Get the help text for a category. More...
 
static enum vlc_config_cat vlc_config_cat_FromSubcat (enum vlc_config_subcat subcat)
 Get the parent category for the given subcategory. More...
 
static bool vlc_config_subcat_IsGeneral (enum vlc_config_subcat subcat)
 Check if the given subcategory is a "general" one. More...
 

Variables

static const struct config_category_t categories_array []
 
static const struct config_subcategory_t subcategories_array []
 

Macro Definition Documentation

◆ AADVANCED_HELP

#define AADVANCED_HELP   N_( "Advanced settings. Use with care...")

◆ AADVANCED_TITLE

#define AADVANCED_TITLE   N_( "Advanced" )

◆ ACCESS_HELP

#define ACCESS_HELP
Value:
N_( \
"Settings related to the various access methods. " \
"Common settings you may want to alter are HTTP proxy or " \
"caching settings." )
#define N_(str)
Definition: vlc_fixups.h:450

◆ ADEC_HELP

#define ADEC_HELP   N_( "Settings for the audio-only decoders and encoders." )

◆ AFILTER_HELP

#define AFILTER_HELP   N_( "Audio filters are used to process the audio stream." )

◆ ANETWORK_HELP

#define ANETWORK_HELP   N_( "Advanced network settings." )

◆ AOUT_HELP

#define AOUT_HELP   N_("General settings for audio output modules.")

◆ AUDIO_GENERAL_HELP

#define AUDIO_GENERAL_HELP   N_("General audio settings")

◆ AUDIO_HELP

#define AUDIO_HELP   N_( "Audio settings" )

◆ AUDIO_TITLE

#define AUDIO_TITLE   N_( "Audio" )

◆ AUDIO_TOOLTIP

#define AUDIO_TOOLTIP   N_( "Audio Settings" )

◆ AVISUAL_HELP

#define AVISUAL_HELP   N_( "Audio visualizations" )

◆ DEMUX_HELP

#define DEMUX_HELP   N_( "Demuxers are used to separate audio and video streams." )

◆ HOTKEYS_TITLE

#define HOTKEYS_TITLE   N_( "Hotkeys" )

◆ HOTKEYS_TOOLTIP

#define HOTKEYS_TOOLTIP   N_( "Hotkeys Settings" )

◆ INPUT_HELP

#define INPUT_HELP
Value:
N_( "Settings for input, demultiplexing, " \
"decoding and encoding")

◆ INPUT_TITLE

#define INPUT_TITLE   N_( "Input / Codecs" )

◆ INPUT_TOOLTIP

#define INPUT_TOOLTIP   N_( "Input & Codec Settings" )

◆ INTF_CONTROL_HELP

#define INTF_CONTROL_HELP   N_( "Settings for VLC's control interfaces" )

◆ INTF_GENERAL_HELP

#define INTF_GENERAL_HELP   N_( "Main interfaces settings" )

◆ INTF_HELP

#define INTF_HELP   N_( "Settings for VLC's interfaces" )

◆ INTF_HOTKEYS_HELP

#define INTF_HOTKEYS_HELP   N_( "Hotkeys settings" )

◆ INTF_MAIN_HELP

#define INTF_MAIN_HELP   N_( "Settings for the main interface" )

◆ INTF_TITLE

#define INTF_TITLE   N_( "Interface" )

◆ INTF_TOOLTIP

#define INTF_TOOLTIP   N_( "Interface Settings" )

◆ MAIN_TITLE

#define MAIN_TITLE   N_( "VLC preferences" )

◆ ML_TITLE

#define ML_TITLE   N_( "Media Library" )

◆ ML_TOOLTIP

#define ML_TOOLTIP   N_( "Media Library Settings" )

◆ PEXPORT_HELP

#define PEXPORT_HELP   N_( "Settings relating to exporting playlists." )

◆ PGENERAL_HELP

#define PGENERAL_HELP   N_( "General playlist behaviour")

◆ PLAYLIST_HELP

#define PLAYLIST_HELP
Value:
N_( "Settings related to playlist behaviour " \
"(e.g. playback mode) and to modules that automatically add "\
"items to the playlist (\"service discovery\" modules).")

◆ PLAYLIST_TITLE

#define PLAYLIST_TITLE   N_( "Playlist" )

◆ SD_HELP

#define SD_HELP
Value:
N_("Services discovery modules are facilities "\
"that automatically add items to playlist.")

◆ SDEC_HELP

#define SDEC_HELP   N_( "Settings for subtitle, teletext and CC decoders and encoders." )

◆ SOUT_ACO_HELP

#define SOUT_ACO_HELP
Value:
N_( \
"Access output modules control the ways the muxed streams are sent. " \
"This setting allows you to always force a specific access output method. " \
"You should probably not do that.\n" \
"You can also set default parameters for each access output.")

◆ SOUT_GENERAL_HELP

#define SOUT_GENERAL_HELP   N_( "General stream output settings")

◆ SOUT_HELP

#define SOUT_HELP
Value:
N_( \
"Stream output settings are used when acting as a streaming server " \
"or when saving incoming streams.\n" \
"Streams are first muxed and then sent through an \"access output\" "\
"module that can either save the stream to a file, or stream " \
"it (UDP, HTTP, RTP/RTSP).\n" \
"Sout streams modules allow advanced stream processing (transcoding, "\
"duplicating...).")

◆ SOUT_MUX_HELP

#define SOUT_MUX_HELP
Value:
N_( \
"Muxers create the encapsulation formats that are used to " \
"put all the elementary streams (video, audio, ...) " \
"together. This setting allows you to always force a specific muxer. " \
"You should probably not do that.\n" \
"You can also set default parameters for each muxer." )

◆ SOUT_PACKET_HELP

#define SOUT_PACKET_HELP
Value:
N_( \
"Packetizers are used to \"preprocess\" the elementary "\
"streams before muxing. " \
"This setting allows you to always force a packetizer. " \
"You should probably not do that.\n" \
"You can also set default parameters for each packetizer." )

◆ SOUT_RENDER_HELP

#define SOUT_RENDER_HELP   N_( "External renderer discovery related settings." )

◆ SOUT_STREAM_HELP

#define SOUT_STREAM_HELP
Value:
N_( "Sout stream modules allow to build a sout " \
"processing chain. Please refer to the Streaming 'how-to' for " \
"more information. You can configure default options for " \
"each sout stream module here.")

◆ SOUT_TITLE

#define SOUT_TITLE   N_( "Stream output" )

◆ SOUT_VOD_HELP

#define SOUT_VOD_HELP   N_( "VLC's implementation of Video On Demand" )

◆ SPLITTER_HELP

#define SPLITTER_HELP   N_("Video splitters separate the stream into multiple videos.")

◆ STREAM_FILTER_HELP

#define STREAM_FILTER_HELP
Value:
N_( \
"Stream filters are special modules that allow advanced operations on " \
"the input side of VLC. Use with care..." )

◆ SUBPIC_HELP

#define SUBPIC_HELP
Value:
N_( "Settings related to On-Screen-Display,"\
" subtitles and \"overlay subpictures\"")

◆ SUBPIC_TITLE

#define SUBPIC_TITLE   N_( "Subtitles / OSD" )

◆ SUBPIC_TOOLTIP

#define SUBPIC_TOOLTIP   N_( "Subtitle & On Screen Display Settings" )

◆ VDEC_HELP

#define VDEC_HELP   N_( "Settings for the video, images or video+audio decoders and encoders." )

◆ VFILTER_HELP

#define VFILTER_HELP   N_("Video filters are used to process the video stream." )

◆ VIDEO_GENERAL_HELP

#define VIDEO_GENERAL_HELP   N_( "General video settings" )

◆ VIDEO_HELP

#define VIDEO_HELP   N_("Video settings")

◆ VIDEO_TITLE

#define VIDEO_TITLE   N_( "Video" )

◆ VIDEO_TOOLTIP

#define VIDEO_TOOLTIP   N_( "Video Settings" )

◆ VOUT_HELP

#define VOUT_HELP   N_("General settings for video output modules.")

Function Documentation

◆ vlc_config_cat_FromSubcat()

static enum vlc_config_cat vlc_config_cat_FromSubcat ( enum vlc_config_subcat  subcat)
inlinestatic

Get the parent category for the given subcategory.

References config_subcategory_t::cat, CAT_UNKNOWN, subcategories_array, and vlc_config_subcat_IndexOf().

Referenced by vlc_config_subcat_IsGeneral().

◆ vlc_config_cat_GetGeneralSubcat()

static enum vlc_config_subcat vlc_config_cat_GetGeneralSubcat ( enum vlc_config_cat  cat)
inlinestatic

Get the "general" subcategory for a given category.

In a cat/subcat preference tree, subcategories typically appear as child nodes under their respective parent category node. Core config items, which are always associated with a particular subcategory, are shown when that subcategory node is selected. Each category however has a "general" subcategory which is not shown as a child node, instead the options for this are shown when the category node itself is selected in the tree.

One or more nodes are also created in the tree per plugin, with the location relating to the subcategory association of its config items. Plugin nodes associated with general subcategories naturally appear as child nodes of the category node (as a sibling to its subcategory nodes), rather than as a child node of a subcategory node.

References config_subcategory_t::cat, categories_array, config_category_t::general_subcat, SUBCAT_UNKNOWN, and vlc_config_cat_IndexOf().

Referenced by vlc_config_cat_GetName(), and vlc_config_subcat_IsGeneral().

◆ vlc_config_cat_GetHelp()

static const char * vlc_config_cat_GetHelp ( enum vlc_config_cat  cat)
inlinestatic

◆ vlc_config_cat_GetName()

static const char * vlc_config_cat_GetName ( enum vlc_config_cat  cat)
inlinestatic

◆ vlc_config_cat_IndexOf()

static int vlc_config_cat_IndexOf ( enum vlc_config_cat  cat)
inlinestatic

Get the table index for the given category entry.

References ARRAY_SIZE, config_subcategory_t::cat, and categories_array.

Referenced by vlc_config_cat_GetGeneralSubcat(), and vlc_config_cat_GetHelp().

◆ vlc_config_subcat_GetHelp()

static const char * vlc_config_subcat_GetHelp ( enum vlc_config_subcat  subcat)
inlinestatic

Get the help text for a subcategory.

References config_subcategory_t::help, subcategories_array, vlc_config_subcat_IndexOf(), and vlc_gettext().

◆ vlc_config_subcat_GetName()

static const char * vlc_config_subcat_GetName ( enum vlc_config_subcat  subcat)
inlinestatic

Get the name for a subcategory.

References name, subcategories_array, vlc_config_subcat_IndexOf(), and vlc_gettext().

Referenced by vlc_config_cat_GetName().

◆ vlc_config_subcat_IndexOf()

static int vlc_config_subcat_IndexOf ( enum vlc_config_subcat  subcat)
inlinestatic

Get the table index for the given subcategory entry.

References ARRAY_SIZE, and subcategories_array.

Referenced by vlc_config_cat_FromSubcat(), vlc_config_subcat_GetHelp(), and vlc_config_subcat_GetName().

◆ vlc_config_subcat_IsGeneral()

static bool vlc_config_subcat_IsGeneral ( enum vlc_config_subcat  subcat)
inlinestatic

Check if the given subcategory is a "general" one.

References config_subcategory_t::cat, SUBCAT_UNKNOWN, vlc_config_cat_FromSubcat(), and vlc_config_cat_GetGeneralSubcat().

Variable Documentation

◆ categories_array

const struct config_category_t categories_array[]
static
Initial value:
=
{
{ CAT_PLAYLIST, SUBCAT_PLAYLIST_GENERAL, N_( "Settings related to playlist behaviour " "(e.g. playback mode) and to modules that automatically add " "items to the playlist (\"service discovery\" modules).") },
{ CAT_INTERFACE, SUBCAT_INTERFACE_GENERAL, N_( "Settings for VLC's interfaces" ) },
{ CAT_AUDIO, SUBCAT_AUDIO_GENERAL, N_( "Audio settings" ) },
{ CAT_VIDEO, SUBCAT_VIDEO_GENERAL, N_("Video settings") },
{ CAT_INPUT, SUBCAT_INPUT_GENERAL, N_( "Settings for input, demultiplexing, " "decoding and encoding") },
{ CAT_SOUT, SUBCAT_SOUT_GENERAL, N_( "Stream output settings are used when acting as a streaming server " "or when saving incoming streams.\n" "Streams are first muxed and then sent through an \"access output\" " "module that can either save the stream to a file, or stream " "it (UDP, HTTP, RTP/RTSP).\n" "Sout streams modules allow advanced stream processing (transcoding, " "duplicating...).") },
{ CAT_ADVANCED, SUBCAT_ADVANCED_MISC, N_( "Advanced settings. Use with care...") },
}
@ CAT_SOUT
Definition: vlc_plugin.h:164
@ CAT_AUDIO
Definition: vlc_plugin.h:161
@ CAT_PLAYLIST
Definition: vlc_plugin.h:166
@ CAT_VIDEO
Definition: vlc_plugin.h:162
@ CAT_INPUT
Definition: vlc_plugin.h:163
@ CAT_ADVANCED
Definition: vlc_plugin.h:165
@ CAT_INTERFACE
Definition: vlc_plugin.h:160
@ SUBCAT_VIDEO_GENERAL
Definition: vlc_plugin.h:190
@ SUBCAT_SOUT_GENERAL
Definition: vlc_plugin.h:204
@ SUBCAT_INPUT_GENERAL
Definition: vlc_plugin.h:196
@ SUBCAT_INTERFACE_GENERAL
Definition: vlc_plugin.h:179
@ SUBCAT_PLAYLIST_GENERAL
Definition: vlc_plugin.h:215
@ SUBCAT_ADVANCED_MISC
Definition: vlc_plugin.h:212
@ SUBCAT_AUDIO_GENERAL
Definition: vlc_plugin.h:184

Referenced by vlc_config_cat_GetGeneralSubcat(), vlc_config_cat_GetHelp(), and vlc_config_cat_IndexOf().

◆ subcategories_array