def change_all(*colors)
      # ensure that colors is at least and most 80 elements long
      colors = colors.flatten[0..79]
      colors += [0] * (80 - colors.size) if colors.size < 80
      # send normal MIDI message to reset rapid LED change pointer
      # in this case, set mapping mode to x-y layout (the default)
      output(Status::CC, Status::NIL, GridLayout::XY)
      # send colors in slices of 2
      messages = []
      colors.each_slice(2) do |c1, c2|
        messages << message(Status::MULTI, velocity(c1), velocity(c2))
      end
      output_messages(messages)
    end
def change_all(*colors)
      # ensure that colors is at least and most 80 elements long
      colors = colors.flatten[0..79]
      colors += [0] * (80 - colors.size) if colors.size < 80
      # send normal MIDI message to reset rapid LED change pointer
      # in this case, set mapping mode to x-y layout (the default)
      output(Status::CC, Status::NIL, GridLayout::XY)
      # send colors in slices of 2
      messages = []
      colors.each_slice(2) do |c1, c2|
        messages << message(Status::MULTI, velocity(c1), velocity(c2))
      end
      output_messages(messages)
    end
Changes all LEDs in batch mode.

 Parameters (see Launchpad for values):

 [+colors] an array of colors, each either being an integer or a Hash
           * integer: calculated using the formula
             <tt>color = 16 * green + red</tt>
           * Hash:
             [<tt>:red</tt>]   brightness of red LED
             [<tt>:green</tt>] brightness of green LED
             [<tt>:mode</tt>]  button mode, defaults to <tt>:normal</tt>, one of:
                               [<tt>:normal/tt>]     updates the LEDs for all circumstances (the new value will be written to both buffers)
                               [<tt>:flashing/tt>]   updates the LEDs for flashing (the new values will be written to buffer 0 while the LEDs will be off in buffer 1, see buffering_mode)
                               [<tt>:buffering/tt>]  updates the LEDs for the current update_buffer only
           the array consists of 64 colors for the grid buttons,
           8 colors for the scene buttons (top to bottom)
           and 8 colors for the top control buttons (left to right),
           maximum 80 values - excessive values will be ignored,
           missing values will be filled with 0

 Errors raised:

 [Launchpad::NoValidBrightnessError] when brightness values aren't within the valid range
 [Launchpad::NoOutputAllowedError] when output is not enabled