[vlc-devel] [PATCH 2/2] hotkeys: Change subtitle position only if it exists and is enabled.

Zoran Turalija zoran.turalija at gmail.com
Wed Apr 10 18:20:22 CEST 2013


On Wed, Apr 10, 2013 at 05:59:37PM +0200, Zoran Turalija wrote:
> In ACTIONID_SUBPOS_UP/DOWN, do not change subtitle position if there
> is no subtitle, or if subtitle has been currently disabled.
> ---
>  modules/control/hotkeys.c |   33 ++++++++++++++++++++++++++-------
>  1 file changed, 26 insertions(+), 7 deletions(-)
> 
> diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c
> index 2325c92..71f634e 100644
> --- a/modules/control/hotkeys.c
> +++ b/modules/control/hotkeys.c
> @@ -900,14 +900,33 @@ static int PutAction( intf_thread_t *p_intf, int i_action )
>          case ACTIONID_SUBPOS_DOWN:
>          case ACTIONID_SUBPOS_UP:
>          {
> -            int i_pos;
> -            if( i_action == ACTIONID_SUBPOS_DOWN )
> -                i_pos = var_DecInteger( p_vout, "sub-margin" );
> -            else
> -                i_pos = var_IncInteger( p_vout, "sub-margin" );
> +            if( p_input )

I'm not sure, should this be

               if( p_vout )

???

> +            {
> +                vlc_value_t val, list, list2;
> +                int i_count;
> +                var_Get( p_input, "spu-es", &val );
>  
> -            ClearChannels( p_intf, p_vout );
> -            DisplayMessage( p_vout, _( "Subtitle position %d px" ), i_pos );
> +                var_Change( p_input, "spu-es", VLC_VAR_GETCHOICES,
> +                            &list, &list2 );
> +                i_count = list.p_list->i_count;
> +                if( i_count < 1 || val.i_int < 0 )
> +                {
> +                    DisplayMessage( p_vout,
> +                                    _("Position not changed; subtitle track: %s"),
> +                                    vlc_gettext( i_count ? N_("Disabled") : N_("N/A") ) );
> +                    var_FreeList( &list, &list2 );
> +                    break;
> +                }
> +
> +                int i_pos;
> +                if( i_action == ACTIONID_SUBPOS_DOWN )
> +                    i_pos = var_DecInteger( p_vout, "sub-margin" );
> +                else
> +                    i_pos = var_IncInteger( p_vout, "sub-margin" );
> +
> +                ClearChannels( p_intf, p_vout );
> +                DisplayMessage( p_vout, _( "Subtitle position %d px" ), i_pos );
> +            }
>              break;
>          }
>  
> -- 
> 1.7.10.4
> 
> 
> -- 
> Kind regards,
> Zoran Turalija

-- 
Kind regards,
Zoran Turalija



More information about the vlc-devel mailing list