vlc_config_cat.h 11.6 KB
Newer Older
Clément Stenac's avatar
Clément Stenac committed
1
/*****************************************************************************
Clément Stenac's avatar
Clément Stenac committed
2
 * vlc_config_cat.h : Definition of configuration categories
Clément Stenac's avatar
Clément Stenac committed
3
 *****************************************************************************
Jean-Baptiste Kempf's avatar
LGPL  
Jean-Baptiste Kempf committed
4
 * Copyright (C) 2003 VLC authors and VideoLAN
5
 * $Id$
Clément Stenac's avatar
Clément Stenac committed
6
 *
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
7
 * Authors: Clément Stenac <zorglub@videolan.org>
Clément Stenac's avatar
Clément Stenac committed
8 9
 *          Anil Daoud <anil@videolan.org>
 *
Jean-Baptiste Kempf's avatar
LGPL  
Jean-Baptiste Kempf committed
10 11 12
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or
Clément Stenac's avatar
Clément Stenac committed
13 14 15 16
 * (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
Jean-Baptiste Kempf's avatar
LGPL  
Jean-Baptiste Kempf committed
17 18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
Clément Stenac's avatar
Clément Stenac committed
19
 *
Jean-Baptiste Kempf's avatar
LGPL  
Jean-Baptiste Kempf committed
20 21 22
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
Clément Stenac's avatar
Clément Stenac committed
23 24
 *****************************************************************************/

25 26
#ifndef VLC_HELP_H
#define VLC_HELP_H 1
27
# include <vlc_plugin.h>
Clément Stenac's avatar
Clément Stenac committed
28 29 30 31 32 33 34

/*
 *  First, we need help strings for the General Settings and for the
 *  Plugins screen
 */
#define MAIN_TITLE N_( "VLC preferences" )
#define MAIN_HELP N_( \
35
    "Select \"Advanced Options\" to see all options." )
Clément Stenac's avatar
Clément Stenac committed
36 37 38

/* Interface */
#define INTF_TITLE N_("Interface")
39
#define INTF_HELP  N_( "Settings for VLC's interfaces" )
Clément Stenac's avatar
Clément Stenac committed
40

41
#define INTF_GENERAL_HELP N_( "Main interfaces settings" )
Clément Stenac's avatar
Clément Stenac committed
42

Clément Stenac's avatar
Clément Stenac committed
43 44 45
#define INTF_MAIN_TITLE  N_( "Main interfaces" )
#define INTF_MAIN_HELP N_( "Settings for the main interface" )

Clément Stenac's avatar
Clément Stenac committed
46
#define INTF_CONTROL_TITLE N_( "Control interfaces" )
47
#define INTF_CONTROL_HELP N_( "Settings for VLC's control interfaces" )
Clément Stenac's avatar
Clément Stenac committed
48 49 50 51 52 53 54 55 56 57 58

#define INTF_HOTKEYS_TITLE N_( "Hotkeys settings" )
#define INTF_HOTKEYS_HELP N_( "Hotkeys settings" )

/* Audio */
#define AUDIO_TITLE N_( "Audio" )
#define AUDIO_HELP N_( "Audio settings" )

#define AUDIO_GENERAL_HELP N_("General audio settings")

#define AFILTER_TITLE N_("Filters")
59
#define AFILTER_HELP N_( "Audio filters are used to process the audio stream." )
Clément Stenac's avatar
Clément Stenac committed
60 61

#define AVISUAL_TITLE N_("Visualizations")
62
#define AVISUAL_HELP N_( "Audio visualizations" )
Clément Stenac's avatar
Clément Stenac committed
63 64

#define AOUT_TITLE N_( "Output modules" )
65
#define AOUT_HELP N_("General settings for audio output modules.")
Clément Stenac's avatar
Clément Stenac committed
66 67

#define AMISC_TITLE N_("Miscellaneous")
68
#define AMISC_HELP N_( "Miscellaneous audio settings and modules." )
Clément Stenac's avatar
Clément Stenac committed
69 70 71 72 73

/* Video */
#define VIDEO_TITLE N_("Video")
#define VIDEO_HELP N_("Video settings")

74
#define VIDEO_GENERAL_HELP N_( "General video settings" )
Clément Stenac's avatar
Clément Stenac committed
75 76 77 78 79 80 81

#define _VOUT_TITLE N_("Output modules" )
#define VOUT_HELP N_( \
    "Choose your preferred video output and configure it here." )

#define VFILTER_TITLE N_("Filters" )
#define VFILTER_HELP N_( \
82
    "Video filters are used to process the video stream." )
Clément Stenac's avatar
Clément Stenac committed
83

84
#define SUBPIC_TITLE N_( "Subtitles / OSD")
85 86
#define SUBPIC_HELP N_( "Settings related to On-Screen-Display,"\
        " subtitles and \"overlay subpictures\"")
87
/*
Clément Stenac's avatar
Clément Stenac committed
88 89 90
#define TEXT_TITLE N_("Text rendering")
#define TEXT_HELP N_( \
    "Use the settings of the \"freetype\" module to choose the font you " \
91
    "want VLC to use for text rendering (to display subtitles for example).")
92
*/
Clément Stenac's avatar
Clément Stenac committed
93 94
/* Input */
#define INPUT_TITLE N_( "Input / Codecs" )
95 96
#define INPUT_HELP N_( "Settings for input, demultiplexing, " \
         "decoding and encoding")
Clément Stenac's avatar
Clément Stenac committed
97 98 99

#define ACCESS_TITLE N_( "Access modules" )
#define ACCESS_HELP N_( \
100
    "Settings related to the various access methods. " \
Clément Stenac's avatar
Clément Stenac committed
101 102 103
    "Common settings you may want to alter are HTTP proxy or " \
    "caching settings." )

104 105 106
#define STREAM_FILTER_TITLE N_( "Stream filters" )
#define STREAM_FILTER_HELP N_( \
    "Stream filters are special modules that allow advanced operations on " \
107
    "the input side of VLC. Use with care..." )
108

Clément Stenac's avatar
Clément Stenac committed
109
#define DEMUX_TITLE N_("Demuxers")
110
#define DEMUX_HELP N_( "Demuxers are used to separate audio and video streams." )
Clément Stenac's avatar
Clément Stenac committed
111 112

#define VDEC_TITLE  N_( "Video codecs" )
113
#define VDEC_HELP N_( "Settings for the video, images or video+audio decoders and encoders." )
Clément Stenac's avatar
Clément Stenac committed
114 115

#define ADEC_TITLE  N_( "Audio codecs" )
116
#define ADEC_HELP N_( "Settings for the audio-only decoders and encoders." )
Clément Stenac's avatar
Clément Stenac committed
117

118 119
#define SDEC_TITLE N_( "Subtitles codecs")
#define SDEC_HELP N_( "Settings for subtitles, teletext and CC decoders and encoders." )
Clément Stenac's avatar
Clément Stenac committed
120

121 122
#define ADVANCED_TITLE N_("General Input" )
#define ADVANCED_HELP N_( "General input settings. Use with care..." )
Clément Stenac's avatar
Clément Stenac committed
123 124 125 126

/* Sout */
#define SOUT_TITLE N_( "Stream output" )
#define SOUT_HELP N_( \
127 128
      "Stream output settings are used when acting as a streaming server " \
      "or when saving incoming streams.\n" \
Clément Stenac's avatar
Clément Stenac committed
129 130 131 132
      "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, "\
133
      "duplicating...).")
Clément Stenac's avatar
Clément Stenac committed
134 135 136 137

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

#define SOUT_MUX_TITLE N_( "Muxers" )
138 139 140 141 142 143 144
#define SOUT_MUX_HELP 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." )

Clément Stenac's avatar
Clément Stenac committed
145
#define SOUT_ACO_TITLE N_( "Access output" )
146 147 148 149 150
#define SOUT_ACO_HELP 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.")
Clément Stenac's avatar
Clément Stenac committed
151 152

#define SOUT_PACKET_TITLE N_( "Packetizers" )
153
#define SOUT_PACKET_HELP N_( \
Christophe Mutricy's avatar
typo  
Christophe Mutricy committed
154
        "Packetizers are used to \"preprocess\" the elementary "\
155 156 157 158
        "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." )
Clément Stenac's avatar
Clément Stenac committed
159 160 161 162 163 164 165 166

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

#define SOUT_SAP_TITLE N_( "SAP" )
167 168 169
#define SOUT_SAP_HELP N_( \
                 "SAP is a way to publically announce streams that are being "\
                 "sent using multicast UDP or RTP." )
Clément Stenac's avatar
Clément Stenac committed
170 171 172 173 174 175 176

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


/* Playlist */
#define PLAYLIST_TITLE N_( "Playlist" )
177 178 179
#define PLAYLIST_HELP N_( "Settings related to playlist behaviour " \
        "(e.g. playback mode) and to modules that automatically add "\
        "items to the playlist (\"service discovery\" modules).")
Clément Stenac's avatar
Clément Stenac committed
180 181 182

#define PGENERAL_HELP N_( "General playlist behaviour")
#define SD_TITLE N_("Services discovery")
183 184
#define SD_HELP N_("Services discovery modules are facilities "\
        "that automatically add items to playlist.")
Clément Stenac's avatar
Clément Stenac committed
185 186 187

/* Advanced */
#define AADVANCED_TITLE N_( "Advanced" )
188
#define AADVANCED_HELP N_( "Advanced settings. Use with care...")
Clément Stenac's avatar
Clément Stenac committed
189 190

#define CPU_TITLE N_( "CPU features" )
191
#define CPU_HELP N_( "You can choose to disable some CPU accelerations " \
192
        "here. Use with extreme care!" )
Clément Stenac's avatar
Clément Stenac committed
193

Clément Stenac's avatar
Clément Stenac committed
194
#define MISC_TITLE N_( "Advanced settings" )
Clément Stenac's avatar
Clément Stenac committed
195

196 197 198

/* OLD */
#if 0
Clément Stenac's avatar
Clément Stenac committed
199 200
#define NETWORK_TITLE N_( "Network" )
#define NETWORK_HELP N_( "These modules provide network functions to all " \
201
                "other parts of VLC." )
Clément Stenac's avatar
Clément Stenac committed
202 203 204 205 206

#define CHROMA_TITLE N_("Chroma modules settings")
#define CHROMA_HELP N_("These settings affect chroma transformation modules.")

#define PACKETIZER_TITLE  N_("Packetizer modules settings" )
207 208
#define PACKETIZER_HELP "These are general settings for the "\
        "packetizers used in VLC's stream output subsystem."
Clément Stenac's avatar
Clément Stenac committed
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228

#define ENCODER_TITLE N_("Encoders settings")
#define ENCODER_HELP N_( \
    "These are general settings for video/audio/subtitles encoding modules.")


#define DIALOGS_TITLE N_("Dialog providers settings")
#define DIALOGS_HELP  N_( \
    "Dialog providers can be configured here.")

#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.")

/*
 *  A little help for modules with unknown capabilities
 */

#define UNKNOWN_TITLE N_("No help available" )
229
#define UNKNOWN_HELP N_("There is no help available for these modules.")
230
#endif
Clément Stenac's avatar
Clément Stenac committed
231

Clément Stenac's avatar
Clément Stenac committed
232
/* This function is deprecated and is kept only for compatibility */
233
static const struct config_category_t categories_array[] =
Clément Stenac's avatar
Clément Stenac committed
234 235 236
{
    /* Interface */
    { CAT_INTERFACE, INTF_TITLE, INTF_HELP },
237
    { SUBCAT_INTERFACE_GENERAL, INTF_TITLE, INTF_GENERAL_HELP },
Clément Stenac's avatar
Clément Stenac committed
238
    { SUBCAT_INTERFACE_MAIN, INTF_MAIN_TITLE, INTF_MAIN_HELP },
Clément Stenac's avatar
Clément Stenac committed
239 240 241 242
    { SUBCAT_INTERFACE_CONTROL, INTF_CONTROL_TITLE, INTF_CONTROL_HELP },
    { SUBCAT_INTERFACE_HOTKEYS, INTF_HOTKEYS_TITLE, INTF_HOTKEYS_HELP },

    { CAT_AUDIO, AUDIO_TITLE, AUDIO_HELP },
243
    { SUBCAT_AUDIO_GENERAL, AUDIO_TITLE, AUDIO_GENERAL_HELP },
Clément Stenac's avatar
Clément Stenac committed
244 245 246 247 248 249
    { SUBCAT_AUDIO_AOUT, AOUT_TITLE, AOUT_HELP },
    { SUBCAT_AUDIO_AFILTER, AFILTER_TITLE, AFILTER_HELP },
    { SUBCAT_AUDIO_VISUAL, AVISUAL_TITLE, AVISUAL_HELP },
    { SUBCAT_AUDIO_MISC, AMISC_TITLE, AMISC_HELP },

    { CAT_VIDEO, VIDEO_TITLE, VIDEO_HELP },
250
    { SUBCAT_VIDEO_GENERAL, VIDEO_TITLE, VIDEO_GENERAL_HELP },
Clément Stenac's avatar
Clément Stenac committed
251 252 253 254 255
    { SUBCAT_VIDEO_VOUT, _VOUT_TITLE, VOUT_HELP },
    { SUBCAT_VIDEO_VFILTER, VFILTER_TITLE, VFILTER_HELP },
    { SUBCAT_VIDEO_SUBPIC, SUBPIC_TITLE, SUBPIC_HELP },

    { CAT_INPUT, INPUT_TITLE, INPUT_HELP },
256
    { SUBCAT_INPUT_GENERAL, INPUT_TITLE, INPUT_HELP },
Clément Stenac's avatar
Clément Stenac committed
257 258 259 260 261
    { SUBCAT_INPUT_ACCESS, ACCESS_TITLE, ACCESS_HELP },
    { SUBCAT_INPUT_DEMUX, DEMUX_TITLE, DEMUX_HELP },
    { SUBCAT_INPUT_VCODEC, VDEC_TITLE, VDEC_HELP },
    { SUBCAT_INPUT_ACODEC, ADEC_TITLE, ADEC_HELP },
    { SUBCAT_INPUT_SCODEC, SDEC_TITLE, SDEC_HELP },
262
    { SUBCAT_INPUT_STREAM_FILTER, STREAM_FILTER_TITLE, STREAM_FILTER_HELP },
Clément Stenac's avatar
Clément Stenac committed
263 264

    { CAT_SOUT, SOUT_TITLE, SOUT_HELP },
265
    { SUBCAT_SOUT_GENERAL, SOUT_TITLE, SOUT_GENERAL_HELP },
Clément Stenac's avatar
Clément Stenac committed
266 267 268 269 270 271 272 273
    { SUBCAT_SOUT_STREAM, SOUT_STREAM_TITLE, SOUT_STREAM_HELP },
    { SUBCAT_SOUT_MUX, SOUT_MUX_TITLE, SOUT_MUX_HELP },
    { SUBCAT_SOUT_ACO, SOUT_ACO_TITLE, SOUT_ACO_HELP },
    { SUBCAT_SOUT_PACKETIZER, SOUT_PACKET_TITLE, SOUT_PACKET_HELP },
    { SUBCAT_SOUT_SAP, SOUT_SAP_TITLE, SOUT_SAP_HELP },
    { SUBCAT_SOUT_VOD, SOUT_VOD_TITLE, SOUT_VOD_HELP },

    { CAT_PLAYLIST, PLAYLIST_TITLE , PLAYLIST_HELP },
274
    { SUBCAT_PLAYLIST_GENERAL, PLAYLIST_TITLE, PGENERAL_HELP },
Clément Stenac's avatar
Clément Stenac committed
275 276 277 278
    { SUBCAT_PLAYLIST_SD, SD_TITLE, SD_HELP },

    { CAT_ADVANCED, AADVANCED_TITLE, AADVANCED_HELP },
    { SUBCAT_ADVANCED_CPU, CPU_TITLE, CPU_HELP },
279
    { SUBCAT_ADVANCED_MISC, MISC_TITLE, AADVANCED_HELP },
Clément Stenac's avatar
Clément Stenac committed
280 281 282 283

    { -1, NULL, NULL }
};

284
VLC_USED
Christophe Mutricy's avatar
Christophe Mutricy committed
285
static inline const char *config_CategoryNameGet( int i_value )
Clément Stenac's avatar
Clément Stenac committed
286
{
287
    int i = 0;
Clément Stenac's avatar
Clément Stenac committed
288 289 290 291
    while( categories_array[i].psz_name != NULL )
    {
        if( categories_array[i].i_id == i_value )
        {
292
            return vlc_gettext(categories_array[i].psz_name);
Clément Stenac's avatar
Clément Stenac committed
293 294 295 296 297 298
        }
        i++;
    }
    return NULL;
}

299
VLC_USED
Christophe Mutricy's avatar
Christophe Mutricy committed
300
static inline const char *config_CategoryHelpGet( int i_value )
Clément Stenac's avatar
Clément Stenac committed
301
{
302
    int i = 0;
Clément Stenac's avatar
Clément Stenac committed
303 304 305 306
    while( categories_array[i].psz_help != NULL )
    {
        if( categories_array[i].i_id == i_value )
        {
307
            return vlc_gettext(categories_array[i].psz_help);
Clément Stenac's avatar
Clément Stenac committed
308 309 310 311 312 313 314
        }
        i++;
    }
    return NULL;
}

#endif /* VLC_HELP_H */