X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc-module.c;h=410796c00af11a49296ef52b4c3c3b4c2771f4d9;hb=c9c5170b8ad691bbf06111e08f9f911e68484fa8;hp=eae0b1b4fc7439b005257f781286a1d414f50e7e;hpb=594067729597cc5867ff2094958d59c759bf0445;p=vlc diff --git a/src/libvlc-module.c b/src/libvlc-module.c index eae0b1b4fc..410796c00a 100644 --- a/src/libvlc-module.c +++ b/src/libvlc-module.c @@ -30,6 +30,10 @@ #define __BUILTIN__ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include #include "libvlc.h" @@ -39,18 +43,76 @@ #if defined (WIN32) || defined (__APPLE__) static const char *ppsz_language[] = -{ "auto", "ar", "en", "en_GB", "ca", "cs", "da", "de", "es", "fa" "fr", "gl", - "he", "hu", "it", "ja", "ka", "ko", "ms", "nl", "oc", "pt_BR", "ro", "ru", - "sk", "sl", "sv", "tr", "zh_CN", "zh_TW" }; +{ + "auto", + "en", + "ar", + "pt_BR", + "en_GB", + "ca", + "zh_TW", + "cs", + "da", + "nl", + "fi", + "fr", + "gl", + "ka", + "de", + "he", + "hu", + "it", + "ja", + "ko", + "ms", + "oc", + "fa", + "pl", + "ro", + "ru", + "zh_CN", + "sk", + "sl", + "es", + "sv", + "tr" +}; static const char *ppsz_language_text[] = -{ N_("Auto"), N_("Arabic"), N_("American English"), N_("British English"), -N_("Catalan"), N_("Czech"), N_("Danish"), N_("German"), N_("Spanish"), -N_("Persian"), N_("French"), N_("Galician"), N_("Hebrew"), N_("Hungarian"), -N_("Italian"), N_("Japanese"),N_("Georgian"), N_("Korean"), N_("Malay"), -N_("Dutch"), N_("Occitan"), N_("Brazilian Portuguese"), N_("Romanian"), -N_("Russian"), N_("Slovak"), N_("Slovenian"), N_("Swedish"), N_("Turkish"), -N_("Simplified Chinese"), N_("Chinese Traditional") }; +{ + N_("Auto"), + N_("American English"), + N_("Arabic"), + N_("Brazilian Portuguese"), + N_("British English"), + N_("Catalan"), + N_("Chinese Traditional"), + N_("Czech"), + N_("Danish"), + N_("Dutch"), + N_("Finnish"), + N_("French"), + N_("Galician"), + N_("Georgian"), + N_("German"), + N_("Hebrew"), + N_("Hungarian"), + N_("Italian"), + N_("Japanese"), + N_("Korean"), + N_("Malay"), + N_("Occitan"), + N_("Persian"), + N_("Polish"), + N_("Romanian"), + N_("Russian"), + N_("Simplified Chinese"), + N_("Slovak"), + N_("Slovenian"), + N_("Spanish"), + N_("Swedish"), + N_("Turkish") +}; #endif static const char *ppsz_snap_formats[] = @@ -220,6 +282,28 @@ static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_( #define AUDIO_VISUAL_LONGTEXT N_( \ "This adds visualization modules (spectrum analyzer, etc.).") + +#define AUDIO_REPLAY_GAIN_MODE_TEXT N_( \ + "Replay gain mode" ) +#define AUDIO_REPLAY_GAIN_MODE_LONGTEXT N_( \ + "Select the replay gain mode" ) +#define AUDIO_REPLAY_GAIN_PREAMP_TEXT N_( \ + "Replay preamp" ) +#define AUDIO_REPLAY_GAIN_PREAMP_LONGTEXT N_( \ + "This allows you to change the default target level (89 dB) " \ + "for stream with replay gain information" ) +#define AUDIO_REPLAY_GAIN_DEFAULT_TEXT N_( \ + "Default replay gain" ) +#define AUDIO_REPLAY_GAIN_DEFAULT_LONGTEXT N_( \ + "This is the gain used for stream without replay gain information" ) +#define AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT N_( \ + "Peak protection" ) +#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") }; + /***************************************************************************** * Video ****************************************************************************/ @@ -323,6 +407,10 @@ static const char *ppsz_pos_descriptions[] = #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_LONGTEXT N_("Inhibits the power management daemon during any " \ + "playback, to avoid the computer being suspended because of inactivity.") + #define VIDEO_DECO_TEXT N_("Window decorations") #define VIDEO_DECO_LONGTEXT N_( \ "VLC can avoid creating window caption, frames, etc... around the video" \ @@ -360,6 +448,16 @@ static const char *ppsz_pos_descriptions[] = #define SNAP_SEQUENTIAL_LONGTEXT N_( \ "Use sequential numbers instead of timestamps for snapshot numbering") +#define SNAP_WIDTH_TEXT N_("Video snapshot width") +#define SNAP_WIDTH_LONGTEXT N_( \ + "You can enforce the width of the video snapshot. By default " \ + "it will be 320 pixels." ) + +#define SNAP_HEIGHT_TEXT N_("Video snapshot height") +#define SNAP_HEIGHT_LONGTEXT N_( \ + "You can enforce the height of the video snapshot. By default " \ + "it will be 200 pixels." ) + #define CROP_TEXT N_("Video cropping") #define CROP_LONGTEXT N_( \ "This forces the cropping of the source video. " \ @@ -423,10 +521,6 @@ static const char *ppsz_pos_descriptions[] = "subsystem, such as the DVD or VCD device, the network interface " \ "settings or the subtitle channel.") -#define FRANCE_LONGTEXT N_( \ - "If you live in France, it is not allowed to workaround any Digital " \ - "Restrictions Management measure." ) - #define CR_AVERAGE_TEXT N_("Clock reference average counter") #define CR_AVERAGE_LONGTEXT N_( \ "When using the PVR input (or a very irregular source), you should " \ @@ -453,8 +547,10 @@ static const char *ppsz_clock_descriptions[] = #define MTU_TEXT N_("MTU of the network interface") #define MTU_LONGTEXT N_( \ - "This is the maximum packet size that can be transmitted " \ - "over the network interface. On Ethernet it is usually 1500 bytes.") + "This is the maximum application-layer packet size that can be " \ + "transmitted over the network (in bytes).") +/* Should be less than 1500 - 8[ppp] - 40[ip6] - 8[udp] in any case. */ +#define MTU_DEFAULT 1400 #define TTL_TEXT N_("Hop limit (TTL)") #define TTL_LONGTEXT N_( \ @@ -531,6 +627,10 @@ static const char *ppsz_clock_descriptions[] = #define STOP_TIME_LONGTEXT N_( \ "The stream will stop at this position (in seconds)." ) +#define RUN_TIME_TEXT N_("Run time") +#define RUN_TIME_LONGTEXT N_( \ + "The stream will run this duration (in seconds)." ) + #define INPUT_LIST_TEXT N_("Input list") #define INPUT_LIST_LONGTEXT N_( \ "You can give a comma-separated list " \ @@ -758,6 +858,11 @@ static const char *ppsz_clock_descriptions[] = "multiple playlist item (automatically insert the gather stream output " \ "if not specified)" ) +#define SOUT_MUX_CACHING_TEXT N_("Stream output muxer caching (ms)") +#define SOUT_MUX_CACHING_LONGTEXT N_( \ + "This allow you to configure the initial caching amount for stream output " \ + " muxer. This value should be set in milliseconds." ) + #define PACKETIZER_TEXT N_("Preferred packetizer list") #define PACKETIZER_LONGTEXT N_( \ "This allows you to select the order in which VLC will choose its " \ @@ -872,6 +977,14 @@ static const char *ppsz_clock_descriptions[] = #define MINIMIZE_THREADS_LONGTEXT N_( \ "This option minimizes the number of threads needed to run VLC.") +#define SECURITY_POLICY_TEXT N_("Policy for handling unsafe options.") +#define SECURITY_POLICY_LONGTEXT N_( \ + "This option dictates the default policy when processing options " \ + "which may be harmful when used in a malicious way.") + +static int pi_secpolicy_values[] = { 0, 1, 2 }; +static const char *ppsz_secpolicy_descriptions[] = { N_("Block"), N_("Allow"), N_("Prompt") }; + #define PLUGIN_PATH_TEXT N_("Modules search path") #define PLUGIN_PATH_LONGTEXT N_( \ "Additional path for VLC to look for its modules.") @@ -960,9 +1073,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." ); + "Choose how album art will be downloaded." ) static int pi_albumart_values[] = { ALBUM_ART_WHEN_ASKED, ALBUM_ART_WHEN_PLAYED, @@ -1114,6 +1232,12 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N #define AUDIODELAY_UP_KEY_LONGTEXT N_("Select the key to increase the audio delay.") #define AUDIODELAY_DOWN_KEY_TEXT N_("Audio delay down") #define AUDIODELAY_DOWN_KEY_LONGTEXT N_("Select the key to decrease the audio delay.") + +#define ZOOM_QUARTER_KEY_TEXT N_("1:4 Quarter") +#define ZOOM_HALF_KEY_TEXT N_("1:2 Half") +#define ZOOM_ORIGINAL_KEY_TEXT N_("1:1 Original") +#define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double") + #define PLAY_BOOKMARK1_KEY_TEXT N_("Play playlist bookmark 1") #define PLAY_BOOKMARK2_KEY_TEXT N_("Play playlist bookmark 2") #define PLAY_BOOKMARK3_KEY_TEXT N_("Play playlist bookmark 3") @@ -1214,6 +1338,26 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N "Toggle wallpaper mode in video output. Only works with the directx " \ "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_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_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") +#define MENU_LEFT_KEY_TEXT N_("Highlight widget on the left") +#define MENU_LEFT_KEY_LONGTEXT N_( \ + "Move OSD menu highlight to the widget on the left") +#define MENU_UP_KEY_TEXT N_("Highlight widget on top") +#define MENU_UP_KEY_LONGTEXT N_( \ + "Move OSD menu highlight to the widget on top") +#define MENU_DOWN_KEY_TEXT N_("Highlight widget below") +#define MENU_DOWN_KEY_LONGTEXT N_( \ + "Move OSD menu highlight to the widget below") +#define MENU_SELECT_KEY_TEXT N_("Select current widget") +#define MENU_SELECT_KEY_LONGTEXT N_( \ + "Selecting current widget performs the associated action.") + const char vlc_usage[] = N_( "Usage: %s [options] [stream] ..." "\nYou can specify multiple streams on the commandline. They will be enqueued in the playlist." @@ -1288,9 +1432,22 @@ vlc_module_begin(); change_integer_list( pi_force_dolby_values, ppsz_force_dolby_descriptions, 0 ); add_integer( "audio-desync", 0, NULL, DESYNC_TEXT, DESYNC_LONGTEXT, VLC_TRUE ); + + /* FIXME TODO create a subcat replay gain ? */ + add_string( "audio-replay-gain-mode", ppsz_replay_gain_mode[0], NULL, AUDIO_REPLAY_GAIN_MODE_TEXT, + AUDIO_REPLAY_GAIN_MODE_LONGTEXT, VLC_FALSE ); + change_string_list( ppsz_replay_gain_mode, ppsz_replay_gain_mode_text, 0 ); + add_float( "audio-replay-gain-preamp", 0.0, NULL, + AUDIO_REPLAY_GAIN_PREAMP_TEXT, AUDIO_REPLAY_GAIN_PREAMP_LONGTEXT, VLC_FALSE ); + add_float( "audio-replay-gain-default", -7.0, NULL, + AUDIO_REPLAY_GAIN_DEFAULT_TEXT, AUDIO_REPLAY_GAIN_DEFAULT_LONGTEXT, VLC_FALSE ); + add_bool( "audio-replay-gain-peak-protection", VLC_TRUE, NULL, + AUDIO_REPLAY_GAIN_PEAK_PROTECTION_TEXT, AUDIO_REPLAY_GAIN_PEAK_PROTECTION_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_AUDIO_AOUT ); add_module( "aout", "audio output", NULL, NULL, AOUT_TEXT, AOUT_LONGTEXT, VLC_TRUE ); + change_short('A'); set_subcategory( SUBCAT_AUDIO_AFILTER ); add_module_list_cat( "audio-filter", SUBCAT_AUDIO_AFILTER, 0, NULL, AUDIO_FILTER_TEXT, @@ -1312,6 +1469,9 @@ vlc_module_begin(); change_short('f'); add_bool( "embedded-video", 1, NULL, EMBEDDED_TEXT, EMBEDDED_LONGTEXT, VLC_TRUE ); +#ifdef __APPLE__ + add_deprecated_alias( "macosx-embedded" ); /*deprecated since 0.9.0 */ +#endif add_bool( "drop-late-frames", 1, NULL, DROP_LATE_FRAMES_TEXT, DROP_LATE_FRAMES_LONGTEXT, VLC_TRUE ); /* Used in vout_synchro */ @@ -1338,6 +1498,7 @@ vlc_module_begin(); set_section( N_("Snapshot") , NULL ); add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT, SNAP_PATH_LONGTEXT, VLC_FALSE ); + change_unsafe(); add_string( "snapshot-prefix", "vlcsnap-", NULL, SNAP_PREFIX_TEXT, SNAP_PREFIX_LONGTEXT, VLC_FALSE ); add_string( "snapshot-format", "png", NULL, SNAP_FORMAT_TEXT, @@ -1347,6 +1508,10 @@ vlc_module_begin(); SNAP_PREVIEW_LONGTEXT, VLC_FALSE ); add_bool( "snapshot-sequential", VLC_FALSE, NULL, SNAP_SEQUENTIAL_TEXT, SNAP_SEQUENTIAL_LONGTEXT, VLC_FALSE ); + add_integer( "snapshot-width", 320, NULL, SNAP_WIDTH_TEXT, + SNAP_WIDTH_LONGTEXT, VLC_TRUE ); + add_integer( "snapshot-height", 200, NULL, SNAP_HEIGHT_TEXT, + SNAP_HEIGHT_LONGTEXT, VLC_TRUE ); set_section( N_("Window properties" ), NULL ); add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE ); @@ -1380,8 +1545,8 @@ vlc_module_begin(); set_subcategory( SUBCAT_VIDEO_VFILTER ); add_module_list_cat( "video-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL, VIDEO_FILTER_TEXT, VIDEO_FILTER_LONGTEXT, VLC_FALSE ); - add_deprecated( "filter", VLC_FALSE ); /*deprecated since 0.8.2 */ -// add_deprecated( "vout-filter", VLC_FALSE ); /* deprecated since 0.8.6 *// While the "video-filter" chain isn't parsed for both vfilter and vfilter2, keep both options + 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, VLC_FALSE ); #if 0 @@ -1414,7 +1579,7 @@ vlc_module_begin(); SUB_PATH_TEXT, SUB_PATH_LONGTEXT, VLC_TRUE ); add_integer( "sub-margin", 0, NULL, SUB_MARGIN_TEXT, SUB_MARGIN_LONGTEXT, VLC_TRUE ); - add_deprecated( "spu-margin", VLC_FALSE ); /*Deprecated since 0.8.2 */ + add_deprecated_alias( "spu-margin" ); /*Deprecated since 0.8.2 */ set_section( N_( "Overlays" ) , NULL ); add_module_list_cat( "sub-filter", SUBCAT_VIDEO_SUBPIC, NULL, NULL, SUB_FILTER_TEXT, SUB_FILTER_LONGTEXT, VLC_FALSE ); @@ -1423,8 +1588,6 @@ vlc_module_begin(); set_category( CAT_INPUT ); set_subcategory( SUBCAT_INPUT_GENERAL ); - add_bool( "france", VLC_FALSE, NULL, N_("France"), FRANCE_LONGTEXT, VLC_TRUE ); - set_section( N_( "Track settings" ), NULL ); add_integer( "program", 0, NULL, INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, VLC_TRUE ); @@ -1432,10 +1595,10 @@ vlc_module_begin(); INPUT_PROGRAMS_TEXT, INPUT_PROGRAMS_LONGTEXT, VLC_TRUE ); add_integer( "audio-track", -1, NULL, INPUT_AUDIOTRACK_TEXT, INPUT_AUDIOTRACK_LONGTEXT, VLC_TRUE ); - add_deprecated( "audio-channel", VLC_FALSE ); /*deprecated since 0.8.2 */ + add_deprecated_alias( "audio-channel" ); /*deprecated since 0.8.2 */ add_integer( "sub-track", -1, NULL, INPUT_SUBTRACK_TEXT, INPUT_SUBTRACK_LONGTEXT, VLC_TRUE ); - add_deprecated("spu-channel",VLC_FALSE); /*deprecated since 0.8.2*/ + add_deprecated_alias("spu-channel" ); /*deprecated since 0.8.2*/ add_string( "audio-language", "", NULL, INPUT_AUDIOTRACK_LANG_TEXT, INPUT_AUDIOTRACK_LANG_LONGTEXT, VLC_FALSE ); @@ -1454,6 +1617,8 @@ vlc_module_begin(); START_TIME_TEXT, START_TIME_LONGTEXT, VLC_TRUE ); add_integer( "stop-time", 0, NULL, STOP_TIME_TEXT, STOP_TIME_LONGTEXT, VLC_TRUE ); + add_integer( "run-time", 0, NULL, + RUN_TIME_TEXT, RUN_TIME_LONGTEXT, VLC_TRUE ); add_string( "input-list", NULL, NULL, INPUT_LIST_TEXT, INPUT_LIST_LONGTEXT, VLC_TRUE ); add_string( "input-slave", NULL, NULL, @@ -1464,7 +1629,7 @@ vlc_module_begin(); set_section( N_( "Default devices") , NULL ); - add_file( "dvd", NULL, NULL, DVD_DEV_TEXT, DVD_DEV_LONGTEXT, + 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 ); @@ -1475,7 +1640,7 @@ vlc_module_begin(); add_integer( "server-port", 1234, NULL, SERVER_PORT_TEXT, SERVER_PORT_LONGTEXT, VLC_FALSE ); - add_integer( "mtu", 1500, NULL, MTU_TEXT, MTU_LONGTEXT, VLC_TRUE ); + add_integer( "mtu", MTU_DEFAULT, NULL, MTU_TEXT, MTU_LONGTEXT, VLC_TRUE ); add_bool( "ipv6", 0, NULL, IPV6_TEXT, IPV6_LONGTEXT, VLC_FALSE ); change_short('6'); add_bool( "ipv4", 0, NULL, IPV4_TEXT, IPV4_LONGTEXT, VLC_FALSE ); @@ -1566,6 +1731,8 @@ vlc_module_begin(); SOUT_VIDEO_LONGTEXT, VLC_TRUE ); add_bool( "sout-spu", 1, NULL, SOUT_SPU_TEXT, SOUT_SPU_LONGTEXT, VLC_TRUE ); + add_integer( "sout-mux-caching", 1500, NULL, SOUT_MUX_CACHING_TEXT, + SOUT_MUX_CACHING_LONGTEXT, VLC_TRUE ); set_section( N_("VLM"), NULL ); add_string( "vlm-conf", NULL, NULL, VLM_CONF_TEXT, @@ -1626,7 +1793,6 @@ vlc_module_begin(); add_category_hint( N_("Miscellaneous"), MISC_CAT_LONGTEXT, VLC_TRUE ); add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT, MEMCPY_LONGTEXT, VLC_TRUE ); - change_short('A'); change_need_restart(); set_section( N_("Plugins" ), NULL ); @@ -1636,19 +1802,27 @@ vlc_module_begin(); add_directory( "plugin-path", NULL, NULL, PLUGIN_PATH_TEXT, PLUGIN_PATH_LONGTEXT, VLC_TRUE ); change_need_restart(); + change_unsafe(); set_section( N_("Performance options"), NULL ); add_bool( "minimize-threads", 0, NULL, MINIMIZE_THREADS_TEXT, MINIMIZE_THREADS_LONGTEXT, VLC_TRUE ); change_need_restart(); -#if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H) + set_section( N_("Security options"), NULL ); + add_integer( "security-policy", 2, NULL, SECURITY_POLICY_TEXT, + SECURITY_POLICY_LONGTEXT, VLC_TRUE ); + change_integer_list( pi_secpolicy_values, ppsz_secpolicy_descriptions, 0 ); + change_unsafe(); + change_need_restart(); + +#if !defined(__APPLE__) && !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD) add_bool( "rt-priority", VLC_FALSE, NULL, RT_PRIORITY_TEXT, RT_PRIORITY_LONGTEXT, VLC_TRUE ); change_need_restart(); #endif -#if !defined(SYS_BEOS) && defined(PTHREAD_COND_T_IN_PTHREAD_H) +#if !defined(SYS_BEOS) && defined(LIBVLC_USE_PTHREAD) add_integer( "rt-offset", 0, NULL, RT_OFFSET_TEXT, RT_OFFSET_LONGTEXT, VLC_TRUE ); change_need_restart(); @@ -1659,6 +1833,10 @@ vlc_module_begin(); ONEINSTANCE_DBUS_LONGTEXT, VLC_TRUE ); add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT, PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE ); + change_unsaveable(); + + add_bool( "inhibit", 1, NULL, INHIBIT_TEXT, + INHIBIT_LONGTEXT, VLC_TRUE ); #endif #if defined(WIN32) @@ -1673,6 +1851,7 @@ vlc_module_begin(); ONEINSTANCEWHENSTARTEDFROMFILE_LONGTEXT, VLC_TRUE ); add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT, PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE ); + change_unsaveable(); add_bool( "high-priority", 0, NULL, HPRIORITY_TEXT, HPRIORITY_LONGTEXT, VLC_FALSE ); change_need_restart(); @@ -1701,7 +1880,10 @@ vlc_module_begin(); add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT, PREPARSE_LONGTEXT, VLC_FALSE ); - add_integer( "album-art", ALBUM_ART_WHEN_PLAYED, NULL, ALBUM_ART_TEXT, + add_integer( "fetch-meta", VLC_TRUE, NULL, FETCH_META_TEXT, + FETCH_META_LONGTEXT, VLC_FALSE ); + + add_integer( "album-art", ALBUM_ART_WHEN_ASKED, NULL, ALBUM_ART_TEXT, ALBUM_ART_LONGTEXT, VLC_FALSE ); change_integer_list( pi_albumart_values, ppsz_albumart_descriptions, 0 ); @@ -1747,8 +1929,8 @@ vlc_module_begin(); change_need_restart(); #endif - add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE ); - add_bool( "advanced", 0, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT, + add_bool( "color", VLC_TRUE, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE ); + add_bool( "advanced", VLC_FALSE, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT, VLC_FALSE ); change_need_restart(); add_bool( "interact", VLC_TRUE, NULL, INTERACTION_TEXT, @@ -1869,6 +2051,12 @@ vlc_module_begin(); # define KEY_CROP_RIGHT KEY_MODIFIER_ALT|'l' # 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_HALF KEY_UNSET +# define KEY_ZOOM_ORIGINAL KEY_UNSET +# define KEY_ZOOM_DOUBLE KEY_UNSET + # define KEY_SET_BOOKMARK1 KEY_MODIFIER_COMMAND|KEY_F1 # define KEY_SET_BOOKMARK2 KEY_MODIFIER_COMMAND|KEY_F2 # define KEY_SET_BOOKMARK3 KEY_MODIFIER_COMMAND|KEY_F3 @@ -1895,6 +2083,14 @@ vlc_module_begin(); # define KEY_DUMP KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'d' # define KEY_WALLPAPER KEY_MODIFIER_COMMAND|'w' +# define KEY_MENU_ON KEY_MODIFIER_ALT|'m' +# define KEY_MENU_OFF KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'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 + #else # define KEY_TOGGLE_FULLSCREEN 'f' # define KEY_LEAVE_FULLSCREEN KEY_ESC @@ -1924,26 +2120,27 @@ vlc_module_begin(); # define KEY_VOL_UP KEY_MODIFIER_CTRL|KEY_UP # define KEY_VOL_DOWN KEY_MODIFIER_CTRL|KEY_DOWN # define KEY_VOL_MUTE 'm' -# define KEY_SUBDELAY_UP KEY_MODIFIER_CTRL|'h' -# define KEY_SUBDELAY_DOWN KEY_MODIFIER_CTRL|'j' -# define KEY_AUDIODELAY_UP KEY_MODIFIER_CTRL|'k' -# define KEY_AUDIODELAY_DOWN KEY_MODIFIER_CTRL|'l' +# define KEY_SUBDELAY_UP 'h' +# define KEY_SUBDELAY_DOWN 'g' +# define KEY_AUDIODELAY_UP 'k' +# define KEY_AUDIODELAY_DOWN 'j' # define KEY_RANDOM 'r' -# define KEY_LOOP KEY_MODIFIER_SHIFT|'l' +# define KEY_LOOP 'l' -# define KEY_AUDIO_TRACK 'l' -# define KEY_SUBTITLE_TRACK 'k' +# define KEY_AUDIO_TRACK 'b' +# define KEY_SUBTITLE_TRACK 'v' # define KEY_ASPECT_RATIO 'a' # define KEY_CROP 'c' # define KEY_DEINTERLACE 'd' # define KEY_INTF_SHOW 'i' # define KEY_INTF_HIDE 'I' -# define KEY_DISC_MENU KEY_MODIFIER_CTRL|'m' -# define KEY_TITLE_PREV KEY_MODIFIER_CTRL|'p' -# define KEY_TITLE_NEXT KEY_MODIFIER_CTRL|'f' -# define KEY_CHAPTER_PREV KEY_MODIFIER_CTRL|'u' -# define KEY_CHAPTER_NEXT KEY_MODIFIER_CTRL|'d' +# 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_ZOOM 'z' # define KEY_UNZOOM KEY_MODIFIER_SHIFT|'z' @@ -1956,6 +2153,11 @@ vlc_module_begin(); # define KEY_CROP_RIGHT KEY_MODIFIER_ALT|'l' # define KEY_UNCROP_RIGHT KEY_MODIFIER_ALT|KEY_MODIFIER_SHIFT|'l' +# 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_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 @@ -1976,16 +2178,24 @@ 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_CTRL|'v' -# define KEY_HISTORY_FORWARD KEY_MODIFIER_CTRL|'b' -# define KEY_RECORD KEY_MODIFIER_CTRL|'r' +# 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' +# 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 #endif add_key( "key-toggle-fullscreen", KEY_TOGGLE_FULLSCREEN, NULL, TOGGLE_FULLSCREEN_KEY_TEXT, TOGGLE_FULLSCREEN_KEY_LONGTEXT, VLC_FALSE ); - add_deprecated( "key-fullscreen", VLC_FALSE ); /*deprecated since 0.9.0 */ + add_deprecated_alias( "key-fullscreen" ); /*deprecated since 0.9.0 */ add_key( "key-leave-fullscreen", KEY_LEAVE_FULLSCREEN, NULL, LEAVE_FULLSCREEN_KEY_TEXT, LEAVE_FULLSCREEN_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-play-pause", KEY_PLAY_PAUSE, NULL, PLAY_PAUSE_KEY_TEXT, @@ -2090,6 +2300,21 @@ vlc_module_begin(); add_key( "key-wallpaper", KEY_WALLPAPER, NULL, WALLPAPER_KEY_TEXT, WALLPAPER_KEY_LONGTEXT, VLC_FALSE ); + add_key( "key-menu-on", KEY_MENU_ON, NULL, + MENU_ON_KEY_TEXT, MENU_ON_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-menu-off", KEY_MENU_OFF, NULL, + MENU_OFF_KEY_TEXT, MENU_OFF_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-menu-right", KEY_MENU_RIGHT, NULL, + MENU_RIGHT_KEY_TEXT, MENU_RIGHT_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-menu-left", KEY_MENU_LEFT, NULL, + MENU_LEFT_KEY_TEXT, MENU_LEFT_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-menu-up", KEY_MENU_UP, NULL, + MENU_UP_KEY_TEXT, MENU_UP_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-menu-down", KEY_MENU_DOWN, NULL, + MENU_DOWN_KEY_TEXT, MENU_DOWN_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-menu-select", KEY_MENU_SELECT, NULL, + MENU_SELECT_KEY_TEXT, MENU_SELECT_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-crop-top", KEY_CROP_TOP, NULL, CROP_TOP_KEY_TEXT, CROP_TOP_KEY_LONGTEXT, VLC_TRUE ); add_key( "key-uncrop-top", KEY_UNCROP_TOP, NULL, @@ -2111,6 +2336,16 @@ vlc_module_begin(); add_key( "key-loop", KEY_LOOP, NULL, LOOP_KEY_TEXT, LOOP_KEY_LONGTEXT, VLC_FALSE ); + set_section ( N_("Zoom" ), NULL ); + add_key( "key-zoom-quarter", KEY_ZOOM_QUARTER, NULL, + ZOOM_QUARTER_KEY_TEXT, NULL, VLC_FALSE ); + add_key( "key-zoom-half", KEY_ZOOM_HALF, NULL, + ZOOM_HALF_KEY_TEXT, NULL, VLC_FALSE ); + add_key( "key-zoom-original", KEY_ZOOM_ORIGINAL, NULL, + ZOOM_ORIGINAL_KEY_TEXT, NULL, VLC_FALSE ); + add_key( "key-zoom-double", KEY_ZOOM_DOUBLE, NULL, + ZOOM_DOUBLE_KEY_TEXT, NULL, VLC_FALSE ); + set_section ( N_("Jump sizes" ), NULL ); add_integer( "extrashort-jump-size", 3, NULL, JIEXTRASHORT_TEXT, JIEXTRASHORT_LONGTEXT, VLC_FALSE ); @@ -2187,84 +2422,85 @@ vlc_module_begin(); add_string( "bookmark10", NULL, NULL, BOOKMARK10_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE ); - /* Usage (mainly useful for cmd line stuff) */ +#define HELP_TEXT \ + N_("print help for VLC (can be combined with --advanced and " \ + "--help-verbose)") +#define LONGHELP_TEXT \ + N_("print help for VLC and all its modules (can be combined with " \ + "--advanced and --help-verbose)") +#define HELP_VERBOSE_TEXT \ + N_("ask for extra verbosity when displaying help") +#define LIST_TEXT \ + N_("print a list of available modules") +#define LIST_VERBOSE_TEXT \ + 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)") +#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 \ + N_("use alternate config file") +#define RESET_PLUGINS_CACHE_TEXT \ + N_("resets the current plugins cache") +#define VERSION_TEXT \ + N_("print version information") + + add_bool( "help", VLC_FALSE, NULL, HELP_TEXT, "", VLC_FALSE ); + change_short( 'h' ); + change_internal(); + change_unsaveable(); + add_bool( "longhelp", VLC_FALSE, NULL, LONGHELP_TEXT, "", VLC_FALSE ); + change_short( 'H' ); + change_internal(); + change_unsaveable(); + add_bool( "help-verbose", VLC_FALSE, NULL, HELP_VERBOSE_TEXT, "", + VLC_FALSE ); + change_internal(); + change_unsaveable(); + add_bool( "list", VLC_FALSE, NULL, LIST_TEXT, "", VLC_FALSE ); + change_short( 'l' ); + change_internal(); + change_unsaveable(); + add_bool( "list-verbose", VLC_FALSE, NULL, LIST_VERBOSE_TEXT, "", + VLC_FALSE ); + change_short( 'l' ); + change_internal(); + change_unsaveable(); + add_string( "module", NULL, NULL, MODULE_TEXT, "", VLC_FALSE ); + change_short( 'p' ); + change_internal(); + change_unsaveable(); + add_bool( "save-config", VLC_FALSE, NULL, SAVE_CONFIG_TEXT, "", + VLC_FALSE ); + change_internal(); + change_unsaveable(); + add_bool( "reset-config", VLC_FALSE, NULL, MODULE_TEXT, "", VLC_FALSE ); + change_internal(); + change_unsaveable(); + add_bool( "reset-plugins-cache", VLC_FALSE, NULL, + RESET_PLUGINS_CACHE_TEXT, "", VLC_FALSE ); + change_internal(); + change_unsaveable(); + add_bool( "version", VLC_FALSE, NULL, VERSION_TEXT, "", VLC_FALSE ); + change_internal(); + change_unsaveable(); + add_string( "config", NULL, NULL, CONFIG_TEXT, "", VLC_FALSE ); + change_internal(); + change_unsaveable(); + add_bool( "version", VLC_FALSE, NULL, VERSION_TEXT, "", VLC_FALSE ); + change_internal(); + change_unsaveable(); + + /* Usage (mainly useful for cmd line stuff) */ /* add_usage_hint( PLAYLIST_USAGE ); */ set_description( N_("main program") ); set_capability( "main", 100 ); vlc_module_end(); -const module_config_t libvlc_config[] = -{ - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "help", - .i_short = 'h', - .psz_text = N_("print help for VLC (can be combined with --advanced and --help-verbose)") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "longhelp", - .i_short = 'H', - .psz_text = N_("print help for VLC and all its modules (can be combined with --advanced and --help-verbose)") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "advanced", - .psz_text = N_("print help for the advanced options") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "help-verbose", - .psz_text = N_("ask for extra verbosity when displaying help") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "list", - .i_short = 'l', - .psz_text = N_("print a list of available modules") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "list-verbose", - .psz_text = N_("print a list of available modules with extra detail") - }, - { - .i_type = CONFIG_ITEM_STRING, - .psz_name = "module", - .i_short = 'p', - .psz_text = N_("print help on a specific module (can be combined with --advanced and --help-verbose)") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "save-config", - .psz_text = N_("save the current command line options in the config") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "reset-config", - .psz_text = N_("reset the current config to the default values") - }, - { - .i_type = CONFIG_ITEM_STRING, - .psz_name = "config", - .psz_text = N_("use alternate config file") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "reset-plugins-cache", - .psz_text = N_("resets the current plugins cache") - }, - { - .i_type = CONFIG_ITEM_BOOL, - .psz_name = "version", - .psz_text = N_("print version information") - } -}; - -const size_t libvlc_config_count = sizeof (libvlc_config) - / sizeof (libvlc_config[0]); - /***************************************************************************** * End configuration. *****************************************************************************/ @@ -2330,6 +2566,10 @@ const struct hotkey libvlc_hotkeys[] = { "key-title-next", ACTIONID_TITLE_NEXT, 0, 0, 0, 0 }, { "key-chapter-prev", ACTIONID_CHAPTER_PREV, 0, 0, 0, 0 }, { "key-chapter-next", ACTIONID_CHAPTER_NEXT, 0, 0, 0, 0 }, + { "key-zoom-quarter", ACTIONID_ZOOM_QUARTER, 0, 0, 0, 0 }, + { "key-zoom-half", ACTIONID_ZOOM_HALF, 0, 0, 0, 0 }, + { "key-zoom-original", ACTIONID_ZOOM_ORIGINAL, 0, 0, 0, 0 }, + { "key-zoom-double", ACTIONID_ZOOM_DOUBLE, 0, 0, 0, 0 }, { "key-set-bookmark1", ACTIONID_SET_BOOKMARK1, 0, 0, 0, 0 }, { "key-set-bookmark2", ACTIONID_SET_BOOKMARK2, 0, 0, 0, 0 }, { "key-set-bookmark3", ACTIONID_SET_BOOKMARK3, 0, 0, 0, 0 }, @@ -2357,6 +2597,13 @@ const struct hotkey libvlc_hotkeys[] = { "key-random", ACTIONID_RANDOM, 0, 0, 0, 0 }, { "key-loop", ACTIONID_LOOP, 0, 0, 0, 0 }, { "key-wallpaper", ACTIONID_WALLPAPER, 0, 0, 0, 0 }, + { "key-menu-on", ACTIONID_MENU_ON, 0, 0, 0, 0 }, + { "key-menu-off", ACTIONID_MENU_OFF, 0, 0, 0, 0 }, + { "key-menu-right", ACTIONID_MENU_RIGHT, 0, 0, 0, 0 }, + { "key-menu-left", ACTIONID_MENU_LEFT, 0, 0, 0, 0 }, + { "key-menu-up", ACTIONID_MENU_UP, 0, 0, 0, 0 }, + { "key-menu-down", ACTIONID_MENU_DOWN, 0, 0, 0, 0 }, + { "key-menu-select", ACTIONID_MENU_SELECT, 0, 0, 0, 0 }, { NULL, 0, 0, 0, 0, 0 } };