   for(uint8_t x=0; x<COLS; ++x){
     //first row -> turn off the off pixels after propagation of colour
     if(!onPixels[0][x]){
-      new_colors[xy2i(x,0)].setHSV(0,0,0);
+      new_colors[xy2i(x,0)].v = 0; //leave H and S value
     }
   }
 }

  // Let the controller know we're using WS2801 leds, and give a pointer to the current colour array
  LEDS.addLeds<WS2801, RGB>(leds, NUM_LEDS);
  // Limit the brightness somewhat (scale is 0-255)
  LEDS.setBrightness(127);
  
  // Initialise the leds to black (off)
  for(uint8_t i=0; i<NUM_LEDS; ++i){

        new_colors[xy2i(x,y)] = new_colors[xy2i(x,y-1)];
      } else {
        // If off, turn the pixel off (the actual pixel colour has a FO low-pass filter)
        // Leave the hue and saturation intact
        new_colors[xy2i(x,y)].v = 0;
      }
    }
  
