- Tree structure
- Input preparsing (for meta-data)
- Grouping (by artist, ...) support
- * Preferences improvements :
+ * Preferences improvements:
- New organization, designed to improve usability
- New configuration types (list of modules, ...)
* XML parsers
* Renamed --spu-channel to --sub-track
* Renamed --spumargin to --sub-margin
* Renamed --audio-channel to --audio-track
- * Track selection based on preferred language
+ * Renamed --filter to --video-filter
+ Multiple video filters are now seperated by ',' instead of ':'
+ * Track selection based on preferred language (--sub-language and --audio-language)
* Many bugfixes...
Input/Demuxers:
* Support for 20/24 bits LPCM
Video output:
- * Video snapshot support
- * Image file video output (png or jpg)
+ * Video snapshot support (png or jpg)
+ * Image file video output (png)
* Motion detection filter (can trigger playlist actions)
* Improvements to wall video filter
* Mosaic (picture-in-picture system)
* Support for font color and opacity
+ * Fixed Mac OS X OpenGL output
Stream output:
* Muxers
BeOS port:
* Support for single-buffered overlay
-Pocket PC port :
+Pocket PC port:
* Many fixes
* New interface
* New video output
* Brand new Internet Explorer ActiveX plugin
Translations:
+ The following languages were added
* Danish
* Greek
* Hindi
It's currently not possible to force VLC from stereo to mono mode, or from stereo to reverse stereo or dolby mode. It's one of the few options in VLC that can not yet be forced from Preferences or the commandline.
Status: Todo
+Task
+Difficulty: Hard
+Platform: any
+Urgency: Wishlist
+Description: Java wrapping/bindings
+Allow java apps to use VLC perhaps? Several people have suggested something like this.
+Status: Todo
+
Task
Difficulty: Easy
Platform: win32/macosx
char *psz_filter;
unsigned int i;
- psz_filter = config_GetPsz( p_intf, "filter" );
+ psz_filter = config_GetPsz( p_intf, "video-filter" );
if( !strcmp( psz_mode, "None" ) )
{
- config_PutPsz( p_intf, "filter", "" );
+ config_PutPsz( p_intf, "video-filter", "" );
}
else
{
if( !psz_filter || !*psz_filter )
{
- config_PutPsz( p_intf, "filter", "deinterlace" );
+ config_PutPsz( p_intf, "video-filter", "deinterlace" );
}
else
{
psz_filter = realloc( psz_filter, strlen( psz_filter ) + 20 );
strcat( psz_filter, ",deinterlace" );
}
- config_PutPsz( p_intf, "filter", psz_filter );
+ config_PutPsz( p_intf, "video-filter", psz_filter );
}
}
panel_sizer->SetSizeHints( panel );
/* Write down initial values */
- psz_filters = config_GetPsz( p_intf, "filter" );
+ psz_filters = config_GetPsz( p_intf, "video-filter" );
if( psz_filters && strstr( psz_filters, "adjust" ) )
{
adjust_check->SetValue( 1 );
vout_thread_t *p_vout;
char *psz_parser, *psz_string;
- psz_string = config_GetPsz( p_intf, "filter" );
+ psz_string = config_GetPsz( p_intf, "video-filter" );
if( !psz_string ) psz_string = strdup("");
}
}
/* Vout is not kept, so put that in the config */
- config_PutPsz( p_intf, "filter", psz_string );
+ config_PutPsz( p_intf, "video-filter", psz_string );
/* Try to set on the fly */
p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
FIND_ANYWHERE );
if( p_vout )
{
- var_SetString( p_vout, "filter", psz_string );
+ var_SetString( p_vout, "video-filter", psz_string );
vlc_object_release( p_vout );
}
change_short('V');
set_subcategory( SUBCAT_VIDEO_VFILTER );
- add_module_list_cat( "filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
+ add_module_list_cat( "video-filter", SUBCAT_VIDEO_VFILTER, NULL, NULL,
FILTER_TEXT, FILTER_LONGTEXT, VLC_FALSE );
#if 0
char *psz_filter_chain;
vlc_value_t val;
- /* We don't directly check for the "filter" variable for obvious
+ /* We don't directly check for the "video-filter" variable for obvious
* performance reasons. */
if( p_vout->b_filter_change )
{
- var_Get( p_vout, "filter", &val );
+ var_Get( p_vout, "video-filter", &val );
psz_filter_chain = val.psz_string;
if( psz_filter_chain && !*psz_filter_chain )
}
/* Look for the default filter configuration */
- var_Create( p_vout, "filter", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
- var_Get( p_vout, "filter", &val );
+ var_Create( p_vout, "video-filter", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
+ var_Get( p_vout, "video-filter", &val );
p_vout->psz_filter_chain = val.psz_string;
}
else
var_AddCallback( p_vout, "deinterlace", DeinterlaceCallback, NULL );
- var_Create( p_vout, "filter", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
+ var_Create( p_vout, "video-filter", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
text.psz_string = _("Filters");
- var_Change( p_vout, "filter", VLC_VAR_SETTEXT, &text, NULL );
- var_AddCallback( p_vout, "filter", FilterCallback, NULL );
+ var_Change( p_vout, "video-filter", VLC_VAR_SETTEXT, &text, NULL );
+ var_AddCallback( p_vout, "video-filter", FilterCallback, NULL );
/* Calculate delay created by internal caching */
p_input_thread = (input_thread_t *)vlc_object_find( p_vout,
char *psz_mode = newval.psz_string;
char *psz_filter, *psz_deinterlace = NULL;
- var_Get( p_vout, "filter", &val );
+ var_Get( p_vout, "video-filter", &val );
psz_filter = val.psz_string;
if( psz_filter ) psz_deinterlace = strstr( psz_filter, "deinterlace" );
var_Set( p_vout, "intf-change", val );
val.psz_string = psz_filter;
- var_Set( p_vout, "filter", val );
+ var_Set( p_vout, "video-filter", val );
if( psz_filter ) free( psz_filter );
return VLC_SUCCESS;
/* Modify input as well because the vout might have to be restarted */
val.psz_string = newval.psz_string;
- var_Create( p_input, "filter", VLC_VAR_STRING );
- var_Set( p_input, "filter", val );
+ var_Create( p_input, "video-filter", VLC_VAR_STRING );
+ var_Set( p_input, "video-filter", val );
/* Now restart current video stream */
var_Get( p_input, "video-es", &val );