sub array of FastLed CRBG array.

I have a long pixel string that I would like to treat as separate multiple arrays. I have read "multiple array controllers" but still don't understand.

FastLED.addLeds<NEOPIXEL, 4>(leds, NUM_LEDS_PER_STRIP);

What is the code for create a new array call newLeds that starts at pixel 12 and goes for 20 more pixels?

From reading that page, I think you are misunderstanding what they are saying.

You need to physically have separate strips.

you do not need separate strips.

create arrays of crgb or chsv objects, then fill the main array with those arrays, eg:
(may have some errors, but you get the general idea)

#define NUM_LEDS 100
 CRGB leds[NUM_LEDS];

 

CRGB zone1[zone1Size];
CRGB zone2[zone2Size];
CRGB zone2[zone3Size];
CRGB zone2[zone4Size];

void setup(){
  FastLED.addLeds<NEOPIXEL, 4>(leds, NUM_LEDS);
} 

loop(){

for(i = 0; i < zone1Size; i++){
 leds[i] = zone1[i];
}
for(i = zone1Size; i< zone1Size + zone2Size; i++){
 leds[i] = zone2[i];
}
for(i = zone2Size; i< zone1Size + zone2Size + zone3Size; i++){
 leds[i] = zone4[i];
}
for(i = zone3Size; i<NUM_LEDS; i++){
 leds[i] = zone4[i];
}
}

Thanks to all the answered.

The answer was provided by Marc Miller on google+ fast led.

CRGBArray<NUM_LEDS> leds;
CRGBset beginning(leds(1,10)); //set custom ranges
CRGBset middle(leds(11,20));
CRGBset end(leds(21,30));

CRGB colorBeginning(0,0,0); //give names to colors
CRGB colorMiddle(255,0,0);
CRGB colorEnd = CRGB::Black;

Then in the main loop you can do something like:

beginning = colorBeginning;
middle = colorMiddle;
end = colorEnd;
FastLED.show();