X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=747886c7ec2d36dfc3f672285660c53a92fd4659;hb=f7115564ce2bf24dfe480a5b7fc0cf37b0d794a2;hp=4f15e099adda97d868795edc1d7258ac37d02206;hpb=4815d7f68835e4fb08b6381988dd214f651f4069;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index 4f15e099ad..747886c7ec 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -1,5 +1,5 @@ /***************************************************************************** - * libvlc.h: main libvlc header + * libvlc.h: Options for the main module ***************************************************************************** * Copyright (C) 1998-2006 the VideoLAN team * $Id$ @@ -26,21 +26,25 @@ #define Nothing here, this is just to prevent update-po from being stupid #include "vlc_keys.h" +#include "vlc_meta.h" -static char *ppsz_language[] = -{ "auto", "en", "en_GB", "ca", "da", "de", "es", "fr", "gl", "he", "hu", - "it", "ja", "ka", "ko", "nl", "oc", "pt_BR", "ro", "ru", "sv", "tr", - "zh_CN", "zh_TW" }; +#if defined (WIN32) || defined (__APPLE__) +static const char *ppsz_language[] = +{ "auto", "en", "en_GB", "ca", "cs", "da", "de", "es", "fr", "gl", "he", "hu", + "it", "ja", "ka", "ko", "ms", "nl", "oc", "pt_BR", "ro", "ru", "sk", "sl", + "sv", "tr", "zh_CN", "zh_TW" }; -static char *ppsz_language_text[] = +static const char *ppsz_language_text[] = { N_("Auto"), N_("American English"), N_("British English"), -N_("Catalan"), N_("Danish"), N_("German"), N_("Spanish"), N_("French"), -N_("Galician"), N_("Hebrew"), N_("Hungarian"),N_("Italian"), -N_("Japanese"),N_("Georgian"), N_("Korean"), N_("Dutch"), N_("Occitan"), -N_("Brazilian Portuguese"), N_("Romanian"), N_("Russian"), N_("Swedish"), -N_("Turkish"), N_("Simplified Chinese"), N_("Chinese Traditional") }; +N_("Catalan"), N_("Czech"), N_("Danish"), N_("German"), N_("Spanish"), +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") }; +#endif -static char *ppsz_snap_formats[] = +static const char *ppsz_snap_formats[] = { "png", "jpg" }; /***************************************************************************** @@ -111,6 +115,11 @@ static char *ppsz_snap_formats[] = "When this is enabled, the interface is shown when you move the mouse to "\ "the edge of the screen in fullscreen mode." ) +#define INTERACTION_TEXT N_("Interface interaction") +#define INTERACTION_LONGTEXT N_( \ + "When this is enabled, the interface will show a dialog box each time " \ + "some user input is required." ) + /***************************************************************************** * Audio @@ -190,7 +199,7 @@ static char *ppsz_snap_formats[] = "enhance your experience, especially when combined with the Headphone "\ "Channel Mixer." ) static int pi_force_dolby_values[] = { 0, 1, 2 }; -static char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") }; +static const char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") }; #define AUDIO_FILTER_TEXT N_("Audio filters") @@ -255,7 +264,7 @@ static char *ppsz_force_dolby_descriptions[] = { N_("Auto"), N_("On"), N_("Off") "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 char *ppsz_align_descriptions[] = +static const char *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") }; @@ -268,6 +277,10 @@ static char *ppsz_align_descriptions[] = "Output video in grayscale. As the color information aren't decoded, " \ "this can save some processing power." ) +#define EMBEDDED_TEXT N_("Embedded video") +#define EMBEDDED_LONGTEXT N_( \ + "Embed the video output in the main interface." ) + #define FULLSCREEN_TEXT N_("Fullscreen video output") #define FULLSCREEN_LONGTEXT N_( \ "Start video in fullscreen mode" ) @@ -289,16 +302,26 @@ static char *ppsz_align_descriptions[] = "VLC can avoid creating window caption, frames, etc... around the video" \ ", giving a \"minimal\" window.") -#define FILTER_TEXT N_("Video filter module") -#define FILTER_LONGTEXT N_( \ +#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.") -#define SNAP_PATH_TEXT N_("Video snapshot directory") +#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" \ + "the video.") + +#define SNAP_PATH_TEXT N_("Video snapshot directory (or filename)") #define SNAP_PATH_LONGTEXT N_( \ "Directory where the video snapshots will be stored.") +#define SNAP_PREFIX_TEXT N_("Video snapshot file prefix") +#define SNAP_PREFIX_LONGTEXT N_( \ + "Video snapshot file prefix" ) + #define SNAP_FORMAT_TEXT N_("Video snapshot format") #define SNAP_FORMAT_LONGTEXT N_( \ "Image format which will be used to store the video snapshots" ) @@ -307,6 +330,10 @@ static char *ppsz_align_descriptions[] = #define SNAP_PREVIEW_LONGTEXT N_( \ "Display the snapshot preview in the screen's top-left corner.") +#define SNAP_SEQUENTIAL_TEXT N_("Use sequential numbers instead of timestamps") +#define SNAP_SEQUENTIAL_LONGTEXT N_( \ + "Use sequential numbers instead of timestamps for snapshot numbering") + #define CROP_TEXT N_("Video cropping") #define CROP_LONGTEXT N_( \ "This forces the cropping of the source video. " \ @@ -322,6 +349,16 @@ static char *ppsz_align_descriptions[] = "aspect, or a float value (1.25, 1.3333, etc.) expressing pixel " \ "squareness.") +#define CUSTOM_CROP_RATIOS_TEXT N_("Custom crop ratios list") +#define CUSTOM_CROP_RATIOS_LONGTEXT N_( \ + "Comma seperated list of crop ratios which will be added in the " \ + "interface's crop ratios list.") + +#define CUSTOM_ASPECT_RATIOS_TEXT N_("Custom aspect ratios list") +#define CUSTOM_ASPECT_RATIOS_LONGTEXT N_( \ + "Comma seperated list of aspect ratios which will be added in the " \ + "interface's aspect ratio list.") + #define HDTV_FIX_TEXT N_("Fix HDTV height") #define HDTV_FIX_LONGTEXT N_( \ "This allows proper handling of HDTV-1080 video format " \ @@ -361,6 +398,10 @@ static char *ppsz_align_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 " \ @@ -378,7 +419,7 @@ static char *ppsz_align_descriptions[] = "are available in Advanced / Network Sync." ) static int pi_clock_values[] = { -1, 0, 1 }; -static char *ppsz_clock_descriptions[] = +static const char *ppsz_clock_descriptions[] = { N_("Default"), N_("Disable"), N_("Enable") }; #define SERVER_PORT_TEXT N_("UDP port") @@ -393,18 +434,23 @@ static char *ppsz_clock_descriptions[] = #define TTL_TEXT N_("Hop limit (TTL)") #define TTL_LONGTEXT N_( \ "This is the hop limit (also known as \"Time-To-Live\" or TTL) of " \ - "the multicast packets sent by the stream output (0 = use operating "\ + "the multicast packets sent by the stream output (-1 = use operating " \ "system built-in default).") -#define MIFACE_TEXT N_("IPv6 multicast output interface") +#define MIFACE_TEXT N_("Multicast output interface") #define MIFACE_LONGTEXT N_( \ - "Default IPv6 multicast interface. This overrides the routing table.") + "Default multicast interface. This overrides the routing table.") #define MIFACE_ADDR_TEXT N_("IPv4 multicast output interface address") #define MIFACE_ADDR_LONGTEXT N_( \ "IPv4 adress for the default multicast interface. This overrides " \ "the routing table.") +#define DSCP_TEXT N_("DiffServ Code Point") +#define DSCP_LONGTEXT N_("Differentiated Services Code Point " \ + "for outgoing UDP streams (or IPv4 Type Of Service, " \ + "or IPv6 Traffic Class). This is used for network Quality of Service.") + #define INPUT_PROGRAM_TEXT N_("Program") #define INPUT_PROGRAM_LONGTEXT N_( \ "Choose the program to select by giving its Service ID. " \ @@ -707,7 +753,6 @@ static char *ppsz_clock_descriptions[] = "When the SAP flow control is disabled, " \ "this lets you set the fixed interval between SAP announcements." ) - /***************************************************************************** * Advanced ****************************************************************************/ @@ -818,6 +863,10 @@ static char *ppsz_clock_descriptions[] = #define DAEMON_LONGTEXT N_( \ "Runs VLC as a background daemon process.") +#define PIDFILE_TEXT N_("Write process id to file") +#define PIDFILE_LONGTEXT N_( \ + "Writes process id into specified file.") + #define FILE_LOG_TEXT N_( "Log to file" ) #define FILE_LOG_LONGTEXT N_( \ "Log all VLC messages to a text file." ) @@ -826,22 +875,32 @@ static char *ppsz_clock_descriptions[] = #define SYSLOG_LONGTEXT N_( \ "Log all VLC messages to syslog (UNIX systems)." ) -#define ONEINSTANCE_TEXT N_("Allow only one running instance") -#define ONEINSTANCE_LONGTEXT N_( \ +#define ONEINSTANCE_WIN_TEXT N_("Allow only one running instance") +#define ONEINSTANCE_WIN_LONGTEXT N_( \ "Allowing only one running instance of VLC can sometimes be useful, " \ "for example if you associated VLC with some media types and you " \ "don't want a new instance of VLC to be opened each time you " \ "double-click on a file in the explorer. This option will allow you " \ "to play the file with the already running instance or enqueue it.") +#define ONEINSTANCE_DBUS_TEXT ONEINSTANCE_WIN_TEXT +#define ONEINSTANCE_DBUS_LONGTEXT N_( \ + "Allowing only one running instance of VLC can sometimes be useful, " \ + "for example if you associated VLC with some media types and you " \ + "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 " \ + "and the running instance of VLC to use D-Bus control interface.") + #define STARTEDFROMFILE_TEXT N_("VLC is started from file association") #define STARTEDFROMFILE_LONGTEXT N_( \ "Tell VLC that it is being launched due to a file association in the OS" ) #define ONEINSTANCEWHENSTARTEDFROMFILE_TEXT N_( \ - "Allow only on running instance when started from file") + "One instance when started from file") #define ONEINSTANCEWHENSTARTEDFROMFILE_LONGTEXT N_( \ - "Allow only on running instance when started from file") + "Allow only one running instance when started from file.") #define HPRIORITY_TEXT N_("Increase the priority of the process") #define HPRIORITY_LONGTEXT N_( \ @@ -890,6 +949,18 @@ static char *ppsz_clock_descriptions[] = "Automatically preparse files added to the playlist " \ "(to retrieve some metadata)." ) +#define ALBUM_ART_TEXT N_( "Album art policy" ) +#define ALBUM_ART_LONGTEXT N_( \ + "Choose how album art will be downloaded." ); + +static int pi_albumart_values[] = { ALBUM_ART_WHEN_ASKED, + ALBUM_ART_WHEN_PLAYED, + ALBUM_ART_ALL }; +static const char *ppsz_albumart_descriptions[] = + { N_("Manual download only"), + N_("When track starts playing"), + N_("As soon as track is added") }; + #define SD_TEXT N_( "Services discovery modules") #define SD_LONGTEXT N_( \ "Specifies the services discovery modules to load, separated by " \ @@ -911,6 +982,25 @@ static char *ppsz_clock_descriptions[] = #define PAS_LONGTEXT N_( \ "Stop the playlist after each played playlist item." ) +#define PAE_TEXT N_("Play and exit") +#define PAE_LONGTEXT N_( \ + "Exit if there are no more items in the playlist." ) + +#define ML_TEXT N_("Use media library") +#define ML_LONGTEXT N_( \ + "The media library is automatically saved and reloaded each time you " \ + "start VLC." ) + +#define PLTREE_TEXT N_("Use 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") }; + + + /***************************************************************************** * Hotkeys ****************************************************************************/ @@ -1071,6 +1161,34 @@ static char *ppsz_clock_descriptions[] = #define RECORD_KEY_TEXT N_("Record") #define RECORD_KEY_LONGTEXT N_("Record access filter start/stop.") +#define DUMP_KEY_TEXT N_("Dump") +#define DUMP_KEY_LONGTEXT N_("Media dump access filter trigger.") + +#define ZOOM_KEY_TEXT N_("Zoom") +#define ZOOM_KEY_LONGTEXT N_("Zoom") + +#define UNZOOM_KEY_TEXT N_("Un-Zoom") +#define UNZOOM_KEY_LONGTEXT N_("Un-Zoom") + +#define CROP_TOP_KEY_TEXT N_("Crop one pixel from the top of the video") +#define CROP_TOP_KEY_LONGTEXT N_("Crop one pixel from the top of the video") +#define UNCROP_TOP_KEY_TEXT N_("Uncrop one pixel from the top of the video") +#define UNCROP_TOP_KEY_LONGTEXT N_("Uncrop one pixel from the top of the video") + +#define CROP_LEFT_KEY_TEXT N_("Crop one pixel from the left of the video") +#define CROP_LEFT_KEY_LONGTEXT N_("Crop one pixel from the left of the video") +#define UNCROP_LEFT_KEY_TEXT N_("Uncrop one pixel from the left of the video") +#define UNCROP_LEFT_KEY_LONGTEXT N_("Uncrop one pixel from the left of the video") + +#define CROP_BOTTOM_KEY_TEXT N_("Crop one pixel from the bottom of the video") +#define CROP_BOTTOM_KEY_LONGTEXT N_("Crop one pixel from the bottom of the video") +#define UNCROP_BOTTOM_KEY_TEXT N_("Uncrop one pixel from the bottom of the video") +#define UNCROP_BOTTOM_KEY_LONGTEXT N_("Uncrop one pixel from the bottom of the video") + +#define CROP_RIGHT_KEY_TEXT N_("Crop one pixel from the right of the video") +#define CROP_RIGHT_KEY_LONGTEXT N_("Crop one pixel from the right of the video") +#define UNCROP_RIGHT_KEY_TEXT N_("Uncrop one pixel from the right of the video") +#define UNCROP_RIGHT_KEY_LONGTEXT N_("Uncrop one pixel from the right of the video") #define VLC_USAGE N_( \ @@ -1169,6 +1287,8 @@ vlc_module_begin(); add_bool( "fullscreen", 0, NULL, FULLSCREEN_TEXT, FULLSCREEN_LONGTEXT, VLC_FALSE ); change_short('f'); + add_bool( "embedded-video", 1, NULL, EMBEDDED_TEXT, EMBEDDED_LONGTEXT, + VLC_TRUE ); add_bool( "drop-late-frames", 1, NULL, DROP_LATE_FRAMES_TEXT, DROP_LATE_FRAMES_LONGTEXT, VLC_TRUE ); /* Used in vout_synchro */ @@ -1187,11 +1307,15 @@ vlc_module_begin(); set_section( N_("Snapshot") , NULL ); add_directory( "snapshot-path", NULL, NULL, SNAP_PATH_TEXT, SNAP_PATH_LONGTEXT, VLC_FALSE ); + add_string( "snapshot-prefix", "vlcsnap-", NULL, SNAP_PREFIX_TEXT, + SNAP_PREFIX_LONGTEXT, VLC_FALSE ); add_string( "snapshot-format", "png", NULL, SNAP_FORMAT_TEXT, SNAP_FORMAT_LONGTEXT, VLC_FALSE ); change_string_list( ppsz_snap_formats, NULL, 0 ); add_bool( "snapshot-preview", VLC_TRUE, NULL, SNAP_PREVIEW_TEXT, SNAP_PREVIEW_LONGTEXT, VLC_FALSE ); + add_bool( "snapshot-sequential", VLC_FALSE, NULL, SNAP_SEQUENTIAL_TEXT, + SNAP_SEQUENTIAL_LONGTEXT, VLC_FALSE ); set_section( N_("Window properties" ), NULL ); add_integer( "width", -1, NULL, WIDTH_TEXT, WIDTH_LONGTEXT, VLC_TRUE ); @@ -1199,10 +1323,14 @@ vlc_module_begin(); add_integer( "video-x", -1, NULL, VIDEOX_TEXT, VIDEOX_LONGTEXT, VLC_TRUE ); add_integer( "video-y", -1, NULL, VIDEOY_TEXT, VIDEOY_LONGTEXT, VLC_TRUE ); add_string( "crop", NULL, NULL, CROP_TEXT, CROP_LONGTEXT, VLC_FALSE ); + add_string( "custom-crop-ratios", NULL, NULL, CUSTOM_CROP_RATIOS_TEXT, + CUSTOM_CROP_RATIOS_LONGTEXT, VLC_FALSE ); add_string( "aspect-ratio", NULL, NULL, ASPECT_RATIO_TEXT, ASPECT_RATIO_LONGTEXT, VLC_FALSE ); add_string( "monitor-par", NULL, NULL, MASPECT_RATIO_TEXT, MASPECT_RATIO_LONGTEXT, VLC_TRUE ); + add_string( "custom-aspect-ratios", NULL, NULL, CUSTOM_ASPECT_RATIOS_TEXT, + CUSTOM_ASPECT_RATIOS_LONGTEXT, VLC_FALSE ); add_bool( "hdtv-fix", 1, NULL, HDTV_FIX_TEXT, HDTV_FIX_LONGTEXT, VLC_TRUE ); add_bool( "video-deco", 1, NULL, VIDEO_DECO_TEXT, VIDEO_DECO_LONGTEXT, VLC_TRUE ); @@ -1219,9 +1347,12 @@ vlc_module_begin(); change_short('V'); set_subcategory( SUBCAT_VIDEO_VFILTER ); - add_module_list_cat( "vout-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL, - FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE ); + 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_module_list_cat( "vout-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL, + NULL, NULL, VLC_FALSE ); #if 0 add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT ); #endif @@ -1261,6 +1392,8 @@ 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 ); @@ -1414,9 +1547,10 @@ vlc_module_begin(); set_subcategory( SUBCAT_SOUT_ACO ); add_module( "access_output", "sout access", NULL, NULL, ACCESS_OUTPUT_TEXT, ACCESS_OUTPUT_LONGTEXT, VLC_TRUE ); - add_integer( "ttl", 0, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE ); + add_integer( "ttl", -1, NULL, TTL_TEXT, TTL_LONGTEXT, VLC_TRUE ); add_string( "miface", NULL, NULL, MIFACE_TEXT, MIFACE_LONGTEXT, VLC_TRUE ); add_string( "miface-addr", NULL, NULL, MIFACE_ADDR_TEXT, MIFACE_ADDR_LONGTEXT, VLC_TRUE ); + add_integer( "dscp", 0, NULL, DSCP_TEXT, DSCP_LONGTEXT, VLC_TRUE ); set_subcategory( SUBCAT_SOUT_PACKETIZER ); add_module( "packetizer","packetizer", NULL, NULL, @@ -1427,6 +1561,7 @@ vlc_module_begin(); ANN_SAPCTRL_LONGTEXT, VLC_TRUE ); add_integer( "sap-interval", 5, NULL, ANN_SAPINTV_TEXT, ANN_SAPINTV_LONGTEXT, VLC_TRUE ); + set_subcategory( SUBCAT_SOUT_VOD ); /* CPU options */ @@ -1434,15 +1569,22 @@ vlc_module_begin(); set_subcategory( SUBCAT_ADVANCED_CPU ); add_category_hint( N_("CPU"), CPU_CAT_LONGTEXT, VLC_TRUE ); add_bool( "fpu", 1, NULL, FPU_TEXT, FPU_LONGTEXT, VLC_TRUE ); + change_need_restart(); #if defined( __i386__ ) || defined( __x86_64__ ) add_bool( "mmx", 1, NULL, MMX_TEXT, MMX_LONGTEXT, VLC_TRUE ); + change_need_restart(); add_bool( "3dn", 1, NULL, THREE_DN_TEXT, THREE_DN_LONGTEXT, VLC_TRUE ); + change_need_restart(); add_bool( "mmxext", 1, NULL, MMXEXT_TEXT, MMXEXT_LONGTEXT, VLC_TRUE ); + change_need_restart(); add_bool( "sse", 1, NULL, SSE_TEXT, SSE_LONGTEXT, VLC_TRUE ); + change_need_restart(); add_bool( "sse2", 1, NULL, SSE2_TEXT, SSE2_LONGTEXT, VLC_TRUE ); + change_need_restart(); #endif #if defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc64__ ) add_bool( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT, VLC_TRUE ); + change_need_restart(); #endif /* Misc options */ @@ -1452,32 +1594,47 @@ vlc_module_begin(); add_module( "memcpy", "memcpy", NULL, NULL, MEMCPY_TEXT, MEMCPY_LONGTEXT, VLC_TRUE ); change_short('A'); + change_need_restart(); set_section( N_("Plugins" ), NULL ); add_bool( "plugins-cache", VLC_TRUE, NULL, PLUGINS_CACHE_TEXT, PLUGINS_CACHE_LONGTEXT, VLC_TRUE ); + change_need_restart(); add_directory( "plugin-path", NULL, NULL, PLUGIN_PATH_TEXT, PLUGIN_PATH_LONGTEXT, VLC_TRUE ); + change_need_restart(); 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) 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) add_integer( "rt-offset", 0, NULL, RT_OFFSET_TEXT, RT_OFFSET_LONGTEXT, VLC_TRUE ); + change_need_restart(); +#endif + +#if defined(HAVE_DBUS_3) + add_bool( "one-instance", 0, NULL, ONEINSTANCE_DBUS_TEXT, + ONEINSTANCE_DBUS_LONGTEXT, VLC_TRUE ); + add_bool( "playlist-enqueue", 0, NULL, PLAYLISTENQUEUE_TEXT, + PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE ); #endif #if defined(WIN32) - add_bool( "one-instance", 0, NULL, ONEINSTANCE_TEXT, - ONEINSTANCE_LONGTEXT, VLC_TRUE ); + add_bool( "one-instance", 0, NULL, ONEINSTANCE_WIN_TEXT, + ONEINSTANCE_WIN_LONGTEXT, VLC_TRUE ); add_bool( "started-from-file", 0, NULL, STARTEDFROMFILE_TEXT, STARTEDFROMFILE_LONGTEXT, VLC_TRUE ); + change_internal(); + change_unsaveable(); add_bool( "one-instance-when-started-from-file", 1, NULL, ONEINSTANCEWHENSTARTEDFROMFILE_TEXT, ONEINSTANCEWHENSTARTEDFROMFILE_LONGTEXT, VLC_TRUE ); @@ -1485,10 +1642,13 @@ vlc_module_begin(); PLAYLISTENQUEUE_LONGTEXT, VLC_TRUE ); add_bool( "high-priority", 0, NULL, HPRIORITY_TEXT, HPRIORITY_LONGTEXT, VLC_FALSE ); + change_need_restart(); add_bool( "fast-mutex", 0, NULL, FAST_MUTEX_TEXT, FAST_MUTEX_LONGTEXT, VLC_TRUE ); + change_need_restart(); add_integer( "win9x-cv-method", 1, NULL, WIN9X_CV_TEXT, WIN9X_CV_LONGTEXT, VLC_TRUE ); + change_need_restart(); #endif /* Playlist options */ @@ -1497,20 +1657,36 @@ vlc_module_begin(); add_category_hint( N_("Playlist"), PLAYLIST_CAT_LONGTEXT , VLC_FALSE ); add_bool( "random", 0, NULL, RANDOM_TEXT, RANDOM_LONGTEXT, VLC_FALSE ); change_short('Z'); + change_autosave(); add_bool( "loop", 0, NULL, LOOP_TEXT, LOOP_LONGTEXT, VLC_FALSE ); change_short('L'); + change_autosave(); add_bool( "repeat", 0, NULL, REPEAT_TEXT, REPEAT_LONGTEXT, VLC_FALSE ); change_short('R'); + change_autosave(); + add_bool( "play-and-exit", 0, NULL, PAE_TEXT, PAE_LONGTEXT, VLC_FALSE ); add_bool( "play-and-stop", 0, NULL, PAS_TEXT, PAS_LONGTEXT, VLC_FALSE ); + add_bool( "media-library", 1, NULL, ML_TEXT, ML_LONGTEXT, VLC_FALSE ); + add_integer( "playlist-tree", 0, NULL, PLTREE_TEXT, PLTREE_LONGTEXT, + VLC_TRUE ); + change_integer_list( pi_pltree_values, ppsz_pltree_descriptions, 0 ); add_string( "open", "", NULL, OPEN_TEXT, OPEN_LONGTEXT, VLC_FALSE ); + change_need_restart(); + + add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT, + PREPARSE_LONGTEXT, VLC_FALSE ); - 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, + ALBUM_ART_LONGTEXT, VLC_FALSE ); + change_integer_list( pi_albumart_values, + ppsz_albumart_descriptions, 0 ); set_subcategory( SUBCAT_PLAYLIST_SD ); add_module_list_cat( "services-discovery", SUBCAT_PLAYLIST_SD, NULL, NULL, SD_TEXT, SD_LONGTEXT, VLC_FALSE ); change_short('S'); + change_need_restart(); /* Interface options */ set_category( CAT_INTERFACE ); @@ -1524,42 +1700,58 @@ vlc_module_begin(); #if !defined(WIN32) add_bool( "daemon", 0, NULL, DAEMON_TEXT, DAEMON_LONGTEXT, VLC_TRUE ); change_short('d'); + change_need_restart(); + + add_string( "pidfile", NULL, NULL, PIDFILE_TEXT, PIDFILE_LONGTEXT, + VLC_FALSE ); + change_need_restart(); #endif add_bool( "file-logging", VLC_FALSE, NULL, FILE_LOG_TEXT, FILE_LOG_LONGTEXT, VLC_TRUE ); -#if HAVE_SYSLOG_H + change_need_restart(); +#ifdef HAVE_SYSLOG_H add_bool ( "syslog", VLC_FALSE, NULL, SYSLOG_TEXT, SYSLOG_LONGTEXT, VLC_TRUE ); + change_need_restart(); #endif #if defined (WIN32) || defined (__APPLE__) add_string( "language", "auto", NULL, LANGUAGE_TEXT, LANGUAGE_LONGTEXT, VLC_FALSE ); change_string_list( ppsz_language, ppsz_language_text, 0 ); + change_need_restart(); #endif add_bool( "color", 0, NULL, COLOR_TEXT, COLOR_LONGTEXT, VLC_TRUE ); add_bool( "advanced", 0, NULL, ADVANCED_TEXT, ADVANCED_LONGTEXT, VLC_FALSE ); + change_need_restart(); + add_bool( "interact", VLC_FALSE, NULL, INTERACTION_TEXT, + INTERACTION_LONGTEXT, VLC_FALSE ); add_bool( "show-intf", VLC_FALSE, NULL, SHOWINTF_TEXT, SHOWINTF_LONGTEXT, VLC_FALSE ); + change_need_restart(); add_bool ( "stats", VLC_TRUE, NULL, STATS_TEXT, STATS_LONGTEXT, VLC_TRUE ); + change_need_restart(); set_subcategory( SUBCAT_INTERFACE_MAIN ); add_module_cat( "intf", SUBCAT_INTERFACE_MAIN, NULL, NULL, INTF_TEXT, INTF_LONGTEXT, VLC_FALSE ); change_short('I'); + change_need_restart(); add_module_list_cat( "extraintf", SUBCAT_INTERFACE_MAIN, NULL, NULL, EXTRAINTF_TEXT, EXTRAINTF_LONGTEXT, VLC_FALSE ); + change_need_restart(); set_subcategory( SUBCAT_INTERFACE_CONTROL ); add_module_list_cat( "control", SUBCAT_INTERFACE_CONTROL, NULL, NULL, CONTROL_TEXT, CONTROL_LONGTEXT, VLC_FALSE ); + change_need_restart(); /* Hotkey options*/ set_subcategory( SUBCAT_INTERFACE_HOTKEYS ); @@ -1638,6 +1830,17 @@ vlc_module_begin(); # define KEY_CHAPTER_PREV KEY_MODIFIER_CTRL|'u' # define KEY_CHAPTER_NEXT KEY_MODIFIER_CTRL|'d' # define KEY_SNAPSHOT KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|'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_SET_BOOKMARK1 KEY_MODIFIER_COMMAND|KEY_F1 # define KEY_SET_BOOKMARK2 KEY_MODIFIER_COMMAND|KEY_F2 @@ -1662,6 +1865,7 @@ vlc_module_begin(); # define KEY_HISTORY_BACK KEY_MODIFIER_COMMAND|'[' # define KEY_HISTORY_FORWARD KEY_MODIFIER_COMMAND|']' # define KEY_RECORD KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'r' +# define KEY_DUMP KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'d' #else # define KEY_FULLSCREEN 'f' @@ -1705,10 +1909,21 @@ vlc_module_begin(); # 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|'n' +# 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_SNAPSHOT KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|'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_SET_BOOKMARK1 KEY_MODIFIER_CTRL|KEY_F1 # define KEY_SET_BOOKMARK2 KEY_MODIFIER_CTRL|KEY_F2 @@ -1733,6 +1948,7 @@ vlc_module_begin(); # 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_DUMP KEY_MODIFIER_CTRL|KEY_MODIFIER_SHIFT|'d' #endif add_key( "key-fullscreen", KEY_FULLSCREEN, NULL, FULLSCREEN_KEY_TEXT, @@ -1830,6 +2046,29 @@ vlc_module_begin(); HISTORY_FORWARD_TEXT, HISTORY_FORWARD_LONGTEXT, VLC_TRUE ); add_key( "key-record", KEY_RECORD, NULL, RECORD_KEY_TEXT, RECORD_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-dump", KEY_DUMP, NULL, + DUMP_KEY_TEXT, DUMP_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-zoom", KEY_ZOOM, NULL, + ZOOM_KEY_TEXT, ZOOM_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-unzoom", KEY_UNZOOM, NULL, + UNZOOM_KEY_TEXT, UNZOOM_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, + UNCROP_TOP_KEY_TEXT, UNCROP_TOP_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-crop-left", KEY_CROP_LEFT, NULL, + CROP_LEFT_KEY_TEXT, CROP_LEFT_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-uncrop-left", KEY_UNCROP_LEFT, NULL, + UNCROP_LEFT_KEY_TEXT, UNCROP_LEFT_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-crop-bottom", KEY_CROP_BOTTOM, NULL, + CROP_BOTTOM_KEY_TEXT, CROP_BOTTOM_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-uncrop-bottom", KEY_UNCROP_BOTTOM, NULL, + UNCROP_BOTTOM_KEY_TEXT, UNCROP_BOTTOM_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-crop-right", KEY_CROP_RIGHT, NULL, + CROP_RIGHT_KEY_TEXT, CROP_RIGHT_KEY_LONGTEXT, VLC_TRUE ); + add_key( "key-uncrop-right", KEY_UNCROP_RIGHT, NULL, + UNCROP_RIGHT_KEY_TEXT, UNCROP_RIGHT_KEY_LONGTEXT, VLC_TRUE ); set_section ( N_("Jump sizes" ), NULL ); add_integer( "extrashort-jump-size", 3, NULL, JIEXTRASHORT_TEXT, @@ -1916,29 +2155,65 @@ vlc_module_end(); static module_config_t p_help_config[] = { - { CONFIG_ITEM_BOOL, NULL, "help", 'h', - N_("print help for VLC (can be combined with --advanced)") }, - { CONFIG_ITEM_BOOL, NULL, "longhelp", 'H', - N_("print help for VLC and all its modules (can be combined with --advanced)") }, - { CONFIG_ITEM_BOOL, NULL, "advanced", '\0', - N_("print help for the advanced options") }, - { CONFIG_ITEM_BOOL, NULL, "help-verbose", '\0', - N_("ask for extra verbosity when displaying help") }, - { CONFIG_ITEM_BOOL, NULL, "list", 'l', - N_("print a list of available modules") }, - { CONFIG_ITEM_STRING, NULL, "module", 'p', - N_("print help on a specific module (can be combined with --advanced)") }, - { CONFIG_ITEM_BOOL, NULL, "save-config", '\0', - N_("save the current command line options in the config") }, - { CONFIG_ITEM_BOOL, NULL, "reset-config", '\0', - N_("reset the current config to the default values") }, - { CONFIG_ITEM_STRING, NULL, "config", '\0', - N_("use alternate config file") }, - { CONFIG_ITEM_BOOL, NULL, "reset-plugins-cache", '\0', - N_("resets the current plugins cache") }, - { CONFIG_ITEM_BOOL, NULL, "version", '\0', - N_("print version information") }, - { CONFIG_HINT_END, NULL, NULL, '\0', NULL } + { + .i_type = CONFIG_ITEM_BOOL, + .psz_name = "help", + .i_short = 'h', + .psz_text = N_("print help for VLC (can be combined with --advanced)") + }, + { + .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)") + }, + { + .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_STRING, + .psz_name = "module", + .i_short = 'p', + .psz_text = N_("print help on a specific module (can be combined with --advanced)") + }, + { + .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") + } }; /***************************************************************************** @@ -1946,7 +2221,8 @@ static module_config_t p_help_config[] = *****************************************************************************/ /***************************************************************************** - * Initializer for the vlc_t structure storing the action / key associations + * Initializer for the libvlc instance structure + * storing the action / key associations *****************************************************************************/ static struct hotkey p_hotkeys[] = { @@ -1984,6 +2260,16 @@ static struct hotkey p_hotkeys[] = { "key-intf-show", ACTIONID_INTF_SHOW, 0, 0, 0, 0 }, { "key-intf-hide", ACTIONID_INTF_HIDE, 0, 0, 0, 0 }, { "key-snapshot", ACTIONID_SNAPSHOT, 0, 0, 0, 0 }, + { "key-zoom", ACTIONID_ZOOM, 0, 0, 0, 0 }, + { "key-unzoom", ACTIONID_UNZOOM, 0, 0, 0, 0 }, + { "key-crop-top", ACTIONID_CROP_TOP, 0, 0, 0, 0 }, + { "key-uncrop-top", ACTIONID_UNCROP_TOP, 0, 0, 0, 0 }, + { "key-crop-left", ACTIONID_CROP_LEFT, 0, 0, 0, 0 }, + { "key-uncrop-left", ACTIONID_UNCROP_LEFT, 0, 0, 0, 0 }, + { "key-crop-bottom", ACTIONID_CROP_BOTTOM, 0, 0, 0, 0 }, + { "key-uncrop-bottom", ACTIONID_UNCROP_BOTTOM, 0, 0, 0, 0 }, + { "key-crop-right", ACTIONID_CROP_RIGHT, 0, 0, 0, 0 }, + { "key-uncrop-right", ACTIONID_UNCROP_RIGHT, 0, 0, 0, 0 }, { "key-nav-activate", ACTIONID_NAV_ACTIVATE, 0, 0, 0, 0 }, { "key-nav-up", ACTIONID_NAV_UP, 0, 0, 0, 0 }, { "key-nav-down", ACTIONID_NAV_DOWN, 0, 0, 0, 0 }, @@ -2017,5 +2303,6 @@ static struct hotkey p_hotkeys[] = { "key-history-back", ACTIONID_HISTORY_BACK, 0, 0, 0, 0 }, { "key-history-forward", ACTIONID_HISTORY_FORWARD, 0, 0, 0, 0 }, { "key-record", ACTIONID_RECORD, 0, 0, 0, 0 }, + { "key-dump", ACTIONID_DUMP, 0, 0, 0, 0 }, { NULL, 0, 0, 0, 0, 0 } };