Skip to content

Sending values from airZ Engine ​

On air, the graphic's data arrives by name: the operator types a value into the controller, or a data feed sends one, and the property with that name takes it. This page is what the designer needs to know about that.

What happens on air ​

  1. The graphic loads with the values it was saved with: the ones you typed in the Data panel.
  2. The controller, or anything else that drives airZ Engine, sends new values, one property or many at once.
  3. Each value lands on the property of that name. Everything bound to it follows at once, and so does any Animation States condition that reads it.

Nothing about the design changes on air. A property's value changes, and the graphic reacts the way you made it react in the editor.

What each type accepts ​

TypeSendExample
StringText"Jane Doe"
NumberA number. A decimal comma is read as a point42, 3.5, "3,5"
Booleantrue or falsetrue
Color#RRGGBB, or #AARRGGBB with its opacity first"#2F6BD8", "#802F6BD8"
Triggertrue fires ittrue
EnumThe value's name, exactly as the enum lists it, or its position as a number from 0"Live", 2
ImageA picture file, or a live source"smith.png", "input://1"
ListValues for a row, by its positionresults[2]/votes is 1284500

A picture file can be a full path, or a name the server finds in its images folder or its template folder. It is resized to the slot's placeholder size. Live sources are on Live video slots.

An enum value the enum does not have changes nothing: the graphic keeps its value, and airZ Engine notes the names it would have accepted. Keep the enum's values short and easy to type — Live, Break, Off air — since they are what the operator sends.

Not from air

Font and Artboard properties keep the value they were saved with: airZ Engine does not set them. To let the operator switch a look on air, use an enum, and have the Animation States or the bindings follow it.

For whoever wires the graphic in ​

Values travel as JSON, keyed by property name. The same shape works when a graphic is loaded and while it plays:

json
{
  "bindings": {
    "name": "Jane Doe",
    "role": "Presenter",
    "home/score": 2,
    "results[0]/votes": 1284500,
    "accent": "#2F6BD8"
  },
  "triggers": ["takeIn"]
}
  • bindings sets properties. Paths into nested view models use /, list rows use [n] from 0.
  • triggers fires triggers by name.

The commands that carry this JSON are in the airZ Engine manual. The graphic's own bindings.json lists every name and type it accepts: see What export produces.

Designing for values you have not seen ​

The operator will send what the day brings. Before the graphic leaves:

  • Type the worst case into the Data panel: the longest name, a number with more digits than you expect, an empty string. Watch what the artwork does.
  • Format numbers in the graphic, not in the data. A converter turns 1284500 into 1,284,500 and 0.412 into 41.2, so the data feed can send plain numbers.
  • Let text boxes grow or shrink the way the design needs. See Text.
  • Give a list at least one item, so it can grow on air. See Naming properties › Rows of a list.

See also ​

airZ Editor manual