6.6 Lamplists
Typically, groups of lamps are often used for a similar purpose.
A lamplist is an ordered array of lamps that are often controlled together.
Each lamplist has a unique ID, and is internally represented by an array of
the lamp values, terminated by a special lamp code named LAMP_END
.
The lamplist APIs provide convenience whenever many lamps need to be updated
at once.
lamplist_index
-
Return the nth member of a lamplist.
lamplist_first_entry
-
Return the first lamp in a lamplist.
lamplist_last_entry
-
Return the last lamp in a lamplist.
lamplist_previous_entry
-
Return the entry before a given one.
lamplist_next_entry
-
Return the entry after a given one.
lamplist_apply
-
Apply a lamp operator to all members of a lamplist. If a break is
encountered, a pause will occur.
lamplist_apply_nomacro
-
Apply a lamp operator to all members of a lamplist, ignoring breaks.
lamplist_test_all
-
Return true if all members pass a given boolean test. The test operator
lets you apply different test conditions, for example, testing the
lamp's default state versus its flashing state.
lamplist_test_any
-
Return true if any member passes a given boolean test.
lamplist_apply_leff_alternating
-
Alternatively set and clear every member of a lamplist. You can specify
whether the first lamp will be set or cleared. This can only be used inside
lamp effects.
lamplist_step_increment
-
Turn off the lamp that is currently on, and turn on the next one.
lamplist_step_decrement
-
Turn off the lamp that is currently on, and turn on the previous one.
lamplist_build_increment
-
Turn on the first lamp in the list that is not on.
lamplist_build_decrement
-
Turn off the last lamp in the list that is on.
lamplist_rotate_next
-
Rotate the lamp states forward.
lamplist_rotate_previous
-
Rotate the lamp states backward.