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.