]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Add Slovenian translation
[vlc] / src / libvlc.h
index f1561408dfafdfa0aaafa5e671b618091ac0847a..c25f579c1bf56bbdc31852e1f6478da213694f04 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * libvlc.h: main libvlc header
+ * libvlc.h: Options for the main module
  *****************************************************************************
  * Copyright (C) 1998-2006 the VideoLAN team
  * $Id$
 
 #define Nothing here, this is just to prevent update-po from being stupid
 #include "vlc_keys.h"
+#include "vlc_meta.h"
 
 #if defined (WIN32) || defined (__APPLE__)
-static char *ppsz_language[] =
+static const char *ppsz_language[] =
 { "auto", "en", "en_GB", "ca", "cs", "da", "de", "es", "fr", "gl", "he", "hu",
-  "it", "ja", "ka", "ko", "nl", "oc", "pt_BR", "ro", "ru", "sv", "tr",
-  "zh_CN", "zh_TW" };
+  "it", "ja", "ka", "ko", "ms", "nl", "oc", "pt_BR", "ro", "ru", "sk", "sl",
+  "sv", "tr", "zh_CN", "zh_TW" };
 
-static char *ppsz_language_text[] =
+static const char *ppsz_language_text[] =
 { N_("Auto"), N_("American English"), N_("British English"),
 N_("Catalan"), N_("Czech"), N_("Danish"), N_("German"), N_("Spanish"),
 N_("French"), N_("Galician"), N_("Hebrew"), N_("Hungarian"),N_("Italian"),
-N_("Japanese"),N_("Georgian"), N_("Korean"), N_("Dutch"), N_("Occitan"),
-N_("Brazilian Portuguese"), N_("Romanian"), N_("Russian"), N_("Swedish"),
-N_("Turkish"), N_("Simplified Chinese"), N_("Chinese Traditional") };
+N_("Japanese"),N_("Georgian"), N_("Korean"), N_("Malay"), N_("Dutch"),
+N_("Occitan"), N_("Brazilian Portuguese"), N_("Romanian"), N_("Russian"),
+N_("Slovak"), N_("Slovenian"), N_("Swedish"), N_("Turkish"),
+N_("Simplified Chinese"), N_("Chinese Traditional") };
 #endif
 
-static char *ppsz_snap_formats[] =
+static const char *ppsz_snap_formats[] =
 { "png", "jpg" };
 
 /*****************************************************************************
@@ -197,7 +199,7 @@ static char *ppsz_snap_formats[] =
     "enhance your experience, especially when combined with the Headphone "\
     "Channel Mixer." )
 static int pi_force_dolby_values[] = { 0, 1, 2 };
-static char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") };
+static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") };
 
 
 #define AUDIO_FILTER_TEXT N_("Audio filters")
@@ -262,7 +264,7 @@ static char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off")
     "will be centered (0=center, 1=left, 2=right, 4=top, 8=bottom, you can " \
     "also use combinations of these values, like 6=4+2 meaning top-right).")
 static int pi_align_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 };
-static char *ppsz_align_descriptions[] =
+static const char *ppsz_align_descriptions[] =
 { N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"),
   N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") };
 
@@ -275,6 +277,10 @@ static char *ppsz_align_descriptions[] =
     "Output video in grayscale. As the color information aren't decoded, " \
     "this can save some processing power." )
 
+#define EMBEDDED_TEXT N_("Embedded video")
+#define EMBEDDED_LONGTEXT N_( \
+    "Embed the video output in the main interface." )
+
 #define FULLSCREEN_TEXT N_("Fullscreen video output")
 #define FULLSCREEN_LONGTEXT N_( \
     "Start video in fullscreen mode" )
@@ -296,16 +302,26 @@ static char *ppsz_align_descriptions[] =
     "VLC can avoid creating window caption, frames, etc... around the video" \
     ", giving a \"minimal\" window.")
 
-#define FILTER_TEXT N_("Video filter module")
-#define FILTER_LONGTEXT N_( \
+#define VOUT_FILTER_TEXT N_("Video output filter module")
+#define VOUT_FILTER_LONGTEXT N_( \
     "This adds post-processing filters to enhance the " \
     "picture quality, for instance deinterlacing, or to clone or distort " \
     "the video window.")
 
-#define SNAP_PATH_TEXT N_("Video snapshot directory")
+#define VIDEO_FILTER_TEXT N_("Video filter module")
+#define VIDEO_FILTER_LONGTEXT N_( \
+    "This adds post-processing filters to enhance the " \
+    "picture quality, for instance deinterlacing, or distort" \
+    "the video.")
+
+#define SNAP_PATH_TEXT N_("Video snapshot directory (or filename)")
 #define SNAP_PATH_LONGTEXT N_( \
     "Directory where the video snapshots will be stored.")
 
+#define SNAP_PREFIX_TEXT N_("Video snapshot file prefix")
+#define SNAP_PREFIX_LONGTEXT N_( \
+    "Video snapshot file prefix" )
+
 #define SNAP_FORMAT_TEXT N_("Video snapshot format")
 #define SNAP_FORMAT_LONGTEXT N_( \
     "Image format which will be used to store the video snapshots" )
@@ -314,6 +330,10 @@ static char *ppsz_align_descriptions[] =
 #define SNAP_PREVIEW_LONGTEXT N_( \
     "Display the snapshot preview in the screen's top-left corner.")
 
+#define SNAP_SEQUENTIAL_TEXT N_("Use sequential numbers instead of timestamps")
+#define SNAP_SEQUENTIAL_LONGTEXT N_( \
+    "Use sequential numbers instead of timestamps for snapshot numbering")
+
 #define CROP_TEXT N_("Video cropping")
 #define CROP_LONGTEXT N_( \
     "This forces the cropping of the source video. " \
@@ -378,6 +398,10 @@ static char *ppsz_align_descriptions[] =
     "subsystem, such as the DVD or VCD device, the network interface " \
     "settings or the subtitle channel.")
 
+#define FRANCE_LONGTEXT N_( \
+    "If you live in France, it is not allowed to workaround any Digital " \
+    "Restrictions Management measure." )
+
 #define CR_AVERAGE_TEXT N_("Clock reference average counter")
 #define CR_AVERAGE_LONGTEXT N_( \
     "When using the PVR input (or a very irregular source), you should " \
@@ -395,7 +419,7 @@ static char *ppsz_align_descriptions[] =
         "are available in Advanced / Network Sync." )
 
 static int pi_clock_values[] = { -1, 0, 1 };
-static char *ppsz_clock_descriptions[] =
+static const char *ppsz_clock_descriptions[] =
 { N_("Default"), N_("Disable"), N_("Enable") };
 
 #define SERVER_PORT_TEXT N_("UDP port")
@@ -410,18 +434,23 @@ static char *ppsz_clock_descriptions[] =
 #define TTL_TEXT N_("Hop limit (TTL)")
 #define TTL_LONGTEXT N_( \
     "This is the hop limit (also known as \"Time-To-Live\" or TTL) of " \
-    "the multicast packets sent by the stream output (0 = use operating "\
+    "the multicast packets sent by the stream output (-1 = use operating " \
     "system built-in default).")
 
-#define MIFACE_TEXT N_("IPv6 multicast output interface")
+#define MIFACE_TEXT N_("Multicast output interface")
 #define MIFACE_LONGTEXT N_( \
-    "Default IPv6 multicast interface. This overrides the routing table.")
+    "Default multicast interface. This overrides the routing table.")
 
 #define MIFACE_ADDR_TEXT N_("IPv4 multicast output interface address")
 #define MIFACE_ADDR_LONGTEXT N_( \
     "IPv4 adress for the default multicast interface. This overrides " \
     "the routing table.")
 
+#define DSCP_TEXT N_("DiffServ Code Point")
+#define DSCP_LONGTEXT N_("Differentiated Services Code Point " \
+    "for outgoing UDP streams (or IPv4 Type Of Service, " \
+    "or IPv6 Traffic Class). This is used for network Quality of Service.")
+
 #define INPUT_PROGRAM_TEXT N_("Program")
 #define INPUT_PROGRAM_LONGTEXT N_( \
     "Choose the program to select by giving its Service ID. " \
@@ -835,6 +864,10 @@ static char *ppsz_clock_descriptions[] =
 #define DAEMON_LONGTEXT N_( \
      "Runs VLC as a background daemon process.")
 
+#define PIDFILE_TEXT N_("Write process id to file")
+#define PIDFILE_LONGTEXT N_( \
+       "Writes process id into specified file.")
+
 #define FILE_LOG_TEXT N_( "Log to file" )
 #define FILE_LOG_LONGTEXT N_( \
     "Log all VLC messages to a text file." )
@@ -907,6 +940,19 @@ static char *ppsz_clock_descriptions[] =
     "Automatically preparse files added to the playlist " \
     "(to retrieve some metadata)." )
 
+#define ALBUM_ART_TEXT N_( "Album art policy" )
+#define ALBUM_ART_LONGTEXT N_( \
+    "Choose when to download and cache album art." )
+
+static int pi_albumart_values[] = { ALBUM_ART_NEVER,
+                                    ALBUM_ART_WHEN_ASKED,
+                                    ALBUM_ART_WHEN_PLAYED,
+                                    ALBUM_ART_ALL };
+static const char *ppsz_albumart_descriptions[] =
+    { N_("Never download"), N_("Download when asked"),
+      N_("Download when track starts playing"),
+      N_("Download everything ASAP") };
+
 #define SD_TEXT N_( "Services discovery modules")
 #define SD_LONGTEXT N_( \
      "Specifies the services discovery modules to load, separated by " \
@@ -928,6 +974,25 @@ static char *ppsz_clock_descriptions[] =
 #define PAS_LONGTEXT N_( \
     "Stop the playlist after each played playlist item." )
 
+#define PAE_TEXT N_("Play and exit")
+#define PAE_LONGTEXT N_( \
+                "Exit if there are no more items in the playlist." )
+
+#define ML_TEXT N_("Use media library")
+#define ML_LONGTEXT N_( \
+    "The media library is automatically saved and reloaded each time you " \
+    "start VLC." )
+
+#define PLTREE_TEXT N_("Use playlist tree")
+#define PLTREE_LONGTEXT N_( \
+    "The playlist can use a tree to categorize some items, like the " \
+    "contents of a directory. \"Default\" means that the tree will only " \
+    "be used when really needed." )
+static int pi_pltree_values[] = { 0, 1, 2 };
+static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N_("Never") };
+
+
+
 /*****************************************************************************
  * Hotkeys
  ****************************************************************************/
@@ -1212,6 +1277,8 @@ vlc_module_begin();
     add_bool( "fullscreen", 0, NULL, FULLSCREEN_TEXT,
               FULLSCREEN_LONGTEXT, VLC_FALSE );
         change_short('f');
+    add_bool( "embedded-video", 1, NULL, EMBEDDED_TEXT, EMBEDDED_LONGTEXT,
+              VLC_TRUE );
     add_bool( "drop-late-frames", 1, NULL, DROP_LATE_FRAMES_TEXT,
               DROP_LATE_FRAMES_LONGTEXT, VLC_TRUE );
     /* Used in vout_synchro */
@@ -1230,11 +1297,15 @@ vlc_module_begin();
     set_section( N_("Snapshot") , NULL );
     add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT,
                    SNAP_PATH_LONGTEXT, VLC_FALSE );
+    add_string( "snapshot-prefix", "vlcsnap-", NULL, SNAP_PREFIX_TEXT,
+                   SNAP_PREFIX_LONGTEXT, VLC_FALSE );
     add_string( "snapshot-format", "png", NULL, SNAP_FORMAT_TEXT,
                    SNAP_FORMAT_LONGTEXT, VLC_FALSE );
         change_string_list( ppsz_snap_formats, NULL, 0 );
     add_bool( "snapshot-preview", VLC_TRUE, NULL, SNAP_PREVIEW_TEXT,
               SNAP_PREVIEW_LONGTEXT, VLC_FALSE );
+    add_bool( "snapshot-sequential", VLC_FALSE, NULL, SNAP_SEQUENTIAL_TEXT,
+              SNAP_SEQUENTIAL_LONGTEXT, VLC_FALSE );
 
     set_section( N_("Window properties" ), NULL );
     add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE );
@@ -1266,9 +1337,12 @@ vlc_module_begin();
         change_short('V');
 
     set_subcategory( SUBCAT_VIDEO_VFILTER );
-    add_module_list_cat( "vout-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
-                FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE );
+    add_module_list_cat( "video-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
+                VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, VLC_FALSE );
        add_deprecated( "filter", VLC_FALSE ); /*deprecated since 0.8.2 */
+//       add_deprecated( "vout-filter", VLC_FALSE ); /* deprecated since 0.8.6 *// While the "video-filter" chain isn't parsed for both vfilter and vfilter2, keep both options
+    add_module_list_cat( "vout-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
+                        NULL, NULL, VLC_FALSE );
 #if 0
     add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT );
 #endif
@@ -1308,6 +1382,8 @@ vlc_module_begin();
     set_category( CAT_INPUT );
     set_subcategory( SUBCAT_INPUT_GENERAL );
 
+    add_bool( "france", VLC_FALSE, NULL, N_("France"), FRANCE_LONGTEXT, VLC_TRUE );
+
     set_section( N_( "Track settings" ), NULL );
     add_integer( "program", 0, NULL,
                  INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, VLC_TRUE );
@@ -1461,9 +1537,10 @@ vlc_module_begin();
     set_subcategory( SUBCAT_SOUT_ACO );
     add_module( "access_output", "sout access", NULL, NULL,
                 ACCESS_OUTPUT_TEXT, ACCESS_OUTPUT_LONGTEXT, VLC_TRUE );
-    add_integer( "ttl", 0, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE );
+    add_integer( "ttl", -1, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE );
     add_string( "miface", NULL, NULL, MIFACE_TEXT, MIFACE_LONGTEXT, VLC_TRUE );
     add_string( "miface-addr", NULL, NULL, MIFACE_ADDR_TEXT, MIFACE_ADDR_LONGTEXT, VLC_TRUE );
+    add_integer( "dscp", 0, NULL, DSCP_TEXT, DSCP_LONGTEXT, VLC_TRUE );
 
     set_subcategory( SUBCAT_SOUT_PACKETIZER );
     add_module( "packetizer","packetizer", NULL, NULL,
@@ -1481,15 +1558,22 @@ vlc_module_begin();
     set_subcategory( SUBCAT_ADVANCED_CPU );
     add_category_hint( N_("CPU"), CPU_CAT_LONGTEXT, VLC_TRUE );
     add_bool( "fpu", 1, NULL, FPU_TEXT, FPU_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 #if defined( __i386__ ) || defined( __x86_64__ )
     add_bool( "mmx", 1, NULL, MMX_TEXT, MMX_LONGTEXT, VLC_TRUE );
+        change_need_restart();
     add_bool( "3dn", 1, NULL, THREE_DN_TEXT, THREE_DN_LONGTEXT, VLC_TRUE );
+        change_need_restart();
     add_bool( "mmxext", 1, NULL, MMXEXT_TEXT, MMXEXT_LONGTEXT, VLC_TRUE );
+        change_need_restart();
     add_bool( "sse", 1, NULL, SSE_TEXT, SSE_LONGTEXT, VLC_TRUE );
+        change_need_restart();
     add_bool( "sse2", 1, NULL, SSE2_TEXT, SSE2_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 #endif
 #if defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc64__ )
     add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 #endif
 
 /* Misc options */
@@ -1499,25 +1583,31 @@ vlc_module_begin();
     add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT,
                 MEMCPY_LONGTEXT, VLC_TRUE );
         change_short('A');
+        change_need_restart();
 
     set_section( N_("Plugins" ), NULL );
     add_bool( "plugins-cache", VLC_TRUE, NULL, PLUGINS_CACHE_TEXT,
               PLUGINS_CACHE_LONGTEXT, VLC_TRUE );
+        change_need_restart();
     add_directory( "plugin-path", NULL, NULL, PLUGIN_PATH_TEXT,
                    PLUGIN_PATH_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 
     set_section( N_("Performance options"), NULL );
     add_bool( "minimize-threads", 0, NULL, MINIMIZE_THREADS_TEXT,
               MINIMIZE_THREADS_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 
 #if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H)
     add_bool( "rt-priority", VLC_FALSE, NULL, RT_PRIORITY_TEXT,
               RT_PRIORITY_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 #endif
 
 #if !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H)
     add_integer( "rt-offset", 0, NULL, RT_OFFSET_TEXT,
                  RT_OFFSET_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 #endif
 
 #if defined(WIN32)
@@ -1532,10 +1622,13 @@ vlc_module_begin();
               PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE );
     add_bool( "high-priority", 0, NULL, HPRIORITY_TEXT,
               HPRIORITY_LONGTEXT, VLC_FALSE );
+        change_need_restart();
     add_bool( "fast-mutex", 0, NULL, FAST_MUTEX_TEXT,
               FAST_MUTEX_LONGTEXT, VLC_TRUE );
+        change_need_restart();
     add_integer( "win9x-cv-method", 1, NULL, WIN9X_CV_TEXT,
                   WIN9X_CV_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 #endif
 
 /* Playlist options */
@@ -1544,20 +1637,36 @@ vlc_module_begin();
     add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE );
     add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE );
         change_short('Z');
+        change_autosave();
     add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE );
         change_short('L');
+        change_autosave();
     add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_FALSE );
         change_short('R');
+        change_autosave();
+    add_bool( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, VLC_FALSE );
     add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, VLC_FALSE );
+    add_bool( "media-library", 1, NULL, ML_TEXT, ML_LONGTEXT, VLC_FALSE );
+    add_integer( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT,
+                 VLC_TRUE );
+        change_integer_list( pi_pltree_values, ppsz_pltree_descriptions, 0 );
 
     add_string( "open", "", NULL, OPEN_TEXT, OPEN_LONGTEXT, VLC_FALSE );
+        change_need_restart();
 
-    add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT, PREPARSE_LONGTEXT, VLC_FALSE );
+    add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT,
+              PREPARSE_LONGTEXT, VLC_FALSE );
+
+    add_integer( "album-art", ALBUM_ART_WHEN_PLAYED, NULL, ALBUM_ART_TEXT,
+                 ALBUM_ART_LONGTEXT, VLC_FALSE );
+        change_integer_list( pi_albumart_values,
+                             ppsz_albumart_descriptions, 0 );
 
     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');
+        change_need_restart();
 
 /* Interface options */
     set_category( CAT_INTERFACE );
@@ -1571,44 +1680,58 @@ vlc_module_begin();
 #if !defined(WIN32)
     add_bool( "daemon", 0, NULL, DAEMON_TEXT, DAEMON_LONGTEXT, VLC_TRUE );
         change_short('d');
+        change_need_restart();
+
+    add_string( "pidfile", NULL, NULL, PIDFILE_TEXT, PIDFILE_LONGTEXT,
+                                       VLC_FALSE );
+        change_need_restart();
 #endif
 
     add_bool( "file-logging", VLC_FALSE, NULL, FILE_LOG_TEXT, FILE_LOG_LONGTEXT,
               VLC_TRUE );
+        change_need_restart();
 #if HAVE_SYSLOG_H
     add_bool ( "syslog", VLC_FALSE, NULL, SYSLOG_TEXT, SYSLOG_LONGTEXT,
                VLC_TRUE );
+        change_need_restart();
 #endif
 
 #if defined (WIN32) || defined (__APPLE__)
     add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT,
                 VLC_FALSE );
         change_string_list( ppsz_language, ppsz_language_text, 0 );
+        change_need_restart();
 #endif
 
     add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
     add_bool( "advanced", 0, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT,
                     VLC_FALSE );
+        change_need_restart();
     add_bool( "interact", VLC_FALSE, NULL, INTERACTION_TEXT,
               INTERACTION_LONGTEXT, VLC_FALSE );
 
     add_bool( "show-intf", VLC_FALSE, NULL, SHOWINTF_TEXT, SHOWINTF_LONGTEXT,
               VLC_FALSE );
+        change_need_restart();
 
     add_bool ( "stats", VLC_TRUE, NULL, STATS_TEXT, STATS_LONGTEXT, VLC_TRUE );
+        change_need_restart();
 
     set_subcategory( SUBCAT_INTERFACE_MAIN );
     add_module_cat( "intf", SUBCAT_INTERFACE_MAIN, NULL, NULL, INTF_TEXT,
                 INTF_LONGTEXT, VLC_FALSE );
         change_short('I');
+        change_need_restart();
     add_module_list_cat( "extraintf", SUBCAT_INTERFACE_MAIN,
                          NULL, NULL, EXTRAINTF_TEXT,
                          EXTRAINTF_LONGTEXT, VLC_FALSE );
+        change_need_restart();
 
 
     set_subcategory( SUBCAT_INTERFACE_CONTROL );
     add_module_list_cat( "control", SUBCAT_INTERFACE_CONTROL, NULL, NULL,
                          CONTROL_TEXT, CONTROL_LONGTEXT, VLC_FALSE );
+        change_need_restart();
 
 /* Hotkey options*/
     set_subcategory( SUBCAT_INTERFACE_HOTKEYS );
@@ -2008,29 +2131,66 @@ vlc_module_end();
 
 static module_config_t p_help_config[] =
 {
-    { CONFIG_ITEM_BOOL, NULL, "help", 'h',
-      N_("print help for VLC (can be combined with --advanced)") },
-    { CONFIG_ITEM_BOOL, NULL, "longhelp", 'H',
-      N_("print help for VLC and all its modules (can be combined with --advanced)") },
-    { CONFIG_ITEM_BOOL, NULL, "advanced", '\0',
-      N_("print help for the advanced options") },
-    { CONFIG_ITEM_BOOL, NULL, "help-verbose", '\0',
-      N_("ask for extra verbosity when displaying help") },
-    { CONFIG_ITEM_BOOL, NULL, "list", 'l',
-      N_("print a list of available modules") },
-    { CONFIG_ITEM_STRING, NULL, "module", 'p',
-      N_("print help on a specific module (can be combined with --advanced)") },
-    { CONFIG_ITEM_BOOL, NULL, "save-config", '\0',
-      N_("save the current command line options in the config") },
-    { CONFIG_ITEM_BOOL, NULL, "reset-config", '\0',
-      N_("reset the current config to the default values") },
-    { CONFIG_ITEM_STRING, NULL, "config", '\0',
-      N_("use alternate config file") },
-    { CONFIG_ITEM_BOOL, NULL, "reset-plugins-cache", '\0',
-      N_("resets the current plugins cache") },
-    { CONFIG_ITEM_BOOL, NULL, "version", '\0',
-      N_("print version information") },
-    { CONFIG_HINT_END, NULL, NULL, '\0', NULL }
+    { 
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "help",
+        .i_short  = 'h',
+        .psz_text = N_("print help for VLC (can be combined with --advanced)")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "longhelp",
+        .i_short  = 'H',
+        .psz_text = N_("print help for VLC and all its modules (can be combined with --advanced)")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "advanced",
+        .psz_text = N_("print help for the advanced options")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "help-verbose",
+        .psz_text = N_("ask for extra verbosity when displaying help")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "list",
+        .i_short  = 'l',
+        .psz_text = N_("print a list of available modules")
+    },
+    {
+        .i_type   = CONFIG_ITEM_STRING,
+        .psz_name = "module",
+        .i_short  = 'p',
+        .psz_text = N_("print help on a specific module (can be combined with --advanced)")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "save-config",
+        .psz_text = N_("save the current command line options in the config")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "reset-config",
+        .psz_text = N_("reset the current config to the default values")
+    },
+    {
+        .i_type   = CONFIG_ITEM_STRING,
+        .psz_name = "config",
+        .psz_text = N_("use alternate config file")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "reset-plugins-cache",
+        .psz_text = N_("resets the current plugins cache")
+    },
+    {
+        .i_type   = CONFIG_ITEM_BOOL,
+        .psz_name = "version",
+        .psz_text = N_("print version information")
+    },
+    { .i_type = CONFIG_HINT_END }
 };
 
 /*****************************************************************************
@@ -2038,7 +2198,8 @@ static module_config_t p_help_config[] =
  *****************************************************************************/
 
 /*****************************************************************************
- * Initializer for the vlc_t structure storing the action / key associations
+ * Initializer for the libvlc instance structure
+ * storing the action / key associations
  *****************************************************************************/
 static struct hotkey p_hotkeys[] =
 {