/*****************************************************************************
- * libvlc-module.c: Options for the main (libvlc itself) module
+ * libvlc-module.c: Options for the core (libvlc itself) module
*****************************************************************************
* Copyright (C) 1998-2009 VLC authors and VideoLAN
* $Id$
*****************************************************************************/
// Pretend we are a builtin module
-#define MODULE_NAME main
-#define MODULE_PATH main
-
+#define MODULE_NAME core
#ifdef HAVE_CONFIG_H
# include "config.h"
{ "png", "jpg", "tiff" };
/*****************************************************************************
- * Configuration options for the main program. Each module will also separatly
+ * Configuration options for the core module. Each module will also separatly
* define its own configuration options.
* Look into configuration.h if you need to know more about the following
* macros.
"Language of the subtitle track you want to use " \
"(comma separated, two or three letters country code, you may use 'any' as a fallback).")
+#define INPUT_MENUTRACK_LANG_TEXT N_("Menu language")
+#define INPUT_MENUTRACK_LANG_LONGTEXT N_( \
+ "Language of the menus you want to use with DVD/BluRay " \
+ "(comma separated, two or three letters country code, you may use 'any' as a fallback).")
+
/// \todo Document how to find it
#define INPUT_AUDIOTRACK_ID_TEXT N_("Audio track ID")
#define INPUT_AUDIOTRACK_ID_LONGTEXT N_( \
#define VCD_DEV_TEXT N_("VCD device")
#define CDAUDIO_DEV_TEXT N_("Audio CD device")
-#if defined( WIN32 ) || defined( __OS2__ )
+#if defined( _WIN32 ) || defined( __OS2__ )
# define DVD_DEV_LONGTEXT N_( \
"This is the default DVD drive (or file) to use. Don't forget the colon " \
"after the drive letter (e.g. D:)")
# define DVD_DEVICE "/dev/cd0c"
# define CD_DEVICE "/dev/cd0c"
# elif defined(__linux__)
-# define DVD_DEVICE "/dev/dvd1"
-# define CD_DEVICE "/dev/cdrom1"
+# define DVD_DEVICE "/dev/sr0"
+# define CD_DEVICE "/dev/sr0"
# else
# define DVD_DEVICE "/dev/dvd"
# define CD_DEVICE "/dev/cdrom"
#define HTTP_CERT_TEXT N_("HTTP/TLS server certificate")
#define CERT_LONGTEXT N_( \
- "This X.509 certicate file (PEM format) is used for server-side TLS." )
+ "This X.509 certicate file (PEM format) is used for server-side TLS. " \
+ "On OS X, the string is used as a label to search the certificate in the keychain." )
#define HTTP_KEY_TEXT N_("HTTP/TLS server private key")
#define KEY_LONGTEXT N_( \
"This private key file (PEM format) is used for server-side TLS.")
-#define HTTP_CA_TEXT N_("HTTP/TLS Certificate Authority")
-#define CA_LONGTEXT N_( \
- "This X.509 certificate file (PEM format) can optionally be used " \
- "to authenticate remote clients in TLS sessions.")
-
-#define HTTP_CRL_TEXT N_("HTTP/TLS Certificate Revocation List")
-#define CRL_LONGTEXT N_( \
- "This file contains an optional CRL to prevent remove clients " \
- "from using revoked certificates in TLS sessions.")
-
#define SOCKS_SERVER_TEXT N_("SOCKS server")
#define SOCKS_SERVER_LONGTEXT N_( \
"SOCKS proxy server to use. This must be of the form " \
"This option is useful if you want to lower the latency when " \
"reading a stream")
-#define PLUGIN_PATH_LONGTEXT N_( \
- "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_( \
"Read a VLM configuration file as soon as VLM is started." )
"Log all VLC messages to syslog (UNIX systems)." )
#define ONEINSTANCE_TEXT N_("Allow only one running instance")
-#if defined( WIN32 ) || defined( __OS2__ )
+#if defined( _WIN32 ) || defined( __OS2__ )
#define ONEINSTANCE_LONGTEXT N_( \
"Allowing only one running instance of VLC can sometimes be useful, " \
"for example if you associated VLC with some media types and you " \
"Automatically preparse files added to the playlist " \
"(to retrieve some metadata)." )
-#define ALBUM_ART_TEXT N_( "Album art policy" )
-#define ALBUM_ART_LONGTEXT N_( \
- "Choose how album art will be downloaded." )
-
-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") };
+#define METADATA_NETWORK_TEXT N_( "Allow metadata network access" )
#define SD_TEXT N_( "Services discovery modules")
#define SD_LONGTEXT N_( \
"The media library is automatically saved and reloaded each time you " \
"start VLC." )
-#define LOAD_ML_TEXT N_( "Load Media Library" )
-#define LOAD_ML_LONGTEXT N_( \
- "Enable this option to load the SQL-based Media Library at VLC startup" )
-
#define PLTREE_TEXT N_("Display playlist tree")
#define PLTREE_LONGTEXT N_( \
"The playlist can use a tree to categorize some items, like the " \
#define HOTKEY_CAT_LONGTEXT N_( "These settings are the global VLC key " \
"bindings, known as \"hotkeys\"." )
-enum{
- MOUSEWHEEL_VOLUME,
- MOUSEWHEEL_POSITION,
- NO_MOUSEWHEEL,
+static const int mouse_wheel_values[] = { -1, 0, 2, 3, };
+static const char *const mouse_wheel_texts[] = {
+ N_("Ignore"), N_("Volume control"),
+ N_("Position control"), N_("Position control reversed"),
};
-static const int mouse_wheel_values[] = { 2, 0, 1 };
-static const char *const mouse_wheel_texts[] =
- { N_("Ignore"), N_("Volume Control"), N_("Position Control") };
-
-#define MOUSE_WHEEL_MODE_TEXT N_("MouseWheel up-down axis Control")
-#define MOUSE_WHEEL_MODE_LONGTEXT N_( \
- "The MouseWheel up-down (vertical) axis can control volume, position or " \
- "mousewheel event can be ignored")
+#define MOUSE_Y_WHEEL_MODE_TEXT N_("Mouse wheel vertical axis control")
+#define MOUSE_Y_WHEEL_MODE_LONGTEXT N_( \
+ "The mouse wheel vertical (up/down) axis can control volume, " \
+ "position or be ignored.")
+#define MOUSE_X_WHEEL_MODE_TEXT N_("Mouse wheel horizontal axis control")
+#define MOUSE_X_WHEEL_MODE_LONGTEXT N_( \
+ "The mouse wheel horizontal (left/right) axis can control volume, " \
+ "position or be ignored.")
#define TOGGLE_FULLSCREEN_KEY_TEXT N_("Fullscreen")
#define TOGGLE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.")
#define LEAVE_FULLSCREEN_KEY_TEXT N_("Exit fullscreen")
#define AUDIO_TRACK_KEY_LONGTEXT N_("Cycle through the available audio tracks(languages).")
#define SUBTITLE_TRACK_KEY_TEXT N_("Cycle subtitle track")
#define SUBTITLE_TRACK_KEY_LONGTEXT N_("Cycle through the available subtitle tracks.")
+#define SUBTITLE_TOGGLE_KEY_TEXT N_("Toggle subtitles")
+#define SUBTITLE_TOGGLE_KEY_LONGTEXT N_("Toggle subtitle track visibility.")
#define PROGRAM_SID_NEXT_KEY_TEXT N_("Cycle next program Service ID")
#define PROGRAM_SID_NEXT_KEY_LONGTEXT N_("Cycle through the available next program Service IDs (SIDs).")
#define PROGRAM_SID_PREV_KEY_TEXT N_("Cycle previous program Service ID")
* Quick usage guide for the configuration options:
*
* add_category_hint( N_(text), N_(longtext), b_advanced_option )
- * add_subcategory_hint( N_(text), N_(longtext), b_advanced_option )
* add_usage_hint( N_(text), b_advanced_option )
* add_string( option_name, value, N_(text), N_(longtext),
b_advanced_option )
add_obsolete_integer( "volume" ) /* since 2.1.0 */
add_float( "volume-step", AOUT_VOLUME_STEP, VOLUME_STEP_TEXT,
VOLUME_STEP_LONGTEXT, true )
- change_integer_range( 1, AOUT_VOLUME_DEFAULT )
+ change_float_range( 1., AOUT_VOLUME_DEFAULT )
add_bool( "volume-save", true, VOLUME_SAVE_TEXT, VOLUME_SAVE_TEXT, true )
add_obsolete_integer( "aout-rate" ) /* since 2.0.0 */
add_obsolete_bool( "hq-resampling" ) /* since 1.1.8 */
add_bool( "audio-replay-gain-peak-protection", true,
AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT, true )
- add_bool( "audio-time-stretch", HAVE_FPU,
+ add_bool( "audio-time-stretch", true,
AUDIO_TIME_STRETCH_TEXT, AUDIO_TIME_STRETCH_LONGTEXT, false )
set_subcategory( SUBCAT_AUDIO_AOUT )
VIDEO_TITLE_LONGTEXT, true )
add_integer( "align", 0, ALIGN_TEXT, ALIGN_LONGTEXT, true )
change_integer_list( pi_align_values, ppsz_align_descriptions )
- add_float( "zoom", 1, ZOOM_TEXT, ZOOM_LONGTEXT, true )
+ add_float( "zoom", 1., ZOOM_TEXT, ZOOM_LONGTEXT, true )
add_integer( "deinterlace", 0,
DEINTERLACE_TEXT, DEINTERLACE_LONGTEXT, false )
change_integer_list( pi_deinterlace, ppsz_deinterlace_text )
set_section( N_("On Screen Display") , NULL )
add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , false )
- add_bool( "spu", 1, SPU_TEXT, SPU_LONGTEXT, true )
+ add_bool( "spu", 1, SPU_TEXT, SPU_LONGTEXT, false )
change_safe ()
add_bool( "osd", 1, OSD_TEXT, OSD_LONGTEXT, false )
add_module( "text-renderer", "text renderer", NULL, TEXTRENDERER_TEXT,
SUB_AUTO_TEXT, SUB_AUTO_LONGTEXT, false )
add_integer( "sub-autodetect-fuzzy", 3,
SUB_FUZZY_TEXT, SUB_FUZZY_LONGTEXT, true )
-#if defined( WIN32 ) || defined( __OS2__ )
+#if defined( _WIN32 ) || defined( __OS2__ )
# define SUB_PATH ".\\subtitles, .\\subs"
#else
# define SUB_PATH "./Subtitles, ./subtitles, ./Subs, ./subs"
INPUT_SUBTRACK_LANG_TEXT, INPUT_SUBTRACK_LANG_LONGTEXT,
false )
change_safe ()
+ add_string( "menu-language", "",
+ INPUT_MENUTRACK_LANG_TEXT, INPUT_MENUTRACK_LANG_LONGTEXT,
+ false )
+ change_safe ()
add_integer( "audio-track-id", -1, INPUT_AUDIOTRACK_ID_TEXT,
INPUT_AUDIOTRACK_ID_LONGTEXT, true )
change_safe ()
add_obsolete_string( "sout-http-cert" ) /* since 2.0.0 */
add_loadfile( "http-key", NULL, HTTP_KEY_TEXT, KEY_LONGTEXT, true )
add_obsolete_string( "sout-http-key" ) /* since 2.0.0 */
- add_loadfile( "http-ca", NULL, HTTP_CA_TEXT, CA_LONGTEXT, true )
+ add_obsolete_string( "http-ca" ) /* since 3.0.0 */
add_obsolete_string( "sout-http-ca" ) /* since 2.0.0 */
- add_loadfile( "http-crl", NULL, HTTP_CRL_TEXT, CRL_LONGTEXT, true )
+ add_obsolete_string( "http-crl" ) /* since 3.0.0 */
add_obsolete_string( "sout-http-crl" ) /* since 2.0.0 */
set_section( N_( "Socks proxy") , NULL )
add_string( "input-title-format", "$Z", INPUT_TITLE_FORMAT_TEXT, INPUT_TITLE_FORMAT_LONGTEXT, false );
/* Decoder options */
+ set_subcategory( SUBCAT_INPUT_VCODEC )
add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , true )
add_string( "codec", NULL, CODEC_TEXT,
CODEC_LONGTEXT, true )
add_module( "access", "access", NULL, ACCESS_TEXT, ACCESS_LONGTEXT, true )
set_subcategory( SUBCAT_INPUT_DEMUX )
- add_module( "demux", "demux", NULL, DEMUX_TEXT, DEMUX_LONGTEXT, true )
+ add_module( "demux", "demux", "any", DEMUX_TEXT, DEMUX_LONGTEXT, true )
set_subcategory( SUBCAT_INPUT_VCODEC )
set_subcategory( SUBCAT_INPUT_ACODEC )
set_subcategory( SUBCAT_INPUT_SCODEC )
SOUT_DISPLAY_LONGTEXT, true )
add_bool( "sout-keep", false, SOUT_KEEP_TEXT,
SOUT_KEEP_LONGTEXT, true )
- add_bool( "sout-all", 0, SOUT_ALL_TEXT,
+ add_bool( "sout-all", true, SOUT_ALL_TEXT,
SOUT_ALL_LONGTEXT, true )
add_bool( "sout-audio", 1, SOUT_AUDIO_TEXT,
SOUT_AUDIO_LONGTEXT, true )
INHIBIT_LONGTEXT, true )
#endif
-#if defined(WIN32) || defined(__OS2__)
+#if defined(_WIN32) || defined(__OS2__)
add_bool( "high-priority", 0, HPRIORITY_TEXT,
HPRIORITY_LONGTEXT, false )
#endif
#define CLOCK_SOURCE_TEXT N_("Clock source")
-#ifdef WIN32
+#ifdef _WIN32
add_string( "clock-source", NULL, CLOCK_SOURCE_TEXT, CLOCK_SOURCE_TEXT, true )
change_string_cb( EnumClockSource )
#endif
add_bool( "playlist-autostart", true,
AUTOSTART_TEXT, AUTOSTART_LONGTEXT, false )
add_bool( "playlist-cork", true, CORK_TEXT, CORK_LONGTEXT, false )
-#if defined(WIN32) || defined(HAVE_DBUS) || defined(__OS2__)
+#if defined(_WIN32) || defined(HAVE_DBUS) || defined(__OS2__)
add_bool( "one-instance", 0, ONEINSTANCE_TEXT,
ONEINSTANCE_LONGTEXT, true )
add_bool( "started-from-file", 0, STARTEDFROMFILE_TEXT,
add_bool( "auto-preparse", true, PREPARSE_TEXT,
PREPARSE_LONGTEXT, false )
- add_integer( "album-art", ALBUM_ART_WHEN_ASKED, ALBUM_ART_TEXT,
- ALBUM_ART_LONGTEXT, false )
- change_integer_list( pi_albumart_values,
- ppsz_albumart_descriptions )
+ add_obsolete_integer( "album-art" )
+ add_bool( "metadata-network-access", false, METADATA_NETWORK_TEXT,
+ METADATA_NETWORK_TEXT, false )
set_subcategory( SUBCAT_PLAYLIST_SD )
add_string( "services-discovery", "", SD_TEXT, SD_LONGTEXT, true )
change_short('q')
change_volatile ()
-#if !defined(WIN32) && !defined(__OS2__)
+#if !defined(_WIN32) && !defined(__OS2__)
add_bool( "daemon", 0, DAEMON_TEXT, DAEMON_LONGTEXT, true )
change_short('d')
true )
#endif
-#if defined (WIN32) || defined (__APPLE__)
+#if defined (_WIN32) || defined (__APPLE__)
add_obsolete_string( "language" ) /* since 2.1.0 */
#endif
add_bool( "interact", true, INTERACTION_TEXT,
INTERACTION_LONGTEXT, false )
- add_bool ( "stats", true, STATS_TEXT, STATS_LONGTEXT, true )
+ add_bool ( "stats", false, STATS_TEXT, STATS_LONGTEXT, true )
set_subcategory( SUBCAT_INTERFACE_MAIN )
add_module_cat( "intf", SUBCAT_INTERFACE_MAIN, NULL, INTF_TEXT,
set_subcategory( SUBCAT_INTERFACE_HOTKEYS )
add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , false )
- add_integer( "hotkeys-mousewheel-mode", 0, MOUSE_WHEEL_MODE_TEXT,
- MOUSE_WHEEL_MODE_LONGTEXT, false )
+ add_integer( "hotkeys-y-wheel-mode", 0, MOUSE_Y_WHEEL_MODE_TEXT,
+ MOUSE_Y_WHEEL_MODE_LONGTEXT, false )
+ change_integer_list( mouse_wheel_values, mouse_wheel_texts )
+ add_integer( "hotkeys-x-wheel-mode", 2, MOUSE_X_WHEEL_MODE_TEXT,
+ MOUSE_X_WHEEL_MODE_LONGTEXT, false )
change_integer_list( mouse_wheel_values, mouse_wheel_texts )
+ add_obsolete_integer( "hotkeys-mousewheel-mode" ) /* since 3.0.0 */
#if defined(__APPLE__)
/* Don't use the following combo's */
# define KEY_TOGGLE_FULLSCREEN "Command+f"
# define KEY_LEAVE_FULLSCREEN "Esc"
# define KEY_PLAY_PAUSE "Space"
-# define KEY_PAUSE NULL
+# define KEY_SIMPLE_PAUSE NULL
# define KEY_PLAY NULL
# define KEY_FASTER "Command+="
# define KEY_SLOWER "Command+-"
# define KEY_AUDIODELAY_DOWN "f"
# define KEY_AUDIO_TRACK "l"
# define KEY_SUBTITLE_TRACK "s"
+# define KEY_SUBTITLE_TOGGLE "Shift+s"
# define KEY_PROGRAM_SID_NEXT "x"
# define KEY_PROGRAM_SID_PREV "Shift+x"
# define KEY_ASPECT_RATIO "a"
# define KEY_PLAY_BOOKMARK9 NULL
# define KEY_PLAY_BOOKMARK10 NULL
# define KEY_RECORD "Command+Shift+r"
-# define KEY_WALLPAPER "w"
+# define KEY_WALLPAPER NULL
# define KEY_AUDIODEVICE_CYCLE "Shift+a"
# define KEY_PLAY_CLEAR NULL
*/
# define KEY_TOGGLE_FULLSCREEN "f"
# define KEY_LEAVE_FULLSCREEN "Esc"
-# define KEY_PLAY_PAUSE "Space\tMedia Play Pause"
-# define KEY_PAUSE "Browser Stop"
+# define KEY_SIMPLE_PAUSE "Browser Stop"
# define KEY_PLAY "Browser Refresh"
# define KEY_FASTER "+"
# define KEY_SLOWER "-"
# define KEY_RATE_NORMAL "="
# define KEY_RATE_FASTER_FINE "]"
# define KEY_RATE_SLOWER_FINE "["
+#ifdef _WIN32
+# define KEY_PLAY_PAUSE "Space"
+# define KEY_NEXT "n"
+# define KEY_PREV "p"
+# define KEY_STOP "s"
+#else
+# define KEY_PLAY_PAUSE "Space\tMedia Play Pause"
# define KEY_NEXT "n\tMedia Next Track"
# define KEY_PREV "p\tMedia Prev Track"
# define KEY_STOP "s\tMedia Stop"
+#endif
# define KEY_POSITION "t"
# define KEY_JUMP_MEXTRASHORT "Shift+Left"
# define KEY_JUMP_PEXTRASHORT "Shift+Right"
# define KEY_JUMP_PMEDIUM "Ctrl+Right"
# define KEY_JUMP_MLONG "Ctrl+Alt+Left"
# define KEY_JUMP_PLONG "Ctrl+Alt+Right"
-# define KEY_FRAME_NEXT "e\tBrowser Next"
# define KEY_NAV_ACTIVATE "Enter"
# define KEY_NAV_UP "Up"
# define KEY_NAV_DOWN "Down"
# define KEY_NAV_LEFT "Left"
# define KEY_NAV_RIGHT "Right"
# define KEY_QUIT "Ctrl+q"
+
+#ifdef _WIN32 /* On Windows, people expect volume keys to control the master */
+# define KEY_VOL_UP "Ctrl+Up"
+# define KEY_VOL_DOWN "Ctrl+Down"
+# define KEY_VOL_MUTE "m"
+# define KEY_FRAME_NEXT "e"
+#else
# define KEY_VOL_UP "Ctrl+Up\tVolume Up"
# define KEY_VOL_DOWN "Ctrl+Down\tVolume Down"
# define KEY_VOL_MUTE "m\tVolume Mute"
+# define KEY_FRAME_NEXT "e\tBrowser Next"
+#endif
+
# define KEY_SUBDELAY_UP "h"
# define KEY_SUBDELAY_DOWN "g"
# define KEY_SUBPOS_DOWN NULL
# define KEY_AUDIO_TRACK "b"
# define KEY_SUBTITLE_TRACK "v"
+# define KEY_SUBTITLE_TOGGLE "Shift+v"
# define KEY_PROGRAM_SID_NEXT "x"
# define KEY_PROGRAM_SID_PREV "Shift+x"
# define KEY_ASPECT_RATIO "a"
LEAVE_FULLSCREEN_KEY_LONGTEXT, false )
add_key( "key-play-pause", KEY_PLAY_PAUSE, PLAY_PAUSE_KEY_TEXT,
PLAY_PAUSE_KEY_LONGTEXT, false )
- add_key( "key-pause", KEY_PAUSE, PAUSE_KEY_TEXT,
+ add_key( "key-pause", KEY_SIMPLE_PAUSE, PAUSE_KEY_TEXT,
PAUSE_KEY_LONGTEXT, true )
add_key( "key-play", KEY_PLAY, PLAY_KEY_TEXT,
PLAY_KEY_LONGTEXT, true )
AUDI_DEVICE_CYCLE_KEY_LONGTEXT, false )
add_key( "key-subtitle-track", KEY_SUBTITLE_TRACK,
SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, false )
+ add_key( "key-subtitle-toggle", KEY_SUBTITLE_TOGGLE,
+ SUBTITLE_TOGGLE_KEY_TEXT, SUBTITLE_TOGGLE_KEY_LONGTEXT, false )
add_key( "key-program-sid-next", KEY_PROGRAM_SID_NEXT,
PROGRAM_SID_NEXT_KEY_TEXT, PROGRAM_SID_NEXT_KEY_LONGTEXT, false )
add_key( "key-program-sid-prev", KEY_PROGRAM_SID_PREV,
/* Usage (mainly useful for cmd line stuff) */
/* add_usage_hint( PLAYLIST_USAGE ) */
- set_description( N_("main program") )
+ set_description( N_("core program") )
vlc_module_end ()
/*****************************************************************************