Configuring sign cyclers
Sign cyclers, not to be confused with slide cyclers, allow multiple dynamic signs to
alternate on a configured schedule. They can be nested in a tab group.
See List of signs for more information about the front-end representation. They are
configured in the sign_cyclers section of awesign.yaml.
Example configuration
An example configuration looks like this:
sign_cyclers:
- name: cycler1
start_time: "13:00:15"
duration: 30
transition: fade
keyframes:
0: dynamic_sign1
10: dynamic_sign2
20.5: dynamic_sign3
nameis a unique identifier for the sign cycler. It should be URL-safestart_timeis the optional time of day the sign cycler should start. It must be in the formatHH:MM:SS. This is the "wall clock time" in the local timezone, so it will be correct regardless of daylight savings time. If not specified, defaults to00:00:00(midnight). This isn't too important for cyclers with a duration of an hour or lessdurationis the number of seconds that one cycle should last for. It must be a positive float or integertransitionis an optional animation that will be played between sign switches. Valid options are:none: Abruptly switch to the next sign (default if not specified)fade: Fade between signsslide: Slide the new sign over the previous sign from right to left- More transitions will be added in the future
keyframesis a dictionary of times (in seconds) and dynamic sign names- The
0key is required and represents the start of the sign cycler - Keys must be floats or integers between 0 and
duration. Keys >=durationwill be ignored - Each value is the
namefield of a dynamic sign as configured in dynamic signs
- The
The cycler will start at keyframe 0 at the configured start_time and advance to the next sign at each keyframe time.
Once the duration has elapsed, the cycler will repeat from the beginning.
Explaining the example configuration
In the example configuration:
- At
13:00:15(start_time + 0 seconds),dynamic_sign1will be displayed - At
13:00:25(start_time + 10 seconds), the sign will transition todynamic_sign2 - At
13:00:35.5(start_time + 20.5 seconds), the sign will transition todynamic_sign3 - At
13:00:45(start_time + duration), the sign will transition back todynamic_sign1and the cycle will repeat
An invalid recursive configuration
The following configuration is invalid because the sign cycler "cycler1" references the dynamic sign "dynamic_sign1" which references the sign cycler "cycler1":
dynamic_signs:
- name: dynamic_sign1
type: sign_cycler
data:
sign_cycler: cycler1
sign_cyclers:
- name: cycler1
duration: 60
keyframes:
0: dynamic_sign1
A configuration like this will result in undefined behavior.