X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc-module.c;h=285d1d502c2b3b68acd1dd17bc47c687a0146552;hb=b5e274fa1b9a78af525e0b10f80ab3936ab0b97d;hp=25015e5ebfb07fb3c539f8c2498c551f6dc1e689;hpb=449fd28aaf007c6411251dae9d0dbfdc65b135d1;p=vlc diff --git a/src/libvlc-module.c b/src/libvlc-module.c index 25015e5ebf..285d1d502c 100644 --- a/src/libvlc-module.c +++ b/src/libvlc-module.c @@ -34,7 +34,8 @@ # include "config.h" #endif -#include +#include +#include #include "libvlc.h" //#define Nothing here, this is just to prevent update-po from being stupid @@ -42,13 +43,14 @@ #include "vlc_meta.h" #if defined (WIN32) || defined (__APPLE__) -static const char *ppsz_language[] = +static const char *const ppsz_language[] = { "auto", "en", "ar", "pt_BR", "en_GB", + "bg", "ca", "zh_TW", "cs", @@ -68,9 +70,12 @@ static const char *ppsz_language[] = "oc", "fa", "pl", + "pt_PT", + "pa", "ro", "ru", "zh_CN", + "sr", "sk", "sl", "es", @@ -78,13 +83,14 @@ static const char *ppsz_language[] = "tr" }; -static const char *ppsz_language_text[] = +static const char *const ppsz_language_text[] = { N_("Auto"), N_("American English"), N_("Arabic"), N_("Brazilian Portuguese"), N_("British English"), + N_("Bulgarian"), N_("Catalan"), N_("Chinese Traditional"), N_("Czech"), @@ -104,9 +110,12 @@ static const char *ppsz_language_text[] = N_("Occitan"), N_("Persian"), N_("Polish"), + N_("Portuguese"), + N_("Punjabi"), N_("Romanian"), N_("Russian"), N_("Simplified Chinese"), + N_("Serbian"), N_("Slovak"), N_("Slovenian"), N_("Spanish"), @@ -115,7 +124,7 @@ static const char *ppsz_language_text[] = }; #endif -static const char *ppsz_snap_formats[] = +static const char *const ppsz_snap_formats[] = { "png", "jpg" }; /***************************************************************************** @@ -157,6 +166,16 @@ static const char *ppsz_snap_formats[] = "This is the verbosity level (0=only errors and " \ "standard messages, 1=warnings, 2=debug).") +#define VERBOSE_OBJECTS_TEXT N_("Choose which objects should print debug " \ + "message") +#define VERBOSE_OBJECTS_LONGTEXT N_( \ + "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 " \ + "over rules applying to object types. Note that you still need to " \ + "use -vvv to actually display debug message.") + #define QUIET_TEXT N_("Be quiet") #define QUIET_LONGTEXT N_( \ "Turn off all warning and information messages.") @@ -215,8 +234,10 @@ static const char *ppsz_snap_formats[] = "You can completely disable the audio output. The audio " \ "decoding stage will not take place, thus saving some processing power.") +#if 0 #define MONO_TEXT N_("Force mono audio") #define MONO_LONGTEXT N_("This will force a mono audio output.") +#endif #define VOLUME_TEXT N_("Default audio volume") #define VOLUME_LONGTEXT N_( \ @@ -269,8 +290,9 @@ static const char *ppsz_snap_formats[] = "not actually encoded with Dolby Surround, turning on this option might "\ "enhance your experience, especially when combined with the Headphone "\ "Channel Mixer." ) -static int pi_force_dolby_values[] = { 0, 1, 2 }; -static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") }; +static const int pi_force_dolby_values[] = { 0, 1, 2 }; +static const char *const ppsz_force_dolby_descriptions[] = { + N_("Auto"), N_("On"), N_("Off") }; #define AUDIO_FILTER_TEXT N_("Audio filters") @@ -301,8 +323,17 @@ static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_( #define AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT N_( \ "Protect against sound clipping" ) -static const char *ppsz_replay_gain_mode[] = { "none", "track", "album" }; -static const char *ppsz_replay_gain_mode_text[] = { N_("None"), N_("Track"), N_("Album") }; +#define AUDIO_TIME_STRETCH_TEXT N_( \ + "Enable time streching audio" ) +#define AUDIO_TIME_STRETCH_LONGTEXT N_( \ + "This allows to play audio at lower or higher speed without" \ + "affecting the audio pitch" ) + + +static const char *const ppsz_replay_gain_mode[] = { + "none", "track", "album" }; +static const char *const ppsz_replay_gain_mode_text[] = { + N_("None"), N_("Track"), N_("Album") }; /***************************************************************************** * Video @@ -356,8 +387,8 @@ static const char *ppsz_replay_gain_mode_text[] = { N_("None"), N_("Track"), N_( "Enforce the alignment of the video in its window. By default (0) it " \ "will be centered (0=center, 1=left, 2=right, 4=top, 8=bottom, you can " \ "also use combinations of these values, like 6=4+2 meaning top-right).") -static int pi_align_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }; -static const char *ppsz_align_descriptions[] = +static const int pi_align_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }; +static const char *const ppsz_align_descriptions[] = { N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"), N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") }; @@ -387,33 +418,33 @@ static const char *ppsz_align_descriptions[] = #define VIDEO_ON_TOP_LONGTEXT N_( \ "Always place the video window on top of other windows." ) -#define VIDEO_TITLE_SHOW_TEXT N_("Show media title on video.") +#define VIDEO_TITLE_SHOW_TEXT N_("Show media title on video") #define VIDEO_TITLE_SHOW_LONGTEXT N_( \ "Display the title of the video on top of the movie.") -#define VIDEO_TITLE_TIMEOUT_TEXT N_("Show video title for x miliseconds.") +#define VIDEO_TITLE_TIMEOUT_TEXT N_("Show video title for x milliseconds") #define VIDEO_TITLE_TIMEOUT_LONGTEXT N_( \ - "Show the video title for n miliseconds, default is 5000 ms (5 sec.)") + "Show the video title for n milliseconds, default is 5000 ms (5 sec.)") -#define VIDEO_TITLE_POSITION_TEXT N_("Position of video title.") +#define VIDEO_TITLE_POSITION_TEXT N_("Position of video title") #define VIDEO_TITLE_POSITION_LONGTEXT N_( \ "Place on video where to display the title (default bottom center).") #define MOUSE_HIDE_TIMEOUT_TEXT N_("Hide cursor and fullscreen " \ - "controller after x miliseconds.") + "controller after x milliseconds") #define MOUSE_HIDE_TIMEOUT_LONGTEXT N_( \ "Hide mouse cursor and fullscreen controller after " \ - "n miliseconds, default is 3000 ms (3 sec.)") + "n milliseconds, default is 3000 ms (3 sec.)") -static int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }; -static const char *ppsz_pos_descriptions[] = +static const int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 }; +static const char *const ppsz_pos_descriptions[] = { N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"), N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") }; #define SS_TEXT N_("Disable screensaver") #define SS_LONGTEXT N_("Disable the screensaver during video playback." ) -#define INHIBIT_TEXT N_("Inhibits the power management daemon during playback.") +#define INHIBIT_TEXT N_("Inhibit the power management daemon during playback") #define INHIBIT_LONGTEXT N_("Inhibits the power management daemon during any " \ "playback, to avoid the computer being suspended because of inactivity.") @@ -424,9 +455,7 @@ static const char *ppsz_pos_descriptions[] = #define VOUT_FILTER_TEXT N_("Video output filter module") #define VOUT_FILTER_LONGTEXT N_( \ - "This adds post-processing filters to enhance the " \ - "picture quality, for instance deinterlacing, or to clone or distort " \ - "the video window.") + "This adds video output filters like clone or wall" ) #define VIDEO_FILTER_TEXT N_("Video filter module") #define VIDEO_FILTER_LONGTEXT N_( \ @@ -545,8 +574,8 @@ static const char *ppsz_pos_descriptions[] = "synchronise clocks for server and client. The detailed settings " \ "are available in Advanced / Network Sync." ) -static int pi_clock_values[] = { -1, 0, 1 }; -static const char *ppsz_clock_descriptions[] = +static const int pi_clock_values[] = { -1, 0, 1 }; +static const char *const ppsz_clock_descriptions[] = { N_("Default"), N_("Disable"), N_("Enable") }; #define SERVER_PORT_TEXT N_("UDP port") @@ -612,7 +641,7 @@ static const char *ppsz_clock_descriptions[] = #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 tree letter country code).") + "(comma separated, two or three letters country code).") /// \todo Document how to find it #define INPUT_AUDIOTRACK_ID_TEXT N_("Audio track ID") @@ -656,6 +685,15 @@ static const char *ppsz_clock_descriptions[] = "the form \"{name=bookmark-name,time=optional-time-offset," \ "bytes=optional-byte-offset},{...}\"") +#define INPUT_RECORD_PATH_TEXT N_("Record directory or filename") +#define INPUT_RECORD_PATH_LONGTEXT N_( \ + "Directory or filename where the records will be stored" ) + +#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" \ + "the stream output module" ) + // DEPRECATED #define SUB_CAT_LONGTEXT N_( \ "These options allow you to modify the behavior of the subpictures " \ @@ -685,7 +723,7 @@ static const char *ppsz_clock_descriptions[] = #define SUB_FILTER_TEXT N_("Subpictures filter module") #define SUB_FILTER_LONGTEXT N_( \ "This adds so-called \"subpicture filters\". These filters overlay " \ - "some images or text over the video (like a logo, arbitrary text...)." ) + "some images or text over the video (like a logo, arbitrary text, ...)." ) #define SUB_AUTO_TEXT N_("Autodetect subtitle files") #define SUB_AUTO_LONGTEXT N_( \ @@ -817,7 +855,7 @@ static const char *ppsz_clock_descriptions[] = "This allows you to select a list of encoders that VLC will use in " \ "priority.") -#define SYSTEM_CODEC_TEXT N_("Prefer system plugins over vlc") +#define SYSTEM_CODEC_TEXT N_("Prefer system plugins over VLC") #define SYSTEM_CODEC_LONGTEXT N_( \ "Indicates whether VLC will prefer native plugins installed " \ "on system over VLC owns plugins whenever a choice is available." ) @@ -985,10 +1023,21 @@ static const char *ppsz_clock_descriptions[] = #define MINIMIZE_THREADS_LONGTEXT N_( \ "This option minimizes the number of threads needed to run VLC.") +#define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.") +#define USE_STREAM_IMMEDIATE_LONGTEXT N_( \ + "This option is useful if you want to lower the latency when " \ + "reading a stream") + +#define AUTO_ADJUST_PTS_DELAY N_("(Experimental) Minimize latency when" \ + "reading live stream.") +#define AUTO_ADJUST_PTS_DELAY_LONGTEXT N_( \ + "This option is useful if you want to lower the latency when " \ + "reading a stream") + #define PLUGIN_PATH_TEXT N_("Modules search path") #define PLUGIN_PATH_LONGTEXT N_( \ "Additional path for VLC to look for its modules. You can add " \ - "several paths by concatenating them using " PATH_SEP " as separator") + "several paths by concatenating them using \" PATH_SEP \" as separator") #define VLM_CONF_TEXT N_("VLM configuration file") #define VLM_CONF_LONGTEXT N_( \ @@ -1033,7 +1082,7 @@ static const char *ppsz_clock_descriptions[] = "don't want a new instance of VLC to be opened each time you " \ "open a file in your file manager. This option will allow you " \ "to play the file with the already running instance or enqueue it. " \ - "This option require the D-Bus session daemon to be active " \ + "This option requires the D-Bus session daemon to be active " \ "and the running instance of VLC to use D-Bus control interface.") #define STARTEDFROMFILE_TEXT N_("VLC is started from file association") @@ -1074,19 +1123,14 @@ static const char *ppsz_clock_descriptions[] = "Automatically preparse files added to the playlist " \ "(to retrieve some metadata)." ) -#define FETCH_META_TEXT N_( "Authorise meta information fetching" ) -#define FETCH_META_LONGTEXT N_( \ - "Specify if you want to attempt to fetch files'"\ - "meta informations using the network." ) - #define ALBUM_ART_TEXT N_( "Album art policy" ) #define ALBUM_ART_LONGTEXT N_( \ "Choose how album art will be downloaded." ) -static int pi_albumart_values[] = { ALBUM_ART_WHEN_ASKED, - ALBUM_ART_WHEN_PLAYED, - ALBUM_ART_ALL }; -static const char *ppsz_albumart_descriptions[] = +static const int pi_albumart_values[] = { ALBUM_ART_WHEN_ASKED, + ALBUM_ART_WHEN_PLAYED, + ALBUM_ART_ALL }; +static const char *const ppsz_albumart_descriptions[] = { N_("Manual download only"), N_("When track starts playing"), N_("As soon as track is added") }; @@ -1121,14 +1165,10 @@ static const char *ppsz_albumart_descriptions[] = "The media library is automatically saved and reloaded each time you " \ "start VLC." ) -#define PLTREE_TEXT N_("Use playlist tree") +#define PLTREE_TEXT N_("Display playlist tree") #define PLTREE_LONGTEXT N_( \ "The playlist can use a tree to categorize some items, like the " \ - "contents of a directory. \"Default\" means that the tree will only " \ - "be used when really needed." ) -static int pi_pltree_values[] = { 0, 1, 2 }; -static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N_("Never") }; - + "contents of a directory." ) /***************************************************************************** @@ -1340,9 +1380,9 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N "video output for the time being." ) #define MENU_ON_KEY_TEXT N_("Display OSD menu on top of video output") -#define MENU_ON_KEY_LONGTEXT N_("Display OSDmenu on top of video output") +#define MENU_ON_KEY_LONGTEXT N_("Display OSD menu on top of video output") #define MENU_OFF_KEY_TEXT N_("Do not display OSD menu on video output") -#define MENU_OFF_KEY_LONGTEXT N_("Do not display OSDmenu on top of video output") +#define MENU_OFF_KEY_LONGTEXT N_("Do not display OSD menu on top of video output") #define MENU_RIGHT_KEY_TEXT N_("Highlight widget on the right") #define MENU_RIGHT_KEY_LONGTEXT N_( \ "Move OSD menu highlight to the widget on the right") @@ -1417,6 +1457,7 @@ vlc_module_begin(); add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , false ); add_bool( "audio", 1, NULL, AUDIO_TEXT, AUDIO_LONGTEXT, false ); + change_safe(); add_integer_with_range( "volume", AOUT_VOLUME_DEFAULT, AOUT_VOLUME_MIN, AOUT_VOLUME_MAX, NULL, VOLUME_TEXT, VOLUME_LONGTEXT, false ); @@ -1432,9 +1473,10 @@ vlc_module_begin(); add_bool( "spdif", 0, NULL, SPDIF_TEXT, SPDIF_LONGTEXT, false ); add_integer( "force-dolby-surround", 0, NULL, FORCE_DOLBY_TEXT, FORCE_DOLBY_LONGTEXT, false ); - change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, 0 ); + change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, NULL ); add_integer( "audio-desync", 0, NULL, DESYNC_TEXT, DESYNC_LONGTEXT, true ); + change_safe(); /* FIXME TODO create a subcat replay gain ? */ add_string( "audio-replay-gain-mode", ppsz_replay_gain_mode[0], NULL, AUDIO_REPLAY_GAIN_MODE_TEXT, @@ -1447,6 +1489,9 @@ 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, + AUDIO_TIME_STRETCH_TEXT, AUDIO_TIME_STRETCH_LONGTEXT, false ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT, true ); @@ -1465,11 +1510,13 @@ vlc_module_begin(); add_category_hint( N_("Video"), VOUT_CAT_LONGTEXT , false ); add_bool( "video", 1, NULL, VIDEO_TEXT, VIDEO_LONGTEXT, true ); + change_safe(); add_bool( "grayscale", 0, NULL, GRAYSCALE_TEXT, GRAYSCALE_LONGTEXT, true ); add_bool( "fullscreen", 0, NULL, FULLSCREEN_TEXT, FULLSCREEN_LONGTEXT, false ); change_short('f'); + change_safe(); add_bool( "embedded-video", 1, NULL, EMBEDDED_TEXT, EMBEDDED_LONGTEXT, true ); #ifdef __APPLE__ @@ -1496,11 +1543,10 @@ vlc_module_begin(); VIDEO_TITLE_TIMEOUT_LONGTEXT, false ); add_integer( "video-title-position", 8, NULL, VIDEO_TITLE_POSITION_TEXT, VIDEO_TITLE_POSITION_LONGTEXT, false ); - // autohide after 3s - add_integer( "mouse-hide-timeout", 3000, NULL, MOUSE_HIDE_TIMEOUT_TEXT, + change_integer_list( pi_pos_values, ppsz_pos_descriptions, NULL ); + // autohide after 1.5s + add_integer( "mouse-hide-timeout", 1500, NULL, MOUSE_HIDE_TIMEOUT_TEXT, MOUSE_HIDE_TIMEOUT_LONGTEXT, false ); - change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 ); - set_section( N_("Snapshot") , NULL ); add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT, SNAP_PATH_LONGTEXT, false ); @@ -1521,14 +1567,20 @@ vlc_module_begin(); set_section( N_("Window properties" ), NULL ); add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, true ); + change_safe(); add_integer( "height", -1, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT, true ); + change_safe(); add_integer( "video-x", -1, NULL, VIDEOX_TEXT, VIDEOX_LONGTEXT, true ); + change_safe(); add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, true ); + change_safe(); add_string( "crop", NULL, NULL, CROP_TEXT, CROP_LONGTEXT, false ); + change_safe(); add_string( "custom-crop-ratios", NULL, NULL, CUSTOM_CROP_RATIOS_TEXT, CUSTOM_CROP_RATIOS_LONGTEXT, false ); add_string( "aspect-ratio", NULL, NULL, ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, false ); + change_safe(); add_string( "monitor-par", NULL, NULL, MASPECT_RATIO_TEXT, MASPECT_RATIO_LONGTEXT, true ); add_string( "custom-aspect-ratios", NULL, NULL, CUSTOM_ASPECT_RATIOS_TEXT, @@ -1539,7 +1591,7 @@ vlc_module_begin(); add_string( "video-title", NULL, NULL, VIDEO_TITLE_TEXT, VIDEO_TITLE_LONGTEXT, true ); add_integer( "align", 0, NULL, ALIGN_TEXT, ALIGN_LONGTEXT, true ); - change_integer_list( pi_align_values, ppsz_align_descriptions, 0 ); + change_integer_list( pi_align_values, ppsz_align_descriptions, NULL ); add_float( "zoom", 1, NULL, ZOOM_TEXT, ZOOM_LONGTEXT, true ); @@ -1552,9 +1604,8 @@ vlc_module_begin(); add_module_list_cat( "video-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL, VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, false ); add_deprecated_alias( "filter" ); /*deprecated since 0.8.2 */ -// add_deprecated_alias( "vout-filter" ); /* deprecated since 0.8.6 *// While the "video-filter" chain isn't parsed for both vfilter and vfilter2, keep both options add_module_list_cat( "vout-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL, - NULL, NULL, false ); + VOUT_FILTER_TEXT, VOUT_FILTER_LONGTEXT, false ); #if 0 add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT ); #endif @@ -1565,6 +1616,7 @@ vlc_module_begin(); add_category_hint( N_("Subpictures"), SUB_CAT_LONGTEXT , false ); add_bool( "spu", 1, NULL, SPU_TEXT, SPU_LONGTEXT, true ); + change_safe(); add_bool( "osd", 1, NULL, OSD_TEXT, OSD_LONGTEXT, false ); add_module( "text-renderer", "text renderer", NULL, NULL, TEXTRENDERER_TEXT, TEXTRENDERER_LONGTEXT, true ); @@ -1597,34 +1649,46 @@ vlc_module_begin(); set_section( N_( "Track settings" ), NULL ); add_integer( "program", 0, NULL, INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, true ); + change_safe(); add_string( "programs", "", NULL, INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, true ); + change_safe(); add_integer( "audio-track", -1, NULL, INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, true ); - add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */ + change_safe(); + add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */ add_integer( "sub-track", -1, NULL, INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, true ); - add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/ + change_safe(); + add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/ add_string( "audio-language", "", NULL, INPUT_AUDIOTRACK_LANG_TEXT, INPUT_AUDIOTRACK_LANG_LONGTEXT, false ); + change_safe(); add_string( "sub-language", "", NULL, INPUT_SUBTRACK_LANG_TEXT, INPUT_SUBTRACK_LANG_LONGTEXT, false ); + change_safe(); add_integer( "audio-track-id", -1, NULL, INPUT_AUDIOTRACK_ID_TEXT, INPUT_AUDIOTRACK_ID_LONGTEXT, true ); + change_safe(); add_integer( "sub-track-id", -1, NULL, INPUT_SUBTRACK_ID_TEXT, INPUT_SUBTRACK_ID_LONGTEXT, true ); + change_safe(); set_section( N_( "Playback control" ) , NULL); add_integer( "input-repeat", 0, NULL, INPUT_REPEAT_TEXT, INPUT_REPEAT_LONGTEXT, false ); + change_safe(); add_integer( "start-time", 0, NULL, START_TIME_TEXT, START_TIME_LONGTEXT, true ); + change_safe(); add_integer( "stop-time", 0, NULL, STOP_TIME_TEXT, STOP_TIME_LONGTEXT, true ); + change_safe(); add_integer( "run-time", 0, NULL, RUN_TIME_TEXT, RUN_TIME_LONGTEXT, true ); + change_safe(); add_string( "input-list", NULL, NULL, INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, true ); add_string( "input-slave", NULL, NULL, @@ -1687,11 +1751,16 @@ vlc_module_begin(); CR_AVERAGE_LONGTEXT, true ); add_integer( "clock-synchro", -1, NULL, CLOCK_SYNCHRO_TEXT, CLOCK_SYNCHRO_LONGTEXT, true ); - change_integer_list( pi_clock_values, ppsz_clock_descriptions, 0 ); + change_integer_list( pi_clock_values, ppsz_clock_descriptions, NULL ); add_bool( "network-synchronisation", false, NULL, NETSYNC_TEXT, NETSYNC_LONGTEXT, true ); + add_string( "input-record-path", NULL, NULL, INPUT_RECORD_PATH_TEXT, + INPUT_RECORD_PATH_LONGTEXT, true ); + add_bool( "input-record-native", true, NULL, INPUT_RECORD_NATIVE_TEXT, + INPUT_RECORD_NATIVE_LONGTEXT, true ); + /* Decoder options */ add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , true ); add_string( "codec", NULL, NULL, CODEC_TEXT, @@ -1701,7 +1770,7 @@ vlc_module_begin(); set_subcategory( SUBCAT_INPUT_ACCESS ); add_category_hint( N_("Input"), INPUT_CAT_LONGTEXT , false ); - add_module( "access", "access2", NULL, NULL, ACCESS_TEXT, + add_module( "access", "access", NULL, NULL, ACCESS_TEXT, ACCESS_LONGTEXT, true ); set_subcategory( SUBCAT_INPUT_ACCESS_FILTER ); @@ -1710,7 +1779,7 @@ vlc_module_begin(); set_subcategory( SUBCAT_INPUT_DEMUX ); - add_module( "demux", "demux2", NULL, NULL, DEMUX_TEXT, + add_module( "demux", "demux", NULL, NULL, DEMUX_TEXT, DEMUX_LONGTEXT, true ); set_subcategory( SUBCAT_INPUT_VCODEC ); set_subcategory( SUBCAT_INPUT_ACODEC ); @@ -1727,7 +1796,7 @@ vlc_module_begin(); add_string( "sout", NULL, NULL, SOUT_TEXT, SOUT_LONGTEXT, true ); add_bool( "sout-display", false, NULL, SOUT_DISPLAY_TEXT, SOUT_DISPLAY_LONGTEXT, true ); - add_bool( "sout-keep", true, NULL, SOUT_KEEP_TEXT, + add_bool( "sout-keep", false, NULL, SOUT_KEEP_TEXT, SOUT_KEEP_LONGTEXT, true ); add_bool( "sout-all", 0, NULL, SOUT_ALL_TEXT, SOUT_ALL_LONGTEXT, true ); @@ -1763,8 +1832,7 @@ vlc_module_begin(); PACKETIZER_TEXT, PACKETIZER_LONGTEXT, true ); set_subcategory( SUBCAT_SOUT_SAP ); - add_bool( "sap-flow-control", false, NULL, ANN_SAPCTRL_TEXT, - ANN_SAPCTRL_LONGTEXT, true ); + add_obsolete_bool( "sap-flow-control" ); add_integer( "sap-interval", 5, NULL, ANN_SAPINTV_TEXT, ANN_SAPINTV_LONGTEXT, true ); @@ -1815,6 +1883,12 @@ vlc_module_begin(); MINIMIZE_THREADS_LONGTEXT, true ); change_need_restart(); + add_bool( "use-stream-immediate", false, NULL, + USE_STREAM_IMMEDIATE, USE_STREAM_IMMEDIATE_LONGTEXT, true ); + + add_bool( "auto-adjust-pts-delay", false, NULL, + AUTO_ADJUST_PTS_DELAY, AUTO_ADJUST_PTS_DELAY_LONGTEXT, true ); + #if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD) add_bool( "rt-priority", false, NULL, RT_PRIORITY_TEXT, RT_PRIORITY_LONGTEXT, true ); @@ -1827,7 +1901,7 @@ vlc_module_begin(); change_need_restart(); #endif -#if defined(HAVE_DBUS_3) +#if defined(HAVE_DBUS) add_bool( "one-instance", 0, NULL, ONEINSTANCE_DBUS_TEXT, ONEINSTANCE_DBUS_LONGTEXT, true ); add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT, @@ -1868,9 +1942,7 @@ vlc_module_begin(); add_bool( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, false ); add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, false ); add_bool( "media-library", 1, NULL, ML_TEXT, ML_LONGTEXT, false ); - add_integer( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT, - true ); - change_integer_list( pi_pltree_values, ppsz_pltree_descriptions, 0 ); + add_bool( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT, false ); add_string( "open", "", NULL, OPEN_TEXT, OPEN_LONGTEXT, false ); change_need_restart(); @@ -1878,9 +1950,6 @@ vlc_module_begin(); add_bool( "auto-preparse", true, NULL, PREPARSE_TEXT, PREPARSE_LONGTEXT, false ); - add_integer( "fetch-meta", true, NULL, FETCH_META_TEXT, - FETCH_META_LONGTEXT, false ); - add_integer( "album-art", ALBUM_ART_WHEN_ASKED, NULL, ALBUM_ART_TEXT, ALBUM_ART_LONGTEXT, false ); change_integer_list( pi_albumart_values, @@ -1898,6 +1967,8 @@ vlc_module_begin(); add_integer( "verbose", 0, NULL, VERBOSE_TEXT, VERBOSE_LONGTEXT, false ); change_short('v'); + add_string( "verbose-objects", 0, NULL, VERBOSE_OBJECTS_TEXT, VERBOSE_OBJECTS_LONGTEXT, + false ); add_bool( "quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, true ); change_short('q'); @@ -1975,6 +2046,7 @@ vlc_module_begin(); * open KEY_MODIFIER_COMMAND|'o' * open disk KEY_MODIFIER_COMMAND|'d' * open network KEY_MODIFIER_COMMAND|'n' + * open capture KEY_MODIFIER_COMMAND|'r' * save playlist KEY_MODIFIER_COMMAND|'s' * playlist random KEY_MODIFIER_COMMAND|'z' * playlist repeat all KEY_MODIFIER_COMMAND|'l' @@ -2036,7 +2108,7 @@ vlc_module_begin(); # define KEY_CROP 'c' # define KEY_DEINTERLACE 'd' # define KEY_INTF_SHOW 'i' -# define KEY_INTF_HIDE 'I' +# define KEY_INTF_HIDE KEY_MODIFIER_SHIFT|'i' # define KEY_DISC_MENU KEY_MODIFIER_CTRL|'m' # define KEY_TITLE_PREV KEY_MODIFIER_CTRL|'p' # define KEY_TITLE_NEXT KEY_MODIFIER_CTRL|'n' @@ -2058,7 +2130,7 @@ vlc_module_begin(); # define KEY_UNCROP_RIGHT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l' /* the macosx-interface already has bindings */ -# define KEY_ZOOM_QUARTER KEY_UNSET +# define KEY_ZOOM_QUARTER KEY_UNSET # define KEY_ZOOM_HALF KEY_UNSET # define KEY_ZOOM_ORIGINAL KEY_UNSET # define KEY_ZOOM_DOUBLE KEY_UNSET @@ -2097,7 +2169,14 @@ vlc_module_begin(); # define KEY_MENU_DOWN KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_DOWN # define KEY_MENU_SELECT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_ENTER -#else +#else /* Non Mac OS X */ + /* + You should try to avoid Ctrl + letter key, because they are usually for + dialogs showing and interface related stuffs. + It would be nice (less important than previous rule) to try to avoid + alt + letter key, because they are usually for menu accelerators and you + don't know how the translator is going to do it. + */ # define KEY_TOGGLE_FULLSCREEN 'f' # define KEY_LEAVE_FULLSCREEN KEY_ESC # define KEY_PLAY_PAUSE KEY_SPACE @@ -2139,31 +2218,42 @@ vlc_module_begin(); # define KEY_CROP 'c' # define KEY_DEINTERLACE 'd' # define KEY_INTF_SHOW 'i' -# define KEY_INTF_HIDE 'I' -# define KEY_DISC_MENU KEY_MODIFIER_ALT|'r' -# define KEY_TITLE_PREV KEY_MODIFIER_ALT|'o' -# define KEY_TITLE_NEXT KEY_MODIFIER_ALT|'b' -# define KEY_CHAPTER_PREV KEY_MODIFIER_ALT|'p' -# define KEY_CHAPTER_NEXT KEY_MODIFIER_ALT|'n' -# define KEY_SNAPSHOT KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|'s' +# define KEY_INTF_HIDE KEY_MODIFIER_SHIFT|'i' +# define KEY_DISC_MENU KEY_MODIFIER_SHIFT|'m' +# define KEY_TITLE_PREV KEY_MODIFIER_SHIFT|'o' +# define KEY_TITLE_NEXT KEY_MODIFIER_SHIFT|'b' +# define KEY_CHAPTER_PREV KEY_MODIFIER_SHIFT|'p' +# define KEY_CHAPTER_NEXT KEY_MODIFIER_SHIFT|'n' +# define KEY_SNAPSHOT KEY_MODIFIER_SHIFT|'s' # define KEY_ZOOM 'z' # define KEY_UNZOOM KEY_MODIFIER_SHIFT|'z' -# define KEY_CROP_TOP KEY_MODIFIER_ALT|'i' -# define KEY_UNCROP_TOP KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'i' -# define KEY_CROP_LEFT KEY_MODIFIER_ALT|'j' -# define KEY_UNCROP_LEFT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'j' -# define KEY_CROP_BOTTOM KEY_MODIFIER_ALT|'k' -# define KEY_UNCROP_BOTTOM KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'k' -# define KEY_CROP_RIGHT KEY_MODIFIER_ALT|'l' -# define KEY_UNCROP_RIGHT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l' +# define KEY_AUDIODEVICE_CYCLE KEY_MODIFIER_SHIFT|'a' + +# define KEY_HISTORY_BACK KEY_MODIFIER_SHIFT|'g' +# define KEY_HISTORY_FORWARD KEY_MODIFIER_SHIFT|'h' +# define KEY_RECORD KEY_MODIFIER_SHIFT|'r' +# define KEY_DUMP KEY_MODIFIER_SHIFT|'d' +# define KEY_WALLPAPER 'w' +/* Cropping */ +# define KEY_CROP_TOP KEY_MODIFIER_ALT|'r' +# define KEY_UNCROP_TOP KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'r' +# define KEY_CROP_LEFT KEY_MODIFIER_ALT|'d' +# define KEY_UNCROP_LEFT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'d' +# define KEY_CROP_BOTTOM KEY_MODIFIER_ALT|'c' +# define KEY_UNCROP_BOTTOM KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'c' +# define KEY_CROP_RIGHT KEY_MODIFIER_ALT|'f' +# 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' +/* Bookmarks */ # define KEY_SET_BOOKMARK1 KEY_MODIFIER_CTRL|KEY_F1 # define KEY_SET_BOOKMARK2 KEY_MODIFIER_CTRL|KEY_F2 # define KEY_SET_BOOKMARK3 KEY_MODIFIER_CTRL|KEY_F3 @@ -2184,20 +2274,15 @@ vlc_module_begin(); # define KEY_PLAY_BOOKMARK8 KEY_F8 # define KEY_PLAY_BOOKMARK9 KEY_F9 # define KEY_PLAY_BOOKMARK10 KEY_F10 -# define KEY_HISTORY_BACK KEY_MODIFIER_ALT|'g' -# define KEY_HISTORY_FORWARD KEY_MODIFIER_ALT|'h' -# define KEY_RECORD KEY_MODIFIER_CTRL|KEY_MODIFIER_SHIFT|'r' -# define KEY_DUMP KEY_MODIFIER_CTRL|KEY_MODIFIER_SHIFT|'d' -# define KEY_WALLPAPER 'w' -# define KEY_MENU_ON KEY_MODIFIER_ALT|'m' -# define KEY_MENU_OFF KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'m' +/* OSD menu */ +# define KEY_MENU_ON KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'m' +# define KEY_MENU_OFF KEY_MODIFIER_ALT|KEY_MODIFIER_CTRL|'m' # define KEY_MENU_RIGHT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_RIGHT # define KEY_MENU_LEFT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_LEFT # define KEY_MENU_UP KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_UP # define KEY_MENU_DOWN KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_DOWN # define KEY_MENU_SELECT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|KEY_ENTER -# define KEY_AUDIODEVICE_CYCLE KEY_MODIFIER_ALT|'a' #endif add_key( "key-toggle-fullscreen", KEY_TOGGLE_FULLSCREEN, NULL, TOGGLE_FULLSCREEN_KEY_TEXT, @@ -2346,15 +2431,15 @@ vlc_module_begin(); LOOP_KEY_TEXT, LOOP_KEY_LONGTEXT, false ); set_section ( N_("Zoom" ), NULL ); - add_key( "key-zoom-quarter", KEY_ZOOM_QUARTER, NULL, + add_key( "key-zoom-quarter", KEY_ZOOM_QUARTER, NULL, ZOOM_QUARTER_KEY_TEXT, NULL, false ); - add_key( "key-zoom-half", KEY_ZOOM_HALF, NULL, + add_key( "key-zoom-half", KEY_ZOOM_HALF, NULL, ZOOM_HALF_KEY_TEXT, NULL, false ); - add_key( "key-zoom-original", KEY_ZOOM_ORIGINAL, NULL, + add_key( "key-zoom-original", KEY_ZOOM_ORIGINAL, NULL, ZOOM_ORIGINAL_KEY_TEXT, NULL, false ); - add_key( "key-zoom-double", KEY_ZOOM_DOUBLE, NULL, + add_key( "key-zoom-double", KEY_ZOOM_DOUBLE, NULL, ZOOM_DOUBLE_KEY_TEXT, NULL, false ); - + set_section ( N_("Jump sizes" ), NULL ); add_integer( "extrashort-jump-size", 3, NULL, JIEXTRASHORT_TEXT, JIEXTRASHORT_LONGTEXT, false ); @@ -2434,6 +2519,8 @@ vlc_module_begin(); #define HELP_TEXT \ N_("print help for VLC (can be combined with --advanced and " \ "--help-verbose)") +#define FULL_HELP_TEXT \ + N_("Exhaustive help for VLC and its modules") #define LONGHELP_TEXT \ N_("print help for VLC and all its modules (can be combined with " \ "--advanced and --help-verbose)") @@ -2445,7 +2532,8 @@ 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)") + "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 \ @@ -2458,15 +2546,18 @@ vlc_module_begin(); N_("resets the current plugins cache") #define VERSION_TEXT \ N_("print version information") - + add_bool( "help", false, NULL, HELP_TEXT, "", false ); change_short( 'h' ); change_internal(); change_unsaveable(); - add_bool( "longhelp", false, NULL, LONGHELP_TEXT, "", false ); + add_bool( "full-help", false, NULL, FULL_HELP_TEXT, "", false ); change_short( 'H' ); change_internal(); change_unsaveable(); + add_bool( "longhelp", false, NULL, LONGHELP_TEXT, "", false ); + change_internal(); + change_unsaveable(); add_bool( "help-verbose", false, NULL, HELP_VERBOSE_TEXT, "", false ); change_internal(); @@ -2477,7 +2568,6 @@ vlc_module_begin(); change_unsaveable(); add_bool( "list-verbose", false, NULL, LIST_VERBOSE_TEXT, "", false ); - change_short( 'l' ); change_internal(); change_unsaveable(); add_string( "module", NULL, NULL, MODULE_TEXT, "", false ); @@ -2491,7 +2581,7 @@ vlc_module_begin(); false ); change_internal(); change_unsaveable(); - add_bool( "reset-config", false, NULL, MODULE_TEXT, "", false ); + add_bool( "reset-config", false, NULL, RESET_CONFIG_TEXT, "", false ); change_internal(); change_unsaveable(); add_bool( "reset-plugins-cache", false, NULL,