FastLED(3.1) patterns-need help finding some good ones and good code to try

I am trying to find or make new code with FastLED 3.1 or something to add to my existing code for a strip of WS2812s, for more patterns and make a longer sequence, but every time I try and find some new code to add or pattern, it seems like the person has done it in a completely different way and written it entirely different so that I can't use it or the variables are defined differently so arduino hates it. Any suggestions on where to find good code for use with this, my existing code? Or where a good resource is for coding and learning FastLED 3.1? My code is just using the DemoReel100 example and playing with the parameters for speed and size of patterns, which is cool but short and simple. Like I said, Ive tried looking at videos but there a few different library versions like the old SPI or using Neopixel instead of FastLED. I like what I have, just wanted to have some new stuff. Ive tried learning to write my own, but it doesn't work with the base that I've started here, not sure what to do. Just looking for advice on where I should turn to learn or what I should be using if FastLED is not the way to go.

#include <FastLED.h>

FASTLED_USING_NAMESPACE

#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)
#warning "Requires FastLED 3.1 or later; check github for latest code."
#endif

#define DATA_PIN 7
//#define CLK_PIN 4
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
#define NUM_LEDS 300
CRGB leds[NUM_LEDS];

#define BRIGHTNESS 80
#define FRAMES_PER_SECOND 120

void setup() { FastLED.addLeds<NEOPIXEL, 6>(leds, 60); }
delay(3000; // 3 second delay for recovery

// tell FastLED about the LED strip configuration
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);

// set master brightness control
FastLED.setBrightness(BRIGHTNESS);
}

// List of patterns to cycle through. Each is defined as a separate function below.
typedef void (*SimplePatternList[])();
SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm };

uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current
uint8_t gHue = 0; // rotating "base color" used by many of the patterns

void loop()
{
// Call the current pattern function once, updating the 'leds' array
gPatternsgCurrentPatternNumber;

// send the 'leds' array out to the actual LED strip
FastLED.show();
// insert a delay to keep the framerate modest
FastLED.delay(1000/FRAMES_PER_SECOND);

// do some periodic updates
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically
}

#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))

void nextPattern()
{
// add one to the current pattern number, and wrap around at the end
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);
}

void rainbow()
{
// FastLED's built-in rainbow generator
fill_rainbow( leds, NUM_LEDS, gHue, 25);
}

void rainbowWithGlitter()
{
// built-in FastLED rainbow, plus some random sparkly glitter
rainbow();
addGlitter(150);
}

void addGlitter( fract8 chanceOfGlitter)
{
if( random8() < chanceOfGlitter) {
leds[ random16(NUM_LEDS) ] += CRGB::White;
}
}

void confetti()
{
// random colored speckles that blink in and fade smoothly
fadeToBlackBy( leds, NUM_LEDS, 100);
int pos = random16(NUM_LEDS);
leds[pos] += CHSV( gHue + random8(64), 200, 255);
}

void sinelon()
{
// a colored dot sweeping back and forth, with fading trails
fadeToBlackBy( leds, NUM_LEDS, 20);
int pos = beatsin16( 13, 0, NUM_LEDS-1 );
leds[pos] += CHSV( gHue, 255, 192);
}

void bpm()
{
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)
uint8_t BeatsPerMinute = 62;
CRGBPalette16 palette = PartyColors_p;
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);
for( int i = 0; i < NUM_LEDS; i++) { //9948
leds = ColorFromPalette(palette, gHue+(i2), beat-gHue+(i10));

  • }*
    }
    void juggle() {
  • // eight colored dots, weaving in and out of sync with each other*
  • fadeToBlackBy( leds, NUM_LEDS, 20);*
  • byte dothue = 0;*
  • for( int i = 0; i < 8; i++)*
  • leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);*
  • dothue += 32;*
  • }*

Unfortunately changes are common, especially since each writer thinks differently.

It's a good idea to use a library that has a higher version, or a better-known publisher (maybe Adafruit).

Many libraries have been abandoned, but I think learning how to edit a library is always useful if you want to continue in this field. If you are only going to do this for some school work, then try to get some help in a library repository, always have people who are friendly and willing to help.

Adafruit NeoPixel