Next: , Previous: Sound and Music Effects, Up: Effects


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.