[vlc-devel] [PATCH] Allow on-the-fly multi-line marquee

Johann Ransay johann.ransay at planar.com
Tue Jul 6 09:56:46 CEST 2010


Request for review. Thanks.

Johann

On Thursday 01 July 2010, Johann Ransay wrote:
> I must have messed up with the git send-mail command. Sorry about that.
> Anyway, Here it is again (hopefully) cleanly formatted.
> 
> Regards,
> Johann
> 
> Turn a  '\\' 'n'  sequence into '\n'  in on-the-fly marquee  to enable
> multi-line text. To be tried with --intf oldrc --sub-filter marq at title
> then from the command line interface:
> @title marq-marquee multi\nline\ntest
> 
> ---
>  modules/control/rc.c |   33 +++++++++++++++++++++++++++++++++
>  1 files changed, 33 insertions(+), 0 deletions(-)
> 
> diff --git a/modules/control/rc.c b/modules/control/rc.c
> index 2fbc628..021a38d 100644
> --- a/modules/control/rc.c
> +++ b/modules/control/rc.c
> @@ -587,6 +587,8 @@ static void Run( intf_thread_t *p_intf )
>              char *psz_alias = psz_cmd + 1;
>              char *psz_mycmd = strdup( psz_arg );
>              char *psz_myarg = strchr( psz_mycmd, ' ' );
> +            char *psz_subst = 0;
> +            char *psz_start = 0;
>              char *psz_msg;
> 
>              if( !psz_myarg )
> @@ -598,6 +600,37 @@ static void Run( intf_thread_t *p_intf )
>                  *psz_myarg = '\0';
>                  psz_myarg ++;
> 
> +                psz_start = psz_myarg;
> +                /* perform special character substitutions */
> +                while( *psz_start )
> +                {
> +                    psz_subst = psz_start;
> +                    if( *psz_subst == '\\' )
> +                    {
> +                        switch( *(psz_subst+1) )
> +                        {
> +                        case 'n':
> +                            /* replace '\\' 'n' with '\n' */
> +                            *psz_subst = '\n';
> +                            break;
> +
> +                        default:
> +                            /* not a special character, remove backslash
> */ +                            *psz_subst = *(psz_subst+1);
> +                            break;
> +                        }
> +                        *psz_subst++;
> +                        /* move remaining characters one index backward */
> +                        while( *(psz_subst+1) )
> +                        {
> +                            *psz_subst = *(psz_subst+1);
> +                            *psz_subst++;
> +                        }
> +                        *psz_subst = 0;
> +                    }
> +                    psz_start++;
> +                }
> +
>                  var_Command( p_intf, psz_alias, psz_mycmd, psz_myarg,
>                               &psz_msg );
> 
> > On Thu, Jul 01, 2010 at 02:48:55PM +0200, Johann Ransay wrote :
> > > Did that go below the radar of the dev team ?
> > 
> > As far as I am concerned, I haven't seen it in my mailbox
> > 
> > Best Regards,
> 

____________________________________________________________________
This e-mail, and any attachments, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information belonging to Planar Systems, Inc.  If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, any attachments thereto, and use of the information contained, is strictly prohibited.  If you have received this e-mail in error, please notify the sender and permanently delete the original and any copy thereof.
______________________________________________________________________




More information about the vlc-devel mailing list