]> git.sesse.net Git - vlc/blobdiff - src/libvlc-module.c
Fix commit.
[vlc] / src / libvlc-module.c
index 1b801c1beab261e955fa294b0823dc1800172e82..a9c531299ddc6e20e5b31f16fd09012de1e0f566 100644 (file)
 #define __BUILTIN__
 
 
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
+#include <vlc_plugin.h>
 #include "libvlc.h"
 
 //#define Nothing here, this is just to prevent update-po from being stupid
@@ -38,7 +43,7 @@
 #include "vlc_meta.h"
 
 #if defined (WIN32) || defined (__APPLE__)
-static const char *ppsz_language[] =
+static const char *const ppsz_language[] =
 {
     "auto",
     "en",
@@ -64,9 +69,11 @@ static const char *ppsz_language[] =
     "oc",
     "fa",
     "pl",
+    "pt_PT",
     "ro",
     "ru",
     "zh_CN",
+    "sr",
     "sk",
     "sl",
     "es",
@@ -74,7 +81,7 @@ static const char *ppsz_language[] =
     "tr"
 };
 
-static const char *ppsz_language_text[] =
+static const char *const ppsz_language_text[] =
 {
     N_("Auto"),
     N_("American English"),
@@ -100,9 +107,11 @@ static const char *ppsz_language_text[] =
     N_("Occitan"),
     N_("Persian"),
     N_("Polish"),
+    N_("Portuguese"),
     N_("Romanian"),
     N_("Russian"),
     N_("Simplified Chinese"),
+    N_("Serbian"),
     N_("Slovak"),
     N_("Slovenian"),
     N_("Spanish"),
@@ -111,7 +120,7 @@ static const char *ppsz_language_text[] =
 };
 #endif
 
-static const char *ppsz_snap_formats[] =
+static const char *const ppsz_snap_formats[] =
 { "png", "jpg" };
 
 /*****************************************************************************
@@ -211,8 +220,10 @@ static const char *ppsz_snap_formats[] =
     "You can completely disable the audio output. The audio " \
     "decoding stage will not take place, thus saving some processing power.")
 
+#if 0
 #define MONO_TEXT N_("Force mono audio")
 #define MONO_LONGTEXT N_("This will force a mono audio output.")
+#endif
 
 #define VOLUME_TEXT N_("Default audio volume")
 #define VOLUME_LONGTEXT N_( \
@@ -265,8 +276,9 @@ static const char *ppsz_snap_formats[] =
     "not actually encoded with Dolby Surround, turning on this option might "\
     "enhance your experience, especially when combined with the Headphone "\
     "Channel Mixer." )
-static int pi_force_dolby_values[] = { 0, 1, 2 };
-static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") };
+static const int pi_force_dolby_values[] = { 0, 1, 2 };
+static const char *const ppsz_force_dolby_descriptions[] = {
+    N_("Auto"), N_("On"), N_("Off") };
 
 
 #define AUDIO_FILTER_TEXT N_("Audio filters")
@@ -297,8 +309,10 @@ static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_(
 #define AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT N_( \
     "Protect against sound clipping" )
 
-static const char *ppsz_replay_gain_mode[] = { "none", "track", "album" };
-static const char *ppsz_replay_gain_mode_text[] = { N_("None"), N_("Track"), N_("Album") };
+static const char *const ppsz_replay_gain_mode[] = {
+    "none", "track", "album" };
+static const char *const ppsz_replay_gain_mode_text[] = {
+    N_("None"), N_("Track"), N_("Album") };
 
 /*****************************************************************************
  * Video
@@ -352,8 +366,8 @@ static const char *ppsz_replay_gain_mode_text[] = { N_("None"), N_("Track"), N_(
     "Enforce the alignment of the video in its window. By default (0) it " \
     "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 const char *ppsz_align_descriptions[] =
+static const int pi_align_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 };
+static const char *const 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") };
 
@@ -383,27 +397,33 @@ static const char *ppsz_align_descriptions[] =
 #define VIDEO_ON_TOP_LONGTEXT N_( \
     "Always place the video window on top of other windows." )
 
-#define VIDEO_TITLE_SHOW_TEXT N_("Show media title on video.")
+#define VIDEO_TITLE_SHOW_TEXT N_("Show media title on video")
 #define VIDEO_TITLE_SHOW_LONGTEXT N_( \
     "Display the title of the video on top of the movie.")
 
-#define VIDEO_TITLE_TIMEOUT_TEXT N_("Show video title for x miliseconds.")
+#define VIDEO_TITLE_TIMEOUT_TEXT N_("Show video title for x miliseconds")
 #define VIDEO_TITLE_TIMEOUT_LONGTEXT N_( \
     "Show the video title for n miliseconds, default is 5000 ms (5 sec.)")
 
-#define VIDEO_TITLE_POSITION_TEXT N_("Position of video title.")
+#define VIDEO_TITLE_POSITION_TEXT N_("Position of video title")
 #define VIDEO_TITLE_POSITION_LONGTEXT N_( \
     "Place on video where to display the title (default bottom center).")
 
-static int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 };
-static const char *ppsz_pos_descriptions[] =
+#define MOUSE_HIDE_TIMEOUT_TEXT N_("Hide cursor and fullscreen " \
+                                   "controller after x miliseconds")
+#define MOUSE_HIDE_TIMEOUT_LONGTEXT N_( \
+    "Hide mouse cursor and fullscreen controller after " \
+    "n miliseconds, default is 3000 ms (3 sec.)")
+
+static const int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 };
+static const char *const ppsz_pos_descriptions[] =
 { N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"),
   N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") };
 
 #define SS_TEXT N_("Disable screensaver")
 #define SS_LONGTEXT N_("Disable the screensaver during video playback." )
 
-#define INHIBIT_TEXT N_("Inhibits the power management daemon during playback.")
+#define INHIBIT_TEXT N_("Inhibit the power management daemon during playback")
 #define INHIBIT_LONGTEXT N_("Inhibits the power management daemon during any " \
     "playback, to avoid the computer being suspended because of inactivity.")
 
@@ -447,12 +467,14 @@ static const char *ppsz_pos_descriptions[] =
 #define SNAP_WIDTH_TEXT N_("Video snapshot width")
 #define SNAP_WIDTH_LONGTEXT N_( \
     "You can enforce the width of the video snapshot. By default " \
-    "it will be 320 pixels." )
+    "it will keep the original width (-1). Using 0 will scale the width " \
+    "to keep the aspect ratio." )
 
 #define SNAP_HEIGHT_TEXT N_("Video snapshot height")
 #define SNAP_HEIGHT_LONGTEXT N_( \
     "You can enforce the height of the video snapshot. By default " \
-    "it will be 200 pixels." )
+    "it will keep the original height (-1). Using 0 will scale the height " \
+    "to keep the aspect ratio." )
 
 #define CROP_TEXT N_("Video cropping")
 #define CROP_LONGTEXT N_( \
@@ -517,10 +539,6 @@ static const char *ppsz_pos_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 " \
@@ -537,8 +555,8 @@ static const char *ppsz_pos_descriptions[] =
         "synchronise clocks for server and client. The detailed settings " \
         "are available in Advanced / Network Sync." )
 
-static int pi_clock_values[] = { -1, 0, 1 };
-static const char *ppsz_clock_descriptions[] =
+static const int pi_clock_values[] = { -1, 0, 1 };
+static const char *const ppsz_clock_descriptions[] =
 { N_("Default"), N_("Disable"), N_("Enable") };
 
 #define SERVER_PORT_TEXT N_("UDP port")
@@ -809,7 +827,7 @@ static const char *ppsz_clock_descriptions[] =
     "This allows you to select a list of encoders that VLC will use in " \
     "priority.")
 
-#define SYSTEM_CODEC_TEXT N_("Prefer system plugins over vlc")
+#define SYSTEM_CODEC_TEXT N_("Prefer system plugins over VLC")
 #define SYSTEM_CODEC_LONGTEXT N_( \
     "Indicates whether VLC will prefer native plugins installed " \
     "on system over VLC owns plugins whenever a choice is available." )
@@ -977,9 +995,21 @@ static const char *ppsz_clock_descriptions[] =
 #define MINIMIZE_THREADS_LONGTEXT N_( \
      "This option minimizes the number of threads needed to run VLC.")
 
+#define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.")
+#define USE_STREAM_IMMEDIATE_LONGTEXT N_( \
+     "This option is useful if you want to lower the latency when " \
+     "reading a stream")
+
+#define AUTO_ADJUST_PTS_DELAY N_("(Experimental) Minimize latency when \
+     reading live stream.")
+#define AUTO_ADJUST_PTS_DELAY_LONGTEXT N_( \
+     "This option is useful if you want to lower the latency when " \
+     "reading a stream")
+
 #define PLUGIN_PATH_TEXT N_("Modules search path")
 #define PLUGIN_PATH_LONGTEXT N_( \
-    "Additional path for VLC to look for its modules.")
+    "Additional path for VLC to look for its modules. You can add " \
+    "several paths by concatenating them using \" PATH_SEP \" as separator")
 
 #define VLM_CONF_TEXT N_("VLM configuration file")
 #define VLM_CONF_LONGTEXT N_( \
@@ -1065,19 +1095,14 @@ static const char *ppsz_clock_descriptions[] =
     "Automatically preparse files added to the playlist " \
     "(to retrieve some metadata)." )
 
-#define FETCH_META_TEXT N_( "Authorise meta information fetching" )
-#define FETCH_META_LONGTEXT N_( \
-    "Specify if you want to attempt to fetch files'"\
-    "meta informations using the network." )
-
 #define ALBUM_ART_TEXT N_( "Album art policy" )
 #define ALBUM_ART_LONGTEXT N_( \
     "Choose how album art will be downloaded." )
 
-static int pi_albumart_values[] = { ALBUM_ART_WHEN_ASKED,
-                                    ALBUM_ART_WHEN_PLAYED,
-                                    ALBUM_ART_ALL };
-static const char *ppsz_albumart_descriptions[] =
+static const int pi_albumart_values[] = { ALBUM_ART_WHEN_ASKED,
+                                          ALBUM_ART_WHEN_PLAYED,
+                                          ALBUM_ART_ALL };
+static const char *const ppsz_albumart_descriptions[] =
     { N_("Manual download only"),
       N_("When track starts playing"),
       N_("As soon as track is added") };
@@ -1112,14 +1137,10 @@ static const char *ppsz_albumart_descriptions[] =
     "The media library is automatically saved and reloaded each time you " \
     "start VLC." )
 
-#define PLTREE_TEXT N_("Use playlist tree")
+#define PLTREE_TEXT N_("Display 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") };
-
+    "contents of a directory." )
 
 
 /*****************************************************************************
@@ -1224,6 +1245,12 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N
 #define AUDIODELAY_UP_KEY_LONGTEXT N_("Select the key to increase the audio delay.")
 #define AUDIODELAY_DOWN_KEY_TEXT N_("Audio delay down")
 #define AUDIODELAY_DOWN_KEY_LONGTEXT N_("Select the key to decrease the audio delay.")
+
+#define ZOOM_QUARTER_KEY_TEXT N_("1:4 Quarter")
+#define ZOOM_HALF_KEY_TEXT N_("1:2 Half")
+#define ZOOM_ORIGINAL_KEY_TEXT N_("1:1 Original")
+#define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double")
+
 #define PLAY_BOOKMARK1_KEY_TEXT N_("Play playlist bookmark 1")
 #define PLAY_BOOKMARK2_KEY_TEXT N_("Play playlist bookmark 2")
 #define PLAY_BOOKMARK3_KEY_TEXT N_("Play playlist bookmark 3")
@@ -1325,9 +1352,9 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N
     "video output for the time being." )
 
 #define MENU_ON_KEY_TEXT N_("Display OSD menu on top of video output")
-#define MENU_ON_KEY_LONGTEXT N_("Display OSDmenu on top of video output")
+#define MENU_ON_KEY_LONGTEXT N_("Display OSD menu on top of video output")
 #define MENU_OFF_KEY_TEXT N_("Do not display OSD menu on video output")
-#define MENU_OFF_KEY_LONGTEXT N_("Do not display OSDmenu on top of video output")
+#define MENU_OFF_KEY_LONGTEXT N_("Do not display OSD menu on top of video output")
 #define MENU_RIGHT_KEY_TEXT N_("Highlight widget on the right")
 #define MENU_RIGHT_KEY_LONGTEXT N_( \
         "Move OSD menu highlight to the widget on the right")
@@ -1344,6 +1371,8 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N
 #define MENU_SELECT_KEY_LONGTEXT N_( \
         "Selecting current widget performs the associated action.")
 
+#define AUDI_DEVICE_CYCLE_KEY_TEXT N_("Cycle through audio devices")
+#define AUDI_DEVICE_CYCLE_KEY_LONGTEXT N_("Cycle through available audio devices")
 const char vlc_usage[] = N_(
     "Usage: %s [options] [stream] ..."
     "\nYou can specify multiple streams on the commandline. They will be enqueued in the playlist."
@@ -1370,10 +1399,10 @@ const char vlc_usage[] = N_(
     "\n  [dvd://][device][@raw_device]  DVD device"
     "\n  [vcd://][device]               VCD device"
     "\n  [cdda://][device]              Audio CD device"
-    "\n  udp:[[<source address>]@[<bind address>][:<bind port>]]"
+    "\n  udp://[[<source address>]@[<bind address>][:<bind port>]]"
     "\n                                 UDP stream sent by a streaming server"
-    "\n  vlc:pause:<seconds>            Special item to pause the playlist for a certain time"
-    "\n  vlc:quit                       Special item to quit VLC"
+    "\n  vlc://pause:<seconds>          Special item to pause the playlist for a certain time"
+    "\n  vlc://quit                     Special item to quit VLC"
     "\n");
 
 /*
@@ -1397,140 +1426,156 @@ vlc_module_begin();
 /* Audio options */
     set_category( CAT_AUDIO );
     set_subcategory( SUBCAT_AUDIO_GENERAL );
-    add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , VLC_FALSE );
+    add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , false );
 
-    add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, VLC_FALSE );
+    add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, false );
+        change_safe();
     add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN,
                             AOUT_VOLUME_MAX, NULL, VOLUME_TEXT,
-                            VOLUME_LONGTEXT, VLC_FALSE );
+                            VOLUME_LONGTEXT, false );
     add_integer_with_range( "volume-step", AOUT_VOLUME_STEP, AOUT_VOLUME_MIN,
                             AOUT_VOLUME_MAX, NULL, VOLUME_STEP_TEXT,
-                            VOLUME_STEP_LONGTEXT, VLC_TRUE );
+                            VOLUME_STEP_LONGTEXT, true );
     add_integer( "aout-rate", -1, NULL, AOUT_RATE_TEXT,
-                 AOUT_RATE_LONGTEXT, VLC_TRUE );
+                 AOUT_RATE_LONGTEXT, true );
 #if !defined( __APPLE__ )
     add_bool( "hq-resampling", 1, NULL, AOUT_RESAMP_TEXT,
-              AOUT_RESAMP_LONGTEXT, VLC_TRUE );
+              AOUT_RESAMP_LONGTEXT, true );
 #endif
-    add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, VLC_FALSE );
+    add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, false );
     add_integer( "force-dolby-surround", 0, NULL, FORCE_DOLBY_TEXT,
-                 FORCE_DOLBY_LONGTEXT, VLC_FALSE );
+                 FORCE_DOLBY_LONGTEXT, false );
         change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, 0 );
     add_integer( "audio-desync", 0, NULL, DESYNC_TEXT,
-                 DESYNC_LONGTEXT, VLC_TRUE );
+                 DESYNC_LONGTEXT, true );
+        change_safe();
 
     /* FIXME TODO create a subcat replay gain ? */
     add_string( "audio-replay-gain-mode", ppsz_replay_gain_mode[0], NULL, AUDIO_REPLAY_GAIN_MODE_TEXT,
-                AUDIO_REPLAY_GAIN_MODE_LONGTEXT, VLC_FALSE );
+                AUDIO_REPLAY_GAIN_MODE_LONGTEXT, false );
         change_string_list( ppsz_replay_gain_mode, ppsz_replay_gain_mode_text, 0 );
     add_float( "audio-replay-gain-preamp", 0.0, NULL,
-               AUDIO_REPLAY_GAIN_PREAMP_TEXT, AUDIO_REPLAY_GAIN_PREAMP_LONGTEXT, VLC_FALSE );
+               AUDIO_REPLAY_GAIN_PREAMP_TEXT, AUDIO_REPLAY_GAIN_PREAMP_LONGTEXT, false );
     add_float( "audio-replay-gain-default", -7.0, NULL,
-               AUDIO_REPLAY_GAIN_DEFAULT_TEXT, AUDIO_REPLAY_GAIN_DEFAULT_LONGTEXT, VLC_FALSE );
-    add_bool( "audio-replay-gain-peak-protection", VLC_TRUE, NULL,
-              AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT, VLC_TRUE );
+               AUDIO_REPLAY_GAIN_DEFAULT_TEXT, AUDIO_REPLAY_GAIN_DEFAULT_LONGTEXT, false );
+    add_bool( "audio-replay-gain-peak-protection", true, NULL,
+              AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT, true );
 
     set_subcategory( SUBCAT_AUDIO_AOUT );
     add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT,
-                VLC_TRUE );
+                true );
         change_short('A');
     set_subcategory( SUBCAT_AUDIO_AFILTER );
     add_module_list_cat( "audio-filter", SUBCAT_AUDIO_AFILTER, 0,
                          NULL, AUDIO_FILTER_TEXT,
-                         AUDIO_FILTER_LONGTEXT, VLC_FALSE );
+                         AUDIO_FILTER_LONGTEXT, false );
     set_subcategory( SUBCAT_AUDIO_VISUAL );
     add_module( "audio-visual", "visualization",NULL, NULL,AUDIO_VISUAL_TEXT,
-                AUDIO_VISUAL_LONGTEXT, VLC_FALSE );
+                AUDIO_VISUAL_LONGTEXT, false );
 
 /* Video options */
     set_category( CAT_VIDEO );
     set_subcategory( SUBCAT_VIDEO_GENERAL );
-    add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , VLC_FALSE );
+    add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , false );
 
-    add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, VLC_TRUE );
+    add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, true );
+        change_safe();
     add_bool( "grayscale", 0, NULL, GRAYSCALE_TEXT,
-              GRAYSCALE_LONGTEXT, VLC_TRUE );
+              GRAYSCALE_LONGTEXT, true );
     add_bool( "fullscreen", 0, NULL, FULLSCREEN_TEXT,
-              FULLSCREEN_LONGTEXT, VLC_FALSE );
+              FULLSCREEN_LONGTEXT, false );
         change_short('f');
+        change_safe();
     add_bool( "embedded-video", 1, NULL, EMBEDDED_TEXT, EMBEDDED_LONGTEXT,
-              VLC_TRUE );
+              true );
+#ifdef __APPLE__
+       add_deprecated_alias( "macosx-embedded" ); /*deprecated since 0.9.0 */
+#endif
     add_bool( "drop-late-frames", 1, NULL, DROP_LATE_FRAMES_TEXT,
-              DROP_LATE_FRAMES_LONGTEXT, VLC_TRUE );
+              DROP_LATE_FRAMES_LONGTEXT, true );
     /* Used in vout_synchro */
     add_bool( "skip-frames", 1, NULL, SKIP_FRAMES_TEXT,
-              SKIP_FRAMES_LONGTEXT, VLC_TRUE );
+              SKIP_FRAMES_LONGTEXT, true );
     add_bool( "quiet-synchro", 0, NULL, QUIET_SYNCHRO_TEXT,
-              QUIET_SYNCHRO_LONGTEXT, VLC_TRUE );
+              QUIET_SYNCHRO_LONGTEXT, true );
 #ifndef __APPLE__
-    add_bool( "overlay", 1, NULL, OVERLAY_TEXT, OVERLAY_LONGTEXT, VLC_FALSE );
+    add_bool( "overlay", 1, NULL, OVERLAY_TEXT, OVERLAY_LONGTEXT, false );
 #endif
     add_bool( "video-on-top", 0, NULL, VIDEO_ON_TOP_TEXT,
-              VIDEO_ON_TOP_LONGTEXT, VLC_FALSE );
-    add_bool( "disable-screensaver", VLC_TRUE, NULL, SS_TEXT, SS_LONGTEXT,
-              VLC_TRUE );
+              VIDEO_ON_TOP_LONGTEXT, false );
+    add_bool( "disable-screensaver", true, NULL, SS_TEXT, SS_LONGTEXT,
+              true );
 
     add_bool( "video-title-show", 1, NULL, VIDEO_TITLE_SHOW_TEXT,
-              VIDEO_TITLE_SHOW_LONGTEXT, VLC_FALSE );
+              VIDEO_TITLE_SHOW_LONGTEXT, false );
     add_integer( "video-title-timeout", 5000, NULL, VIDEO_TITLE_TIMEOUT_TEXT,
-                 VIDEO_TITLE_TIMEOUT_LONGTEXT, VLC_FALSE );
+                 VIDEO_TITLE_TIMEOUT_LONGTEXT, false );
     add_integer( "video-title-position", 8, NULL, VIDEO_TITLE_POSITION_TEXT,
-                 VIDEO_TITLE_POSITION_LONGTEXT, VLC_FALSE );
+                 VIDEO_TITLE_POSITION_LONGTEXT, false );
         change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 );
-
+    // autohide after 3s
+    add_integer( "mouse-hide-timeout", 3000, NULL, MOUSE_HIDE_TIMEOUT_TEXT,
+                 MOUSE_HIDE_TIMEOUT_LONGTEXT, false );
     set_section( N_("Snapshot") , NULL );
     add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT,
-                   SNAP_PATH_LONGTEXT, VLC_FALSE );
+                   SNAP_PATH_LONGTEXT, false );
+        change_unsafe();
     add_string( "snapshot-prefix", "vlcsnap-", NULL, SNAP_PREFIX_TEXT,
-                   SNAP_PREFIX_LONGTEXT, VLC_FALSE );
+                   SNAP_PREFIX_LONGTEXT, false );
     add_string( "snapshot-format", "png", NULL, SNAP_FORMAT_TEXT,
-                   SNAP_FORMAT_LONGTEXT, VLC_FALSE );
+                   SNAP_FORMAT_LONGTEXT, 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 );
-    add_integer( "snapshot-width", 320, NULL, SNAP_WIDTH_TEXT,
-                 SNAP_WIDTH_LONGTEXT, VLC_TRUE );
-    add_integer( "snapshot-height", 200, NULL, SNAP_HEIGHT_TEXT,
-                 SNAP_HEIGHT_LONGTEXT, VLC_TRUE );
+    add_bool( "snapshot-preview", true, NULL, SNAP_PREVIEW_TEXT,
+              SNAP_PREVIEW_LONGTEXT, false );
+    add_bool( "snapshot-sequential", false, NULL, SNAP_SEQUENTIAL_TEXT,
+              SNAP_SEQUENTIAL_LONGTEXT, false );
+    add_integer( "snapshot-width", -1, NULL, SNAP_WIDTH_TEXT,
+                 SNAP_WIDTH_LONGTEXT, true );
+    add_integer( "snapshot-height", -1, NULL, SNAP_HEIGHT_TEXT,
+                 SNAP_HEIGHT_LONGTEXT, true );
 
     set_section( N_("Window properties" ), NULL );
-    add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE );
-    add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_TRUE );
-    add_integer( "video-x", -1, NULL, VIDEOX_TEXT, VIDEOX_LONGTEXT, VLC_TRUE );
-    add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, VLC_TRUE );
-    add_string( "crop", NULL, NULL, CROP_TEXT, CROP_LONGTEXT, VLC_FALSE );
+    add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, true );
+        change_safe();
+    add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, true );
+        change_safe();
+    add_integer( "video-x", -1, NULL, VIDEOX_TEXT, VIDEOX_LONGTEXT, true );
+        change_safe();
+    add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, true );
+        change_safe();
+    add_string( "crop", NULL, NULL, CROP_TEXT, CROP_LONGTEXT, false );
+        change_safe();
     add_string( "custom-crop-ratios", NULL, NULL, CUSTOM_CROP_RATIOS_TEXT,
-                CUSTOM_CROP_RATIOS_LONGTEXT, VLC_FALSE );
+                CUSTOM_CROP_RATIOS_LONGTEXT, false );
     add_string( "aspect-ratio", NULL, NULL,
-                ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, VLC_FALSE );
+                ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, false );
+        change_safe();
     add_string( "monitor-par", NULL, NULL,
-                MASPECT_RATIO_TEXT, MASPECT_RATIO_LONGTEXT, VLC_TRUE );
+                MASPECT_RATIO_TEXT, MASPECT_RATIO_LONGTEXT, true );
     add_string( "custom-aspect-ratios", NULL, NULL, CUSTOM_ASPECT_RATIOS_TEXT,
-                CUSTOM_ASPECT_RATIOS_LONGTEXT, VLC_FALSE );
-    add_bool( "hdtv-fix", 1, NULL, HDTV_FIX_TEXT, HDTV_FIX_LONGTEXT, VLC_TRUE );
+                CUSTOM_ASPECT_RATIOS_LONGTEXT, false );
+    add_bool( "hdtv-fix", 1, NULL, HDTV_FIX_TEXT, HDTV_FIX_LONGTEXT, true );
     add_bool( "video-deco", 1, NULL, VIDEO_DECO_TEXT,
-              VIDEO_DECO_LONGTEXT, VLC_TRUE );
+              VIDEO_DECO_LONGTEXT, true );
     add_string( "video-title", NULL, NULL, VIDEO_TITLE_TEXT,
-                 VIDEO_TITLE_LONGTEXT, VLC_TRUE );
-    add_integer( "align", 0, NULL, ALIGN_TEXT, ALIGN_LONGTEXT, VLC_TRUE );
+                 VIDEO_TITLE_LONGTEXT, true );
+    add_integer( "align", 0, NULL, ALIGN_TEXT, ALIGN_LONGTEXT, true );
         change_integer_list( pi_align_values, ppsz_align_descriptions, 0 );
-    add_float( "zoom", 1, NULL, ZOOM_TEXT, ZOOM_LONGTEXT, VLC_TRUE );
+    add_float( "zoom", 1, NULL, ZOOM_TEXT, ZOOM_LONGTEXT, true );
 
 
     set_subcategory( SUBCAT_VIDEO_VOUT );
     add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT,
-                VLC_TRUE );
+                true );
         change_short('V');
 
     set_subcategory( SUBCAT_VIDEO_VFILTER );
     add_module_list_cat( "video-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
-                VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, VLC_FALSE );
+                VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, false );
        add_deprecated_alias( "filter" ); /*deprecated since 0.8.2 */
 //       add_deprecated_alias( "vout-filter" ); /* 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 );
+                        NULL, NULL, false );
 #if 0
     add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT );
 #endif
@@ -1538,335 +1583,347 @@ vlc_module_begin();
 /* Subpictures options */
     set_subcategory( SUBCAT_VIDEO_SUBPIC );
     set_section( N_("On Screen Display") , NULL );
-    add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , VLC_FALSE );
+    add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , false );
 
-    add_bool( "spu", 1, NULL, SPU_TEXT, SPU_LONGTEXT, VLC_TRUE );
-    add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, VLC_FALSE );
+    add_bool( "spu", 1, NULL, SPU_TEXT, SPU_LONGTEXT, true );
+        change_safe();
+    add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, false );
     add_module( "text-renderer", "text renderer", NULL, NULL, TEXTRENDERER_TEXT,
-                TEXTRENDERER_LONGTEXT, VLC_TRUE );
+                TEXTRENDERER_LONGTEXT, true );
 
     set_section( N_("Subtitles") , NULL );
     add_file( "sub-file", NULL, NULL, SUB_FILE_TEXT,
-              SUB_FILE_LONGTEXT, VLC_FALSE );
-    add_bool( "sub-autodetect-file", VLC_TRUE, NULL,
-                 SUB_AUTO_TEXT, SUB_AUTO_LONGTEXT, VLC_FALSE );
+              SUB_FILE_LONGTEXT, false );
+    add_bool( "sub-autodetect-file", true, NULL,
+                 SUB_AUTO_TEXT, SUB_AUTO_LONGTEXT, false );
     add_integer( "sub-autodetect-fuzzy", 3, NULL,
-                 SUB_FUZZY_TEXT, SUB_FUZZY_LONGTEXT, VLC_TRUE );
+                 SUB_FUZZY_TEXT, SUB_FUZZY_LONGTEXT, true );
 #ifdef WIN32
 #   define SUB_PATH ".\\subtitles"
 #else
 #   define SUB_PATH "./Subtitles, ./subtitles"
 #endif
     add_string( "sub-autodetect-path", SUB_PATH, NULL,
-                 SUB_PATH_TEXT, SUB_PATH_LONGTEXT, VLC_TRUE );
+                 SUB_PATH_TEXT, SUB_PATH_LONGTEXT, true );
     add_integer( "sub-margin", 0, NULL, SUB_MARGIN_TEXT,
-                 SUB_MARGIN_LONGTEXT, VLC_TRUE );
+                 SUB_MARGIN_LONGTEXT, true );
         add_deprecated_alias( "spu-margin" ); /*Deprecated since 0.8.2 */
     set_section( N_( "Overlays" ) , NULL );
     add_module_list_cat( "sub-filter", SUBCAT_VIDEO_SUBPIC, NULL, NULL,
-                SUB_FILTER_TEXT, SUB_FILTER_LONGTEXT, VLC_FALSE );
+                SUB_FILTER_TEXT, SUB_FILTER_LONGTEXT, false );
 
 /* Input options */
     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 );
+                 INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, true );
+        change_safe();
     add_string( "programs", "", NULL,
-                INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, VLC_TRUE );
+                INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, true );
+        change_safe();
     add_integer( "audio-track", -1, NULL,
-                 INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, VLC_TRUE );
-       add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */
+                 INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, true );
+        change_safe();
+        add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */
     add_integer( "sub-track", -1, NULL,
-                 INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, VLC_TRUE );
-       add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/
+                 INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, true );
+        change_safe();
+        add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/
     add_string( "audio-language", "", NULL,
                  INPUT_AUDIOTRACK_LANG_TEXT, INPUT_AUDIOTRACK_LANG_LONGTEXT,
-                  VLC_FALSE );
+                  false );
+        change_safe();
     add_string( "sub-language", "", NULL,
                  INPUT_SUBTRACK_LANG_TEXT, INPUT_SUBTRACK_LANG_LONGTEXT,
-                  VLC_FALSE );
+                  false );
+        change_safe();
     add_integer( "audio-track-id", -1, NULL, INPUT_AUDIOTRACK_ID_TEXT,
-                 INPUT_AUDIOTRACK_ID_LONGTEXT, VLC_TRUE );
+                 INPUT_AUDIOTRACK_ID_LONGTEXT, true );
+        change_safe();
     add_integer( "sub-track-id", -1, NULL,
-                 INPUT_SUBTRACK_ID_TEXT, INPUT_SUBTRACK_ID_LONGTEXT, VLC_TRUE );
+                 INPUT_SUBTRACK_ID_TEXT, INPUT_SUBTRACK_ID_LONGTEXT, true );
+        change_safe();
 
     set_section( N_( "Playback control" ) , NULL);
     add_integer( "input-repeat", 0, NULL,
-                 INPUT_REPEAT_TEXT, INPUT_REPEAT_LONGTEXT, VLC_FALSE );
+                 INPUT_REPEAT_TEXT, INPUT_REPEAT_LONGTEXT, false );
+        change_safe();
     add_integer( "start-time", 0, NULL,
-                 START_TIME_TEXT, START_TIME_LONGTEXT, VLC_TRUE );
+                 START_TIME_TEXT, START_TIME_LONGTEXT, true );
+        change_safe();
     add_integer( "stop-time", 0, NULL,
-                 STOP_TIME_TEXT, STOP_TIME_LONGTEXT, VLC_TRUE );
+                 STOP_TIME_TEXT, STOP_TIME_LONGTEXT, true );
+        change_safe();
     add_integer( "run-time", 0, NULL,
-                 RUN_TIME_TEXT, RUN_TIME_LONGTEXT, VLC_TRUE );
+                 RUN_TIME_TEXT, RUN_TIME_LONGTEXT, true );
+        change_safe();
     add_string( "input-list", NULL, NULL,
-                 INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, VLC_TRUE );
+                 INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, true );
     add_string( "input-slave", NULL, NULL,
-                 INPUT_SLAVE_TEXT, INPUT_SLAVE_LONGTEXT, VLC_TRUE );
+                 INPUT_SLAVE_TEXT, INPUT_SLAVE_LONGTEXT, true );
 
     add_string( "bookmarks", NULL, NULL,
-                 BOOKMARKS_TEXT, BOOKMARKS_LONGTEXT, VLC_TRUE );
+                 BOOKMARKS_TEXT, BOOKMARKS_LONGTEXT, true );
 
     set_section( N_( "Default devices") , NULL );
 
     add_file( "dvd", DVD_DEVICE, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT,
-              VLC_FALSE );
+              false );
     add_file( "vcd", VCD_DEVICE, NULL, VCD_DEV_TEXT, VCD_DEV_LONGTEXT,
-              VLC_FALSE );
+              false );
     add_file( "cd-audio", CDAUDIO_DEVICE, NULL, CDAUDIO_DEV_TEXT,
-              CDAUDIO_DEV_LONGTEXT, VLC_FALSE );
+              CDAUDIO_DEV_LONGTEXT, false );
 
     set_section( N_( "Network settings" ), NULL );
 
     add_integer( "server-port", 1234, NULL,
-                 SERVER_PORT_TEXT, SERVER_PORT_LONGTEXT, VLC_FALSE );
-    add_integer( "mtu", MTU_DEFAULT, NULL, MTU_TEXT, MTU_LONGTEXT, VLC_TRUE );
-    add_bool( "ipv6", 0, NULL, IPV6_TEXT, IPV6_LONGTEXT, VLC_FALSE );
+                 SERVER_PORT_TEXT, SERVER_PORT_LONGTEXT, false );
+    add_integer( "mtu", MTU_DEFAULT, NULL, MTU_TEXT, MTU_LONGTEXT, true );
+    add_bool( "ipv6", 0, NULL, IPV6_TEXT, IPV6_LONGTEXT, false );
         change_short('6');
-    add_bool( "ipv4", 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, VLC_FALSE );
+    add_bool( "ipv4", 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, false );
         change_short('4');
     add_integer( "ipv4-timeout", 5 * 1000, NULL, TIMEOUT_TEXT,
-                 TIMEOUT_LONGTEXT, VLC_TRUE );
+                 TIMEOUT_LONGTEXT, true );
 
     set_section( N_( "Socks proxy") , NULL );
     add_string( "socks", NULL, NULL,
-                 SOCKS_SERVER_TEXT, SOCKS_SERVER_LONGTEXT, VLC_TRUE );
+                 SOCKS_SERVER_TEXT, SOCKS_SERVER_LONGTEXT, true );
     add_string( "socks-user", NULL, NULL,
-                 SOCKS_USER_TEXT, SOCKS_USER_LONGTEXT, VLC_TRUE );
+                 SOCKS_USER_TEXT, SOCKS_USER_LONGTEXT, true );
     add_string( "socks-pwd", NULL, NULL,
-                 SOCKS_PASS_TEXT, SOCKS_PASS_LONGTEXT, VLC_TRUE );
+                 SOCKS_PASS_TEXT, SOCKS_PASS_LONGTEXT, true );
 
 
     set_section( N_("Metadata" ) , NULL );
     add_string( "meta-title", NULL, NULL, META_TITLE_TEXT,
-                META_TITLE_LONGTEXT, VLC_TRUE );
+                META_TITLE_LONGTEXT, true );
     add_string( "meta-author", NULL, NULL, META_AUTHOR_TEXT,
-                META_AUTHOR_LONGTEXT, VLC_TRUE );
+                META_AUTHOR_LONGTEXT, true );
     add_string( "meta-artist", NULL, NULL, META_ARTIST_TEXT,
-                META_ARTIST_LONGTEXT, VLC_TRUE );
+                META_ARTIST_LONGTEXT, true );
     add_string( "meta-genre", NULL, NULL, META_GENRE_TEXT,
-                META_GENRE_LONGTEXT, VLC_TRUE );
+                META_GENRE_LONGTEXT, true );
     add_string( "meta-copyright", NULL, NULL, META_CPYR_TEXT,
-                META_CPYR_LONGTEXT, VLC_TRUE );
+                META_CPYR_LONGTEXT, true );
     add_string( "meta-description", NULL, NULL, META_DESCR_TEXT,
-                META_DESCR_LONGTEXT, VLC_TRUE );
+                META_DESCR_LONGTEXT, true );
     add_string( "meta-date", NULL, NULL, META_DATE_TEXT,
-                META_DATE_LONGTEXT, VLC_TRUE );
+                META_DATE_LONGTEXT, true );
     add_string( "meta-url", NULL, NULL, META_URL_TEXT,
-                META_URL_LONGTEXT, VLC_TRUE );
+                META_URL_LONGTEXT, true );
 
     set_section( N_( "Advanced" ), NULL );
 
     add_integer( "cr-average", 40, NULL, CR_AVERAGE_TEXT,
-                 CR_AVERAGE_LONGTEXT, VLC_TRUE );
+                 CR_AVERAGE_LONGTEXT, true );
     add_integer( "clock-synchro", -1, NULL, CLOCK_SYNCHRO_TEXT,
-                 CLOCK_SYNCHRO_LONGTEXT, VLC_TRUE );
+                 CLOCK_SYNCHRO_LONGTEXT, true );
         change_integer_list( pi_clock_values, ppsz_clock_descriptions, 0 );
 
-    add_bool( "network-synchronisation", VLC_FALSE, NULL, NETSYNC_TEXT,
-              NETSYNC_LONGTEXT, VLC_TRUE );
+    add_bool( "network-synchronisation", false, NULL, NETSYNC_TEXT,
+              NETSYNC_LONGTEXT, true );
 
 /* Decoder options */
-    add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , VLC_TRUE );
+    add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , true );
     add_string( "codec", NULL, NULL, CODEC_TEXT,
-                CODEC_LONGTEXT, VLC_TRUE );
+                CODEC_LONGTEXT, true );
     add_string( "encoder",  NULL, NULL, ENCODER_TEXT,
-                ENCODER_LONGTEXT, VLC_TRUE );
+                ENCODER_LONGTEXT, true );
 
     set_subcategory( SUBCAT_INPUT_ACCESS );
-    add_category_hint( N_("Input"), INPUT_CAT_LONGTEXT , VLC_FALSE );
-    add_module( "access", "access2", NULL, NULL, ACCESS_TEXT,
-                ACCESS_LONGTEXT, VLC_TRUE );
+    add_category_hint( N_("Input"), INPUT_CAT_LONGTEXT , false );
+    add_module( "access", "access", NULL, NULL, ACCESS_TEXT,
+                ACCESS_LONGTEXT, true );
 
     set_subcategory( SUBCAT_INPUT_ACCESS_FILTER );
     add_module_list_cat( "access-filter", SUBCAT_INPUT_ACCESS_FILTER, NULL, NULL,
-                ACCESS_FILTER_TEXT, ACCESS_FILTER_LONGTEXT, VLC_FALSE );
+                ACCESS_FILTER_TEXT, ACCESS_FILTER_LONGTEXT, false );
 
 
     set_subcategory( SUBCAT_INPUT_DEMUX );
-    add_module( "demux", "demux2", NULL, NULL, DEMUX_TEXT,
-                DEMUX_LONGTEXT, VLC_TRUE );
+    add_module( "demux", "demux", NULL, NULL, DEMUX_TEXT,
+                DEMUX_LONGTEXT, true );
     set_subcategory( SUBCAT_INPUT_VCODEC );
     set_subcategory( SUBCAT_INPUT_ACODEC );
     set_subcategory( SUBCAT_INPUT_SCODEC );
-    add_bool( "prefer-system-codecs", VLC_FALSE, NULL, SYSTEM_CODEC_TEXT,
-                                SYSTEM_CODEC_LONGTEXT, VLC_FALSE );
+    add_bool( "prefer-system-codecs", false, NULL, SYSTEM_CODEC_TEXT,
+                                SYSTEM_CODEC_LONGTEXT, false );
 
 
 /* Stream output options */
     set_category( CAT_SOUT );
     set_subcategory( SUBCAT_SOUT_GENERAL );
-    add_category_hint( N_("Stream output"), SOUT_CAT_LONGTEXT , VLC_TRUE );
+    add_category_hint( N_("Stream output"), SOUT_CAT_LONGTEXT , 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 );
-    add_bool( "sout-keep", VLC_TRUE, NULL, SOUT_KEEP_TEXT,
-                                SOUT_KEEP_LONGTEXT, VLC_TRUE );
+    add_string( "sout", NULL, NULL, SOUT_TEXT, SOUT_LONGTEXT, true );
+    add_bool( "sout-display", false, NULL, SOUT_DISPLAY_TEXT,
+                                SOUT_DISPLAY_LONGTEXT, true );
+    add_bool( "sout-keep", true, NULL, SOUT_KEEP_TEXT,
+                                SOUT_KEEP_LONGTEXT, true );
     add_bool( "sout-all", 0, NULL, SOUT_ALL_TEXT,
-                                SOUT_ALL_LONGTEXT, VLC_TRUE );
+                                SOUT_ALL_LONGTEXT, true );
     add_bool( "sout-audio", 1, NULL, SOUT_AUDIO_TEXT,
-                                SOUT_AUDIO_LONGTEXT, VLC_TRUE );
+                                SOUT_AUDIO_LONGTEXT, true );
     add_bool( "sout-video", 1, NULL, SOUT_VIDEO_TEXT,
-                                SOUT_VIDEO_LONGTEXT, VLC_TRUE );
+                                SOUT_VIDEO_LONGTEXT, true );
     add_bool( "sout-spu", 1, NULL, SOUT_SPU_TEXT,
-                                SOUT_SPU_LONGTEXT, VLC_TRUE );
+                                SOUT_SPU_LONGTEXT, true );
     add_integer( "sout-mux-caching", 1500, NULL, SOUT_MUX_CACHING_TEXT,
-                                SOUT_MUX_CACHING_LONGTEXT, VLC_TRUE );
+                                SOUT_MUX_CACHING_LONGTEXT, true );
 
     set_section( N_("VLM"), NULL );
     add_string( "vlm-conf", NULL, NULL, VLM_CONF_TEXT,
-                    VLM_CONF_LONGTEXT, VLC_TRUE );
+                    VLM_CONF_LONGTEXT, true );
 
 
 
     set_subcategory( SUBCAT_SOUT_STREAM );
     set_subcategory( SUBCAT_SOUT_MUX );
     add_module( "mux", "sout mux", NULL, NULL, MUX_TEXT,
-                                MUX_LONGTEXT, VLC_TRUE );
+                                MUX_LONGTEXT, 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 );
-    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 );
+                ACCESS_OUTPUT_TEXT, ACCESS_OUTPUT_LONGTEXT, true );
+    add_integer( "ttl", -1, NULL, TTL_TEXT, TTL_LONGTEXT, true );
+    add_string( "miface", NULL, NULL, MIFACE_TEXT, MIFACE_LONGTEXT, true );
+    add_string( "miface-addr", NULL, NULL, MIFACE_ADDR_TEXT, MIFACE_ADDR_LONGTEXT, true );
+    add_integer( "dscp", 0, NULL, DSCP_TEXT, DSCP_LONGTEXT, true );
 
     set_subcategory( SUBCAT_SOUT_PACKETIZER );
     add_module( "packetizer","packetizer", NULL, NULL,
-                PACKETIZER_TEXT, PACKETIZER_LONGTEXT, VLC_TRUE );
+                PACKETIZER_TEXT, PACKETIZER_LONGTEXT, true );
 
     set_subcategory( SUBCAT_SOUT_SAP );
-    add_bool( "sap-flow-control", VLC_FALSE, NULL, ANN_SAPCTRL_TEXT,
-                               ANN_SAPCTRL_LONGTEXT, VLC_TRUE );
+    add_bool( "sap-flow-control", false, NULL, ANN_SAPCTRL_TEXT,
+                               ANN_SAPCTRL_LONGTEXT, true );
     add_integer( "sap-interval", 5, NULL, ANN_SAPINTV_TEXT,
-                               ANN_SAPINTV_LONGTEXT, VLC_TRUE );
+                               ANN_SAPINTV_LONGTEXT, true );
 
     set_subcategory( SUBCAT_SOUT_VOD );
 
 /* CPU options */
     set_category( CAT_ADVANCED );
     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 );
+    add_category_hint( N_("CPU"), CPU_CAT_LONGTEXT, true );
+    add_bool( "fpu", 1, NULL, FPU_TEXT, FPU_LONGTEXT, true );
         change_need_restart();
 #if defined( __i386__ ) || defined( __x86_64__ )
-    add_bool( "mmx", 1, NULL, MMX_TEXT, MMX_LONGTEXT, VLC_TRUE );
+    add_bool( "mmx", 1, NULL, MMX_TEXT, MMX_LONGTEXT, true );
         change_need_restart();
-    add_bool( "3dn", 1, NULL, THREE_DN_TEXT, THREE_DN_LONGTEXT, VLC_TRUE );
+    add_bool( "3dn", 1, NULL, THREE_DN_TEXT, THREE_DN_LONGTEXT, true );
         change_need_restart();
-    add_bool( "mmxext", 1, NULL, MMXEXT_TEXT, MMXEXT_LONGTEXT, VLC_TRUE );
+    add_bool( "mmxext", 1, NULL, MMXEXT_TEXT, MMXEXT_LONGTEXT, true );
         change_need_restart();
-    add_bool( "sse", 1, NULL, SSE_TEXT, SSE_LONGTEXT, VLC_TRUE );
+    add_bool( "sse", 1, NULL, SSE_TEXT, SSE_LONGTEXT, true );
         change_need_restart();
-    add_bool( "sse2", 1, NULL, SSE2_TEXT, SSE2_LONGTEXT, VLC_TRUE );
+    add_bool( "sse2", 1, NULL, SSE2_TEXT, SSE2_LONGTEXT, true );
         change_need_restart();
 #endif
 #if defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc64__ )
-    add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, VLC_TRUE );
+    add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, true );
         change_need_restart();
 #endif
 
 /* Misc options */
     set_subcategory( SUBCAT_ADVANCED_MISC );
     set_section( N_("Special modules"), NULL );
-    add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, VLC_TRUE );
+    add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, true );
     add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT,
-                MEMCPY_LONGTEXT, VLC_TRUE );
+                MEMCPY_LONGTEXT, true );
         change_need_restart();
 
     set_section( N_("Plugins" ), NULL );
-    add_bool( "plugins-cache", VLC_TRUE, NULL, PLUGINS_CACHE_TEXT,
-              PLUGINS_CACHE_LONGTEXT, VLC_TRUE );
+    add_bool( "plugins-cache", true, NULL, PLUGINS_CACHE_TEXT,
+              PLUGINS_CACHE_LONGTEXT, true );
         change_need_restart();
     add_directory( "plugin-path", NULL, NULL, PLUGIN_PATH_TEXT,
-                   PLUGIN_PATH_LONGTEXT, VLC_TRUE );
+                   PLUGIN_PATH_LONGTEXT, true );
         change_need_restart();
+        change_unsafe();
 
     set_section( N_("Performance options"), NULL );
     add_bool( "minimize-threads", 0, NULL, MINIMIZE_THREADS_TEXT,
-              MINIMIZE_THREADS_LONGTEXT, VLC_TRUE );
+              MINIMIZE_THREADS_LONGTEXT, 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 );
+    add_bool( "use-stream-immediate", false, NULL,
+               USE_STREAM_IMMEDIATE, USE_STREAM_IMMEDIATE_LONGTEXT, true );
+
+    add_bool( "auto-adjust-pts-delay", false, NULL,
+              AUTO_ADJUST_PTS_DELAY, AUTO_ADJUST_PTS_DELAY_LONGTEXT, true );
+
+#if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD)
+    add_bool( "rt-priority", false, NULL, RT_PRIORITY_TEXT,
+              RT_PRIORITY_LONGTEXT, true );
         change_need_restart();
 #endif
 
-#if !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H)
+#if !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD)
     add_integer( "rt-offset", 0, NULL, RT_OFFSET_TEXT,
-                 RT_OFFSET_LONGTEXT, VLC_TRUE );
+                 RT_OFFSET_LONGTEXT, true );
         change_need_restart();
 #endif
 
-#if defined(HAVE_DBUS_3)
+#if defined(HAVE_DBUS)
     add_bool( "one-instance", 0, NULL, ONEINSTANCE_DBUS_TEXT,
-              ONEINSTANCE_DBUS_LONGTEXT, VLC_TRUE );
+              ONEINSTANCE_DBUS_LONGTEXT, true );
     add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT,
-              PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE );
-        change_unsaveable();
+              PLAYLISTENQUEUE_LONGTEXT, true );
 
     add_bool( "inhibit", 1, NULL, INHIBIT_TEXT,
-              INHIBIT_LONGTEXT, VLC_TRUE );
+              INHIBIT_LONGTEXT, true );
 #endif
 
 #if defined(WIN32)
     add_bool( "one-instance", 0, NULL, ONEINSTANCE_WIN_TEXT,
-              ONEINSTANCE_WIN_LONGTEXT, VLC_TRUE );
+              ONEINSTANCE_WIN_LONGTEXT, true );
     add_bool( "started-from-file", 0, NULL, STARTEDFROMFILE_TEXT,
-              STARTEDFROMFILE_LONGTEXT, VLC_TRUE );
+              STARTEDFROMFILE_LONGTEXT, true );
         change_internal();
         change_unsaveable();
     add_bool( "one-instance-when-started-from-file", 1, NULL,
               ONEINSTANCEWHENSTARTEDFROMFILE_TEXT,
-              ONEINSTANCEWHENSTARTEDFROMFILE_LONGTEXT, VLC_TRUE );
+              ONEINSTANCEWHENSTARTEDFROMFILE_LONGTEXT, true );
     add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT,
-              PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE );
+              PLAYLISTENQUEUE_LONGTEXT, true );
         change_unsaveable();
     add_bool( "high-priority", 0, NULL, HPRIORITY_TEXT,
-              HPRIORITY_LONGTEXT, VLC_FALSE );
+              HPRIORITY_LONGTEXT, false );
         change_need_restart();
 #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 );
+    add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , false );
+    add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, false );
         change_short('Z');
-    add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE );
+    add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, false );
         change_short('L');
-    add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_FALSE );
+    add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, false );
         change_short('R');
-    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( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, false );
+    add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, false );
+    add_bool( "media-library", 1, NULL, ML_TEXT, ML_LONGTEXT, false );
+    add_bool( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT, false );
 
-    add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT,
-              PREPARSE_LONGTEXT, VLC_FALSE );
+    add_string( "open", "", NULL, OPEN_TEXT, OPEN_LONGTEXT, false );
+        change_need_restart();
 
-    add_integer( "fetch-meta", VLC_TRUE, NULL, FETCH_META_TEXT,
-                 FETCH_META_LONGTEXT, VLC_FALSE );
+    add_bool( "auto-preparse", true, NULL, PREPARSE_TEXT,
+              PREPARSE_LONGTEXT, false );
 
     add_integer( "album-art", ALBUM_ART_WHEN_ASKED, NULL, ALBUM_ART_TEXT,
-                 ALBUM_ART_LONGTEXT, VLC_FALSE );
+                 ALBUM_ART_LONGTEXT, 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 );
+                          NULL, SD_TEXT, SD_LONGTEXT, false );
         change_short('S');
         change_need_restart();
 
@@ -1874,70 +1931,70 @@ vlc_module_begin();
     set_category( CAT_INTERFACE );
     set_subcategory( SUBCAT_INTERFACE_GENERAL );
     add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT,
-                 VLC_FALSE );
+                 false );
         change_short('v');
-    add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_TRUE );
+    add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, true );
         change_short('q');
 
 #if !defined(WIN32)
-    add_bool( "daemon", 0, NULL, DAEMON_TEXT, DAEMON_LONGTEXT, VLC_TRUE );
+    add_bool( "daemon", 0, NULL, DAEMON_TEXT, DAEMON_LONGTEXT, true );
         change_short('d');
         change_need_restart();
 
     add_string( "pidfile", NULL, NULL, PIDFILE_TEXT, PIDFILE_LONGTEXT,
-                                       VLC_FALSE );
+                                       false );
         change_need_restart();
 #endif
 
-    add_bool( "file-logging", VLC_FALSE, NULL, FILE_LOG_TEXT, FILE_LOG_LONGTEXT,
-              VLC_TRUE );
+    add_bool( "file-logging", false, NULL, FILE_LOG_TEXT, FILE_LOG_LONGTEXT,
+              true );
         change_need_restart();
 #ifdef HAVE_SYSLOG_H
-    add_bool ( "syslog", VLC_FALSE, NULL, SYSLOG_TEXT, SYSLOG_LONGTEXT,
-               VLC_TRUE );
+    add_bool ( "syslog", false, NULL, SYSLOG_TEXT, SYSLOG_LONGTEXT,
+               true );
         change_need_restart();
 #endif
 
 #if defined (WIN32) || defined (__APPLE__)
     add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT,
-                VLC_FALSE );
+                false );
         change_string_list( ppsz_language, ppsz_language_text, 0 );
         change_need_restart();
 #endif
 
-    add_bool( "color", VLC_TRUE, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
-    add_bool( "advanced", 0, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT,
-                    VLC_FALSE );
+    add_bool( "color", true, NULL, COLOR_TEXT, COLOR_LONGTEXT, true );
+    add_bool( "advanced", false, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT,
+                    false );
         change_need_restart();
-    add_bool( "interact", VLC_TRUE, NULL, INTERACTION_TEXT,
-              INTERACTION_LONGTEXT, VLC_FALSE );
+    add_bool( "interact", true, NULL, INTERACTION_TEXT,
+              INTERACTION_LONGTEXT, false );
 
-    add_bool( "show-intf", VLC_FALSE, NULL, SHOWINTF_TEXT, SHOWINTF_LONGTEXT,
-              VLC_FALSE );
+    add_bool( "show-intf", false, NULL, SHOWINTF_TEXT, SHOWINTF_LONGTEXT,
+              false );
         change_need_restart();
 
-    add_bool ( "stats", VLC_TRUE, NULL, STATS_TEXT, STATS_LONGTEXT, VLC_TRUE );
+    add_bool ( "stats", true, NULL, STATS_TEXT, STATS_LONGTEXT, true );
         change_need_restart();
 
     set_subcategory( SUBCAT_INTERFACE_MAIN );
     add_module_cat( "intf", SUBCAT_INTERFACE_MAIN, NULL, NULL, INTF_TEXT,
-                INTF_LONGTEXT, VLC_FALSE );
+                INTF_LONGTEXT, false );
         change_short('I');
         change_need_restart();
     add_module_list_cat( "extraintf", SUBCAT_INTERFACE_MAIN,
                          NULL, NULL, EXTRAINTF_TEXT,
-                         EXTRAINTF_LONGTEXT, VLC_FALSE );
+                         EXTRAINTF_LONGTEXT, 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 );
+                         CONTROL_TEXT, CONTROL_LONGTEXT, false );
         change_need_restart();
 
 /* Hotkey options*/
     set_subcategory( SUBCAT_INTERFACE_HOTKEYS );
-    add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , VLC_FALSE );
+    add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , false );
 
 #if defined(__APPLE__)
 /* Don't use the following combo's */
@@ -1953,6 +2010,7 @@ vlc_module_begin();
  *  open                          KEY_MODIFIER_COMMAND|'o'
  *  open disk                     KEY_MODIFIER_COMMAND|'d'
  *  open network                  KEY_MODIFIER_COMMAND|'n'
+ *  open capture                  KEY_MODIFIER_COMMAND|'r'
  *  save playlist                 KEY_MODIFIER_COMMAND|'s'
  *  playlist random               KEY_MODIFIER_COMMAND|'z'
  *  playlist repeat all           KEY_MODIFIER_COMMAND|'l'
@@ -1962,11 +2020,19 @@ vlc_module_begin();
  *  video double size             KEY_MODIFIER_COMMAND|'2'
  *  video fit to screen           KEY_MODIFIER_COMMAND|'3'
  *  minimize window               KEY_MODIFIER_COMMAND|'m'
+ *  quit application              KEY_MODIFIER_COMMAND|'q'
  *  close window                  KEY_MODIFIER_COMMAND|'w'
+ *  streaming wizard              KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'w'
  *  show controller               KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'c'
  *  show playlist                 KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'p'
  *  show info                     KEY_MODIFIER_COMMAND|'i'
+ *  show extended controls        KEY_MODIFIER_COMMAND|'e'
+ *  show equaliser                KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'e'
+ *  show bookmarks                KEY_MODIFIER_COMMAND|'b'
+ *  show messages                 KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'m'
+ *  show errors and warnings      KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|'m'
  *  help                          KEY_MODIFIER_COMMAND|'?'
+ *  readme / FAQ                  KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|'?'
  */
 #   define KEY_TOGGLE_FULLSCREEN  KEY_MODIFIER_COMMAND|'f'
 #   define KEY_LEAVE_FULLSCREEN   KEY_ESC
@@ -2006,7 +2072,7 @@ vlc_module_begin();
 #   define KEY_CROP               'c'
 #   define KEY_DEINTERLACE        'd'
 #   define KEY_INTF_SHOW          'i'
-#   define KEY_INTF_HIDE          'I'
+#   define KEY_INTF_HIDE          KEY_MODIFIER_SHIFT|'i'
 #   define KEY_DISC_MENU          KEY_MODIFIER_CTRL|'m'
 #   define KEY_TITLE_PREV         KEY_MODIFIER_CTRL|'p'
 #   define KEY_TITLE_NEXT         KEY_MODIFIER_CTRL|'n'
@@ -2027,6 +2093,12 @@ vlc_module_begin();
 #   define KEY_CROP_RIGHT         KEY_MODIFIER_ALT|'l'
 #   define KEY_UNCROP_RIGHT       KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l'
 
+/* the macosx-interface already has bindings */
+#   define KEY_ZOOM_QUARTER       KEY_UNSET 
+#   define KEY_ZOOM_HALF          KEY_UNSET
+#   define KEY_ZOOM_ORIGINAL      KEY_UNSET
+#   define KEY_ZOOM_DOUBLE        KEY_UNSET
+
 #   define KEY_SET_BOOKMARK1      KEY_MODIFIER_COMMAND|KEY_F1
 #   define KEY_SET_BOOKMARK2      KEY_MODIFIER_COMMAND|KEY_F2
 #   define KEY_SET_BOOKMARK3      KEY_MODIFIER_COMMAND|KEY_F3
@@ -2103,7 +2175,7 @@ vlc_module_begin();
 #   define KEY_CROP               'c'
 #   define KEY_DEINTERLACE        'd'
 #   define KEY_INTF_SHOW          'i'
-#   define KEY_INTF_HIDE          'I'
+#   define KEY_INTF_HIDE          KEY_MODIFIER_SHIFT|'i'
 #   define KEY_DISC_MENU          KEY_MODIFIER_ALT|'r'
 #   define KEY_TITLE_PREV         KEY_MODIFIER_ALT|'o'
 #   define KEY_TITLE_NEXT         KEY_MODIFIER_ALT|'b'
@@ -2123,6 +2195,11 @@ vlc_module_begin();
 #   define KEY_CROP_RIGHT         KEY_MODIFIER_ALT|'l'
 #   define KEY_UNCROP_RIGHT       KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l'
 
+#   define KEY_ZOOM_QUARTER       KEY_MODIFIER_CTRL|'1'
+#   define KEY_ZOOM_HALF          KEY_MODIFIER_CTRL|'2'
+#   define KEY_ZOOM_ORIGINAL      KEY_MODIFIER_CTRL|'3'
+#   define KEY_ZOOM_DOUBLE        KEY_MODIFIER_CTRL|'4'
+
 #   define KEY_SET_BOOKMARK1      KEY_MODIFIER_CTRL|KEY_F1
 #   define KEY_SET_BOOKMARK2      KEY_MODIFIER_CTRL|KEY_F2
 #   define KEY_SET_BOOKMARK3      KEY_MODIFIER_CTRL|KEY_F3
@@ -2156,235 +2233,248 @@ vlc_module_begin();
 #   define KEY_MENU_UP            KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_UP
 #   define KEY_MENU_DOWN          KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_DOWN
 #   define KEY_MENU_SELECT        KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_ENTER
+#   define KEY_AUDIODEVICE_CYCLE  KEY_MODIFIER_ALT|'a'
 #endif
 
     add_key( "key-toggle-fullscreen", KEY_TOGGLE_FULLSCREEN, NULL, TOGGLE_FULLSCREEN_KEY_TEXT,
-             TOGGLE_FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
+             TOGGLE_FULLSCREEN_KEY_LONGTEXT, false );
        add_deprecated_alias( "key-fullscreen" ); /*deprecated since 0.9.0 */
     add_key( "key-leave-fullscreen", KEY_LEAVE_FULLSCREEN, NULL, LEAVE_FULLSCREEN_KEY_TEXT,
-             LEAVE_FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
+             LEAVE_FULLSCREEN_KEY_LONGTEXT, false );
     add_key( "key-play-pause", KEY_PLAY_PAUSE, NULL, PLAY_PAUSE_KEY_TEXT,
-             PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
+             PLAY_PAUSE_KEY_LONGTEXT, false );
     add_key( "key-pause", KEY_PAUSE, NULL, PAUSE_KEY_TEXT,
-             PAUSE_KEY_LONGTEXT, VLC_TRUE );
+             PAUSE_KEY_LONGTEXT, true );
     add_key( "key-play", KEY_PLAY, NULL, PLAY_KEY_TEXT,
-             PLAY_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_KEY_LONGTEXT, true );
     add_key( "key-faster", KEY_FASTER, NULL, FASTER_KEY_TEXT,
-             FASTER_KEY_LONGTEXT, VLC_FALSE );
+             FASTER_KEY_LONGTEXT, false );
     add_key( "key-slower", KEY_SLOWER, NULL, SLOWER_KEY_TEXT,
-             SLOWER_KEY_LONGTEXT, VLC_FALSE );
+             SLOWER_KEY_LONGTEXT, false );
     add_key( "key-next", KEY_NEXT, NULL, NEXT_KEY_TEXT,
-             NEXT_KEY_LONGTEXT, VLC_FALSE );
+             NEXT_KEY_LONGTEXT, false );
     add_key( "key-prev", KEY_PREV, NULL, PREV_KEY_TEXT,
-             PREV_KEY_LONGTEXT, VLC_FALSE );
+             PREV_KEY_LONGTEXT, false );
     add_key( "key-stop", KEY_STOP, NULL, STOP_KEY_TEXT,
-             STOP_KEY_LONGTEXT, VLC_FALSE );
+             STOP_KEY_LONGTEXT, false );
     add_key( "key-position", KEY_POSITION, NULL, POSITION_KEY_TEXT,
-             POSITION_KEY_LONGTEXT, VLC_TRUE );
+             POSITION_KEY_LONGTEXT, true );
     add_key( "key-jump-extrashort", KEY_JUMP_MEXTRASHORT, NULL,
-             JBEXTRASHORT_KEY_TEXT, JBEXTRASHORT_KEY_LONGTEXT, VLC_FALSE );
+             JBEXTRASHORT_KEY_TEXT, JBEXTRASHORT_KEY_LONGTEXT, false );
     add_key( "key-jump+extrashort", KEY_JUMP_PEXTRASHORT, NULL,
-             JFEXTRASHORT_KEY_TEXT, JFEXTRASHORT_KEY_LONGTEXT, VLC_FALSE );
+             JFEXTRASHORT_KEY_TEXT, JFEXTRASHORT_KEY_LONGTEXT, false );
     add_key( "key-jump-short", KEY_JUMP_MSHORT, NULL, JBSHORT_KEY_TEXT,
-             JBSHORT_KEY_LONGTEXT, VLC_FALSE );
+             JBSHORT_KEY_LONGTEXT, false );
     add_key( "key-jump+short", KEY_JUMP_PSHORT, NULL, JFSHORT_KEY_TEXT,
-             JFSHORT_KEY_LONGTEXT, VLC_FALSE );
+             JFSHORT_KEY_LONGTEXT, false );
     add_key( "key-jump-medium", KEY_JUMP_MMEDIUM, NULL, JBMEDIUM_KEY_TEXT,
-             JBMEDIUM_KEY_LONGTEXT, VLC_FALSE );
+             JBMEDIUM_KEY_LONGTEXT, false );
     add_key( "key-jump+medium", KEY_JUMP_PMEDIUM, NULL, JFMEDIUM_KEY_TEXT,
-             JFMEDIUM_KEY_LONGTEXT, VLC_FALSE );
+             JFMEDIUM_KEY_LONGTEXT, false );
     add_key( "key-jump-long", KEY_JUMP_MLONG, NULL, JBLONG_KEY_TEXT,
-             JBLONG_KEY_LONGTEXT, VLC_FALSE );
+             JBLONG_KEY_LONGTEXT, false );
     add_key( "key-jump+long", KEY_JUMP_PLONG, NULL, JFLONG_KEY_TEXT,
-             JFLONG_KEY_LONGTEXT, VLC_FALSE );
+             JFLONG_KEY_LONGTEXT, false );
     add_key( "key-nav-activate", KEY_NAV_ACTIVATE, NULL, NAV_ACTIVATE_KEY_TEXT,
-             NAV_ACTIVATE_KEY_LONGTEXT, VLC_TRUE );
+             NAV_ACTIVATE_KEY_LONGTEXT, true );
     add_key( "key-nav-up", KEY_NAV_UP, NULL, NAV_UP_KEY_TEXT,
-             NAV_UP_KEY_LONGTEXT, VLC_TRUE );
+             NAV_UP_KEY_LONGTEXT, true );
     add_key( "key-nav-down", KEY_NAV_DOWN, NULL, NAV_DOWN_KEY_TEXT,
-             NAV_DOWN_KEY_LONGTEXT, VLC_TRUE );
+             NAV_DOWN_KEY_LONGTEXT, true );
     add_key( "key-nav-left", KEY_NAV_LEFT, NULL, NAV_LEFT_KEY_TEXT,
-             NAV_LEFT_KEY_LONGTEXT, VLC_TRUE );
+             NAV_LEFT_KEY_LONGTEXT, true );
     add_key( "key-nav-right", KEY_NAV_RIGHT, NULL, NAV_RIGHT_KEY_TEXT,
-             NAV_RIGHT_KEY_LONGTEXT, VLC_TRUE );
+             NAV_RIGHT_KEY_LONGTEXT, true );
 
     add_key( "key-disc-menu", KEY_DISC_MENU, NULL, DISC_MENU_TEXT,
-             DISC_MENU_LONGTEXT, VLC_TRUE );
+             DISC_MENU_LONGTEXT, true );
     add_key( "key-title-prev", KEY_TITLE_PREV, NULL, TITLE_PREV_TEXT,
-             TITLE_PREV_LONGTEXT, VLC_TRUE );
+             TITLE_PREV_LONGTEXT, true );
     add_key( "key-title-next", KEY_TITLE_NEXT, NULL, TITLE_NEXT_TEXT,
-             TITLE_NEXT_LONGTEXT, VLC_TRUE );
+             TITLE_NEXT_LONGTEXT, true );
     add_key( "key-chapter-prev", KEY_CHAPTER_PREV, NULL, CHAPTER_PREV_TEXT,
-             CHAPTER_PREV_LONGTEXT, VLC_TRUE );
+             CHAPTER_PREV_LONGTEXT, true );
     add_key( "key-chapter-next", KEY_CHAPTER_NEXT, NULL, CHAPTER_NEXT_TEXT,
-             CHAPTER_NEXT_LONGTEXT, VLC_TRUE );
+             CHAPTER_NEXT_LONGTEXT, true );
     add_key( "key-quit", KEY_QUIT, NULL, QUIT_KEY_TEXT,
-             QUIT_KEY_LONGTEXT, VLC_FALSE );
+             QUIT_KEY_LONGTEXT, false );
     add_key( "key-vol-up", KEY_VOL_UP, NULL, VOL_UP_KEY_TEXT,
-             VOL_UP_KEY_LONGTEXT, VLC_FALSE );
+             VOL_UP_KEY_LONGTEXT, false );
     add_key( "key-vol-down", KEY_VOL_DOWN, NULL, VOL_DOWN_KEY_TEXT,
-             VOL_DOWN_KEY_LONGTEXT, VLC_FALSE );
+             VOL_DOWN_KEY_LONGTEXT, false );
     add_key( "key-vol-mute", KEY_VOL_MUTE, NULL, VOL_MUTE_KEY_TEXT,
-             VOL_MUTE_KEY_LONGTEXT, VLC_FALSE );
+             VOL_MUTE_KEY_LONGTEXT, false );
     add_key( "key-subdelay-up", KEY_SUBDELAY_UP, NULL,
-             SUBDELAY_UP_KEY_TEXT, SUBDELAY_UP_KEY_LONGTEXT, VLC_TRUE );
+             SUBDELAY_UP_KEY_TEXT, SUBDELAY_UP_KEY_LONGTEXT, true );
     add_key( "key-subdelay-down", KEY_SUBDELAY_DOWN, NULL,
-             SUBDELAY_DOWN_KEY_TEXT, SUBDELAY_DOWN_KEY_LONGTEXT, VLC_TRUE );
+             SUBDELAY_DOWN_KEY_TEXT, SUBDELAY_DOWN_KEY_LONGTEXT, true );
     add_key( "key-audiodelay-up", KEY_AUDIODELAY_UP, NULL,
-             AUDIODELAY_UP_KEY_TEXT, AUDIODELAY_UP_KEY_LONGTEXT, VLC_TRUE );
+             AUDIODELAY_UP_KEY_TEXT, AUDIODELAY_UP_KEY_LONGTEXT, true );
     add_key( "key-audiodelay-down", KEY_AUDIODELAY_DOWN, NULL,
-             AUDIODELAY_DOWN_KEY_TEXT, AUDIODELAY_DOWN_KEY_LONGTEXT, VLC_TRUE );
+             AUDIODELAY_DOWN_KEY_TEXT, AUDIODELAY_DOWN_KEY_LONGTEXT, true );
     add_key( "key-audio-track", KEY_AUDIO_TRACK, NULL, AUDIO_TRACK_KEY_TEXT,
-             AUDIO_TRACK_KEY_LONGTEXT, VLC_FALSE );
+             AUDIO_TRACK_KEY_LONGTEXT, false );
+    add_key( "key-audiodevice-cycle", KEY_STOP, NULL, AUDI_DEVICE_CYCLE_KEY_TEXT,
+             AUDI_DEVICE_CYCLE_KEY_LONGTEXT, false );
     add_key( "key-subtitle-track", KEY_SUBTITLE_TRACK, NULL,
-             SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, VLC_FALSE );
+             SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, false );
     add_key( "key-aspect-ratio", KEY_ASPECT_RATIO, NULL,
-             ASPECT_RATIO_KEY_TEXT, ASPECT_RATIO_KEY_LONGTEXT, VLC_FALSE );
+             ASPECT_RATIO_KEY_TEXT, ASPECT_RATIO_KEY_LONGTEXT, false );
     add_key( "key-crop", KEY_CROP, NULL,
-             CROP_KEY_TEXT, CROP_KEY_LONGTEXT, VLC_FALSE );
+             CROP_KEY_TEXT, CROP_KEY_LONGTEXT, false );
     add_key( "key-deinterlace", KEY_DEINTERLACE, NULL,
-             DEINTERLACE_KEY_TEXT, DEINTERLACE_KEY_LONGTEXT, VLC_FALSE );
+             DEINTERLACE_KEY_TEXT, DEINTERLACE_KEY_LONGTEXT, false );
     add_key( "key-intf-show", KEY_INTF_SHOW, NULL,
-             INTF_SHOW_KEY_TEXT, INTF_SHOW_KEY_LONGTEXT, VLC_TRUE );
+             INTF_SHOW_KEY_TEXT, INTF_SHOW_KEY_LONGTEXT, true );
     add_key( "key-intf-hide", KEY_INTF_HIDE, NULL,
-             INTF_HIDE_KEY_TEXT, INTF_HIDE_KEY_LONGTEXT, VLC_TRUE );
+             INTF_HIDE_KEY_TEXT, INTF_HIDE_KEY_LONGTEXT, true );
     add_key( "key-snapshot", KEY_SNAPSHOT, NULL,
-        SNAP_KEY_TEXT, SNAP_KEY_LONGTEXT, VLC_TRUE );
+        SNAP_KEY_TEXT, SNAP_KEY_LONGTEXT, true );
     add_key( "key-history-back", KEY_HISTORY_BACK, NULL, HISTORY_BACK_TEXT,
-             HISTORY_BACK_LONGTEXT, VLC_TRUE );
+             HISTORY_BACK_LONGTEXT, true );
     add_key( "key-history-forward", KEY_HISTORY_FORWARD, NULL,
-             HISTORY_FORWARD_TEXT, HISTORY_FORWARD_LONGTEXT, VLC_TRUE );
+             HISTORY_FORWARD_TEXT, HISTORY_FORWARD_LONGTEXT, true );
     add_key( "key-record", KEY_RECORD, NULL,
-             RECORD_KEY_TEXT, RECORD_KEY_LONGTEXT, VLC_TRUE );
+             RECORD_KEY_TEXT, RECORD_KEY_LONGTEXT, true );
     add_key( "key-dump", KEY_DUMP, NULL,
-             DUMP_KEY_TEXT, DUMP_KEY_LONGTEXT, VLC_TRUE );
+             DUMP_KEY_TEXT, DUMP_KEY_LONGTEXT, true );
     add_key( "key-zoom", KEY_ZOOM, NULL,
-             ZOOM_KEY_TEXT, ZOOM_KEY_LONGTEXT, VLC_TRUE );
+             ZOOM_KEY_TEXT, ZOOM_KEY_LONGTEXT, true );
     add_key( "key-unzoom", KEY_UNZOOM, NULL,
-             UNZOOM_KEY_TEXT, UNZOOM_KEY_LONGTEXT, VLC_TRUE );
+             UNZOOM_KEY_TEXT, UNZOOM_KEY_LONGTEXT, true );
     add_key( "key-wallpaper", KEY_WALLPAPER, NULL, WALLPAPER_KEY_TEXT,
-             WALLPAPER_KEY_LONGTEXT, VLC_FALSE );
+             WALLPAPER_KEY_LONGTEXT, false );
 
     add_key( "key-menu-on", KEY_MENU_ON, NULL,
-             MENU_ON_KEY_TEXT, MENU_ON_KEY_LONGTEXT, VLC_TRUE );
+             MENU_ON_KEY_TEXT, MENU_ON_KEY_LONGTEXT, true );
     add_key( "key-menu-off", KEY_MENU_OFF, NULL,
-             MENU_OFF_KEY_TEXT, MENU_OFF_KEY_LONGTEXT, VLC_TRUE );
+             MENU_OFF_KEY_TEXT, MENU_OFF_KEY_LONGTEXT, true );
     add_key( "key-menu-right", KEY_MENU_RIGHT, NULL,
-             MENU_RIGHT_KEY_TEXT, MENU_RIGHT_KEY_LONGTEXT, VLC_TRUE );
+             MENU_RIGHT_KEY_TEXT, MENU_RIGHT_KEY_LONGTEXT, true );
     add_key( "key-menu-left", KEY_MENU_LEFT, NULL,
-             MENU_LEFT_KEY_TEXT, MENU_LEFT_KEY_LONGTEXT, VLC_TRUE );
+             MENU_LEFT_KEY_TEXT, MENU_LEFT_KEY_LONGTEXT, true );
     add_key( "key-menu-up", KEY_MENU_UP, NULL,
-             MENU_UP_KEY_TEXT, MENU_UP_KEY_LONGTEXT, VLC_TRUE );
+             MENU_UP_KEY_TEXT, MENU_UP_KEY_LONGTEXT, true );
     add_key( "key-menu-down", KEY_MENU_DOWN, NULL,
-             MENU_DOWN_KEY_TEXT, MENU_DOWN_KEY_LONGTEXT, VLC_TRUE );
+             MENU_DOWN_KEY_TEXT, MENU_DOWN_KEY_LONGTEXT, true );
     add_key( "key-menu-select", KEY_MENU_SELECT, NULL,
-             MENU_SELECT_KEY_TEXT, MENU_SELECT_KEY_LONGTEXT, VLC_TRUE );
+             MENU_SELECT_KEY_TEXT, MENU_SELECT_KEY_LONGTEXT, true );
 
     add_key( "key-crop-top", KEY_CROP_TOP, NULL,
-             CROP_TOP_KEY_TEXT, CROP_TOP_KEY_LONGTEXT, VLC_TRUE );
+             CROP_TOP_KEY_TEXT, CROP_TOP_KEY_LONGTEXT, true );
     add_key( "key-uncrop-top", KEY_UNCROP_TOP, NULL,
-             UNCROP_TOP_KEY_TEXT, UNCROP_TOP_KEY_LONGTEXT, VLC_TRUE );
+             UNCROP_TOP_KEY_TEXT, UNCROP_TOP_KEY_LONGTEXT, true );
     add_key( "key-crop-left", KEY_CROP_LEFT, NULL,
-             CROP_LEFT_KEY_TEXT, CROP_LEFT_KEY_LONGTEXT, VLC_TRUE );
+             CROP_LEFT_KEY_TEXT, CROP_LEFT_KEY_LONGTEXT, true );
     add_key( "key-uncrop-left", KEY_UNCROP_LEFT, NULL,
-             UNCROP_LEFT_KEY_TEXT, UNCROP_LEFT_KEY_LONGTEXT, VLC_TRUE );
+             UNCROP_LEFT_KEY_TEXT, UNCROP_LEFT_KEY_LONGTEXT, true );
     add_key( "key-crop-bottom", KEY_CROP_BOTTOM, NULL,
-             CROP_BOTTOM_KEY_TEXT, CROP_BOTTOM_KEY_LONGTEXT, VLC_TRUE );
+             CROP_BOTTOM_KEY_TEXT, CROP_BOTTOM_KEY_LONGTEXT, true );
     add_key( "key-uncrop-bottom", KEY_UNCROP_BOTTOM, NULL,
-             UNCROP_BOTTOM_KEY_TEXT, UNCROP_BOTTOM_KEY_LONGTEXT, VLC_TRUE );
+             UNCROP_BOTTOM_KEY_TEXT, UNCROP_BOTTOM_KEY_LONGTEXT, true );
     add_key( "key-crop-right", KEY_CROP_RIGHT, NULL,
-             CROP_RIGHT_KEY_TEXT, CROP_RIGHT_KEY_LONGTEXT, VLC_TRUE );
+             CROP_RIGHT_KEY_TEXT, CROP_RIGHT_KEY_LONGTEXT, true );
     add_key( "key-uncrop-right", KEY_UNCROP_RIGHT, NULL,
-             UNCROP_RIGHT_KEY_TEXT, UNCROP_RIGHT_KEY_LONGTEXT, VLC_TRUE );
+             UNCROP_RIGHT_KEY_TEXT, UNCROP_RIGHT_KEY_LONGTEXT, true );
     add_key( "key-random", KEY_RANDOM, NULL,
-             RANDOM_KEY_TEXT, RANDOM_KEY_LONGTEXT, VLC_FALSE );
+             RANDOM_KEY_TEXT, RANDOM_KEY_LONGTEXT, false );
     add_key( "key-loop", KEY_LOOP, NULL,
-             LOOP_KEY_TEXT, LOOP_KEY_LONGTEXT, VLC_FALSE );
-
+             LOOP_KEY_TEXT, LOOP_KEY_LONGTEXT, false );
+
+    set_section ( N_("Zoom" ), NULL );
+    add_key( "key-zoom-quarter",  KEY_ZOOM_QUARTER, NULL, 
+        ZOOM_QUARTER_KEY_TEXT,  NULL, false );
+    add_key( "key-zoom-half",     KEY_ZOOM_HALF, NULL, 
+        ZOOM_HALF_KEY_TEXT,     NULL, false );
+    add_key( "key-zoom-original", KEY_ZOOM_ORIGINAL, NULL, 
+        ZOOM_ORIGINAL_KEY_TEXT, NULL, false );
+    add_key( "key-zoom-double",   KEY_ZOOM_DOUBLE, NULL, 
+        ZOOM_DOUBLE_KEY_TEXT,   NULL, false );
+    
     set_section ( N_("Jump sizes" ), NULL );
     add_integer( "extrashort-jump-size", 3, NULL, JIEXTRASHORT_TEXT,
-                                    JIEXTRASHORT_LONGTEXT, VLC_FALSE );
+                                    JIEXTRASHORT_LONGTEXT, false );
     add_integer( "short-jump-size", 10, NULL, JISHORT_TEXT,
-                                    JISHORT_LONGTEXT, VLC_FALSE );
+                                    JISHORT_LONGTEXT, false );
     add_integer( "medium-jump-size", 60, NULL, JIMEDIUM_TEXT,
-                                    JIMEDIUM_LONGTEXT, VLC_FALSE );
+                                    JIMEDIUM_LONGTEXT, false );
     add_integer( "long-jump-size", 300, NULL, JILONG_TEXT,
-                                    JILONG_LONGTEXT, VLC_FALSE );
+                                    JILONG_LONGTEXT, false );
 
     /* HACK so these don't get displayed */
     set_category( -1 );
     set_subcategory( -1 );
     add_key( "key-set-bookmark1", KEY_SET_BOOKMARK1, NULL,
-             SET_BOOKMARK1_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK1_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark2", KEY_SET_BOOKMARK2, NULL,
-             SET_BOOKMARK2_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK2_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark3", KEY_SET_BOOKMARK3, NULL,
-             SET_BOOKMARK3_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK3_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark4", KEY_SET_BOOKMARK4, NULL,
-             SET_BOOKMARK4_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK4_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark5", KEY_SET_BOOKMARK5, NULL,
-             SET_BOOKMARK5_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK5_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark6", KEY_SET_BOOKMARK6, NULL,
-             SET_BOOKMARK6_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK6_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark7", KEY_SET_BOOKMARK7, NULL,
-             SET_BOOKMARK7_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK7_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark8", KEY_SET_BOOKMARK8, NULL,
-             SET_BOOKMARK8_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK8_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark9", KEY_SET_BOOKMARK9, NULL,
-             SET_BOOKMARK9_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK9_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-set-bookmark10", KEY_SET_BOOKMARK10, NULL,
-             SET_BOOKMARK10_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             SET_BOOKMARK10_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark1", KEY_PLAY_BOOKMARK1, NULL,
-             PLAY_BOOKMARK1_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK1_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark2", KEY_PLAY_BOOKMARK2, NULL,
-             PLAY_BOOKMARK2_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK2_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark3", KEY_PLAY_BOOKMARK3, NULL,
-             PLAY_BOOKMARK3_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK3_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark4", KEY_PLAY_BOOKMARK4, NULL,
-             PLAY_BOOKMARK4_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK4_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark5", KEY_PLAY_BOOKMARK5, NULL,
-             PLAY_BOOKMARK5_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK5_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark6", KEY_PLAY_BOOKMARK6, NULL,
-             PLAY_BOOKMARK6_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK6_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark7", KEY_PLAY_BOOKMARK7, NULL,
-             PLAY_BOOKMARK7_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK7_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark8", KEY_PLAY_BOOKMARK8, NULL,
-             PLAY_BOOKMARK8_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK8_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark9", KEY_PLAY_BOOKMARK9, NULL,
-             PLAY_BOOKMARK9_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK9_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
     add_key( "key-play-bookmark10", KEY_PLAY_BOOKMARK10, NULL,
-             PLAY_BOOKMARK10_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+             PLAY_BOOKMARK10_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, true );
 
 
     add_string( "bookmark1", NULL, NULL,
-             BOOKMARK1_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK1_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark2", NULL, NULL,
-             BOOKMARK2_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK2_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark3", NULL, NULL,
-             BOOKMARK3_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK3_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark4", NULL, NULL,
-             BOOKMARK4_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK4_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark5", NULL, NULL,
-             BOOKMARK5_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK5_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark6", NULL, NULL,
-             BOOKMARK6_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK6_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark7", NULL, NULL,
-             BOOKMARK7_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK7_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark8", NULL, NULL,
-             BOOKMARK8_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK8_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark9", NULL, NULL,
-             BOOKMARK9_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+             BOOKMARK9_TEXT, BOOKMARK_LONGTEXT, false );
     add_string( "bookmark10", NULL, NULL,
-              BOOKMARK10_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
+              BOOKMARK10_TEXT, BOOKMARK_LONGTEXT, false );
 
 #define HELP_TEXT \
     N_("print help for VLC (can be combined with --advanced and " \
        "--help-verbose)")
+#define FULL_HELP_TEXT \
+    N_("Exhaustive help for VLC and its modules")
 #define LONGHELP_TEXT \
     N_("print help for VLC and all its modules (can be combined with " \
        "--advanced and --help-verbose)")
-#define ADVANCED_TEXT \
-    N_("print help for the advanced options")
 #define HELP_VERBOSE_TEXT \
     N_("ask for extra verbosity when displaying help")
 #define LIST_TEXT \
@@ -2394,6 +2484,8 @@ vlc_module_begin();
 #define MODULE_TEXT \
     N_("print help on a specific module (can be combined with --advanced " \
        "and --help-verbose)")
+#define IGNORE_CONFIG_TEXT \
+    N_("no configuration option will be loaded nor saved to config file")
 #define SAVE_CONFIG_TEXT \
     N_("save the current command line options in the config")
 #define RESET_CONFIG_TEXT \
@@ -2405,52 +2497,55 @@ vlc_module_begin();
 #define VERSION_TEXT \
     N_("print version information")
  
-    add_bool( "help", VLC_FALSE, NULL, HELP_TEXT, "", VLC_FALSE );
+    add_bool( "help", false, NULL, HELP_TEXT, "", false );
         change_short( 'h' );
         change_internal();
         change_unsaveable();
-    add_bool( "longhelp", VLC_FALSE, NULL, LONGHELP_TEXT, "", VLC_FALSE );
+    add_bool( "full-help", false, NULL, FULL_HELP_TEXT, "", false );
         change_short( 'H' );
         change_internal();
         change_unsaveable();
-    add_bool( "advanced", VLC_FALSE, NULL, ADVANCED_TEXT, "", VLC_FALSE );
+    add_bool( "longhelp", false, NULL, LONGHELP_TEXT, "", false );
         change_internal();
         change_unsaveable();
-    add_bool( "help-verbose", VLC_FALSE, NULL, HELP_VERBOSE_TEXT, "",
-              VLC_FALSE );
+    add_bool( "help-verbose", false, NULL, HELP_VERBOSE_TEXT, "",
+              false );
         change_internal();
         change_unsaveable();
-    add_bool( "list", VLC_FALSE, NULL, LIST_TEXT, "", VLC_FALSE );
+    add_bool( "list", false, NULL, LIST_TEXT, "", false );
         change_short( 'l' );
         change_internal();
         change_unsaveable();
-    add_bool( "list-verbose", VLC_FALSE, NULL, LIST_VERBOSE_TEXT, "",
-              VLC_FALSE );
+    add_bool( "list-verbose", false, NULL, LIST_VERBOSE_TEXT, "",
+              false );
         change_short( 'l' );
         change_internal();
         change_unsaveable();
-    add_string( "module", NULL, NULL, MODULE_TEXT, "", VLC_FALSE );
+    add_string( "module", NULL, NULL, MODULE_TEXT, "", false );
         change_short( 'p' );
         change_internal();
         change_unsaveable();
-    add_bool( "save-config", VLC_FALSE, NULL, SAVE_CONFIG_TEXT, "",
-              VLC_FALSE );
+    add_bool( "ignore-config", false, NULL, IGNORE_CONFIG_TEXT, "", false );
+        change_internal();
+        change_unsaveable();
+    add_bool( "save-config", false, NULL, SAVE_CONFIG_TEXT, "",
+              false );
         change_internal();
         change_unsaveable();
-    add_bool( "reset-config", VLC_FALSE, NULL, MODULE_TEXT, "", VLC_FALSE );
+    add_bool( "reset-config", false, NULL, RESET_CONFIG_TEXT, "", false );
         change_internal();
         change_unsaveable();
-    add_bool( "reset-plugins-cache", VLC_FALSE, NULL,
-              RESET_PLUGINS_CACHE_TEXT, "", VLC_FALSE );
+    add_bool( "reset-plugins-cache", false, NULL,
+              RESET_PLUGINS_CACHE_TEXT, "", false );
         change_internal();
         change_unsaveable();
-    add_bool( "version", VLC_FALSE, NULL, VERSION_TEXT, "", VLC_FALSE );
+    add_bool( "version", false, NULL, VERSION_TEXT, "", false );
         change_internal();
         change_unsaveable();
-    add_string( "config", NULL, NULL, CONFIG_TEXT, "", VLC_FALSE );
+    add_string( "config", NULL, NULL, CONFIG_TEXT, "", false );
         change_internal();
         change_unsaveable();
-    add_bool( "version", VLC_FALSE, NULL, VERSION_TEXT, "", VLC_FALSE );
+    add_bool( "version", false, NULL, VERSION_TEXT, "", false );
         change_internal();
         change_unsaveable();
 
@@ -2461,13 +2556,6 @@ vlc_module_begin();
     set_capability( "main", 100 );
 vlc_module_end();
 
-module_config_t libvlc_config[] =
-{
-};
-
-const size_t libvlc_config_count = sizeof (libvlc_config)
-                                 / sizeof (libvlc_config[0]);
-
 /*****************************************************************************
  * End configuration.
  *****************************************************************************/
@@ -2478,96 +2566,101 @@ const size_t libvlc_config_count = sizeof (libvlc_config)
  *****************************************************************************/
 const struct hotkey libvlc_hotkeys[] =
 {
-    { "key-quit", ACTIONID_QUIT, 0, 0, 0, 0 },
-    { "key-play-pause", ACTIONID_PLAY_PAUSE, 0, 0, 0, 0 },
-    { "key-play", ACTIONID_PLAY, 0, 0, 0, 0 },
-    { "key-pause", ACTIONID_PAUSE, 0, 0, 0, 0 },
-    { "key-stop", ACTIONID_STOP, 0, 0, 0, 0 },
-    { "key-position", ACTIONID_POSITION, 0, 0, 0, 0 },
-    { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, 0, 1000000, 0, 0 },
-    { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, 0, 1000000, 0, 0 },
-    { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, 0, 1000000, 0, 0 },
-    { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, 0, 1000000, 0, 0 },
-    { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, 0, 1000000, 0, 0 },
-    { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, 0, 1000000, 0, 0 },
-    { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, 0, 1000000, 0, 0 },
-    { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, 0, 1000000, 0, 0 },
-    { "key-prev", ACTIONID_PREV, 0, 0, 0, 0 },
-    { "key-next", ACTIONID_NEXT, 0, 0, 0, 0 },
-    { "key-faster", ACTIONID_FASTER, 0, 0, 0, 0 },
-    { "key-slower", ACTIONID_SLOWER, 0, 0, 0, 0 },
-    { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, 0, 0, 0, 0 },
-    { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, 0, 0, 0, 0 },
-    { "key-vol-up", ACTIONID_VOL_UP, 0, 0, 0, 0 },
-    { "key-vol-down", ACTIONID_VOL_DOWN, 0, 0, 0, 0 },
-    { "key-vol-mute", ACTIONID_VOL_MUTE, 0, 0, 0, 0 },
-    { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, 0, 0, 0, 0 },
-    { "key-subdelay-up", ACTIONID_SUBDELAY_UP, 0, 0, 0, 0 },
-    { "key-audiodelay-down", ACTIONID_AUDIODELAY_DOWN, 0, 0, 0, 0 },
-    { "key-audiodelay-up", ACTIONID_AUDIODELAY_UP, 0, 0, 0, 0 },
-    { "key-audio-track", ACTIONID_AUDIO_TRACK, 0, 0, 0, 0 },
-    { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, 0, 0, 0, 0 },
-    { "key-aspect-ratio", ACTIONID_ASPECT_RATIO, 0, 0, 0, 0 },
-    { "key-crop", ACTIONID_CROP, 0, 0, 0, 0 },
-    { "key-deinterlace", ACTIONID_DEINTERLACE, 0, 0, 0, 0 },
-    { "key-intf-show", ACTIONID_INTF_SHOW, 0, 0, 0, 0 },
-    { "key-intf-hide", ACTIONID_INTF_HIDE, 0, 0, 0, 0 },
-    { "key-snapshot", ACTIONID_SNAPSHOT, 0, 0, 0, 0 },
-    { "key-zoom", ACTIONID_ZOOM, 0, 0, 0, 0 },
-    { "key-unzoom", ACTIONID_UNZOOM, 0, 0, 0, 0 },
-    { "key-crop-top", ACTIONID_CROP_TOP, 0, 0, 0, 0 },
-    { "key-uncrop-top", ACTIONID_UNCROP_TOP, 0, 0, 0, 0 },
-    { "key-crop-left", ACTIONID_CROP_LEFT, 0, 0, 0, 0 },
-    { "key-uncrop-left", ACTIONID_UNCROP_LEFT, 0, 0, 0, 0 },
-    { "key-crop-bottom", ACTIONID_CROP_BOTTOM, 0, 0, 0, 0 },
-    { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, 0, 0, 0, 0 },
-    { "key-crop-right", ACTIONID_CROP_RIGHT, 0, 0, 0, 0 },
-    { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, 0, 0, 0, 0 },
-    { "key-nav-activate", ACTIONID_NAV_ACTIVATE, 0, 0, 0, 0 },
-    { "key-nav-up", ACTIONID_NAV_UP, 0, 0, 0, 0 },
-    { "key-nav-down", ACTIONID_NAV_DOWN, 0, 0, 0, 0 },
-    { "key-nav-left", ACTIONID_NAV_LEFT, 0, 0, 0, 0 },
-    { "key-nav-right", ACTIONID_NAV_RIGHT, 0, 0, 0, 0 },
-    { "key-disc-menu", ACTIONID_DISC_MENU, 0, 0, 0, 0 },
-    { "key-title-prev", ACTIONID_TITLE_PREV, 0, 0, 0, 0 },
-    { "key-title-next", ACTIONID_TITLE_NEXT, 0, 0, 0, 0 },
-    { "key-chapter-prev", ACTIONID_CHAPTER_PREV, 0, 0, 0, 0 },
-    { "key-chapter-next", ACTIONID_CHAPTER_NEXT, 0, 0, 0, 0 },
-    { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, 0, 0, 0, 0 },
-    { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, 0, 0, 0, 0 },
-    { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, 0, 0, 0, 0 },
-    { "key-set-bookmark4", ACTIONID_SET_BOOKMARK4, 0, 0, 0, 0 },
-    { "key-set-bookmark5", ACTIONID_SET_BOOKMARK5, 0, 0, 0, 0 },
-    { "key-set-bookmark6", ACTIONID_SET_BOOKMARK6, 0, 0, 0, 0 },
-    { "key-set-bookmark7", ACTIONID_SET_BOOKMARK7, 0, 0, 0, 0 },
-    { "key-set-bookmark8", ACTIONID_SET_BOOKMARK8, 0, 0, 0, 0 },
-    { "key-set-bookmark9", ACTIONID_SET_BOOKMARK9, 0, 0, 0, 0 },
-    { "key-set-bookmark10", ACTIONID_SET_BOOKMARK10, 0, 0, 0, 0 },
-    { "key-play-bookmark1", ACTIONID_PLAY_BOOKMARK1, 0, 0, 0, 0 },
-    { "key-play-bookmark2", ACTIONID_PLAY_BOOKMARK2, 0, 0, 0, 0 },
-    { "key-play-bookmark3", ACTIONID_PLAY_BOOKMARK3, 0, 0, 0, 0 },
-    { "key-play-bookmark4", ACTIONID_PLAY_BOOKMARK4, 0, 0, 0, 0 },
-    { "key-play-bookmark5", ACTIONID_PLAY_BOOKMARK5, 0, 0, 0, 0 },
-    { "key-play-bookmark6", ACTIONID_PLAY_BOOKMARK6, 0, 0, 0, 0 },
-    { "key-play-bookmark7", ACTIONID_PLAY_BOOKMARK7, 0, 0, 0, 0 },
-    { "key-play-bookmark8", ACTIONID_PLAY_BOOKMARK8, 0, 0, 0, 0 },
-    { "key-play-bookmark9", ACTIONID_PLAY_BOOKMARK9, 0, 0, 0, 0 },
-    { "key-play-bookmark10", ACTIONID_PLAY_BOOKMARK10, 0, 0, 0, 0 },
-    { "key-history-back", ACTIONID_HISTORY_BACK, 0, 0, 0, 0 },
-    { "key-history-forward", ACTIONID_HISTORY_FORWARD, 0, 0, 0, 0 },
-    { "key-record", ACTIONID_RECORD, 0, 0, 0, 0 },
-    { "key-dump", ACTIONID_DUMP, 0, 0, 0, 0 },
-    { "key-random", ACTIONID_RANDOM, 0, 0, 0, 0 },
-    { "key-loop", ACTIONID_LOOP, 0, 0, 0, 0 },
-    { "key-wallpaper", ACTIONID_WALLPAPER, 0, 0, 0, 0 },
-    { "key-menu-on", ACTIONID_MENU_ON, 0, 0, 0, 0 },
-    { "key-menu-off", ACTIONID_MENU_OFF, 0, 0, 0, 0 },
-    { "key-menu-right", ACTIONID_MENU_RIGHT, 0, 0, 0, 0 },
-    { "key-menu-left", ACTIONID_MENU_LEFT, 0, 0, 0, 0 },
-    { "key-menu-up", ACTIONID_MENU_UP, 0, 0, 0, 0 },
-    { "key-menu-down", ACTIONID_MENU_DOWN, 0, 0, 0, 0 },
-    { "key-menu-select", ACTIONID_MENU_SELECT, 0, 0, 0, 0 },
-    { NULL, 0, 0, 0, 0, 0 }
+    { "key-quit", ACTIONID_QUIT, 0, },
+    { "key-play-pause", ACTIONID_PLAY_PAUSE, 0, },
+    { "key-play", ACTIONID_PLAY, 0, },
+    { "key-pause", ACTIONID_PAUSE, 0, },
+    { "key-stop", ACTIONID_STOP, 0, },
+    { "key-position", ACTIONID_POSITION, 0, },
+    { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, 0, },
+    { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, 0, },
+    { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, 0, },
+    { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, 0, },
+    { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, 0, },
+    { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, 0, },
+    { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, 0, },
+    { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, 0, },
+    { "key-prev", ACTIONID_PREV, 0, },
+    { "key-next", ACTIONID_NEXT, 0, },
+    { "key-faster", ACTIONID_FASTER, 0, },
+    { "key-slower", ACTIONID_SLOWER, 0, },
+    { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, 0, },
+    { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, 0, },
+    { "key-vol-up", ACTIONID_VOL_UP, 0, },
+    { "key-vol-down", ACTIONID_VOL_DOWN, 0, },
+    { "key-vol-mute", ACTIONID_VOL_MUTE, 0, },
+    { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, 0, },
+    { "key-subdelay-up", ACTIONID_SUBDELAY_UP, 0, },
+    { "key-audiodelay-down", ACTIONID_AUDIODELAY_DOWN, 0, },
+    { "key-audiodelay-up", ACTIONID_AUDIODELAY_UP, 0, },
+    { "key-audio-track", ACTIONID_AUDIO_TRACK, 0, },
+    { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, 0, },
+    { "key-aspect-ratio", ACTIONID_ASPECT_RATIO, 0, },
+    { "key-crop", ACTIONID_CROP, 0, },
+    { "key-deinterlace", ACTIONID_DEINTERLACE, 0, },
+    { "key-intf-show", ACTIONID_INTF_SHOW, 0, },
+    { "key-intf-hide", ACTIONID_INTF_HIDE, 0, },
+    { "key-snapshot", ACTIONID_SNAPSHOT, 0, },
+    { "key-zoom", ACTIONID_ZOOM, 0, },
+    { "key-unzoom", ACTIONID_UNZOOM, 0, },
+    { "key-crop-top", ACTIONID_CROP_TOP, 0, },
+    { "key-uncrop-top", ACTIONID_UNCROP_TOP, 0, },
+    { "key-crop-left", ACTIONID_CROP_LEFT, 0, },
+    { "key-uncrop-left", ACTIONID_UNCROP_LEFT, 0, },
+    { "key-crop-bottom", ACTIONID_CROP_BOTTOM, 0, },
+    { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, 0, },
+    { "key-crop-right", ACTIONID_CROP_RIGHT, 0, },
+    { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, 0, },
+    { "key-nav-activate", ACTIONID_NAV_ACTIVATE, 0, },
+    { "key-nav-up", ACTIONID_NAV_UP, 0, },
+    { "key-nav-down", ACTIONID_NAV_DOWN, 0, },
+    { "key-nav-left", ACTIONID_NAV_LEFT, 0, },
+    { "key-nav-right", ACTIONID_NAV_RIGHT, 0, },
+    { "key-disc-menu", ACTIONID_DISC_MENU, 0, },
+    { "key-title-prev", ACTIONID_TITLE_PREV, 0, },
+    { "key-title-next", ACTIONID_TITLE_NEXT, 0, },
+    { "key-chapter-prev", ACTIONID_CHAPTER_PREV, 0, },
+    { "key-chapter-next", ACTIONID_CHAPTER_NEXT, 0, },
+    { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, 0, },
+    { "key-zoom-half", ACTIONID_ZOOM_HALF, 0, },
+    { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, 0, },
+    { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, 0, },
+    { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, 0, },
+    { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, 0, },
+    { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, 0, },
+    { "key-set-bookmark4", ACTIONID_SET_BOOKMARK4, 0, },
+    { "key-set-bookmark5", ACTIONID_SET_BOOKMARK5, 0, },
+    { "key-set-bookmark6", ACTIONID_SET_BOOKMARK6, 0, },
+    { "key-set-bookmark7", ACTIONID_SET_BOOKMARK7, 0, },
+    { "key-set-bookmark8", ACTIONID_SET_BOOKMARK8, 0, },
+    { "key-set-bookmark9", ACTIONID_SET_BOOKMARK9, 0, },
+    { "key-set-bookmark10", ACTIONID_SET_BOOKMARK10, 0, },
+    { "key-play-bookmark1", ACTIONID_PLAY_BOOKMARK1, 0, },
+    { "key-play-bookmark2", ACTIONID_PLAY_BOOKMARK2, 0, },
+    { "key-play-bookmark3", ACTIONID_PLAY_BOOKMARK3, 0, },
+    { "key-play-bookmark4", ACTIONID_PLAY_BOOKMARK4, 0, },
+    { "key-play-bookmark5", ACTIONID_PLAY_BOOKMARK5, 0, },
+    { "key-play-bookmark6", ACTIONID_PLAY_BOOKMARK6, 0, },
+    { "key-play-bookmark7", ACTIONID_PLAY_BOOKMARK7, 0, },
+    { "key-play-bookmark8", ACTIONID_PLAY_BOOKMARK8, 0, },
+    { "key-play-bookmark9", ACTIONID_PLAY_BOOKMARK9, 0, },
+    { "key-play-bookmark10", ACTIONID_PLAY_BOOKMARK10, 0, },
+    { "key-history-back", ACTIONID_HISTORY_BACK, 0, },
+    { "key-history-forward", ACTIONID_HISTORY_FORWARD, 0, },
+    { "key-record", ACTIONID_RECORD, 0, },
+    { "key-dump", ACTIONID_DUMP, 0, },
+    { "key-random", ACTIONID_RANDOM, 0, },
+    { "key-loop", ACTIONID_LOOP, 0, },
+    { "key-wallpaper", ACTIONID_WALLPAPER, 0, },
+    { "key-menu-on", ACTIONID_MENU_ON, 0, },
+    { "key-menu-off", ACTIONID_MENU_OFF, 0, },
+    { "key-menu-right", ACTIONID_MENU_RIGHT, 0, },
+    { "key-menu-left", ACTIONID_MENU_LEFT, 0, },
+    { "key-menu-up", ACTIONID_MENU_UP, 0, },
+    { "key-menu-down", ACTIONID_MENU_DOWN, 0, },
+    { "key-menu-select", ACTIONID_MENU_SELECT, 0, },
+    { "key-audiodevice-cycle", ACTIONID_AUDIODEVICE_CYCLE, 0, },
+    { NULL, 0, 0, }
 };
 
 const size_t libvlc_hotkeys_size = sizeof (libvlc_hotkeys);