X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc-module.c;h=80962bee561a8550c00f94a68b83868091c70b29;hb=7b6dc5d928a0d62bc71cf1b52318b9a833720add;hp=41b841ace53225802b93e9f36b0370e214ba6ba9;hpb=145903d05b94462eaa309575e46c3cbafb853a42;p=vlc diff --git a/src/libvlc-module.c b/src/libvlc-module.c index 41b841ace5..80962bee56 100644 --- a/src/libvlc-module.c +++ b/src/libvlc-module.c @@ -36,6 +36,7 @@ #include #include +#include #include "libvlc.h" //#define Nothing here, this is just to prevent update-po from being stupid @@ -72,6 +73,7 @@ static const char *const ppsz_language[] = "lt", "mn", "ms", + "nn", "kk", "km", "oc", @@ -82,6 +84,7 @@ static const char *const ppsz_language[] = "ro", "ru", "zh_CN", + "si", "sr", "sk", "sl", @@ -91,6 +94,7 @@ static const char *const ppsz_language[] = "tr", "uk", "vi", + "wa", }; static const char *const ppsz_language_text[] = @@ -122,6 +126,7 @@ static const char *const ppsz_language_text[] = "lietuvių", "Монгол хэл", "Melayu", + "Nynorsk", "Қазақ тілі", "ភាសាខ្មែរ", "Occitan", @@ -132,6 +137,7 @@ static const char *const ppsz_language_text[] = "Română", "Русский", "简体中文", + "සිංහල", "српски", "Slovensky", "slovenščina", @@ -141,6 +147,7 @@ static const char *const ppsz_language_text[] = "Türkçe", "украї́нська мо́ва", "tiếng Việt", + "Walon", }; #endif @@ -174,7 +181,7 @@ static const char *const ppsz_snap_formats[] = #define EXTRAINTF_LONGTEXT N_( \ "You can select \"additional interfaces\" for VLC. " \ "They will be launched in the background in addition to the default " \ - "interface. Use a comma separated list of interface modules. (common " \ + "interface. Use a colon separated list of interface modules. (common " \ "values are \"rc\" (remote control), \"http\", \"gestures\" ...)") #define CONTROL_TEXT N_("Control interfaces") @@ -192,7 +199,7 @@ static const char *const ppsz_snap_formats[] = "This is a ',' separated string, each objects should be prefixed by " \ "a '+' or a '-' to respectively enable or disable it. The keyword " \ "'all' refers to all objects. Objects can be refered to by their " \ - "type or module name. Rules applying to named objects take precendence " \ + "type or module name. Rules applying to named objects take precedence " \ "over rules applying to object types. Note that you still need to " \ "use -vvv to actually display debug message.") @@ -277,14 +284,14 @@ static const char *const ppsz_snap_formats[] = #if !defined( __APPLE__ ) #define AOUT_RESAMP_TEXT N_("High quality audio resampling") #define AOUT_RESAMP_LONGTEXT N_( \ - "This uses a high quality audio resampling algorithm. High quality "\ + "This uses a high quality audio resampling algorithm. High quality " \ "audio resampling can be processor intensive so you can " \ "disable it and a cheaper resampling algorithm will be used instead.") #endif #define DESYNC_TEXT N_("Audio desynchronization compensation") #define DESYNC_LONGTEXT N_( \ - "This delays the audio output. The delay must be given in milliseconds." \ + "This delays the audio output. The delay must be given in milliseconds. " \ "This can be handy if you notice a lag between the video and the audio.") #define MULTICHA_TEXT N_("Audio output channels mode") @@ -339,9 +346,9 @@ static const char *const ppsz_force_dolby_descriptions[] = { "Protect against sound clipping" ) #define AUDIO_TIME_STRETCH_TEXT N_( \ - "Enable time streching audio" ) + "Enable time stretching audio" ) #define AUDIO_TIME_STRETCH_LONGTEXT N_( \ - "This allows to play audio at lower or higher speed without" \ + "This allows to play audio at lower or higher speed without " \ "affecting the audio pitch" ) @@ -420,6 +427,11 @@ static const char *const ppsz_align_descriptions[] = #define EMBEDDED_LONGTEXT N_( \ "Embed the video output in the main interface." ) +#define DISPLAY_TEXT N_("X11 display") +#define DISPLAY_LONGTEXT N_( \ + "X11 hardware display to use. By default VLC will " \ + "use the value of the DISPLAY environment variable.") + #define FULLSCREEN_TEXT N_("Fullscreen video output") #define FULLSCREEN_LONGTEXT N_( \ "Start video in fullscreen mode" ) @@ -433,6 +445,11 @@ static const char *const ppsz_align_descriptions[] = #define VIDEO_ON_TOP_LONGTEXT N_( \ "Always place the video window on top of other windows." ) +#define WALLPAPER_TEXT N_("Enable wallpaper mode ") +#define WALLPAPER_LONGTEXT N_( \ + "The wallpaper mode allows you to display the video as the desktop " \ + "background." ) + #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.") @@ -497,7 +514,7 @@ static const char *const ppsz_pos_descriptions[] = #define VIDEO_FILTER_TEXT N_("Video filter module") #define VIDEO_FILTER_LONGTEXT N_( \ "This adds post-processing filters to enhance the " \ - "picture quality, for instance deinterlacing, or distort" \ + "picture quality, for instance deinterlacing, or distort " \ "the video.") #define SNAP_PATH_TEXT N_("Video snapshot directory (or filename)") @@ -594,15 +611,13 @@ static const char *const ppsz_pos_descriptions[] = "This avoids flooding the message log with debug output from the " \ "video output synchronization mechanism.") -#define VOUT_EVENT_TEXT N_("key and mouse event handling at vout level.") -#define VOUT_EVENT_LONGTEXT N_( \ - "This parameter accepts values : 1 (full event handling support), " \ - "2 (event handling only for fullscreen) or 3 (No event handling). " \ - "Full event handling support is the default value.") +#define KEYBOARD_EVENTS_TEXT N_("Key press events") +#define KEYBOARD_EVENTS_LONGTEXT N_( \ + "This enables VLC hotkeys from the (non-embedded) video window." ) -static const int pi_vout_event_values[] = { 1, 2, 3 }; -static const char *const ppsz_vout_event_descriptions[] = - { N_("Full support"), N_("Fullscreen-only"), N_("None") }; +#define MOUSE_EVENTS_TEXT N_("Mouse events") +#define MOUSE_EVENTS_LONGTEXT N_( \ + "This enables handling of mouse clicks on the video." ) /***************************************************************************** * Input @@ -625,6 +640,11 @@ static const char *const ppsz_vout_event_descriptions[] = "real-time sources. Use this if you experience jerky playback of " \ "network streams.") +#define CLOCK_JITTER_TEXT N_("Clock jitter") +#define CLOCK_JITTER_LONGTEXT N_( \ + "It tells the clock algorithms what is the maximal input jitter that " \ + "is considered valid and can be compensated (in milliseconds)" ) + #define NETSYNC_TEXT N_("Network synchronisation" ) #define NETSYNC_LONGTEXT N_( "This allows you to remotely " \ "synchronise clocks for server and client. The detailed settings " \ @@ -692,12 +712,12 @@ static const char *const ppsz_clock_descriptions[] = #define INPUT_AUDIOTRACK_LANG_TEXT N_("Audio language") #define INPUT_AUDIOTRACK_LANG_LONGTEXT N_( \ "Language of the audio track you want to use " \ - "(comma separated, two or three letter country code).") + "(comma separated, two or three letter country code, you may use 'none' to avoid a fallback to another language).") #define INPUT_SUBTRACK_LANG_TEXT N_("Subtitle language") #define INPUT_SUBTRACK_LANG_LONGTEXT N_( \ "Language of the subtitle track you want to use " \ - "(comma separated, two or three letters country code).") + "(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") @@ -728,6 +748,10 @@ static const char *const ppsz_clock_descriptions[] = #define INPUT_FAST_SEEK_LONGTEXT N_( \ "Favor speed over precision while seeking" ) +#define INPUT_RATE_TEXT N_("Playback speed") +#define INPUT_RATE_LONGTEXT N_( \ + "This defines the playback speed (nominal speed is 1.0)." ) + #define INPUT_LIST_TEXT N_("Input list") #define INPUT_LIST_LONGTEXT N_( \ "You can give a comma-separated list " \ @@ -751,7 +775,7 @@ static const char *const ppsz_clock_descriptions[] = #define INPUT_RECORD_NATIVE_TEXT N_("Prefer native stream recording") #define INPUT_RECORD_NATIVE_LONGTEXT N_( \ - "When possible, the input stream will be recorded instead of using" \ + "When possible, the input stream will be recorded instead of using " \ "the stream output module" ) #define INPUT_TIMESHIFT_PATH_TEXT N_("Timeshift directory") @@ -830,24 +854,12 @@ static const char *const ppsz_clock_descriptions[] = #endif #define VCD_DEV_TEXT N_("VCD device") -#ifdef HAVE_VCDX -#define VCD_DEV_LONGTEXT N_( \ - "This is the default VCD device to use. " \ - "If you don't specify anything, we'll scan for a suitable CD-ROM device." ) -#else #define VCD_DEV_LONGTEXT N_( \ "This is the default VCD device to use." ) -#endif #define CDAUDIO_DEV_TEXT N_("Audio CD device") -#ifdef HAVE_CDDAX -#define CDAUDIO_DEV_LONGTEXT N_( \ - "This is the default Audio CD device to use. " \ - "If you don't specify anything, we'll scan for a suitable CD-ROM device." ) -#else #define CDAUDIO_DEV_LONGTEXT N_( \ "This is the default Audio CD device to use." ) -#endif #define IPV6_TEXT N_("Force IPv6") #define IPV6_LONGTEXT N_( \ @@ -941,7 +953,7 @@ static const char *const ppsz_clock_descriptions[] = #define SOUT_TEXT N_("Default stream output chain") #define SOUT_LONGTEXT N_( \ "You can enter here a default stream output chain. Refer to "\ - "the documentation to learn how to build such chains." \ + "the documentation to learn how to build such chains. " \ "Warning: this chain will be enabled for all streams." ) #define SOUT_ALL_TEXT N_("Enable streaming of all ES") @@ -1041,6 +1053,20 @@ static const char *const ppsz_clock_descriptions[] = "If your processor supports the SSE3 instructions set, VLC can take " \ "advantage of them.") +#define SSSE3_TEXT N_("Enable CPU SSSE3 support") +#define SSSE3_LONGTEXT N_( \ + "If your processor supports the SSSE3 instructions set, VLC can take " \ + "advantage of them.") + +#define SSE4_1_TEXT N_("Enable CPU SSE4.1 support") +#define SSE4_1_LONGTEXT N_( \ + "If your processor supports the SSE4.1 instructions set, VLC can take " \ + "advantage of them.") + +#define SSE4_2_TEXT N_("Enable CPU SSE4.2 support") +#define SSE4_2_LONGTEXT N_( \ + "If your processor supports the SSE4.2 instructions set, VLC can take " \ + "advantage of them.") #define ALTIVEC_TEXT N_("Enable CPU AltiVec support") #define ALTIVEC_LONGTEXT N_( \ @@ -1098,6 +1124,10 @@ static const char *const ppsz_clock_descriptions[] = "Additional path for VLC to look for its modules. You can add " \ "several paths by concatenating them using \" PATH_SEP \" as separator") +#define DATA_PATH_TEXT N_("Data search path") +#define DATA_PATH_LONGTEXT N_( \ + "Override the default data/share search path.") + #define VLM_CONF_TEXT N_("VLM configuration file") #define VLM_CONF_LONGTEXT N_( \ "Read a VLM configuration file as soon as VLM is started." ) @@ -1198,7 +1228,7 @@ static const char *const ppsz_albumart_descriptions[] = #define SD_TEXT N_( "Services discovery modules") #define SD_LONGTEXT N_( \ "Specifies the services discovery modules to load, separated by " \ - "semi-colons. Typical values are sap, hal, ..." ) + "colons. Typical values are sap, hal, ..." ) #define RANDOM_TEXT N_("Play files randomly forever") #define RANDOM_LONGTEXT N_( \ @@ -1342,6 +1372,10 @@ static const char *const ppsz_albumart_descriptions[] = #define SUBDELAY_UP_KEY_LONGTEXT N_("Select the key to increase the subtitle delay.") #define SUBDELAY_DOWN_KEY_TEXT N_("Subtitle delay down") #define SUBDELAY_DOWN_KEY_LONGTEXT N_("Select the key to decrease the subtitle delay.") +#define SUBPOS_UP_KEY_TEXT N_("Subtitle position up") +#define SUBPOS_UP_KEY_LONGTEXT N_("Select the key to move subtitles higher.") +#define SUBPOS_DOWN_KEY_TEXT N_("Subtitle position down") +#define SUBPOS_DOWN_KEY_LONGTEXT N_("Select the key to move subtitles lower.") #define AUDIODELAY_UP_KEY_TEXT N_("Audio delay up") #define AUDIODELAY_UP_KEY_LONGTEXT N_("Select the key to increase the audio delay.") #define AUDIODELAY_DOWN_KEY_TEXT N_("Audio delay down") @@ -1455,8 +1489,7 @@ static const char *const ppsz_albumart_descriptions[] = #define WALLPAPER_KEY_TEXT N_("Toggle wallpaper mode in video output") #define WALLPAPER_KEY_LONGTEXT N_( \ - "Toggle wallpaper mode in video output. Only works with the directx " \ - "video output for the time being." ) + "Toggle wallpaper mode in video output." ) #define MENU_ON_KEY_TEXT N_("Display OSD menu on top of video output") #define MENU_ON_KEY_LONGTEXT N_("Display OSD menu on top of video output") @@ -1545,7 +1578,7 @@ vlc_module_begin () VOLUME_STEP_LONGTEXT, true ) add_integer( "aout-rate", -1, NULL, AOUT_RATE_TEXT, AOUT_RATE_LONGTEXT, true ) -#if !defined( __APPLE__ ) +#if HAVE_FPU && !defined( __APPLE__ ) add_bool( "hq-resampling", 1, NULL, AOUT_RESAMP_TEXT, AOUT_RESAMP_LONGTEXT, true ) #endif @@ -1568,7 +1601,7 @@ vlc_module_begin () add_bool( "audio-replay-gain-peak-protection", true, NULL, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT, true ) - add_bool( "audio-time-stretch", true, NULL, + add_bool( "audio-time-stretch", HAVE_FPU, NULL, AUDIO_TIME_STRETCH_TEXT, AUDIO_TIME_STRETCH_LONGTEXT, false ) set_subcategory( SUBCAT_AUDIO_AOUT ) @@ -1592,7 +1625,12 @@ vlc_module_begin () change_safe () add_bool( "grayscale", 0, NULL, GRAYSCALE_TEXT, GRAYSCALE_LONGTEXT, true ) - add_bool( "fullscreen", 0, NULL, FULLSCREEN_TEXT, +#if defined (HAVE_MAEMO) +# define FULLSCREEN_DEFAULT true +#else +# define FULLSCREEN_DEFAULT false +#endif + add_bool( "fullscreen", FULLSCREEN_DEFAULT, NULL, FULLSCREEN_TEXT, FULLSCREEN_LONGTEXT, false ) change_short('f') change_safe () @@ -1601,6 +1639,12 @@ vlc_module_begin () #ifdef __APPLE__ add_deprecated_alias( "macosx-embedded" ) /*deprecated since 0.9.0 */ #endif + add_string( "x11-display", NULL, NULL, + DISPLAY_TEXT, DISPLAY_LONGTEXT, true ) + add_deprecated_alias( "xvideo-display" ) /* deprecated since 1.1.0 */ + add_deprecated_alias( "glx-display" ) + add_bool( "xlib", true, NULL, "", "", true ) + change_private () add_bool( "drop-late-frames", 1, NULL, DROP_LATE_FRAMES_TEXT, DROP_LATE_FRAMES_LONGTEXT, true ) /* Used in vout_synchro */ @@ -1608,15 +1652,23 @@ vlc_module_begin () SKIP_FRAMES_LONGTEXT, true ) add_bool( "quiet-synchro", 0, NULL, QUIET_SYNCHRO_TEXT, QUIET_SYNCHRO_LONGTEXT, true ) - add_integer( "vout-event", 1, NULL, VOUT_EVENT_TEXT, VOUT_EVENT_LONGTEXT, true ) - change_safe() - change_integer_list( pi_vout_event_values, ppsz_vout_event_descriptions, NULL ) - add_deprecated_alias( "x11-event" ) /* renamed since 1.0.0 */ + add_bool( "keyboard-events", true, NULL, KEYBOARD_EVENTS_TEXT, + KEYBOARD_EVENTS_LONGTEXT, true ) + add_bool( "mouse-events", true, NULL, MOUSE_EVENTS_TEXT, + MOUSE_EVENTS_LONGTEXT, true ) + add_obsolete_integer( "vout-event" ) /* deprecated since 1.1.0 */ + add_obsolete_integer( "x11-event" ) /* renamed since 1.0.0 */ #ifndef __APPLE__ add_bool( "overlay", 1, NULL, OVERLAY_TEXT, OVERLAY_LONGTEXT, false ) + change_safe() #endif add_bool( "video-on-top", 0, NULL, VIDEO_ON_TOP_TEXT, VIDEO_ON_TOP_LONGTEXT, false ) + add_bool( "video-wallpaper", false, NULL, WALLPAPER_TEXT, + WALLPAPER_LONGTEXT, false ) +#ifdef WIN32 + add_deprecated_alias( "directx-wallpaper" ) +#endif add_bool( "disable-screensaver", true, NULL, SS_TEXT, SS_LONGTEXT, true ) @@ -1655,9 +1707,9 @@ vlc_module_begin () 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 ) + add_integer( "video-x", 0, NULL, VIDEOX_TEXT, VIDEOX_LONGTEXT, true ) change_safe () - add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, true ) + add_integer( "video-y", 0, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, true ) change_safe () add_string( "crop", NULL, NULL, CROP_TEXT, CROP_LONGTEXT, false ) change_safe () @@ -1692,7 +1744,7 @@ vlc_module_begin () change_safe() set_subcategory( SUBCAT_VIDEO_VOUT ) - add_module( "vout", "video output", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT, + add_module( "vout", "vout display", NULL, NULL, VOUT_TEXT, VOUT_LONGTEXT, true ) change_short('V') @@ -1720,6 +1772,7 @@ vlc_module_begin () set_section( N_("Subtitles") , NULL ) add_file( "sub-file", NULL, NULL, SUB_FILE_TEXT, SUB_FILE_LONGTEXT, false ) + change_safe() add_bool( "sub-autodetect-file", true, NULL, SUB_AUTO_TEXT, SUB_AUTO_LONGTEXT, false ) add_integer( "sub-autodetect-fuzzy", 3, NULL, @@ -1788,6 +1841,8 @@ vlc_module_begin () add_bool( "input-fast-seek", false, NULL, INPUT_FAST_SEEK_TEXT, INPUT_FAST_SEEK_LONGTEXT, false ) change_safe () + add_float( "rate", 1., NULL, + INPUT_RATE_TEXT, INPUT_RATE_LONGTEXT, false ) add_string( "input-list", NULL, NULL, INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, true ) @@ -1860,6 +1915,9 @@ vlc_module_begin () add_integer( "clock-synchro", -1, NULL, CLOCK_SYNCHRO_TEXT, CLOCK_SYNCHRO_LONGTEXT, true ) change_integer_list( pi_clock_values, ppsz_clock_descriptions, NULL ) + add_integer( "clock-jitter", 5 * CLOCK_FREQ/1000, NULL, CLOCK_JITTER_TEXT, + CLOCK_JITTER_LONGTEXT, true ) + change_safe() add_bool( "network-synchronisation", false, NULL, NETSYNC_TEXT, NETSYNC_LONGTEXT, true ) @@ -1968,6 +2026,12 @@ vlc_module_begin () change_need_restart () add_bool( "sse3", 1, NULL, SSE3_TEXT, SSE3_LONGTEXT, true ) change_need_restart () + add_bool( "ssse3", 1, NULL, SSSE3_TEXT, SSSE3_LONGTEXT, true ) + change_need_restart () + add_bool( "sse41", 1, NULL, SSE4_1_TEXT, SSE4_1_LONGTEXT, true ) + change_need_restart () + add_bool( "sse42", 1, NULL, SSE4_2_TEXT, SSE4_2_LONGTEXT, true ) + change_need_restart () #endif #if defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc64__ ) add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, true ) @@ -1989,6 +2053,13 @@ vlc_module_begin () add_directory( "plugin-path", NULL, NULL, PLUGIN_PATH_TEXT, PLUGIN_PATH_LONGTEXT, true ) change_need_restart () + add_directory( "data-path", NULL, NULL, DATA_PATH_TEXT, + DATA_PATH_LONGTEXT, true ) + change_need_restart () + + add_string( "user-agent", "(LibVLC "VERSION")", NULL, NULL, NULL, true ) + change_safe () + change_private () set_section( N_("Performance options"), NULL ) add_obsolete_bool( "minimize-threads" ) @@ -2019,14 +2090,12 @@ vlc_module_begin () ONEINSTANCE_LONGTEXT, true ) add_bool( "started-from-file", 0, NULL, STARTEDFROMFILE_TEXT, STARTEDFROMFILE_LONGTEXT, true ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "one-instance-when-started-from-file", 1, NULL, ONEINSTANCEWHENSTARTEDFROMFILE_TEXT, ONEINSTANCEWHENSTARTEDFROMFILE_LONGTEXT, true ) add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT, PLAYLISTENQUEUE_LONGTEXT, true ) - change_unsaveable () #endif #if defined(WIN32) @@ -2209,6 +2278,8 @@ vlc_module_begin () # define KEY_VOL_MUTE KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_DOWN # define KEY_SUBDELAY_UP 'j' # define KEY_SUBDELAY_DOWN 'h' +# define KEY_SUBPOS_DOWN KEY_UNSET +# define KEY_SUBPOS_UP KEY_UNSET # define KEY_AUDIODELAY_UP 'g' # define KEY_AUDIODELAY_DOWN 'f' # define KEY_AUDIO_TRACK 'l' @@ -2324,6 +2395,8 @@ vlc_module_begin () # define KEY_VOL_MUTE 'm' # define KEY_SUBDELAY_UP 'h' # define KEY_SUBDELAY_DOWN 'g' +# define KEY_SUBPOS_DOWN KEY_UNSET +# define KEY_SUBPOS_UP KEY_UNSET # define KEY_AUDIODELAY_UP 'k' # define KEY_AUDIODELAY_DOWN 'j' # define KEY_RANDOM 'r' @@ -2368,10 +2441,10 @@ vlc_module_begin () # define KEY_UNCROP_RIGHT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'f' /* Zooming */ -# 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_ZOOM_QUARTER KEY_MODIFIER_ALT|'1' +# define KEY_ZOOM_HALF KEY_MODIFIER_ALT|'2' +# define KEY_ZOOM_ORIGINAL KEY_MODIFIER_ALT|'3' +# define KEY_ZOOM_DOUBLE KEY_MODIFIER_ALT|'4' /* Bookmarks */ # define KEY_SET_BOOKMARK1 KEY_MODIFIER_CTRL|KEY_F1 @@ -2485,6 +2558,10 @@ vlc_module_begin () 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, true ) + add_key( "key-subpos-up", KEY_SUBPOS_UP, NULL, + SUBPOS_UP_KEY_TEXT, SUBPOS_UP_KEY_LONGTEXT, true ) + add_key( "key-subpos-down", KEY_SUBPOS_DOWN, NULL, + SUBPOS_DOWN_KEY_TEXT, SUBPOS_DOWN_KEY_LONGTEXT, true ) add_key( "key-audiodelay-up", KEY_AUDIODELAY_UP, NULL, AUDIODELAY_UP_KEY_TEXT, AUDIODELAY_UP_KEY_LONGTEXT, true ) add_key( "key-audiodelay-down", KEY_AUDIODELAY_DOWN, NULL, @@ -2666,12 +2743,10 @@ vlc_module_begin () N_("print a list of available modules with extra detail") #define MODULE_TEXT \ N_("print help on a specific module (can be combined with --advanced " \ - "and --help-verbose). Prefix the module name with = for strict" \ + "and --help-verbose). Prefix the module name with = for strict " \ "matches.") #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 \ N_("reset the current config to the default values") #define CONFIG_TEXT \ @@ -2683,54 +2758,36 @@ vlc_module_begin () add_bool( "help", false, NULL, HELP_TEXT, "", false ) change_short( 'h' ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "full-help", false, NULL, FULL_HELP_TEXT, "", false ) change_short( 'H' ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "longhelp", false, NULL, LONGHELP_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "help-verbose", false, NULL, HELP_VERBOSE_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "list", false, NULL, LIST_TEXT, "", false ) change_short( 'l' ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "list-verbose", false, NULL, LIST_VERBOSE_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () add_string( "module", NULL, NULL, MODULE_TEXT, "", false ) change_short( 'p' ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "ignore-config", true, NULL, IGNORE_CONFIG_TEXT, "", false ) - change_internal () - change_unsaveable () - add_bool( "save-config", false, NULL, SAVE_CONFIG_TEXT, "", - false ) - change_internal () - change_unsaveable () + change_volatile () + add_obsolete_bool( "save-config" ) add_bool( "reset-config", false, NULL, RESET_CONFIG_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "reset-plugins-cache", false, NULL, RESET_PLUGINS_CACHE_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () add_bool( "version", false, NULL, VERSION_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () add_string( "config", NULL, NULL, CONFIG_TEXT, "", false ) - change_internal () - change_unsaveable () - add_bool( "version", false, NULL, VERSION_TEXT, "", false ) - change_internal () - change_unsaveable () + change_volatile () /* Usage (mainly useful for cmd line stuff) */ /* add_usage_hint( PLAYLIST_USAGE ) */ @@ -2749,80 +2806,57 @@ vlc_module_end () *****************************************************************************/ const struct action libvlc_actions[] = { - { "key-quit", ACTIONID_QUIT, }, - { "key-play-pause", ACTIONID_PLAY_PAUSE, }, - { "key-play", ACTIONID_PLAY, }, - { "key-pause", ACTIONID_PAUSE, }, - { "key-stop", ACTIONID_STOP, }, - { "key-position", ACTIONID_POSITION, }, - { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, }, - { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, }, - { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, }, - { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, }, - { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, }, - { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, }, - { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, }, - { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, }, - { "key-frame-next", ACTIONID_FRAME_NEXT, }, - { "key-prev", ACTIONID_PREV, }, - { "key-next", ACTIONID_NEXT, }, - { "key-faster", ACTIONID_FASTER, }, - { "key-slower", ACTIONID_SLOWER, }, - { "key-rate-normal", ACTIONID_RATE_NORMAL, }, - { "key-rate-faster-fine", ACTIONID_RATE_FASTER_FINE, }, - { "key-rate-slower-fine", ACTIONID_RATE_SLOWER_FINE, }, - { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, }, - { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, }, - { "key-vol-up", ACTIONID_VOL_UP, }, - { "key-vol-down", ACTIONID_VOL_DOWN, }, - { "key-vol-mute", ACTIONID_VOL_MUTE, }, - { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, }, - { "key-subdelay-up", ACTIONID_SUBDELAY_UP, }, + /* *MUST* be sorted (ASCII order) */ + { "key-aspect-ratio", ACTIONID_ASPECT_RATIO, }, + { "key-audio-track", ACTIONID_AUDIO_TRACK, }, { "key-audiodelay-down", ACTIONID_AUDIODELAY_DOWN, }, { "key-audiodelay-up", ACTIONID_AUDIODELAY_UP, }, - { "key-audio-track", ACTIONID_AUDIO_TRACK, }, - { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, }, - { "key-aspect-ratio", ACTIONID_ASPECT_RATIO, }, + { "key-audiodevice-cycle", ACTIONID_AUDIODEVICE_CYCLE, }, + { "key-chapter-next", ACTIONID_CHAPTER_NEXT, }, + { "key-chapter-prev", ACTIONID_CHAPTER_PREV, }, { "key-crop", ACTIONID_CROP, }, - { "key-deinterlace", ACTIONID_DEINTERLACE, }, - { "key-intf-show", ACTIONID_INTF_SHOW, }, - { "key-intf-hide", ACTIONID_INTF_HIDE, }, - { "key-snapshot", ACTIONID_SNAPSHOT, }, - { "key-zoom", ACTIONID_ZOOM, }, - { "key-unzoom", ACTIONID_UNZOOM, }, - { "key-crop-top", ACTIONID_CROP_TOP, }, - { "key-uncrop-top", ACTIONID_UNCROP_TOP, }, - { "key-crop-left", ACTIONID_CROP_LEFT, }, - { "key-uncrop-left", ACTIONID_UNCROP_LEFT, }, { "key-crop-bottom", ACTIONID_CROP_BOTTOM, }, - { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, }, + { "key-crop-left", ACTIONID_CROP_LEFT, }, { "key-crop-right", ACTIONID_CROP_RIGHT, }, - { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, }, + { "key-crop-top", ACTIONID_CROP_TOP, }, + { "key-decr-scalefactor", ACTIONID_SCALE_DOWN, }, + { "key-deinterlace", ACTIONID_DEINTERLACE, }, + { "key-disc-menu", ACTIONID_DISC_MENU, }, + { "key-dump", ACTIONID_DUMP, }, + { "key-faster", ACTIONID_FASTER, }, + { "key-frame-next", ACTIONID_FRAME_NEXT, }, + { "key-history-back", ACTIONID_HISTORY_BACK, }, + { "key-history-forward", ACTIONID_HISTORY_FORWARD, }, + { "key-incr-scalefactor", ACTIONID_SCALE_UP, }, + { "key-intf-hide", ACTIONID_INTF_HIDE, }, + { "key-intf-show", ACTIONID_INTF_SHOW, }, + { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, }, + { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, }, + { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, }, + { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, }, + { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, }, + { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, }, + { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, }, + { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, }, + { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, }, + { "key-loop", ACTIONID_LOOP, }, + { "key-menu-down", ACTIONID_MENU_DOWN, }, + { "key-menu-left", ACTIONID_MENU_LEFT, }, + { "key-menu-off", ACTIONID_MENU_OFF, }, + { "key-menu-on", ACTIONID_MENU_ON, }, + { "key-menu-right", ACTIONID_MENU_RIGHT, }, + { "key-menu-select", ACTIONID_MENU_SELECT, }, + { "key-menu-up", ACTIONID_MENU_UP, }, { "key-nav-activate", ACTIONID_NAV_ACTIVATE, }, - { "key-nav-up", ACTIONID_NAV_UP, }, { "key-nav-down", ACTIONID_NAV_DOWN, }, { "key-nav-left", ACTIONID_NAV_LEFT, }, { "key-nav-right", ACTIONID_NAV_RIGHT, }, - { "key-disc-menu", ACTIONID_DISC_MENU, }, - { "key-title-prev", ACTIONID_TITLE_PREV, }, - { "key-title-next", ACTIONID_TITLE_NEXT, }, - { "key-chapter-prev", ACTIONID_CHAPTER_PREV, }, - { "key-chapter-next", ACTIONID_CHAPTER_NEXT, }, - { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, }, - { "key-zoom-half", ACTIONID_ZOOM_HALF, }, - { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, }, - { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, }, - { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, }, - { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, }, - { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, }, - { "key-set-bookmark4", ACTIONID_SET_BOOKMARK4, }, - { "key-set-bookmark5", ACTIONID_SET_BOOKMARK5, }, - { "key-set-bookmark6", ACTIONID_SET_BOOKMARK6, }, - { "key-set-bookmark7", ACTIONID_SET_BOOKMARK7, }, - { "key-set-bookmark8", ACTIONID_SET_BOOKMARK8, }, - { "key-set-bookmark9", ACTIONID_SET_BOOKMARK9, }, - { "key-set-bookmark10", ACTIONID_SET_BOOKMARK10, }, + { "key-nav-up", ACTIONID_NAV_UP, }, + { "key-next", ACTIONID_NEXT, }, + { "key-pause", ACTIONID_PAUSE, }, + { "key-play", ACTIONID_PLAY, }, { "key-play-bookmark1", ACTIONID_PLAY_BOOKMARK1, }, + { "key-play-bookmark10", ACTIONID_PLAY_BOOKMARK10, }, { "key-play-bookmark2", ACTIONID_PLAY_BOOKMARK2, }, { "key-play-bookmark3", ACTIONID_PLAY_BOOKMARK3, }, { "key-play-bookmark4", ACTIONID_PLAY_BOOKMARK4, }, @@ -2831,25 +2865,51 @@ const struct action libvlc_actions[] = { "key-play-bookmark7", ACTIONID_PLAY_BOOKMARK7, }, { "key-play-bookmark8", ACTIONID_PLAY_BOOKMARK8, }, { "key-play-bookmark9", ACTIONID_PLAY_BOOKMARK9, }, - { "key-play-bookmark10", ACTIONID_PLAY_BOOKMARK10, }, - { "key-history-back", ACTIONID_HISTORY_BACK, }, - { "key-history-forward", ACTIONID_HISTORY_FORWARD, }, - { "key-record", ACTIONID_RECORD, }, - { "key-dump", ACTIONID_DUMP, }, + { "key-play-pause", ACTIONID_PLAY_PAUSE, }, + { "key-position", ACTIONID_POSITION, }, + { "key-prev", ACTIONID_PREV, }, + { "key-quit", ACTIONID_QUIT, }, { "key-random", ACTIONID_RANDOM, }, - { "key-loop", ACTIONID_LOOP, }, - { "key-wallpaper", ACTIONID_WALLPAPER, }, - { "key-menu-on", ACTIONID_MENU_ON, }, - { "key-menu-off", ACTIONID_MENU_OFF, }, - { "key-menu-right", ACTIONID_MENU_RIGHT, }, - { "key-menu-left", ACTIONID_MENU_LEFT, }, - { "key-menu-up", ACTIONID_MENU_UP, }, - { "key-menu-down", ACTIONID_MENU_DOWN, }, - { "key-menu-select", ACTIONID_MENU_SELECT, }, - { "key-audiodevice-cycle", ACTIONID_AUDIODEVICE_CYCLE, }, + { "key-rate-faster-fine", ACTIONID_RATE_FASTER_FINE, }, + { "key-rate-normal", ACTIONID_RATE_NORMAL, }, + { "key-rate-slower-fine", ACTIONID_RATE_SLOWER_FINE, }, + { "key-record", ACTIONID_RECORD, }, + { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, }, + { "key-set-bookmark10", ACTIONID_SET_BOOKMARK10, }, + { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, }, + { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, }, + { "key-set-bookmark4", ACTIONID_SET_BOOKMARK4, }, + { "key-set-bookmark5", ACTIONID_SET_BOOKMARK5, }, + { "key-set-bookmark6", ACTIONID_SET_BOOKMARK6, }, + { "key-set-bookmark7", ACTIONID_SET_BOOKMARK7, }, + { "key-set-bookmark8", ACTIONID_SET_BOOKMARK8, }, + { "key-set-bookmark9", ACTIONID_SET_BOOKMARK9, }, + { "key-slower", ACTIONID_SLOWER, }, + { "key-snapshot", ACTIONID_SNAPSHOT, }, + { "key-stop", ACTIONID_STOP, }, + { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, }, + { "key-subdelay-up", ACTIONID_SUBDELAY_UP, }, + { "key-subpos-down", ACTIONID_SUBPOS_DOWN, }, + { "key-subpos-up", ACTIONID_SUBPOS_UP, }, + { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, }, + { "key-title-next", ACTIONID_TITLE_NEXT, }, + { "key-title-prev", ACTIONID_TITLE_PREV, }, { "key-toggle-autoscale", ACTIONID_TOGGLE_AUTOSCALE, }, - { "key-incr-scalefactor", ACTIONID_SCALE_UP, }, - { "key-decr-scalefactor", ACTIONID_SCALE_DOWN, }, + { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, }, + { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, }, + { "key-uncrop-left", ACTIONID_UNCROP_LEFT, }, + { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, }, + { "key-uncrop-top", ACTIONID_UNCROP_TOP, }, + { "key-unzoom", ACTIONID_UNZOOM, }, + { "key-vol-down", ACTIONID_VOL_DOWN, }, + { "key-vol-mute", ACTIONID_VOL_MUTE, }, + { "key-vol-up", ACTIONID_VOL_UP, }, + { "key-wallpaper", ACTIONID_WALLPAPER, }, + { "key-zoom", ACTIONID_ZOOM, }, + { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, }, + { "key-zoom-half", ACTIONID_ZOOM_HALF, }, + { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, }, + { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, }, }; const size_t libvlc_actions_count =