mirror of https://code.videolan.org/videolan/vlc
add aspect ratio, crop and deinterlace hotkeys. fixes #442
This commit is contained in:
parent
04ad6ec8e7
commit
11a242273b
|
@ -253,3 +253,6 @@ static inline int StringToKey( char *psz_key )
|
|||
#define ACTIONID_SNAPSHOT 64
|
||||
#define ACTIONID_RECORD 65
|
||||
#define ACTIONID_DISC_MENU 66
|
||||
#define ACTIONID_ASPECT_RATIO 67
|
||||
#define ACTIONID_CROP 68
|
||||
#define ACTIONID_DEINTERLACE 69
|
||||
|
|
|
@ -523,6 +523,84 @@ static void Run( intf_thread_t *p_intf )
|
|||
_("Subtitle track: %s"),
|
||||
list2.p_list->p_values[i].psz_string );
|
||||
}
|
||||
else if( i_action == ACTIONID_ASPECT_RATIO )
|
||||
{
|
||||
vlc_value_t val={0}, val_list, text_list;
|
||||
var_Get( p_vout, "aspect-ratio", &val );
|
||||
if( var_Change( p_vout, "aspect-ratio", VLC_VAR_GETLIST,
|
||||
&val_list, &text_list ) >= 0 )
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < val_list.p_list->i_count; i++ )
|
||||
{
|
||||
if( !strcmp( val_list.p_list->p_values[i].psz_string,
|
||||
val.psz_string ) )
|
||||
{
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( i == val_list.p_list->i_count ) i = 0;
|
||||
var_SetString( p_vout, "aspect-ratio",
|
||||
val_list.p_list->p_values[i].psz_string );
|
||||
vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
|
||||
_("Aspect ratio: %s"),
|
||||
text_list.p_list->p_values[i].psz_string );
|
||||
}
|
||||
free( val.psz_string );
|
||||
}
|
||||
else if( i_action == ACTIONID_CROP )
|
||||
{
|
||||
vlc_value_t val={0}, val_list, text_list;
|
||||
var_Get( p_vout, "crop", &val );
|
||||
if( var_Change( p_vout, "crop", VLC_VAR_GETLIST,
|
||||
&val_list, &text_list ) >= 0 )
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < val_list.p_list->i_count; i++ )
|
||||
{
|
||||
if( !strcmp( val_list.p_list->p_values[i].psz_string,
|
||||
val.psz_string ) )
|
||||
{
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( i == val_list.p_list->i_count ) i = 0;
|
||||
var_SetString( p_vout, "crop",
|
||||
val_list.p_list->p_values[i].psz_string );
|
||||
vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
|
||||
_("Crop: %s"),
|
||||
text_list.p_list->p_values[i].psz_string );
|
||||
}
|
||||
free( val.psz_string );
|
||||
}
|
||||
else if( i_action == ACTIONID_DEINTERLACE )
|
||||
{
|
||||
vlc_value_t val={0}, val_list, text_list;
|
||||
var_Get( p_vout, "deinterlace", &val );
|
||||
if( var_Change( p_vout, "deinterlace", VLC_VAR_GETLIST,
|
||||
&val_list, &text_list ) >= 0 )
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < val_list.p_list->i_count; i++ )
|
||||
{
|
||||
if( !strcmp( val_list.p_list->p_values[i].psz_string,
|
||||
val.psz_string ) )
|
||||
{
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( i == val_list.p_list->i_count ) i = 0;
|
||||
var_SetString( p_vout, "deinterlace",
|
||||
val_list.p_list->p_values[i].psz_string );
|
||||
vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
|
||||
_("Deinterlace mode: %s"),
|
||||
text_list.p_list->p_values[i].psz_string );
|
||||
}
|
||||
free( val.psz_string );
|
||||
}
|
||||
else if( i_action == ACTIONID_NEXT )
|
||||
{
|
||||
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
|
||||
|
|
26
src/libvlc.h
26
src/libvlc.h
|
@ -845,9 +845,6 @@ static char *ppsz_clock_descriptions[] =
|
|||
#define JILONG_TEXT N_("Long jump size")
|
||||
#define JILONG_LONGTEXT N_("Long jump \"size\", in seconds")
|
||||
|
||||
|
||||
|
||||
|
||||
#define QUIT_KEY_TEXT N_("Quit")
|
||||
#define QUIT_KEY_LONGTEXT N_("Select the hotkey to quit the application.")
|
||||
#define NAV_UP_KEY_TEXT N_("Navigate up")
|
||||
|
@ -916,6 +913,12 @@ static char *ppsz_clock_descriptions[] =
|
|||
#define AUDIO_TRACK_KEY_LONGTEXT N_("Cycle through the available audio tracks(languages)")
|
||||
#define SUBTITLE_TRACK_KEY_TEXT N_("Cycle subtitle track")
|
||||
#define SUBTITLE_TRACK_KEY_LONGTEXT N_("Cycle through the available subtitle tracks")
|
||||
#define ASPECT_RATIO_KEY_TEXT N_("Cycle source aspect ratio")
|
||||
#define ASPECT_RATIO_KEY_LONGTEXT N_("Cycle through a predefined list of source aspect ratios")
|
||||
#define CROP_KEY_TEXT N_("Cycle video crop")
|
||||
#define CROP_KEY_LONGTEXT N_("Cycle through a predefined list of crop formats")
|
||||
#define DEINTERLACE_KEY_TEXT N_("Cycle deinterlace modes")
|
||||
#define DEINTERLACE_KEY_LONGTEXT N_("Cycle through all the deinterlace modes")
|
||||
#define INTF_SHOW_KEY_TEXT N_("Show interface")
|
||||
#define INTF_SHOW_KEY_LONGTEXT N_("Raise the interface above all other windows")
|
||||
#define INTF_HIDE_KEY_TEXT N_("Hide interface")
|
||||
|
@ -1439,6 +1442,9 @@ vlc_module_begin();
|
|||
# define KEY_AUDIODELAY_DOWN 'f'
|
||||
# define KEY_AUDIO_TRACK 'l'
|
||||
# define KEY_SUBTITLE_TRACK 's'
|
||||
# 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'
|
||||
|
@ -1507,6 +1513,9 @@ vlc_module_begin();
|
|||
|
||||
# define KEY_AUDIO_TRACK 'l'
|
||||
# define KEY_SUBTITLE_TRACK 'k'
|
||||
# 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'
|
||||
|
@ -1618,10 +1627,16 @@ vlc_module_begin();
|
|||
AUDIO_TRACK_KEY_LONGTEXT, VLC_FALSE );
|
||||
add_key( "key-subtitle-track", KEY_SUBTITLE_TRACK, NULL,
|
||||
SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, VLC_FALSE );
|
||||
add_key( "key-aspect-ratio", KEY_ASPECT_RATIO, NULL,
|
||||
ASPECT_RATIO_KEY_TEXT, ASPECT_RATIO_KEY_LONGTEXT, VLC_FALSE );
|
||||
add_key( "key-crop", KEY_CROP, NULL,
|
||||
CROP_KEY_TEXT, CROP_KEY_LONGTEXT, VLC_FALSE );
|
||||
add_key( "key-deinterlace", KEY_DEINTERLACE, NULL,
|
||||
DEINTERLACE_KEY_TEXT, DEINTERLACE_KEY_LONGTEXT, VLC_FALSE );
|
||||
add_key( "key-intf-show", KEY_INTF_SHOW, NULL,
|
||||
INTF_SHOW_KEY_TEXT, INTF_SHOW_KEY_LONGTEXT, VLC_TRUE );
|
||||
add_key( "key-intf-hide", KEY_INTF_HIDE, NULL,
|
||||
INTF_HIDE_KEY_TEXT, INTF_HIDE_KEY_LONGTEXT, VLC_TRUE );
|
||||
INTF_HIDE_KEY_TEXT, INTF_HIDE_KEY_LONGTEXT, VLC_TRUE );
|
||||
add_key( "key-snapshot", KEY_SNAPSHOT, NULL,
|
||||
SNAP_KEY_TEXT, SNAP_KEY_LONGTEXT, VLC_TRUE );
|
||||
add_key( "key-history-back", KEY_HISTORY_BACK, NULL, HISTORY_BACK_TEXT,
|
||||
|
@ -1754,6 +1769,9 @@ static struct hotkey p_hotkeys[] =
|
|||
{ "key-audiodelay-up", ACTIONID_AUDIODELAY_UP, 0, 0, 0, 0 },
|
||||
{ "key-audio-track", ACTIONID_AUDIO_TRACK, 0, 0, 0, 0 },
|
||||
{ "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, 0, 0, 0, 0 },
|
||||
{ "key-aspect-ratio", ACTIONID_ASPECT_RATIO, 0, 0, 0, 0 },
|
||||
{ "key-crop", ACTIONID_CROP, 0, 0, 0, 0 },
|
||||
{ "key-deinterlace", ACTIONID_DEINTERLACE, 0, 0, 0, 0 },
|
||||
{ "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 },
|
||||
|
|
Loading…
Reference in New Issue