Ticker Command

Lightwing will render professional, presentation quality tickers directly from scripts or RSS channels, in any available font, size, color, with or without font effects and/or drop-shadows with no additional software required. This makes changing ticker content as simple as editing the script. The Ticker command supports limited 3D features as well, including perspective projections and effects. The Ticker command does not support CSV channels.

The mandatory parameters for Ticker commands are a font name and either a constant line of text or a text variable name, which are defined with the type option. There must be a matching font file in the fonts folder with a PVR extension. Font names should also have a size suffix preceded by an underscore. The size suffix specifies the height that the font will be rendered at in pixels.

Many fonts are provided in the Lightwing SDK in sizes 10 through 200 pixels on 10 pixel height increments. The best way to preview and select fonts is to run the TestFonts.lws test script provided in the Lightwing SDK. Refer to the section on Converting Fonts for information on adding new fonts.

    Example of a Page with some Ticker Commands
    
    page: PageName    time: 1, 10
        ticker : OpenSansBold_40    type: "Hello World!"
        ticker: OpenSansRegular_80    type: DateLong
        ticker: GalatiaRegular_100    time 1, 5    rate: 10    loop: on    position: 0, 50    align: CenterCenter    type: "Hello World!"

Special effects can also be applied to fonts. These effects can enhance the appearance of fonts and make them visually more effective. The best way to preview and select font effects is to run the TestFontEffects.lws test script provided in the Lightwing SDK.

Time Option

Defines the start and duration times for the ticker in seconds. If not specified, the default start and duration times will be the same as for the page that this ticker is on. These can be specified as either floating-point values in seconds or integer (sexagesimal) clock time durations. Refer to the Page command for examples.

Start times can be prefixed with a plus symbol (+) which means the new start time is the sum of the specified time and the start time from the previous Ticker command on the same page. This allows Ticker commands to be duplicated in the script without the need to manually add time values.

Fade Option

Defines the time in seconds for ticker to fade-in and fade-out, when it appears and disappears, respectively. Sexagesimal format can not be used here because these animations should never be more than a few seconds at most.

Box Option

Defines the name of an associated box from which many parameters will be inherited as defaults for the ticker. The specified box must precede the ticker on the same page. Inherited parameters include time, position, size, scale, rotate, alignment and touch event options. Any of these can still be overridden with specific command options.

Defines the vertical alignment for the ticker. The horizontal part of the alignment is ignored for tickers.

Text and Ticker Alignments

        Names              Short            Uses
        
        TopLeft                  tl                Left Justified Text    
        TopCenter             tc               Centered Text
        TopRight               tr                Right Justified Text    
        CenterLeft            cl                Left Justified Text    
        CenterCenter       cc               Centered Text
        CenterRight          cr                Right Justified Text
        BottomLeft           bl                Left Justified Text    
        BottomCenter      bc               Centered Text
        BottomRight         br              Right Justified Text

Position Option

Defines the position the ticker will be drawn on the display. The align option also affects this position. The default position for ticker is 0.0, 0.0, 0.0, which is the top left corner of the display and at the front of the coordinate space depth.

Any position coordinate can be prefixed with a plus symbol (+) to define the new position as the sum of the specified coordinate and the same position coordinate from the previous Ticker command on the same page. This allows Ticker commands to be duplicated in the script without the need to manually add position values.

Scale Option

Defines horizontal and vertical scaling factors for the ticker. This can be used to stretch or reduce the font for tickers in either direction. This can also be used to enlarge fonts beyond the sizes at which they are provided in the Lightwing SDK. However, scaling fonts excessively will reduce their quality. The default scaling factors for tickers are 1.0, 1.0, which disables scaling. Lightwing automatically scales all fonts down by half (in both directions) when run windowed on Windows to approximate their size relative to the window. On multi-panel displays, Lightwing automatically scales all fonts up by the vertical number of panels in the display. For example, on an 8 x 2 panel display, font sizes are doubled because the vertical height of the display is 2 panels.

Rotate Option

Defines rotation angles for the ticker in degrees. Up to three floating-point values can be specified, which correspond to rotations on the x, y and z axis, respectively. Positive degree values indicate clockwise rotation, whereas negative values indicate counter-clockwise rotation. The default rotations are 0.0, 0.0, 0.0 degrees. This option should not be used in combination with the jump, call, return or touch options for the Ticker command as rotations will cause misalignment between apparent ticker positions and touch boundaries.

Ortho Option

Defines if the ticker is drawn using an orthographic or perspective projection. This parameter can be specified as off or on. For tickers, this is on by default, so tickers will appear the same size regardless of their depth position. This is best for most tickers, unless an X or Y axis rotation is also applied, in which case a perspective projection can give tickers a 3D appearance. Lightwing does not support perspective text or tickers on multi-panel displays.

Color Option

Defines a color for the ticker. This may include an optional alpha value to blend the ticker with the background. The colors can be specified in one of three different formats, float values with a range of 0.0 to 1.0, integer values with a range of 0 to 255 or as a six or eight digit hexadecimal value preceded with a hash symbol (HTML style). For all of these formats, the ordering of the values is red, green, blue and alpha. The alpha parameter is optional. The default color for tickers is opaque white (1.0, 1.0, 1.0, 1.0 or 255, 255, 255, 255 or #FFFFFFFF).

Type Option

Defines either a constant text string or a variable name to be drawn in the font specified for this ticker. Constant strings must be enclosed within a pair of double quote symbols, “like this”. Double quote symbols can also be used within a constant text string simply by repeating the double quote symbols. If the string does not begin with a double quote, it is assumed to be the name of a text variable and must match one of the variable names supported by Lightwing, which are listed in the table below.

Text variable names are resolved and replaced with information that is current at the time the ticker is drawn. Many of the supported variables have additional requirements. For example, time and date variables depend on the NTP (Network Time Protocol) configuration (in /etc/ntp.conf) which requires an active internet connection and the correct time zone configuration (in /etc/init.d/timezone). Use of any of the RSS variables requires the RSS option to be specified also.

Text and Ticker Variable Names

        Names                                                Examples of Resolved Text
        
        Year                                                     2015
        Month                                                 1
        MonthName                                       January
        Week                                                    1
        Day                                                       1
        DayName                                            Thursday
        Hours12                                              12
        Hours24                                              24
        AmPm                                                  AM
        Minutes                                               10
        Seconds                                               20
        Clock12                                                12:10 AM
        ClockSeconds12                                 12:10:20 AM
        Clock24                                                24:10
        ClockSeconds24                                 24:10:20
        DateFull                                               Thu, Jan 1, 2015
        DateShort                                            Jan 1, 2015
        DateLong                                             Thursday, January 1, 2015
        DateNumeric                                      1/1/2015
        TimeZone                                            CST6CDT
        FramesPerSecond                              60
        Version                                                 1.2
        TouchX                                                 50
        TouchY                                                 50
        TrackControlFloat1                            50.0
        TrackControlFloat2                            50.00
        TrackControlFloat3                            50.000
        TrackControlFloat4                            50.0000
        TrackControlInteger                          50
        TrackControlHex                                ABCDEF00
        RssChannelTitle                                  NPR News         
        RssChannelDescription                     Latest Headlines         
        RssChannelLink                                   http://www.npr.org/rss/rss.php?id=1001         
        RssChannelCopyright                         Copyright 2015 NPR         
        RssChannelItems                                100         
        RssItemTitle                                         Star Trek Returns         
        RssItemDescription                            Space, the final frontier. These are ...         
        RssItemLink                                        http://www.npr.org/star_trek_story/...
        CsvItem                                                 Item
        CsvRow                                                  Item1    Item2    Item3    Item4
        CsvColumn
        CsvBlock

Constant and variable text strings can be up to 1000 characters in length per ticker command. Tickers always use only a single line on the display. They can not wrap. Backslash symbols can be used to break long ticker commands into multiple lines within scripts, but this does not affect how tickers are drawn on the display.

Length Option

Defines the maximum number of characters that will be drawn on the display for a constant or variable ticker. If a ticker exceeds this length, it will be truncated.

RSS Option

Defines the name of an RSS channel that will provide the dynamic data to resolve the RSS variables used by this Ticker command. This RSS channel must have already been established with an RSS command at the top of the script with a matching RSS channel name.

Rate Option

Defines the rate at which a ticker animation scrolls across the display independent of its length. This is specified as a floating-point value. The default scroll rate for tickers is defined by the time it takes to scroll the entire length of the ticker across the entire display once. Therefore, it is affected by the length of the ticker as well as the time duration of the ticker, which defaults to the duration time for the page, if not specified.

This option allows the scroll rate to be defined independent of the ticker length and time duration. A rate value of 1.0 means it will take 100 seconds for the start of the ticker to scroll across the display. A rate value of 10.0 means it will take 10 seconds for the start of the ticker to scroll across the display. A rate value of 100.0 means it will take 1 second for the start of the ticker to scroll across the display. A rate value of 0.0 is valid but means that the ticker will not move at all, so it will be stuck off the display.

Loop Option

Enables or disables repeating a ticker animation continuously. This parameter can be specified as off or on.  It is off by default. When this option is used with a ticker that displays RSS channel information, Lightwing automatically steps the RssItem variables to display the next item from the channel each time the ticker animation completes a loop cycle. This allows a single page to display all the items for an RSS channel, if enough time is available to cycle through all of the items.

Touch Option

Defines the polarity for which touch screen events will be recognized for the ticker. Touch events for tickers have precedence over events for backgrounds and boxes, but can be superseded by events for objects.

This parameter can be specified as on, off, both or dir. The default is on. A touch on event means a finger has made contact with the touch screen. A touch off event means a finger has broken contact with the touch screen. Touch both means that both on and off touch events are recognized. This option requires that a jump, call or return option must also be specified for the page command to define the branch page that will be executed when the touch event is detected.

The dir touch option allows one of several branch pages to be selected based on swipe direction. A touch swipe event is when a finger is dragged on the display at least 10% of the width or height of the display and released. The dominate direction of movement at the point of release selects the branch page. One of four swipe directions can be detected, left, right, top and bottom. This requires that either two or four branch pages be defined for the touch branch option for the page. The best practice is to define all four page names, even if only two are actually needed. The dir option can not be used with the return option.

Touch events are not recognized during page transitions.

      Input Option

Defines the input device(s) from which to accept user input for the ticker. The valid parameters are Touch, Camera or Both. The default value can be defined by an Input command before the first page in the script. Otherwise, the default value is Touch, which requires a display with touch screen capabilities to be connected via USB. Camera means that touch events will be detected based on a motion map generated from the video from a camera. Both will accept touch events from either of these devices. Lightwing always displays status messages upon start up that indicate which of these input devices are actually detected and enabled. Touch screen capabilities are always enabled on Windows because Lightwing emulates this using the mouse input. Camera features are not available on Windows.

Jump Option

Defines a branch page to execute when a touch event occurs on the ticker with the correct polarity. The polarity is defined by the touch option. This feature is only available if a supported touch screen is connected to the Lightwing player and configured properly. This option is similar to the Jump command, except that no branch condition options can be used here.

Call Option

Defines a branch page to execute when a touch event occurs on the ticker with the correct polarity. The polarity is defined by the touch option. This feature is only available if a supported touch screen is connected to the Lightwing player and configured properly. This option is similar to the Call command, except that no branch condition options can be used here.

Return Option

Defines that a branch page from the call stack will be executed when a touch event occurs on the ticker with the correct polarity. The polarity is defined by the touch option. This feature is only available if a supported touch screen is connected to the Lightwing player and configured properly. This option is similar to the Return command, except that no branch condition options can be used here.

Toggle Option

Defines a toggle control which enables and disables the ticker and its touch events. If a toggle control name is specified with this option, the ticker will only be drawn when the toggle control is active, otherwise the ticker is invisible and its touch events are not processed either. This toggle control name must be defined either on the same page or the current global page. However, toggle controls can be defined before or after the Ticker command, provided they are defined on the same page.

Track Option

Defines a track control whose numeric value will be displayed to resolve a track control variable. One of the text variable names which begin with TrackControl must be specified for the Type option, as well. This track control name must have been defined previously on the same page.

Effect Option

Defines an effect to be used to draw the font for a Ticker command instead of the default font effect (Font.pfx). A PFX extension is appended to the end of this name to construct the file name of the effect. Font effects are located in the same folder as image effects, but have file names that begin with Font. Image and font effects are not interchangeable because fonts are stored in a compact 8 bits per pixel format, so only effects that have names beginning with Font can be used with the Ticker commands. A font effect can specify a custom font image, but the font effects supplied in the Lightwing SDK specify Default images, which means the font name given as the first parameter to the Ticker command will be used.

Arg0 Option

Defines effect-specific parameters for a selected font effect for a Ticker command. Up to four floating-point values are passed to the effect to draw the font. The meaning of these values depends on the selected font effect. These parameters are required by some font effects, but ignored by the default font effect. To determine the appropriate values for a particular effect, refer to the notes in the individual effect files.

   Example of a Ticker Command with a Font Effect and Arguments
  
        ticker: GalatiaBold_200    effect: FontColorBlocks    arg0: 1.0, 0.0, 0.0, 1.0    type: "Hello World!"

 

 

<   Text Command                                             Introduction                                            Toggle Command   >