/*****************************************************************************
- * libvlc.h: main libvlc header
+ * libvlc.h: Options for the main module
*****************************************************************************
* Copyright (C) 1998-2006 the VideoLAN team
* $Id$
#define Nothing here, this is just to prevent update-po from being stupid
#include "vlc_keys.h"
+#include "vlc_meta.h"
#if defined (WIN32) || defined (__APPLE__)
static char *ppsz_language[] =
"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" )
"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" )
#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. " \
"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 " \
#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." )
"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 when to download and cache album art." )
+
+static int pi_albumart_values[] = { ALBUM_ART_NEVER,
+ ALBUM_ART_WHEN_ASKED,
+ ALBUM_ART_WHEN_PLAYED,
+ ALBUM_ART_ALL };
+static char *ppsz_albumart_descriptions[] =
+ { N_("Never download"), N_("Download when asked"),
+ N_("Download when track starts playing"),
+ N_("Download everything ASAP") };
+
#define SD_TEXT N_( "Services discovery modules")
#define SD_LONGTEXT N_( \
"Specifies the services discovery modules to load, separated by " \
#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 char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N_("Never") };
+
+
+
/*****************************************************************************
* Hotkeys
****************************************************************************/
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 */
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 );
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 */
#if 0
add_string( "pixel-ratio", "1", NULL, PIXEL_RATIO_TEXT, PIXEL_RATIO_TEXT );
#endif
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 );
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 */
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(WIN32)
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 */
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 );
#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 );
+ change_need_restart();
#if 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 );
*****************************************************************************/
/*****************************************************************************
- * 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[] =
{