]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Fix a bunch of preferences errors
[vlc] / src / libvlc.h
index 61680a134a8346df8913b4c3378675462c811922..776507f565c84ebe74c80c4e68fa2750e9afeb50 100644 (file)
@@ -1,12 +1,13 @@
 /*****************************************************************************
  * libvlc.h: main libvlc header
  *****************************************************************************
- * Copyright (C) 1998-2005 the VideoLAN team
+ * Copyright (C) 1998-2005 VideoLAN (Centrale Réseaux) and its contributors
  * $Id$
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
  *          Gildas Bazin <gbazin@videolan.org>
+ *          Jean-Paul Saman <jpsaman #_at_# m2x.nl>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -28,9 +29,9 @@
 
 static char *ppsz_language[] =
 { "auto", "en", "en_GB", "ca", "da", "de", "es",
-  "fr", "it", "ja", "nl", "pt_BR", "ro", "ru", "tr", "zh_TW" };
+  "fr", "it", "ja", "ko", "nl", "pt_BR", "ro", "ru", "tr", "zh_TW" };
 static char *ppsz_language_text[] =
-{ N_("Auto"), N_("American English"), N_("British English"), N_("Catalan"), N_("Danish"), N_("German"), N_("Spanish"), N_("French"), N_("Italian"), N_("Japanese"), N_("Dutch"), N_("Brazilian Portuguese"), N_("Romanian"), N_("Russian"), N_("Turkish"), N_("Chinese Traditional") };
+{ N_("Auto"), N_("American English"), N_("British English"), N_("Catalan"), N_("Danish"), N_("German"), N_("Spanish"), N_("French"), N_("Italian"), N_("Japanese"), N_("Korean"), N_("Dutch"), N_("Brazilian Portuguese"), N_("Romanian"), N_("Russian"), N_("Turkish"), N_("Chinese Traditional") };
 
 static char *ppsz_snap_formats[] =
 { "png", "jpg" };
@@ -73,9 +74,9 @@ static char *ppsz_snap_formats[] =
 #define QUIET_LONGTEXT N_( \
     "This option turns off all warning and information messages.")
 
-#define OPEN_TEXT N_("Open MRL")
+#define OPEN_TEXT N_("Default stream")
 #define OPEN_LONGTEXT N_( \
-    "This option allows you to open a default MRL on start-up.")
+    "This option allows you to always open a default stream on start-up." )
 
 #define LANGUAGE_TEXT N_("Language")
 #define LANGUAGE_LONGTEXT N_( "This option allows you to set the language " \
@@ -114,7 +115,7 @@ static char *ppsz_snap_formats[] =
 #define MONO_TEXT N_("Force mono audio")
 #define MONO_LONGTEXT N_("This will force a mono audio output.")
 
-#define VOLUME_TEXT N_("Audio output volume")
+#define VOLUME_TEXT N_("Default audio volume")
 #define VOLUME_LONGTEXT N_( \
     "You can set the default audio output volume here, in a range from 0 to " \
     "1024.")
@@ -123,6 +124,11 @@ static char *ppsz_snap_formats[] =
 #define VOLUME_SAVE_LONGTEXT N_( \
     "This saves the audio output volume when you select mute.")
 
+#define VOLUME_STEP_TEXT N_("Audio output volume step")
+#define VOLUME_STEP_LONGTEXT N_( \
+    "The step size of the volume is adjustable using this option, " \
+    "in a range from 0 to 1024." )
+
 #define AOUT_RATE_TEXT N_("Audio output frequency (Hz)")
 #define AOUT_RATE_LONGTEXT N_( \
     "You can force the audio output frequency here. Common values are " \
@@ -153,6 +159,17 @@ static char *ppsz_snap_formats[] =
     "This option allows you to use the S/PDIF audio output by default when " \
     "your hardware supports it as well as the audio stream being played.")
 
+#define FORCE_DOLBY_TEXT N_("Force detection of Dolby Surround")
+#define FORCE_DOLBY_LONGTEXT N_( \
+    "Use this when you know your stream is (or is not) encoded with Dolby "\
+    "Surround but fails to be detected as such. And even if the stream is "\
+    "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 char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") };
+
+
 #define AUDIO_FILTER_TEXT N_("Audio filters")
 #define AUDIO_FILTER_LONGTEXT N_( \
     "This allows you to add audio post processing filters, to modify " \
@@ -163,12 +180,6 @@ static char *ppsz_snap_formats[] =
     "This allows you to add visualization modules " \
     "(spectrum analyzer, etc.).")
 
-#define AUDIO_CHANNEL_MIXER N_("Channel mixer")
-#define AUDIO_CHANNEL_MIXER_LONGTEXT N_( \
-     "This allows you to choose a specific audio channel mixer. For " \
-     "instance, you can use the \"headphone\" mixer that gives 5.1 feeling " \
-     "with a headphone.")
-
 #define VOUT_CAT_LONGTEXT N_( \
     "These options allow you to modify the behavior of the video output " \
     "subsystem. You can for example enable video filters (deinterlacing, " \
@@ -244,10 +255,13 @@ static char *ppsz_align_descriptions[] =
 #define VIDEO_ON_TOP_LONGTEXT N_("Always place the video window on top of " \
     "other windows." )
 
+#define SS_TEXT N_("Disable screensaver")
+#define SS_LONGTEXT N_("Disable the screensaver during video playback." )
+
 #define VIDEO_DECO_TEXT N_("Window decorations")
 #define VIDEO_DECO_LONGTEXT N_( \
     "If this option is disabled, VLC will avoid creating window caption, " \
-    "frames, etc... around the video. Currently only supported on Windows.")
+    "frames, etc... around the video.")
 
 #define FILTER_TEXT N_("Video filter module")
 #define FILTER_LONGTEXT N_( \
@@ -274,9 +288,16 @@ static char *ppsz_align_descriptions[] =
     "aspect, or a float value (1.25, 1.3333, etc.) expressing pixel " \
     "squareness.")
 
+#define MASPECT_RATIO_TEXT N_("Monitor aspect ratio")
+#define MASPECT_RATIO_LONGTEXT N_( \
+    "This will force the monitor aspect ratio. Most monitors have a 4:3." \
+    "If you have a 16:9 screen, you will need to change this to 16:9 in" \
+    "order to keep proportions.")
+
 #define SKIP_FRAMES_TEXT N_("Skip frames")
 #define SKIP_FRAMES_LONGTEXT N_( \
-    "Disable this option to disable frame drops on MPEG-2 streams.")
+    "This option enables framedropping on MPEG2 stream. Framedropping " \
+    "occurs when your computer is not powerful enough" )
 
 #define QUIET_SYNCHRO_TEXT N_("Quiet synchro")
 #define QUIET_SYNCHRO_LONGTEXT N_( \
@@ -297,6 +318,7 @@ static char *ppsz_align_descriptions[] =
 #define CLOCK_SYNCHRO_LONGTEXT N_( \
     "Allows you to enable/disable the input clock synchronisation for " \
     "real-time sources.")
+
 static int pi_clock_values[] = { -1, 0, 1 };
 static char *ppsz_clock_descriptions[] =
 { N_("Default"), N_("Disable"), N_("Enable") };
@@ -310,46 +332,40 @@ static char *ppsz_clock_descriptions[] =
     "This is the typical size of UDP packets that we expect. On Ethernet " \
     "it is usually 1500.")
 
-#define IFACE_ADDR_TEXT N_("Network interface address")
-#define IFACE_ADDR_LONGTEXT N_( \
-    "If you have several interfaces on your machine and use the " \
-    "multicast solution, you will probably have to indicate the IP address " \
-    "of your multicasting interface here.")
-
 #define TTL_TEXT N_("Time To Live")
 #define TTL_LONGTEXT N_( \
     "Indicate here the Time To Live of the multicast packets sent by " \
     "the stream output.")
 
-#define INPUT_PROGRAM_TEXT N_("Choose program (SID)")
+#define INPUT_PROGRAM_TEXT N_("Program to select")
 #define INPUT_PROGRAM_LONGTEXT N_( \
     "Choose the program to select by giving its Service ID.\n" \
     "Only use this option if you want to read a multi-program stream " \
     "(like DVB streams for example)." )
 
-#define INPUT_PROGRAMS_TEXT N_("Choose programs")
+#define INPUT_PROGRAMS_TEXT N_("Programs to select")
 #define INPUT_PROGRAMS_LONGTEXT N_( \
     "Choose the programs to select by giving a comma-separated list of " \
     "SIDs.\n" \
     "Only use this option if you want to read a multi-program stream " \
     "(like DVB streams for example)." )
 
-#define INPUT_AUDIOTRACK_TEXT N_("Choose audio track")
+#define INPUT_AUDIOTRACK_TEXT N_("Audio track")
 #define INPUT_AUDIOTRACK_LONGTEXT N_( \
     "Give the stream number of the audio track you want to use" \
     "(from 0 to n).")
 
-#define INPUT_SUBTRACK_TEXT N_("Choose subtitles track")
+#define INPUT_SUBTRACK_TEXT N_("Subtitles track")
 #define INPUT_SUBTRACK_LONGTEXT N_( \
     "Give the stream number of the subtitle track you want to use " \
     "(from 0 to n).")
 
-#define INPUT_AUDIOTRACK_LANG_TEXT N_("Choose audio language")
+#define INPUT_AUDIOTRACK_LANG_TEXT N_("Audio language")
 #define INPUT_AUDIOTRACK_LANG_LONGTEXT N_( \
     "Give the language of the audio track you want to use " \
     "(comma separted, two or tree letter country code).")
 
-#define INPUT_SUBTRACK_LANG_TEXT N_("Choose subtitle language")
+#define INPUT_SUBTRACK_LANG_TEXT N_("Subtitle language")
 #define INPUT_SUBTRACK_LANG_LONGTEXT N_( \
     "Give the language of the subtitle track you want to use " \
     "(comma separted, two or tree letter country code).")
@@ -366,12 +382,12 @@ static char *ppsz_clock_descriptions[] =
 
 #define INPUT_LIST_TEXT N_("Input list")
 #define INPUT_LIST_LONGTEXT N_("Allows you to specify a comma-separated list " \
-    "of inputs that will be concatenated.")
+    "of inputs that will be concatenated after the normal one.")
 
 #define INPUT_SLAVE_TEXT N_("Input slave (experimental)")
-#define INPUT_SLAVE_LONGTEXT N_("Allows you to play from several files at " \
+#define INPUT_SLAVE_LONGTEXT N_("Allows you to play from several streams at " \
     "the same time. This feature is experimental, not all formats " \
-       "are supported.")
+    "are supported.")
 
 #define BOOKMARKS_TEXT N_("Bookmarks list for a stream")
 #define BOOKMARKS_LONGTEXT N_("You can specify a list of bookmarks for a stream in " \
@@ -483,9 +499,6 @@ static char *ppsz_clock_descriptions[] =
 #define SOCKS_PASS_LONGTEXT N_("Allows you to modify the password that will " \
     "be used for the connection to the SOCKS server.")
 
-
-
-
 #define META_TITLE_TEXT N_("Title metadata")
 #define META_TITLE_LONGTEXT N_( \
      "Allows you to specify a \"title\" metadata for an input.")
@@ -668,7 +681,9 @@ static char *ppsz_clock_descriptions[] =
 
 #define ACCESS_TEXT N_("Access module")
 #define ACCESS_LONGTEXT N_( \
-    "This is a legacy entry to let you configure access modules.")
+    "This allows you to force an access module. You can use it if " \
+    "the correct access is not automatically detected. You should not "\
+    "set this as a global option unless you really know what you are doing." )
 
 #define ACCESS_FILTER_TEXT N_("Access filter module")
 #define ACCESS_FILTER_LONGTEXT N_( \
@@ -780,6 +795,8 @@ static char *ppsz_clock_descriptions[] =
 #define POSITION_KEY_TEXT N_("Position")
 #define POSITION_KEY_LONGTEXT N_("Select the hotkey to display the position.")
 
+#define JB3SEC_KEY_TEXT N_("Jump 3 seconds backwards")
+#define JB3SEC_KEY_LONGTEXT N_("Select the hotkey to jump 3 seconds backwards.")
 #define JB10SEC_KEY_TEXT N_("Jump 10 seconds backwards")
 #define JB10SEC_KEY_LONGTEXT N_("Select the hotkey to jump 10 seconds backwards.")
 
@@ -787,12 +804,14 @@ static char *ppsz_clock_descriptions[] =
 #define JB1MIN_KEY_LONGTEXT N_("Select the hotkey to jump 1 minute backwards.")
 #define JB5MIN_KEY_TEXT N_("Jump 5 minutes backwards")
 #define JB5MIN_KEY_LONGTEXT N_("Select the hotkey to jump 5 minutes backwards.")
+
+#define JF3SEC_KEY_TEXT N_("Jump 3 seconds forward")
+#define JF3SEC_KEY_LONGTEXT N_("Select the hotkey to jump 3 seconds forward.")
 #define JF10SEC_KEY_TEXT N_("Jump 10 seconds forward")
 #define JF10SEC_KEY_LONGTEXT N_("Select the hotkey to jump 10 seconds forward.")
 
 #define JF1MIN_KEY_TEXT N_("Jump 1 minute forward")
 #define JF1MIN_KEY_LONGTEXT N_("Select the hotkey to jump 1 minute forward.")
-
 #define JF5MIN_KEY_TEXT N_("Jump 5 minutes forward")
 #define JF5MIN_KEY_LONGTEXT N_("Select the hotkey to jump 5 minutes forward.")
 
@@ -808,6 +827,14 @@ static char *ppsz_clock_descriptions[] =
 #define NAV_RIGHT_KEY_LONGTEXT N_("Select the key to move the selector right in DVD menus.")
 #define NAV_ACTIVATE_KEY_TEXT N_("Activate")
 #define NAV_ACTIVATE_KEY_LONGTEXT N_("Select the key to activate selected item in DVD menus.")
+#define TITLE_PREV_TEXT N_("Select previous DVD title")
+#define TITLE_PREV_LONGTEXT N_("Select the key to choose the previous title from the DVD")
+#define TITLE_NEXT_TEXT N_("Select next DVD title")
+#define TITLE_NEXT_LONGTEXT N_("Select the key to choose the next title from the DVD")
+#define CHAPTER_PREV_TEXT N_("Select prev DVD chapter")
+#define CHAPTER_PREV_LONGTEXT N_("Select the key to choose the previous chapter from the DVD")
+#define CHAPTER_NEXT_TEXT N_("Select prev DVD chapter")
+#define CHAPTER_NEXT_LONGTEXT N_("Select the key to choose the next chapter from the DVD")
 #define VOL_UP_KEY_TEXT N_("Volume up")
 #define VOL_UP_KEY_LONGTEXT N_("Select the key to increase audio volume.")
 #define VOL_DOWN_KEY_TEXT N_("Volume down")
@@ -856,6 +883,8 @@ static char *ppsz_clock_descriptions[] =
 #define SUBTITLE_TRACK_KEY_LONGTEXT N_("Cycle through the available subtitle tracks")
 #define INTF_SHOW_KEY_TEXT N_("Show interface")
 #define INTF_SHOW_KEY_LONGTEXT N_("Raise the interface above all other windows")
+#define INTF_HIDE_KEY_TEXT N_("Hide interface")
+#define INTF_HIDE_KEY_LONGTEXT N_("Lower the interface below all other windows")
 #define SNAP_KEY_TEXT N_("Take video snapshot")
 #define SNAP_KEY_LONGTEXT N_("Takes a video snapshot and writes it to disk.")
 
@@ -875,7 +904,7 @@ static char *ppsz_clock_descriptions[] =
     "\n            and that overrides previous settings." \
     "\n" \
     "\nPlaylistitem MRL syntax:" \
-    "\n  URL[@[title][:chapter][-[title][:chapter]]] [:option=value ...]" \
+    "\n  [[access][/demux]://]URL[@[title][:chapter][-[title][:chapter]]] [:option=value ...]" \
     "\n" \
     "\n  Many of the global --options can also be used as MRL specific :options." \
     "\n  Multiple :option=value pairs can be specified." \
@@ -891,7 +920,7 @@ static char *ppsz_clock_descriptions[] =
     "\n  [cdda://][device]              Audio CD device" \
     "\n  udp:[[<source address>]@[<bind address>][:<bind port>]]" \
     "\n                                 UDP stream sent by a streaming server"\
-    "\n  vlc:pause                      Special item to pause the playlist" \
+    "\n  vlc:pause:<seconds>            Special item to pause the playlist for a certain time" \
     "\n  vlc:quit                       Special item to quit VLC" \
     "\n")
 
@@ -923,13 +952,19 @@ vlc_module_begin();
     add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN,
                             AOUT_VOLUME_MAX, NULL, VOLUME_TEXT,
                             VOLUME_LONGTEXT, VLC_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 );
     add_integer( "aout-rate", -1, NULL, AOUT_RATE_TEXT,
                  AOUT_RATE_LONGTEXT, VLC_TRUE );
 #if !defined( SYS_DARWIN )
     add_bool( "hq-resampling", 1, NULL, AOUT_RESAMP_TEXT,
               AOUT_RESAMP_LONGTEXT, VLC_TRUE );
 #endif
-    add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, VLC_FALSE );
+    add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, VLC_TRUE );
+    add_integer( "force-dolby-surround", 0, NULL, FORCE_DOLBY_TEXT,
+                 FORCE_DOLBY_LONGTEXT, VLC_TRUE );
+        change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, 0 );
     add_integer( "audio-desync", 0, NULL, DESYNC_TEXT,
                  DESYNC_LONGTEXT, VLC_TRUE );
     set_subcategory( SUBCAT_AUDIO_AOUT );
@@ -955,7 +990,7 @@ vlc_module_begin();
               FULLSCREEN_LONGTEXT, VLC_FALSE );
         change_short('f');
     add_bool( "skip-frames", 1, NULL, SKIP_FRAMES_TEXT,
-              SKIP_FRAMES_LONGTEXT, VLC_FALSE );
+              SKIP_FRAMES_LONGTEXT, VLC_TRUE );
     add_bool( "quiet-synchro", 0, NULL, QUIET_SYNCHRO_TEXT,
               QUIET_SYNCHRO_LONGTEXT, VLC_TRUE );
 #ifndef SYS_DARWIN
@@ -963,6 +998,8 @@ vlc_module_begin();
 #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 );
 
     set_section( N_("Snapshot") , NULL );
     add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT,
@@ -978,6 +1015,8 @@ vlc_module_begin();
     add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, VLC_TRUE );
     add_string( "aspect-ratio", "", NULL,
                ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, VLC_FALSE );
+    add_string( "monitor-aspect-ratio", "4:3", NULL,
+               MASPECT_RATIO_TEXT, MASPECT_RATIO_LONGTEXT, VLC_FALSE );
     add_bool( "video-deco", 1, NULL, VIDEO_DECO_TEXT,
               VIDEO_DECO_LONGTEXT, VLC_TRUE );
     add_string( "video-title", NULL, NULL, VIDEO_TITLE_TEXT,
@@ -1051,12 +1090,12 @@ vlc_module_begin();
     add_integer( "program", 0, NULL,
                  INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, VLC_TRUE );
     add_string( "programs", "", NULL,
-                INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, VLC_FALSE );
+                INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, VLC_TRUE );
     add_integer( "audio-track", -1, NULL,
-                 INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, VLC_FALSE );
+                 INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, VLC_TRUE );
        add_deprecated( "audio-channel", VLC_FALSE ); /*deprecated since 0.8.2 */
     add_integer( "sub-track", -1, NULL,
-                 INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, VLC_FALSE );
+                 INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, VLC_TRUE );
        add_deprecated("spu-channel",VLC_FALSE); /*deprecated since 0.8.2*/
     add_string( "audio-language", "", NULL,
                  INPUT_AUDIOTRACK_LANG_TEXT, INPUT_AUDIOTRACK_LANG_LONGTEXT,
@@ -1065,10 +1104,9 @@ vlc_module_begin();
                  INPUT_SUBTRACK_LANG_TEXT, INPUT_SUBTRACK_LANG_LONGTEXT,
                   VLC_FALSE );
 
-
     set_section( N_( "Playback control" ) , NULL);
     add_integer( "input-repeat", 0, NULL,
-                 INPUT_REPEAT_TEXT, INPUT_REPEAT_LONGTEXT, VLC_TRUE );
+                 INPUT_REPEAT_TEXT, INPUT_REPEAT_LONGTEXT, VLC_FALSE );
     add_integer( "start-time", 0, NULL,
                  START_TIME_TEXT, START_TIME_LONGTEXT, VLC_TRUE );
     add_integer( "stop-time", 0, NULL,
@@ -1083,7 +1121,7 @@ vlc_module_begin();
 
     set_section( N_( "Default devices") , NULL )
 
-    add_file( "dvd", DVD_DEVICE, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT,
+    add_file( "dvd", NULL, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT,
               VLC_FALSE );
     add_file( "vcd", VCD_DEVICE, NULL, VCD_DEV_TEXT, VCD_DEV_LONGTEXT,
               VLC_FALSE );
@@ -1095,8 +1133,6 @@ vlc_module_begin();
     add_integer( "server-port", 1234, NULL,
                  SERVER_PORT_TEXT, SERVER_PORT_LONGTEXT, VLC_FALSE );
     add_integer( "mtu", 1500, NULL, MTU_TEXT, MTU_LONGTEXT, VLC_TRUE );
-    add_string( "iface-addr", "", NULL, IFACE_ADDR_TEXT,
-                IFACE_ADDR_LONGTEXT, VLC_TRUE );
     add_bool( "ipv6", 0, NULL, IPV6_TEXT, IPV6_LONGTEXT, VLC_FALSE );
         change_short('6');
     add_bool( "ipv4", 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, VLC_FALSE );
@@ -1205,8 +1241,6 @@ vlc_module_begin();
     add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, VLC_TRUE );
     add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT,
                 MEMCPY_LONGTEXT, VLC_TRUE );
-    add_module( "audio-channel-mixer", "audio mixer", NULL, NULL,
-                AUDIO_CHANNEL_MIXER, AUDIO_CHANNEL_MIXER_LONGTEXT, VLC_TRUE );
         change_short('A');
 
     set_section( N_("Plugins" ), NULL );
@@ -1219,7 +1253,7 @@ vlc_module_begin();
     add_bool( "minimize-threads", 0, NULL, MINIMIZE_THREADS_TEXT,
               MINIMIZE_THREADS_LONGTEXT, VLC_TRUE );
 
-#if !defined(SYS_DARWIN) && !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H)
+#if !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H)
     add_bool( "rt-priority", 0, NULL, RT_PRIORITY_TEXT,
               RT_PRIORITY_LONGTEXT, VLC_TRUE );
 #endif
@@ -1344,6 +1378,8 @@ vlc_module_begin();
 #   define KEY_PREV               KEY_MODIFIER_COMMAND|KEY_LEFT
 #   define KEY_STOP               KEY_MODIFIER_COMMAND|'.'
 #   define KEY_POSITION           't'
+#   define KEY_JUMP_M3SEC         KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|KEY_LEFT
+#   define KEY_JUMP_P3SEC         KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|KEY_RIGHT
 #   define KEY_JUMP_M10SEC        KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_LEFT
 #   define KEY_JUMP_P10SEC        KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_RIGHT
 #   define KEY_JUMP_M1MIN         KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_LEFT
@@ -1366,6 +1402,11 @@ vlc_module_begin();
 #   define KEY_AUDIO_TRACK        'l'
 #   define KEY_SUBTITLE_TRACK     's'
 #   define KEY_INTF_SHOW          'i'
+#   define KEY_INTF_HIDE          'I'
+#   define KEY_TITLE_PREV         KEY_MODIFIER_CTRL|'p'
+#   define KEY_TITLE_NEXT         KEY_MODIFIER_CTRL|'n'
+#   define KEY_CHAPTER_PREV       KEY_MODIFIER_CTRL|'u'
+#   define KEY_CHAPTER_NEXT       KEY_MODIFIER_CTRL|'d'
 #   define KEY_SNAPSHOT           KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|'s'
 
 #   define KEY_SET_BOOKMARK1      KEY_MODIFIER_COMMAND|KEY_F1
@@ -1403,6 +1444,8 @@ vlc_module_begin();
 #   define KEY_PREV               'p'
 #   define KEY_STOP               's'
 #   define KEY_POSITION           't'
+#   define KEY_JUMP_M3SEC         KEY_MODIFIER_SHIFT|KEY_LEFT
+#   define KEY_JUMP_P3SEC         KEY_MODIFIER_SHIFT|KEY_RIGHT
 #   define KEY_JUMP_M10SEC        KEY_MODIFIER_ALT|KEY_LEFT
 #   define KEY_JUMP_P10SEC        KEY_MODIFIER_ALT|KEY_RIGHT
 #   define KEY_JUMP_M1MIN         KEY_MODIFIER_CTRL|KEY_LEFT
@@ -1426,6 +1469,11 @@ vlc_module_begin();
 #   define KEY_AUDIO_TRACK        'l'
 #   define KEY_SUBTITLE_TRACK     'k'
 #   define KEY_INTF_SHOW          'i'
+#   define KEY_INTF_HIDE          'I'
+#   define KEY_TITLE_PREV         KEY_MODIFIER_CTRL|'p'
+#   define KEY_TITLE_NEXT         KEY_MODIFIER_CTRL|'n'
+#   define KEY_CHAPTER_PREV       KEY_MODIFIER_CTRL|'u'
+#   define KEY_CHAPTER_NEXT       KEY_MODIFIER_CTRL|'d'
 #   define KEY_SNAPSHOT           KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|'s'
 
 #   define KEY_SET_BOOKMARK1      KEY_MODIFIER_CTRL|KEY_F1
@@ -1473,6 +1521,10 @@ vlc_module_begin();
              STOP_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-position", KEY_POSITION, NULL, POSITION_KEY_TEXT,
              POSITION_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-jump-3sec", KEY_JUMP_M3SEC, NULL, JB3SEC_KEY_TEXT,
+             JB3SEC_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+3sec", KEY_JUMP_P3SEC, NULL, JF3SEC_KEY_TEXT,
+             JF3SEC_KEY_LONGTEXT, VLC_FALSE );             
     add_key( "key-jump-10sec", KEY_JUMP_M10SEC, NULL, JB10SEC_KEY_TEXT,
              JB10SEC_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-jump+10sec", KEY_JUMP_P10SEC, NULL, JF10SEC_KEY_TEXT,
@@ -1497,6 +1549,15 @@ vlc_module_begin();
     add_key( "key-nav-right", KEY_NAV_RIGHT, NULL, NAV_RIGHT_KEY_TEXT,
              NAV_RIGHT_KEY_LONGTEXT, VLC_TRUE );
 
+    add_key( "key-title-prev", KEY_TITLE_PREV, NULL, TITLE_PREV_TEXT,
+             TITLE_PREV_LONGTEXT, VLC_TRUE );
+    add_key( "key-title-next", KEY_TITLE_NEXT, NULL, TITLE_NEXT_TEXT,
+             TITLE_NEXT_LONGTEXT, VLC_TRUE );
+    add_key( "key-chapter-prev", KEY_CHAPTER_PREV, NULL, CHAPTER_PREV_TEXT,
+             CHAPTER_PREV_LONGTEXT, VLC_TRUE );
+    add_key( "key-chapter-next", KEY_CHAPTER_NEXT, NULL, CHAPTER_NEXT_TEXT,
+             CHAPTER_NEXT_LONGTEXT, VLC_TRUE );
+                          
     add_key( "key-quit", KEY_QUIT, NULL, QUIT_KEY_TEXT,
              QUIT_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-vol-up", KEY_VOL_UP, NULL, VOL_UP_KEY_TEXT,
@@ -1519,6 +1580,8 @@ vlc_module_begin();
              SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-intf-show", KEY_INTF_SHOW, NULL,
              INTF_SHOW_KEY_TEXT, INTF_SHOW_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-intf-hide", KEY_INTF_HIDE, NULL,
+             INTF_HIDE_KEY_TEXT, INTF_HIDE_KEY_LONGTEXT, VLC_TRUE );             
     add_key( "key-snapshot", KEY_SNAPSHOT, NULL,
              SNAP_KEY_TEXT, SNAP_KEY_LONGTEXT, VLC_TRUE );
 
@@ -1612,62 +1675,68 @@ static module_config_t p_help_config[] =
  *****************************************************************************/
 static struct hotkey p_hotkeys[] =
 {
-    { "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-10sec", ACTIONID_JUMP_BACKWARD_10SEC, 0 },
-    { "key-jump+10sec", ACTIONID_JUMP_FORWARD_10SEC, 0 },
-    { "key-jump-1min", ACTIONID_JUMP_BACKWARD_1MIN, 0 },
-    { "key-jump+1min", ACTIONID_JUMP_FORWARD_1MIN, 0 },
-    { "key-jump-5min", ACTIONID_JUMP_BACKWARD_5MIN, 0 },
-    { "key-jump+5min", ACTIONID_JUMP_FORWARD_5MIN, 0 },
-    { "key-prev", ACTIONID_PREV, 0 },
-    { "key-next", ACTIONID_NEXT, 0 },
-    { "key-faster", ACTIONID_FASTER, 0 },
-    { "key-slower", ACTIONID_SLOWER, 0 },
-    { "key-fullscreen", ACTIONID_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-intf-show", ACTIONID_INTF_SHOW, 0},
-    { "key-snapshot", ACTIONID_SNAPSHOT, 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-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 },
-    { NULL, 0, 0 }
+    { "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-3sec", ACTIONID_JUMP_BACKWARD_3SEC, 0, 1000000, 0, 0 },
+    { "key-jump+3sec", ACTIONID_JUMP_FORWARD_3SEC, 0, 1000000, 0, 0 },
+    { "key-jump-10sec", ACTIONID_JUMP_BACKWARD_10SEC, 0, 1000000, 0, 0 },
+    { "key-jump+10sec", ACTIONID_JUMP_FORWARD_10SEC, 0, 1000000, 0, 0 },
+    { "key-jump-1min", ACTIONID_JUMP_BACKWARD_1MIN, 0, 1000000, 0, 0 },
+    { "key-jump+1min", ACTIONID_JUMP_FORWARD_1MIN, 0, 1000000, 0, 0 },
+    { "key-jump-5min", ACTIONID_JUMP_BACKWARD_5MIN, 0, 1000000, 0, 0 },
+    { "key-jump+5min", ACTIONID_JUMP_FORWARD_5MIN, 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-fullscreen", ACTIONID_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-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-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-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 },
+    { NULL, 0, 0, 0, 0, 0 }
 };
-