desc: lfo generator
slider1:0.5<0,1,0.001>Strength
slider2:0.25<-1,1,0.001>Offset
slider3:2<0.01,200,0.01>Speed

@slider
  base = 0.064;
  scale = 1 - base;
  strength = slider1;
  center = slider2;
  adj = slider3 / srate;

  
@sample
  sinwave = (0.5 + (sin(pos) / 2));
  sScaled = sinwave * strength;
  sAdjusted = sScaled + center;
  sCurved = sAdjusted ^ 2.3;
  lfo = base + (sCurved * scale);
  
  spl0 = lfo;
  spl1 = lfo;

  pos = pos + adj;
  (pos >= 2.0 * $pi) ? pos = 0;


@gfx 640 400
  gfx_clear = -1;
  gfx_x = -1;
  gfx_y = 0;
  gfx_blit(-1,1,0);
  
  gfx_a = 1;
  gfx_r = 1;
  gfx_g = 1;
  gfx_b = 1;
  
  
  gfx_y = 110 + sAdjusted * -100;
  gfx_x = 200;
  
  gfx_setpixel(1,1,1);
  
  gfx_y = 10; gfx_setpixel(1,1,1);
  gfx_y = 60; gfx_setpixel(1,1,1);
  gfx_y = 110; gfx_setpixel(1,1,1);