* libvlc.h: main libvlc header
*****************************************************************************
* Copyright (C) 1998-2002 VideoLAN
- * $Id: libvlc.h,v 1.98 2003/10/29 01:33:27 gbazin Exp $
+ * $Id: libvlc.h,v 1.107 2003/11/16 21:07:31 gbazin Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
#define Nothing here, this is just to prevent update-po from being stupid
#include "vlc_keys.h"
-static char *ppsz_language[] = { "auto", "en", "en_GB", "es", "de", "fr", "it", "ja",
- "nl", "no", "pl", "pt_BR", "ru", "sv", NULL };
+static char *ppsz_language[] =
+{ "auto", "en", "en_GB", "es", "de",
+ "fr", "hu", "it", "ja", "nl", "no",
+ "pl", "pt_BR", "ru", "sv" };
+static char *ppsz_language_text[] =
+{ N_("Auto"), N_("English US"), N_("English GB"), N_("Spanish"), N_("German"),
+ N_("French"), N_("Hungarian"), N_("Italian"), N_("Japanese"), N_("Dutch"), N_("Norwegian"),
+ N_("Polish"), N_("Portuguese BR"), N_("Russian"), N_("Swedish") };
/*****************************************************************************
* Configuration options for the main program. Each module will also separatly
"You can use this option to place the subtitles under the movie, " \
"instead of over the movie. Try several positions.")
+#define OSD_TEXT N_("On Screen Display")
+#define OSD_LONGTEXT N_( \
+ "You can disable the messages VLC creates in the video.")
+
#define FILTER_TEXT N_("Video filter module")
#define FILTER_LONGTEXT N_( \
"This will allow you to add a post-processing filter to enhance the " \
"its codecs (decompression methods). Only advanced users should " \
"alter this option as it can break playback of all your streams." )
-#define CODEC_TEXT N_("Choose preferred codec list")
+#define CODEC_TEXT N_("Choose preferred codecs list")
#define CODEC_LONGTEXT N_( \
- "This allows you to select the order in which VLC will choose its " \
- "codecs. For instance, 'a52old,a52,any' will try the old a52 codec " \
- "before the new one. Please be aware that VLC does not make any " \
- "difference between audio or video codecs, so you should always specify " \
- "'any' at the end of the list to make sure there is a fallback for the " \
- "types you didn't specify.")
-
+ "This allows you to select a list of codecs that VLC will use in " \
+ "priority. For instance, 'dummy,a52' will try the dummy and a52 codecs " \
+ "before trying the other ones.")
-#define ENCODER_VIDEO_TEXT N_("Choose preferred video encoder list")
-#define ENCODER_VIDEO_LONGTEXT N_( \
- "This allows you to select the order in which VLC will choose its " \
- "codecs. " )
-#define ENCODER_AUDIO_TEXT N_("Choose preferred audio encoder list")
-#define ENCODER_AUDIO_LONGTEXT N_( \
- "This allows you to select the order in which VLC will choose its " \
- "codecs. " )
+#define ENCODER_TEXT N_("Choose preferred encoders list")
+#define ENCODER_LONGTEXT N_( \
+ "This allows you to select a list of encoders that VLC will use in " \
+ "priority")
#define SOUT_CAT_LONGTEXT N_( \
"These options allow you to set default global options for the " \
#define DEMUX_LONGTEXT N_( \
"This is a legacy entry to let you configure demux modules")
+#define RT_PRIORITY_TEXT N_("Allow VLC to run with a real-time priority")
+#define RT_PRIORITY_LONGTEXT N_( \
+ "Running VLC in real-time priority will allow for much more precise " \
+ "scheduling and yield better, especially when streaming content. " \
+ "It can however lock up your whole machine, or make it very very " \
+ "slow. You should only activate this if you know what you're " \
+ "doing.")
+
#define ONEINSTANCE_TEXT N_("Allow only one running instance of VLC")
#define ONEINSTANCE_LONGTEXT N_( \
"Allowing only one running instance of VLC can sometimes be useful, " \
#define FULLSCREEN_KEY_TEXT N_("Fullscreen")
#define FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state")
-#define PLAY_PAUSE_KEY_TEXT N_("Pause")
+#define PLAY_PAUSE_KEY_TEXT N_("Play/Pause")
#define PLAY_PAUSE_KEY_LONGTEXT N_("Select the hotkey to use to swap paused state")
#define PAUSE_KEY_TEXT N_("Pause only")
#define PAUSE_KEY_LONGTEXT N_("Select the hotkey to use to pause")
#define PREV_KEY_LONGTEXT N_("Select the hotkey to use to skip to the previous item in the playlist")
#define STOP_KEY_TEXT N_("Stop")
#define STOP_KEY_LONGTEXT N_("Select the hotkey to stop the playback")
+
+#define JB10SEC_KEY_TEXT N_("Jump backward 10 seconds")
+#define JB10SEC_KEY_LONGTEXT N_("Select the hotkey to jump backward by 10 seconds")
+
+#define JB1MIN_KEY_TEXT N_("Jump backward 1 minute")
+#define JB1MIN_KEY_LONGTEXT N_("Select the hotkey to jump backward by 1 minute")
+#define JB5MIN_KEY_TEXT N_("Jump backward 5 minutes")
+#define JB5MIN_KEY_LONGTEXT N_("Select the hotkey to jump backward by 5 minutes")
+#define JF10SEC_KEY_TEXT N_("Jump forward 10 seconds")
+#define JF10SEC_KEY_LONGTEXT N_("Select the hotkey to jump forward by 10 seconds")
+
+#define JF1MIN_KEY_TEXT N_("Jump forward 1 minute")
+#define JF1MIN_KEY_LONGTEXT N_("Select the hotkey to jump forward by 1 minute")
+
+#define JF5MIN_KEY_TEXT N_("Jump forward 5 minutes")
+#define JF5MIN_KEY_LONGTEXT N_("Select the hotkey to jump forward by 5 minutes")
+
#define QUIT_KEY_TEXT N_("Quit")
#define QUIT_KEY_LONGTEXT N_("Select the hotkey to quit the application")
#define NAV_UP_KEY_TEXT N_("Navigate up")
vlc_module_begin();
/* Interface options */
add_category_hint( N_("Interface"), INTF_CAT_LONGTEXT , VLC_FALSE );
- add_module_with_short( "intf", 'I', "interface", NULL, NULL,
- INTF_TEXT, INTF_LONGTEXT, VLC_TRUE );
+ add_module( "intf", "interface", NULL, NULL, INTF_TEXT,
+ INTF_LONGTEXT, VLC_TRUE );
+ change_short('I');
add_string( "extraintf", NULL, NULL, EXTRAINTF_TEXT,
EXTRAINTF_LONGTEXT, VLC_FALSE );
- add_integer_with_short( "verbose", 'v', 0, NULL,
- VERBOSE_TEXT, VERBOSE_LONGTEXT, VLC_FALSE );
- add_bool_with_short( "quiet", 'q', 0, NULL, QUIET_TEXT,
- QUIET_LONGTEXT, VLC_TRUE );
- add_string_from_list( "language", "auto", ppsz_language, NULL,
- LANGUAGE_TEXT, LANGUAGE_LONGTEXT, VLC_FALSE );
+ add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT,
+ VLC_FALSE );
+ change_short('v');
+ add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_TRUE );
+ change_short('q');
+ add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT,
+ VLC_FALSE );
+ change_string_list( ppsz_language, ppsz_language_text, 0 );
add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE );
add_bool( "advanced", 0, NULL, ADVANCED_TEXT,
ADVANCED_LONGTEXT, VLC_FALSE );
/* Audio options */
add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , VLC_FALSE );
- add_module_with_short( "aout", 'A', "audio output", NULL, NULL,
- AOUT_TEXT, AOUT_LONGTEXT, VLC_TRUE);
+ add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT,
+ VLC_TRUE );
+ change_short('A');
add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, VLC_FALSE );
add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN,
AOUT_VOLUME_MAX, NULL, VOLUME_TEXT,
/* Video options */
add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , VLC_FALSE );
- add_module_with_short( "vout", 'V', "video output", NULL, NULL,
- VOUT_TEXT, VOUT_LONGTEXT, VLC_TRUE );
+ add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT,
+ VLC_TRUE );
+ change_short('V');
add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, VLC_TRUE );
add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE );
add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_TRUE );
#endif
add_integer( "spumargin", -1, NULL, SPUMARGIN_TEXT,
SPUMARGIN_LONGTEXT, VLC_TRUE );
+ add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, VLC_FALSE );
add_module( "filter", "video filter", NULL, NULL,
FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE );
add_string( "aspect-ratio", "", NULL,
add_file( "dvd", DVD_DEVICE, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT, VLC_FALSE );
add_file( "vcd", VCD_DEVICE, NULL, VCD_DEV_TEXT, VCD_DEV_LONGTEXT, VLC_FALSE );
- add_bool_with_short( "ipv6", '6', 0, NULL, IPV6_TEXT, IPV6_LONGTEXT, VLC_FALSE );
- add_bool_with_short( "ipv4", '4', 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, VLC_FALSE );
+ 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 );
+ change_short('4');
/* Decoder options */
add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , VLC_TRUE );
add_module( "codec", "decoder", NULL, NULL, CODEC_TEXT, CODEC_LONGTEXT, VLC_TRUE );
+ add_module( "encoder", "encoder", NULL, NULL, ENCODER_TEXT, ENCODER_LONGTEXT, VLC_TRUE );
/* Stream output options */
/* Playlist options */
add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE );
- add_bool_with_short( "random", 'Z', 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE );
- add_bool_with_short( "loop", 'L', 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE );
- add_bool_with_short( "repeat", 'R', 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_TRUE );
+ add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE );
+ change_short('Z');
+ add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE );
+ change_short('L');
+ add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_TRUE );
+ change_short('R');
/* Misc options */
add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, VLC_TRUE );
add_module( "access", "access", NULL, NULL, ACCESS_TEXT, ACCESS_LONGTEXT, VLC_TRUE );
add_module( "demux", "demux", NULL, NULL, DEMUX_TEXT, DEMUX_LONGTEXT, VLC_TRUE );
+#if !defined(SYS_DARWIN) && defined(PTHREAD_COND_T_IN_PTHREAD_H)
+ add_bool( "rt-priority", 0, NULL, RT_PRIORITY_TEXT, RT_PRIORITY_LONGTEXT, VLC_TRUE );
+#endif
+
#if defined(WIN32)
add_bool( "one-instance", 0, NULL, ONEINSTANCE_TEXT, ONEINSTANCE_LONGTEXT, VLC_TRUE );
add_bool( "high-priority", 1, NULL, HPRIORITY_TEXT, HPRIORITY_LONGTEXT, VLC_TRUE );
/* Hotkey options*/
add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , VLC_FALSE );
+#if defined(SYS_DARWIN)
+ add_key( "key-fullscreen", KEY_MODIFIER_COMMAND|'f', NULL, FULLSCREEN_KEY_TEXT, FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-play-pause", KEY_MODIFIER_COMMAND|'p', NULL, PLAY_PAUSE_KEY_TEXT, PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-pause", 0, NULL, PAUSE_KEY_TEXT, PAUSE_KEY_LONGTEXT, VLC_TRUE );
+ add_key( "key-play", 0, NULL, PLAY_KEY_TEXT, PLAY_KEY_LONGTEXT, VLC_TRUE );
+ add_key( "key-faster", KEY_MODIFIER_COMMAND|'=', NULL, FASTER_KEY_TEXT, FASTER_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-slower", KEY_MODIFIER_COMMAND|'-', NULL, SLOWER_KEY_TEXT, SLOWER_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-next", KEY_MODIFIER_COMMAND|KEY_RIGHT, NULL, NEXT_KEY_TEXT, NEXT_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-prev", KEY_MODIFIER_COMMAND|KEY_LEFT, NULL, PREV_KEY_TEXT, PREV_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-stop", KEY_MODIFIER_COMMAND|'.', NULL, STOP_KEY_TEXT, STOP_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump-10sec", KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB10SEC_KEY_TEXT, JB10SEC_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump+10sec", KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF10SEC_KEY_TEXT, JF10SEC_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump-1min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_LEFT, NULL, JB1MIN_KEY_TEXT, JB1MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump+1min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_RIGHT, NULL, JF1MIN_KEY_TEXT, JF1MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump-5min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB5MIN_KEY_TEXT, JB5MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump+5min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF5MIN_KEY_TEXT, JF5MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-nav-activate", KEY_ENTER, NULL, NAV_ACTIVATE_KEY_TEXT, NAV_ACTIVATE_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-nav-up", KEY_UP, NULL, NAV_UP_KEY_TEXT, NAV_UP_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-nav-down", KEY_DOWN, NULL, NAV_DOWN_KEY_TEXT, NAV_DOWN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-nav-left", KEY_LEFT, NULL, NAV_LEFT_KEY_TEXT, NAV_LEFT_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-nav-right", KEY_RIGHT, NULL, NAV_RIGHT_KEY_TEXT, NAV_RIGHT_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-quit", KEY_MODIFIER_COMMAND|'q', NULL, QUIT_KEY_TEXT, QUIT_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-vol-up", KEY_MODIFIER_COMMAND|KEY_UP, NULL, VOL_UP_KEY_TEXT, VOL_UP_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-vol-down", KEY_MODIFIER_COMMAND|KEY_DOWN, NULL, VOL_DOWN_KEY_TEXT, VOL_DOWN_KEY_LONGTEXT, VLC_FALSE );
+#else
add_key( "key-fullscreen", 'f', NULL, FULLSCREEN_KEY_TEXT, FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-play-pause", KEY_SPACE, NULL, PLAY_PAUSE_KEY_TEXT, PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-pause", 0, NULL, PAUSE_KEY_TEXT, PAUSE_KEY_LONGTEXT, VLC_TRUE );
add_key( "key-next", 'n', NULL, NEXT_KEY_TEXT, NEXT_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-prev", 'p', NULL, PREV_KEY_TEXT, PREV_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-stop", 's', NULL, STOP_KEY_TEXT, STOP_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump-10sec", KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB10SEC_KEY_TEXT, JB10SEC_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump+10sec", KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF10SEC_KEY_TEXT, JF10SEC_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump-1min", KEY_MODIFIER_CTRL|KEY_LEFT, NULL, JB1MIN_KEY_TEXT, JB1MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump+1min", KEY_MODIFIER_CTRL|KEY_RIGHT, NULL, JF1MIN_KEY_TEXT, JF1MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump-5min", KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB5MIN_KEY_TEXT, JB5MIN_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-jump+5min", KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF5MIN_KEY_TEXT, JF5MIN_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-nav-activate", KEY_ENTER, NULL, NAV_ACTIVATE_KEY_TEXT, NAV_ACTIVATE_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-nav-up", KEY_UP, NULL, NAV_UP_KEY_TEXT, NAV_UP_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-nav-down", KEY_DOWN, NULL, NAV_DOWN_KEY_TEXT, NAV_DOWN_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-nav-left", KEY_LEFT, NULL, NAV_LEFT_KEY_TEXT, NAV_LEFT_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-nav-right", KEY_RIGHT, NULL, NAV_RIGHT_KEY_TEXT, NAV_RIGHT_KEY_LONGTEXT, VLC_FALSE );
- add_key( "key-quit", KEY_MODIFIER_CTRL|KEY_SPACE, NULL, QUIT_KEY_TEXT, QUIT_KEY_LONGTEXT, VLC_FALSE );
+ add_key( "key-quit", KEY_MODIFIER_CTRL|'q', NULL, QUIT_KEY_TEXT, QUIT_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-vol-up", 'a', NULL, VOL_UP_KEY_TEXT, VOL_UP_KEY_LONGTEXT, VLC_FALSE );
add_key( "key-vol-down", 'z', NULL, VOL_DOWN_KEY_TEXT, VOL_DOWN_KEY_LONGTEXT, VLC_FALSE );
+#endif
/* Usage (mainly useful for cmd line stuff) */
add_usage_hint( PLAYLIST_USAGE );
{ "key-play", ACTIONID_PLAY, 0 },
{ "key-pause", ACTIONID_PAUSE, 0 },
{ "key-stop", ACTIONID_STOP, 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 },