// generated by Fast Light User Interface Designer (fluid) version 1.0300

#include "/build/infamousplugins/src/build/src/lushlife/lushlife_ui.h"

void LushLifeUI::cb_activate0_i(Button*, void*) {
  if(activate0->value())
{
  if(pangainhide->value())
    gp0->activate();
  if(pitchdelayhide->value())
  {
    pd0->activate();
    if(delayfreq0->value())
      pdxb0->activate();
    if(pitchfreq0->value())
      pdyb0->activate();
  }
  message->copy_label("Channel 1          Active", RGBAsciiDisplay::RED_COLOR);
}
else
{
    gp0->deactivate();
    pd0->deactivate();
    pdxb0->deactivate();
    pdyb0->deactivate();
    message->copy_label("Channel 1           Off", RGBAsciiDisplay::RED_COLOR);
}
write_function(controller,ACTIVE0,sizeof(float),0,&activate0->floatvalue);
graph->redraw();
}
void LushLifeUI::cb_activate0(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_activate0_i(o,v);
}

void LushLifeUI::cb_activate1_i(Button*, void*) {
  if(activate1->value())
{
  if(pangainhide->value())
    gp1->activate();
  if(pitchdelayhide->value())
  {
    pd1->activate();
    if(delayfreq1->value())
      pdxb1->activate();
    if(pitchfreq1->value())
      pdyb1->activate();
  }
    message->copy_label("Channel 2          Active", RGBAsciiDisplay::BLUE_COLOR);
}
else
{
    gp1->deactivate();
    pd1->deactivate();
    pdxb1->deactivate();
    pdyb1->deactivate();
    message->copy_label("Channel 2           Off", RGBAsciiDisplay::BLUE_COLOR);
}
write_function(controller,ACTIVE1,sizeof(float),0,&activate1->floatvalue);
graph->redraw();
}
void LushLifeUI::cb_activate1(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_activate1_i(o,v);
}

void LushLifeUI::cb_activate2_i(Button*, void*) {
  if(activate2->value())
{
  if(pangainhide->value())
    gp2->activate();
  if(pitchdelayhide->value())
  {
    pd2->activate();
    if(delayfreq2->value())
      pdxb2->activate();
    if(pitchfreq2->value())
      pdyb2->activate();
  }
    message->copy_label("Channel 3          Active", RGBAsciiDisplay::YELLOW_COLOR);
}
else
{
    gp2->deactivate();
    pd2->deactivate();
    pdxb2->deactivate();
    pdyb2->deactivate();
    message->copy_label("Channel 3           Off", RGBAsciiDisplay::YELLOW_COLOR);
}
write_function(controller,ACTIVE2,sizeof(float),0,&activate2->floatvalue);
graph->redraw();
}
void LushLifeUI::cb_activate2(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_activate2_i(o,v);
}

void LushLifeUI::cb_activate3_i(Button*, void*) {
  if(activate3->value())
{
  if(pangainhide->value())
    gp3->activate();
  if(pitchdelayhide->value())
  {
    pd3->activate();
    if(delayfreq3->value())
      pdxb3->activate();
    if(pitchfreq3->value())
      pdyb3->activate();
  }
    message->copy_label("Channel 4          Active", RGBAsciiDisplay::GREEN_COLOR);
}
else
{
    gp3->deactivate();
    pd3->deactivate();
    pdxb3->deactivate();
    pdyb3->deactivate();
    message->copy_label("Channel 4           Off", RGBAsciiDisplay::GREEN_COLOR);
}
write_function(controller,ACTIVE3,sizeof(float),0,&activate3->floatvalue);
graph->redraw();
}
void LushLifeUI::cb_activate3(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_activate3_i(o,v);
}

void LushLifeUI::cb_activate4_i(Button*, void*) {
  if(activate4->value())
{
  if(pangainhide->value())
    gp4->activate();
  if(pitchdelayhide->value())
  {
    pd4->activate();
    if(delayfreq4->value())
      pdxb4->activate();
    if(pitchfreq4->value())
      pdyb4->activate();
  }
    message->copy_label("Channel 5          Active", RGBAsciiDisplay::ORANGE_COLOR);
}
else
{
    gp4->deactivate();
    pd4->deactivate();
    pdxb4->deactivate();
    pdyb4->deactivate();
    message->copy_label("Channel 5           Off", RGBAsciiDisplay::ORANGE_COLOR);
}
write_function(controller,ACTIVE4,sizeof(float),0,&activate4->floatvalue);
graph->redraw();
}
void LushLifeUI::cb_activate4(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_activate4_i(o,v);
}

void LushLifeUI::cb_activate5_i(Button*, void*) {
  if(activate5->value())
{
  if(pangainhide->value())
    gp5->activate();
  if(pitchdelayhide->value())
  {
    pd5->activate();
    if(delayfreq5->value())
      pdxb5->activate();
    if(pitchfreq5->value())
      pdyb5->activate();
  }
    message->copy_label("dbl6          Active", RGBAsciiDisplay::PURPLE_COLOR);
}
else
{
    gp5->deactivate();
    pd5->deactivate();
    pdxb5->deactivate();
    pdyb5->deactivate();
    message->copy_label("dbl6             Off", RGBAsciiDisplay::PURPLE_COLOR);
}
write_function(controller,ACTIVE5,sizeof(float),0,&activate5->floatvalue);
}
void LushLifeUI::cb_activate5(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_activate5_i(o,v);
}

void LushLifeUI::cb_sync_i(Button*, void*) {
  write_function(controller,SYNCLFO,sizeof(float),0,&sync->floatvalue);
message->copy_label("LFOs Sync'd", RGBAsciiDisplay::WHITE_COLOR);
}
void LushLifeUI::cb_sync(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_sync_i(o,v);
}

void LushLifeUI::cb_pangainhide_i(Button*, void*) {
  if(pangainhide->value())
{
  drygp->activate();
  if(activate0->value())
    gp0->activate();
  if(activate1->value())
    gp1->activate(); 
  if(activate2->value())
    gp2->activate(); 
  if(activate3->value())
    gp3->activate();  
  if(activate4->value())
    gp4->activate();  
  if(activate5->value())
    gp5->activate();
}
else
{
  pitchdelayhide->value(1); 
  drygp->deactivate(); 
  gp0->deactivate();
  gp1->deactivate(); 
  gp2->deactivate(); 
  gp3->deactivate();  
  gp4->deactivate();  
  gp5->deactivate();
 
  if(activate0->value())
    pd0->activate();
  if(activate1->value())
    pd1->activate(); 
  if(activate2->value())
    pd2->activate(); 
  if(activate3->value())
    pd3->activate();  
  if(activate4->value())
    pd4->activate();  
  if(activate5->value())
    pd5->activate();
  
  if(activate0->value() && delayfreq0->value())
    pdxb0->activate();
  if(activate1->value() && delayfreq1->value())
    pdxb1->activate(); 
  if(activate2->value() && delayfreq2->value())
    pdxb2->activate(); 
  if(activate3->value() && delayfreq3->value())
    pdxb3->activate();  
  if(activate4->value() && delayfreq4->value())
    pdxb4->activate();  
  if(activate5->value() && delayfreq5->value())
    pdxb5->activate(); 
   
  if(activate0->value() && pitchfreq0->value())
    pdyb0->activate();
  if(activate1->value() && pitchfreq1->value())
    pdyb1->activate(); 
  if(activate2->value() && pitchfreq2->value())
    pdyb2->activate(); 
  if(activate3->value() && pitchfreq3->value())
    pdyb3->activate();  
  if(activate4->value() && pitchfreq4->value())
    pdyb4->activate();  
  if(activate5->value() && pitchfreq5->value())
    pdyb5->activate();
}
graph->redraw();
}
void LushLifeUI::cb_pangainhide(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pangainhide_i(o,v);
}

void LushLifeUI::cb_pitchdelayhide_i(Button*, void*) {
  if(pitchdelayhide->value())
{
  if(activate0->value())
    pd0->activate();
  if(activate1->value())
    pd1->activate(); 
  if(activate2->value())
    pd2->activate(); 
  if(activate3->value())
    pd3->activate();  
  if(activate4->value())
    pd4->activate();  
  if(activate5->value())
    pd5->activate();
  
  if(activate0->value())
    pdxb0->activate();
  if(activate1->value())
    pdxb1->activate(); 
  if(activate2->value())
    pdxb2->activate(); 
  if(activate3->value())
    pdxb3->activate();  
  if(activate4->value())
    pdxb4->activate();  
  if(activate5->value())
    pdxb5->activate(); 
   
  if(activate0->value())
    pdyb0->activate();
  if(activate1->value())
    pdyb1->activate(); 
  if(activate2->value())
    pdyb2->activate(); 
  if(activate3->value())
    pdyb3->activate();  
  if(activate4->value())
    pdyb4->activate();  
  if(activate5->value())
    pdyb5->activate();
}
else
{
  pangainhide->value(1);
  pd0->deactivate();
  pd1->deactivate(); 
  pd2->deactivate(); 
  pd3->deactivate();  
  pd4->deactivate();  
  pd5->deactivate(); 
  
  pdxb0->deactivate();
  pdxb1->deactivate(); 
  pdxb2->deactivate(); 
  pdxb3->deactivate();  
  pdxb4->deactivate();  
  pdxb5->deactivate(); 
   
  pdyb0->deactivate();
  pdyb1->deactivate(); 
  pdyb2->deactivate(); 
  pdyb3->deactivate();  
  pdyb4->deactivate();  
  pdyb5->deactivate();

  drygp->activate();
  if(activate0->value())
    gp0->activate();
  if(activate1->value())
    gp1->activate(); 
  if(activate2->value())
    gp2->activate(); 
  if(activate3->value())
    gp3->activate();  
  if(activate4->value())
    gp4->activate();  
  if(activate5->value())
    gp5->activate();
  
}
graph->redraw();
}
void LushLifeUI::cb_pitchdelayhide(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchdelayhide_i(o,v);
}

void LushLifeUI::cb_logo_i(Button*, void*) {
  //randomize everything
float tmp;

mastergain->value(.5);//lower gain so that it doesn't randomly blast you
mastergain->do_callback();

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)drygp,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = 2*tmp - 1;
XYhandle::set_ffffltk_valuex((void*)drygp,tmp);

tmp = rand()/(float)RAND_MAX;
shape->value(tmp);
shape->floatvalue = tmp;
shape->do_callback();

//woosh 0
tmp = rand()/(float)RAND_MAX;
pitchfreq0->value(tmp);
pitchfreq0->floatvalue = tmp;
pitchfreq0->do_callback();

tmp = rand()/(float)RAND_MAX;
delayfreq0->value(tmp);
delayfreq0->floatvalue = tmp;
delayfreq0->do_callback();

tmp = rand()/(float)RAND_MAX;
tmp = tmp*75;
XBound::set_ffffltk_value((void*)pdxb0,tmp);

tmp = rand()/(float)RAND_MAX; 
tmp = tmp*100;
YBound::set_ffffltk_value((void*)pdyb0,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*200 - 100;
XYhandle::set_ffffltk_valuey((void*)pd0,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*150;
XYhandle::set_ffffltk_valuex((void*)pd0,tmp);

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)gp0,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*2 -1;
XYhandle::set_ffffltk_valuex((void*)gp0,tmp);

tmp = rand()/(float)RAND_MAX;
activate0->value(tmp<.5);
activate0->floatvalue = tmp<.5;
activate0->do_callback();


//woosh 1
tmp = rand()/(float)RAND_MAX;
pitchfreq1->value(tmp);
pitchfreq1->floatvalue = tmp;
pitchfreq1->do_callback();

tmp = rand()/(float)RAND_MAX;
delayfreq1->value(tmp);
delayfreq1->floatvalue = tmp;
delayfreq1->do_callback();

tmp = rand()/(float)RAND_MAX;
tmp = tmp*75;
XBound::set_ffffltk_value((void*)pdxb1,tmp);

tmp = rand()/(float)RAND_MAX; 
tmp = tmp*100;
YBound::set_ffffltk_value((void*)pdyb1,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*200 - 100;
XYhandle::set_ffffltk_valuey((void*)pd1,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*150;
XYhandle::set_ffffltk_valuex((void*)pd1,tmp);

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)gp1,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*2 -1;
XYhandle::set_ffffltk_valuex((void*)gp1,tmp);

tmp = rand()/(float)RAND_MAX;
activate1->value(tmp<.5);
activate1->floatvalue = tmp<.5;
activate1->do_callback();


//woosh 2
tmp = rand()/(float)RAND_MAX;
pitchfreq2->value(tmp);
pitchfreq2->floatvalue = tmp;
pitchfreq2->do_callback();

tmp = rand()/(float)RAND_MAX;
delayfreq2->value(tmp);
delayfreq2->floatvalue = tmp;
delayfreq2->do_callback();

tmp = rand()/(float)RAND_MAX;
tmp = tmp*75;
XBound::set_ffffltk_value((void*)pdxb2,tmp);

tmp = rand()/(float)RAND_MAX; 
tmp = tmp*100;
YBound::set_ffffltk_value((void*)pdyb2,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*200 - 100;
XYhandle::set_ffffltk_valuey((void*)pd2,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*150;
XYhandle::set_ffffltk_valuex((void*)pd2,tmp);

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)gp2,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*2 -1;
XYhandle::set_ffffltk_valuex((void*)gp2,tmp);

tmp = rand()/(float)RAND_MAX;
activate2->value(tmp<.5);
activate2->floatvalue = tmp<.5;
activate2->do_callback();

//woosh 3
tmp = rand()/(float)RAND_MAX;
pitchfreq3->value(tmp);
pitchfreq3->floatvalue = tmp;
pitchfreq3->do_callback();

tmp = rand()/(float)RAND_MAX;
delayfreq3->value(tmp);
delayfreq3->floatvalue = tmp;
delayfreq3->do_callback();

tmp = rand()/(float)RAND_MAX;
tmp = tmp*75;
XBound::set_ffffltk_value((void*)pdxb3,tmp);

tmp = rand()/(float)RAND_MAX; 
tmp = tmp*100;
YBound::set_ffffltk_value((void*)pdyb3,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*200 - 100;
XYhandle::set_ffffltk_valuey((void*)pd3,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*150;
XYhandle::set_ffffltk_valuex((void*)pd3,tmp);

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)gp3,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*2 -1;
XYhandle::set_ffffltk_valuex((void*)gp3,tmp);

tmp = rand()/(float)RAND_MAX;
activate3->value(tmp<.5);
activate3->floatvalue = tmp<.5;
activate3->do_callback();


//woosh 4
tmp = rand()/(float)RAND_MAX;
pitchfreq4->value(tmp);
pitchfreq4->floatvalue = tmp;
pitchfreq4->do_callback();

tmp = rand()/(float)RAND_MAX;
delayfreq4->value(tmp);
delayfreq4->floatvalue = tmp;
delayfreq4->do_callback();

tmp = rand()/(float)RAND_MAX;
tmp = tmp*75;
XBound::set_ffffltk_value((void*)pdxb4,tmp);

tmp = rand()/(float)RAND_MAX; 
tmp = tmp*100;
YBound::set_ffffltk_value((void*)pdyb4,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*200 - 100;
XYhandle::set_ffffltk_valuey((void*)pd4,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*150;
XYhandle::set_ffffltk_valuex((void*)pd4,tmp);

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)gp4,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*2 -1;
XYhandle::set_ffffltk_valuex((void*)gp4,tmp);

tmp = rand()/(float)RAND_MAX;
activate4->value(tmp<.5);
activate4->floatvalue = tmp<.5;
activate4->do_callback();


//woosh 5
tmp = rand()/(float)RAND_MAX;
pitchfreq5->value(tmp);
pitchfreq5->floatvalue = tmp;
pitchfreq5->do_callback();

tmp = rand()/(float)RAND_MAX;
delayfreq5->value(tmp);
delayfreq5->floatvalue = tmp;
delayfreq5->do_callback();

tmp = rand()/(float)RAND_MAX;
tmp = tmp*75;
XBound::set_ffffltk_value((void*)pdxb5,tmp);

tmp = rand()/(float)RAND_MAX; 
tmp = tmp*100;
YBound::set_ffffltk_value((void*)pdyb5,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*200 - 100;
XYhandle::set_ffffltk_valuey((void*)pd5,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*150;
XYhandle::set_ffffltk_valuex((void*)pd5,tmp);

tmp = rand()/(float)RAND_MAX;
XYhandle::set_ffffltk_valuey((void*)gp5,tmp);

tmp = rand()/(float)RAND_MAX;
tmp = tmp*2 -1;
XYhandle::set_ffffltk_valuex((void*)gp5,tmp);

tmp = rand()/(float)RAND_MAX;
activate5->value(tmp<.5);
activate5->floatvalue = tmp<.5;
activate5->do_callback();


message->copy_label("- * - INFAMOUS AGAIN - * -",RGBAsciiDisplay::WHITE_COLOR);
graph->redraw();
}
void LushLifeUI::cb_logo(Button* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_logo_i(o,v);
}

void LushLifeUI::cb_mastergain_i(Dial*, void*) {
  write_function(controller,GAIN,sizeof(float),0,&mastergain->floatvalue);
char s[30];
sprintf(s,"Master Gain %14.4f",mastergain->floatvalue);
message->copy_label(s, RGBAsciiDisplay::WHITE_COLOR);
}
void LushLifeUI::cb_mastergain(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_mastergain_i(o,v);
}

void LushLifeUI::cb_pitchfreq0_i(Dial*, void*) {
  pitchfreq0->floatvalue*=pitchfreq0->floatvalue;
pitchfreq0->floatvalue*=5;
write_function(controller,SLFOF0,sizeof(float),0,&pitchfreq0->floatvalue);
char s[30];
if(!pitchfreq0->floatvalue)
{
  pdyb0->deactivate();
  sprintf(s,"Detune LFO          Off");
}
else
{
  if(pd0->active())
    pdyb0->activate();
  sprintf(s,"Detune LFO Freq  %6.3f Hz",pitchfreq0->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::RED_COLOR);
}
void LushLifeUI::cb_pitchfreq0(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchfreq0_i(o,v);
}

void LushLifeUI::cb_pitchfreq1_i(Dial*, void*) {
  pitchfreq1->floatvalue*=pitchfreq1->floatvalue;
pitchfreq1->floatvalue*=5;
write_function(controller,SLFOF1,sizeof(float),0,&pitchfreq1->floatvalue);
char s[30];
if(!pitchfreq1->floatvalue)
{
  pdyb1->deactivate();
  sprintf(s,"Detune LFO          Off");
}
else
{
  if(pd1->active())
    pdyb1->activate();
  sprintf(s,"Detune LFO Freq  %6.3f Hz",pitchfreq1->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::BLUE_COLOR);
}
void LushLifeUI::cb_pitchfreq1(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchfreq1_i(o,v);
}

void LushLifeUI::cb_pitchfreq2_i(Dial*, void*) {
  pitchfreq2->floatvalue*=pitchfreq2->floatvalue;
pitchfreq2->floatvalue*=5;
write_function(controller,SLFOF2,sizeof(float),0,&pitchfreq2->floatvalue);
char s[30];
if(!pitchfreq2->floatvalue)
{
  pdyb2->deactivate();
  sprintf(s,"Detune LFO          Off");
}
else
{
  if(pd2->active())
    pdyb2->activate();
  sprintf(s,"Detune LFO Freq  %6.3f Hz",pitchfreq2->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::YELLOW_COLOR);
}
void LushLifeUI::cb_pitchfreq2(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchfreq2_i(o,v);
}

void LushLifeUI::cb_pitchfreq3_i(Dial*, void*) {
  pitchfreq3->floatvalue*=pitchfreq3->floatvalue;
pitchfreq3->floatvalue*=5;
write_function(controller,SLFOF3,sizeof(float),0,&pitchfreq3->floatvalue);
char s[30];
if(!pitchfreq3->floatvalue)
{
  pdyb3->deactivate();
  sprintf(s,"Detune LFO          Off");
}
else
{
  if(pd3->active())
    pdyb3->activate();
  sprintf(s,"Detune LFO Freq  %6.3f Hz",pitchfreq3->floatvalue);
}    
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::GREEN_COLOR);
}
void LushLifeUI::cb_pitchfreq3(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchfreq3_i(o,v);
}

void LushLifeUI::cb_pitchfreq4_i(Dial*, void*) {
  pitchfreq4->floatvalue*=pitchfreq4->floatvalue;
pitchfreq4->floatvalue*=5;
write_function(controller,SLFOF4,sizeof(float),0,&pitchfreq4->floatvalue);
char s[30];
if(!pitchfreq4->floatvalue)
{
  pdyb4->deactivate();
  sprintf(s,"Detune LFO          Off");
}
else
{
  if(pd4->active())
    pdyb4->activate();
  sprintf(s,"Detune LFO Freq  %6.3f Hz",pitchfreq4->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::ORANGE_COLOR);
}
void LushLifeUI::cb_pitchfreq4(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchfreq4_i(o,v);
}

void LushLifeUI::cb_pitchfreq5_i(Dial*, void*) {
  pitchfreq5->floatvalue*=pitchfreq5->floatvalue;
pitchfreq5->floatvalue*=5;
write_function(controller,SLFOF5,sizeof(float),0,&pitchfreq5->floatvalue);
char s[30];
if(!pitchfreq5->floatvalue)
{
  pdyb5->deactivate();
  sprintf(s,"Detune LFO          Off");
}
else
{
  if(pd5->active())
    pdyb5->activate();
  sprintf(s,"Detune LFO Freq  %6.3f Hz",pitchfreq5->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::PURPLE_COLOR);
}
void LushLifeUI::cb_pitchfreq5(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_pitchfreq5_i(o,v);
}

void LushLifeUI::cb_delayfreq0_i(Dial*, void*) {
  delayfreq0->floatvalue*=delayfreq0->floatvalue;
delayfreq0->floatvalue*=1;
write_function(controller,DLFOF0,sizeof(float),0,&delayfreq0->floatvalue);
char s[30];
if(!delayfreq0->floatvalue)
{
  pdxb0->deactivate();
  sprintf(s,"Delay LFO           Off");
}
else 
{
  if(pd0->active())
    pdxb0->activate();
  sprintf(s,"Delay LFO Freq   %6.3f Hz",delayfreq0->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::RED_COLOR);
}
void LushLifeUI::cb_delayfreq0(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_delayfreq0_i(o,v);
}

void LushLifeUI::cb_delayfreq1_i(Dial*, void*) {
  delayfreq1->floatvalue*=delayfreq1->floatvalue;
delayfreq1->floatvalue*=1;
write_function(controller,DLFOF1,sizeof(float),0,&delayfreq1->floatvalue);
char s[30];
if(!delayfreq1->floatvalue)
{
  pdxb1->deactivate();
  sprintf(s,"Delay LFO           Off");
}
else
{
  if(pd1->active())
    pdxb1->activate();
  sprintf(s,"Delay LFO Freq   %6.3f Hz",delayfreq1->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::BLUE_COLOR);
}
void LushLifeUI::cb_delayfreq1(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_delayfreq1_i(o,v);
}

void LushLifeUI::cb_delayfreq2_i(Dial*, void*) {
  delayfreq2->floatvalue*=delayfreq2->floatvalue;
delayfreq2->floatvalue*=1;
write_function(controller,DLFOF2,sizeof(float),0,&delayfreq2->floatvalue);
char s[30];
if(!delayfreq2->floatvalue)
{
  pdxb2->deactivate();
  sprintf(s,"Delay LFO           Off");
}
else
{
  if(pd2->active())
    pdxb2->activate();
  sprintf(s,"Delay LFO Freq   %6.3f Hz",delayfreq2->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::YELLOW_COLOR);
}
void LushLifeUI::cb_delayfreq2(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_delayfreq2_i(o,v);
}

void LushLifeUI::cb_delayfreq3_i(Dial*, void*) {
  delayfreq3->floatvalue*=delayfreq3->floatvalue;
delayfreq3->floatvalue*=1;
write_function(controller,DLFOF3,sizeof(float),0,&delayfreq3->floatvalue);
char s[30];
if(!delayfreq3->floatvalue)
{
  pdxb3->deactivate();
  sprintf(s,"Delay LFO           Off");
}
else
{
  if(pd3->active())
     pdxb3->activate();
  sprintf(s,"Delay LFO Freq   %6.3f Hz",delayfreq3->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::GREEN_COLOR);
}
void LushLifeUI::cb_delayfreq3(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_delayfreq3_i(o,v);
}

void LushLifeUI::cb_delayfreq4_i(Dial*, void*) {
  delayfreq4->floatvalue*=delayfreq4->floatvalue;
delayfreq4->floatvalue*=1;
write_function(controller,DLFOF4,sizeof(float),0,&delayfreq4->floatvalue);
char s[30];
if(!delayfreq4->floatvalue)
{
  pdxb4->deactivate();
  sprintf(s,"Delay LFO           Off");
}
else
{
  if(pd4->active())
    pdxb4->activate();
  sprintf(s,"Delay LFO Freq   %6.3f Hz",delayfreq4->floatvalue);
}  
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::ORANGE_COLOR);
}
void LushLifeUI::cb_delayfreq4(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_delayfreq4_i(o,v);
}

void LushLifeUI::cb_delayfreq5_i(Dial*, void*) {
  delayfreq5->floatvalue*=delayfreq5->floatvalue;
delayfreq5->floatvalue*=1;
write_function(controller,DLFOF5,sizeof(float),0,&delayfreq5->floatvalue);
char s[30];
if(!delayfreq5->floatvalue)
{
  pdxb5->deactivate();
  sprintf(s,"Delay LFO           Off");
}
else
{
   if(pd5->active())
     pdxb5->activate();
  sprintf(s,"Delay LFO Freq   %6.3f Hz",delayfreq5->floatvalue);
}
graph->redraw();
message->copy_label(s, RGBAsciiDisplay::PURPLE_COLOR);
}
void LushLifeUI::cb_delayfreq5(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_delayfreq5_i(o,v);
}

void LushLifeUI::cb_shape_i(Dial*, void*) {
  write_function(controller,LFOSHAPE,sizeof(float),0,&shape->floatvalue);
char s[30];
sprintf(s,"LFO Shape %16.4f",shape->floatvalue);
message->copy_label(s, RGBAsciiDisplay::WHITE_COLOR);
}
void LushLifeUI::cb_shape(Dial* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->user_data()))->cb_shape_i(o,v);
}

void LushLifeUI::cb_drygp_i(XYhandle*, void*) {
  write_function(controller,DRY_GAIN,sizeof(float),0,&drygp->floatvaluey);
write_function(controller,DRY_PAN,sizeof(float),0,&drygp->floatvaluex);
char s[30];
sprintf(s,"Dry Gain %4.3f, Pan %5.3f",drygp->floatvaluey,drygp->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::WHITE_COLOR);
}
void LushLifeUI::cb_drygp(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_drygp_i(o,v);
}

void LushLifeUI::cb_gp0_i(XYhandle*, void*) {
  write_function(controller,GAIN0,sizeof(float),0,&gp0->floatvaluey);
write_function(controller,PAN0,sizeof(float),0,&gp0->floatvaluex);
char s[30];
sprintf(s,"Gain  %4.3f,   Pan  %5.3f",gp0->floatvaluey,gp0->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::RED_COLOR);
}
void LushLifeUI::cb_gp0(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_gp0_i(o,v);
}

void LushLifeUI::cb_gp1_i(XYhandle*, void*) {
  write_function(controller,GAIN1,sizeof(float),0,&gp1->floatvaluey);
write_function(controller,PAN1,sizeof(float),0,&gp1->floatvaluex);
char s[30];
sprintf(s,"Gain  %4.3f,   Pan  %5.3f",gp1->floatvaluey,gp1->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::BLUE_COLOR);
}
void LushLifeUI::cb_gp1(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_gp1_i(o,v);
}

void LushLifeUI::cb_gp2_i(XYhandle*, void*) {
  write_function(controller,GAIN2,sizeof(float),0,&gp2->floatvaluey);
write_function(controller,PAN2,sizeof(float),0,&gp2->floatvaluex);
char s[30];
sprintf(s,"Gain  %4.3f,   Pan  %5.3f",gp2->floatvaluey,gp2->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::YELLOW_COLOR);
}
void LushLifeUI::cb_gp2(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_gp2_i(o,v);
}

void LushLifeUI::cb_gp3_i(XYhandle*, void*) {
  write_function(controller,GAIN3,sizeof(float),0,&gp3->floatvaluey);
write_function(controller,PAN3,sizeof(float),0,&gp3->floatvaluex);
char s[30];
sprintf(s,"Gain  %4.3f,   Pan  %5.3f",gp3->floatvaluey,gp3->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::GREEN_COLOR);
}
void LushLifeUI::cb_gp3(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_gp3_i(o,v);
}

void LushLifeUI::cb_gp4_i(XYhandle*, void*) {
  write_function(controller,GAIN4,sizeof(float),0,&gp4->floatvaluey);
write_function(controller,PAN4,sizeof(float),0,&gp4->floatvaluex);
char s[30];
sprintf(s,"Gain  %4.3f,   Pan  %5.3f",gp4->floatvaluey,gp4->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::ORANGE_COLOR);
}
void LushLifeUI::cb_gp4(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_gp4_i(o,v);
}

void LushLifeUI::cb_gp5_i(XYhandle*, void*) {
  write_function(controller,GAIN5,sizeof(float),0,&gp5->floatvaluey);
write_function(controller,PAN5,sizeof(float),0,&gp5->floatvaluex);
char s[30];
sprintf(s,"Gain  %4.3f,   Pan  %5.3f",gp5->floatvaluey,gp5->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::PURPLE_COLOR);
}
void LushLifeUI::cb_gp5(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_gp5_i(o,v);
}

void LushLifeUI::cb_pd0_i(XYhandle*, void*) {
  p0 = pd0->floatvaluey / 100;
write_function(controller,SHIFT0,sizeof(float),0,&p0);
write_function(controller,DELAY0,sizeof(float),0,&pd0->floatvaluex);
//move bounds
pdxb0->update_position();
pdyb0->update_position();
char s[30];
sprintf(s,"Dtn %5.1f cnt, Dly %5.1fms",pd0->floatvaluey,pd0->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::RED_COLOR);
}
void LushLifeUI::cb_pd0(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pd0_i(o,v);
}

void LushLifeUI::cb_pdxb0_i(XBound*, void*) {
  write_function(controller,DLFOA0,sizeof(float),0,&pdxb0->floatvalue);
char s[30];
sprintf(s,"Delay LFO Amplitude %6.2f",pdxb0->floatvalue);
message->copy_label(s, RGBAsciiDisplay::RED_COLOR);
}
void LushLifeUI::cb_pdxb0(XBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdxb0_i(o,v);
}

void LushLifeUI::cb_pdyb0_i(YBound*, void*) {
  pos0 = pdyb0->floatvalue/100;//convert to semitones
write_function(controller,SLFOA0,sizeof(float),0,&pos0);
char s[30];
sprintf(s,"Detune LFO Amplitude %6.2f",pdyb0->floatvalue);
message->copy_label(s, RGBAsciiDisplay::RED_COLOR);
}
void LushLifeUI::cb_pdyb0(YBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdyb0_i(o,v);
}

void LushLifeUI::cb_pd1_i(XYhandle*, void*) {
  //calculate new offsets
p1 = pd1->floatvaluey / 100;
write_function(controller,SHIFT1,sizeof(float),0,&p1);
write_function(controller,DELAY1,sizeof(float),0,&pd1->floatvaluex);
pdxb1->update_position();
pdyb1->update_position();
char s[30];
sprintf(s,"Dtn %5.1f cnt, Dly %5.1fms",pd1->floatvaluey,pd1->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::BLUE_COLOR);
}
void LushLifeUI::cb_pd1(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pd1_i(o,v);
}

void LushLifeUI::cb_pdxb1_i(XBound*, void*) {
  write_function(controller,DLFOA1,sizeof(float),0,&pdxb1->floatvalue);
char s[30];
sprintf(s,"Delay LFO Amplitude %6.2f",pdxb1->floatvalue);
message->copy_label(s, RGBAsciiDisplay::BLUE_COLOR);
}
void LushLifeUI::cb_pdxb1(XBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdxb1_i(o,v);
}

void LushLifeUI::cb_pdyb1_i(YBound*, void*) {
  pos1 = pdyb1->floatvalue/100;//convert to semitones
write_function(controller,SLFOA1,sizeof(float),0,&pos1);
char s[30];
sprintf(s,"Detune LFO Amplitude %6.2f",pdyb1->floatvalue);
message->copy_label(s, RGBAsciiDisplay::BLUE_COLOR);
}
void LushLifeUI::cb_pdyb1(YBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdyb1_i(o,v);
}

void LushLifeUI::cb_pd2_i(XYhandle*, void*) {
  p2 = pd2->floatvaluey / 100;
write_function(controller,SHIFT2,sizeof(float),0,&p2);
write_function(controller,DELAY2,sizeof(float),0,&pd2->floatvaluex);
pdxb2->update_position();
pdyb2->update_position();
char s[30];
sprintf(s,"Dtn %5.1f cnt, Dly %5.1fms",pd2->floatvaluey,pd2->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::YELLOW_COLOR);
}
void LushLifeUI::cb_pd2(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pd2_i(o,v);
}

void LushLifeUI::cb_pdxb2_i(XBound*, void*) {
  write_function(controller,DLFOA2,sizeof(float),0,&pdxb2->floatvalue);
char s[30];
sprintf(s,"Delay LFO Amplitude %6.2f",pdxb2->floatvalue);
message->copy_label(s, RGBAsciiDisplay::YELLOW_COLOR);
}
void LushLifeUI::cb_pdxb2(XBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdxb2_i(o,v);
}

void LushLifeUI::cb_pdyb2_i(YBound*, void*) {
  pos2 = pdyb2->floatvalue/100;//convert to semitones
write_function(controller,SLFOA2,sizeof(float),0,&pos2);
char s[30];
sprintf(s,"Detune LFO Amplitude %6.2f",pdyb2->floatvalue);
message->copy_label(s, RGBAsciiDisplay::YELLOW_COLOR);
}
void LushLifeUI::cb_pdyb2(YBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdyb2_i(o,v);
}

void LushLifeUI::cb_pd3_i(XYhandle*, void*) {
  p3 = pd3->floatvaluey / 100;
write_function(controller,SHIFT3,sizeof(float),0,&p3);
write_function(controller,DELAY3,sizeof(float),0,&pd3->floatvaluex);
pdxb3->update_position();
pdyb3->update_position();
char s[30];
sprintf(s,"Dtn %5.1f cnt, Dly %5.1fms",pd3->floatvaluey,pd3->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::GREEN_COLOR);
}
void LushLifeUI::cb_pd3(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pd3_i(o,v);
}

void LushLifeUI::cb_pdxb3_i(XBound*, void*) {
  write_function(controller,DLFOA3,sizeof(float),0,&pdxb3->floatvalue);
char s[30];
sprintf(s,"Delay LFO Amplitude %6.2f",pdxb3->floatvalue);
message->copy_label(s, RGBAsciiDisplay::GREEN_COLOR);
}
void LushLifeUI::cb_pdxb3(XBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdxb3_i(o,v);
}

void LushLifeUI::cb_pdyb3_i(YBound*, void*) {
  pos3 = pdyb3->floatvalue/100;//convert to semitones
write_function(controller,SLFOA3,sizeof(float),0,&pos3);
char s[30];
sprintf(s,"Detune LFO Amplitude %6.2f",pdyb3->floatvalue);
message->copy_label(s, RGBAsciiDisplay::GREEN_COLOR);
}
void LushLifeUI::cb_pdyb3(YBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdyb3_i(o,v);
}

void LushLifeUI::cb_pd4_i(XYhandle*, void*) {
  p4 = pd4->floatvaluey / 100;
write_function(controller,SHIFT4,sizeof(float),0,&p4);
write_function(controller,DELAY4,sizeof(float),0,&pd4->floatvaluex);
pdxb4->update_position();
pdyb4->update_position();
char s[30];
sprintf(s,"Dtn %5.1f cnt, Dly %5.1fms",pd4->floatvaluey,pd4->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::ORANGE_COLOR);
}
void LushLifeUI::cb_pd4(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pd4_i(o,v);
}

void LushLifeUI::cb_pdxb4_i(XBound*, void*) {
  write_function(controller,DLFOA4,sizeof(float),0,&pdxb4->floatvalue);
char s[30];
sprintf(s,"Delay LFO Amplitude %6.2f",pdxb4->floatvalue);
message->copy_label(s, RGBAsciiDisplay::ORANGE_COLOR);
}
void LushLifeUI::cb_pdxb4(XBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdxb4_i(o,v);
}

void LushLifeUI::cb_pdyb4_i(YBound*, void*) {
  pos4 = pdyb4->floatvalue/100;//convert to semitones
write_function(controller,SLFOA4,sizeof(float),0,&pos4);
char s[30];
sprintf(s,"Detune LFO Amplitude %6.2f",pdyb4->floatvalue);
message->copy_label(s, RGBAsciiDisplay::ORANGE_COLOR);
}
void LushLifeUI::cb_pdyb4(YBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdyb4_i(o,v);
}

void LushLifeUI::cb_pd5_i(XYhandle*, void*) {
  p5 = pd5->floatvaluey / 100;
write_function(controller,SHIFT5,sizeof(float),0,&p5);
write_function(controller,DELAY5,sizeof(float),0,&pd5->floatvaluex);
pdxb5->update_position();
pdyb5->update_position();
char s[30];
sprintf(s,"Dtn %5.1f cnt, Dly %5.1fms",pd5->floatvaluey,pd5->floatvaluex);
message->copy_label(s, RGBAsciiDisplay::PURPLE_COLOR);
}
void LushLifeUI::cb_pd5(XYhandle* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pd5_i(o,v);
}

void LushLifeUI::cb_pdxb5_i(XBound*, void*) {
  write_function(controller,DLFOA5,sizeof(float),0,&pdxb5->floatvalue);
char s[30];
sprintf(s,"Delay LFO Amplitude %6.2f",pdxb5->floatvalue);
message->copy_label(s, RGBAsciiDisplay::PURPLE_COLOR);
}
void LushLifeUI::cb_pdxb5(XBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdxb5_i(o,v);
}

void LushLifeUI::cb_pdyb5_i(YBound*, void*) {
  pos5 = pdyb5->floatvalue/100;
write_function(controller,SLFOA5,sizeof(float),0,&pos5);
char s[30];
sprintf(s,"Detune LFO Amplitude %6.2f",pdyb5->floatvalue);
message->copy_label(s, RGBAsciiDisplay::PURPLE_COLOR);
}
void LushLifeUI::cb_pdyb5(YBound* o, void* v) {
  ((LushLifeUI*)(o->parent()->parent()->parent()->user_data()))->cb_pdyb5_i(o,v);
}

Fl_Double_Window* LushLifeUI::show() {
  { Fl_Double_Window* o = ui = new Fl_Double_Window(630, 400, "the infamous lush life");
    ui->box(FL_UP_BOX);
    ui->user_data((void*)(this));
    { Fl_Group* o = new Fl_Group(0, 0, 630, 400);
      { Background* o = bg = new Background(0, 0, 630, 400);
        bg->box(FL_NO_BOX);
        bg->color(FL_BACKGROUND_COLOR);
        bg->selection_color(FL_BACKGROUND_COLOR);
        bg->labeltype(FL_NORMAL_LABEL);
        bg->labelfont(0);
        bg->labelsize(14);
        bg->labelcolor(FL_FOREGROUND_COLOR);
        bg->align(Fl_Align(FL_ALIGN_CENTER));
        bg->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_lushbg_get_height(); o->drawing_w = cairo_code_draw_lushbg_get_width(); o->drawing_f = &cairo_code_draw_lushbg_render;
      } // Background* bg
      { Background* o = title = new Background(186, 300, 273, 41);
        title->box(FL_NO_BOX);
        title->color(FL_BACKGROUND_COLOR);
        title->selection_color(FL_BACKGROUND_COLOR);
        title->labeltype(FL_NORMAL_LABEL);
        title->labelfont(0);
        title->labelsize(14);
        title->labelcolor(FL_FOREGROUND_COLOR);
        title->align(Fl_Align(FL_ALIGN_CENTER));
        title->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_lushLabel_get_height(); o->drawing_w = cairo_code_draw_lushLabel_get_width(); o->drawing_f = &cairo_code_draw_lushLabel_render;
        o->stretch = false;
      } // Background* title
      { Background* o = ax = new Background(14, 244, 80, 92);
        ax->box(FL_NO_BOX);
        ax->color(FL_BACKGROUND_COLOR);
        ax->selection_color(FL_BACKGROUND_COLOR);
        ax->labeltype(FL_NORMAL_LABEL);
        ax->labelfont(0);
        ax->labelsize(14);
        ax->labelcolor(FL_FOREGROUND_COLOR);
        ax->align(Fl_Align(FL_ALIGN_CENTER));
        ax->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_lushAxisLabel_get_height(); o->drawing_w = cairo_code_draw_lushAxisLabel_get_width(); o->drawing_f = &cairo_code_draw_lushAxisLabel_render;
        o->stretch = false;
      } // Background* ax
      { Background* o = sy = new Background(503, 300, 43, 10);
        sy->box(FL_NO_BOX);
        sy->color(FL_BACKGROUND_COLOR);
        sy->selection_color(FL_BACKGROUND_COLOR);
        sy->labeltype(FL_NORMAL_LABEL);
        sy->labelfont(0);
        sy->labelsize(14);
        sy->labelcolor(FL_FOREGROUND_COLOR);
        sy->align(Fl_Align(FL_ALIGN_CENTER));
        sy->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_lushSyncLabel_get_height(); o->drawing_w = cairo_code_draw_lushSyncLabel_get_width(); o->drawing_f = &cairo_code_draw_lushSyncLabel_render;
        o->stretch = false;
      } // Background* sy
      { Background* o = fr = new Background(557, 7, 42, 12);
        fr->box(FL_NO_BOX);
        fr->color(FL_BACKGROUND_COLOR);
        fr->selection_color(FL_BACKGROUND_COLOR);
        fr->labeltype(FL_NORMAL_LABEL);
        fr->labelfont(0);
        fr->labelsize(14);
        fr->labelcolor(FL_FOREGROUND_COLOR);
        fr->align(Fl_Align(FL_ALIGN_CENTER));
        fr->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_lushFreqLabel_get_height(); o->drawing_w = cairo_code_draw_lushFreqLabel_get_width(); o->drawing_f = &cairo_code_draw_lushFreqLabel_render;
        o->stretch = false;
      } // Background* fr
      { Background* o = sh = new Background(553, 301, 52, 39);
        sh->box(FL_NO_BOX);
        sh->color(FL_BACKGROUND_COLOR);
        sh->selection_color(FL_BACKGROUND_COLOR);
        sh->labeltype(FL_NORMAL_LABEL);
        sh->labelfont(0);
        sh->labelsize(14);
        sh->labelcolor(FL_FOREGROUND_COLOR);
        sh->align(Fl_Align(FL_ALIGN_CENTER));
        sh->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_lushShapeLabel_get_height(); o->drawing_w = cairo_code_draw_lushShapeLabel_get_width(); o->drawing_f = &cairo_code_draw_lushShapeLabel_render;
        o->stretch = false;
      } // Background* sh
      { Button* o = activate0 = new Button(513, 36, 16, 16);
        activate0->tooltip("Activate Double 1");
        activate0->box(FL_UP_BOX);
        activate0->value(1);
        activate0->color(FL_BACKGROUND_COLOR);
        activate0->selection_color(FL_BACKGROUND_COLOR);
        activate0->labeltype(FL_NORMAL_LABEL);
        activate0->labelfont(0);
        activate0->labelsize(14);
        activate0->labelcolor(FL_FOREGROUND_COLOR);
        activate0->callback((Fl_Callback*)cb_activate0);
        activate0->align(Fl_Align(FL_ALIGN_CENTER));
        activate0->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_LED_get_height(); o->drawing_w = cairo_code_draw_LED_get_width(); o->drawing_f = &cairo_code_draw_redLED_render;
      } // Button* activate0
      { Button* o = activate1 = new Button(513, 80, 16, 16);
        activate1->tooltip("Activate Double 2");
        activate1->box(FL_UP_BOX);
        activate1->color(FL_BACKGROUND_COLOR);
        activate1->selection_color(FL_BACKGROUND_COLOR);
        activate1->labeltype(FL_NORMAL_LABEL);
        activate1->labelfont(0);
        activate1->labelsize(14);
        activate1->labelcolor(FL_FOREGROUND_COLOR);
        activate1->callback((Fl_Callback*)cb_activate1);
        activate1->align(Fl_Align(FL_ALIGN_CENTER));
        activate1->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_LED_get_height(); o->drawing_w = cairo_code_draw_LED_get_width(); o->drawing_f = &cairo_code_draw_blueLED_render;
      } // Button* activate1
      { Button* o = activate2 = new Button(513, 126, 16, 16);
        activate2->tooltip("Activate Double 3");
        activate2->box(FL_UP_BOX);
        activate2->color(FL_BACKGROUND_COLOR);
        activate2->selection_color(FL_BACKGROUND_COLOR);
        activate2->labeltype(FL_NORMAL_LABEL);
        activate2->labelfont(0);
        activate2->labelsize(14);
        activate2->labelcolor(FL_FOREGROUND_COLOR);
        activate2->callback((Fl_Callback*)cb_activate2);
        activate2->align(Fl_Align(FL_ALIGN_CENTER));
        activate2->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_LED_get_height(); o->drawing_w = cairo_code_draw_LED_get_width(); o->drawing_f = &cairo_code_draw_yellowLED_render;
      } // Button* activate2
      { Button* o = activate3 = new Button(513, 172, 16, 16);
        activate3->tooltip("Activate Double 4");
        activate3->box(FL_UP_BOX);
        activate3->color(FL_BACKGROUND_COLOR);
        activate3->selection_color(FL_BACKGROUND_COLOR);
        activate3->labeltype(FL_NORMAL_LABEL);
        activate3->labelfont(0);
        activate3->labelsize(14);
        activate3->labelcolor(FL_FOREGROUND_COLOR);
        activate3->callback((Fl_Callback*)cb_activate3);
        activate3->align(Fl_Align(FL_ALIGN_CENTER));
        activate3->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_LED_get_height(); o->drawing_w = cairo_code_draw_LED_get_width(); o->drawing_f = &cairo_code_draw_greenLED_render;
      } // Button* activate3
      { Button* o = activate4 = new Button(513, 218, 16, 16);
        activate4->tooltip("Activate Double 5");
        activate4->box(FL_UP_BOX);
        activate4->color(FL_BACKGROUND_COLOR);
        activate4->selection_color(FL_BACKGROUND_COLOR);
        activate4->labeltype(FL_NORMAL_LABEL);
        activate4->labelfont(0);
        activate4->labelsize(14);
        activate4->labelcolor(FL_FOREGROUND_COLOR);
        activate4->callback((Fl_Callback*)cb_activate4);
        activate4->align(Fl_Align(FL_ALIGN_CENTER));
        activate4->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_LED_get_height(); o->drawing_w = cairo_code_draw_LED_get_width(); o->drawing_f = &cairo_code_draw_orangeLED_render;
      } // Button* activate4
      { Button* o = activate5 = new Button(513, 263, 16, 16);
        activate5->tooltip("Activate Double 6");
        activate5->box(FL_UP_BOX);
        activate5->color(FL_BACKGROUND_COLOR);
        activate5->selection_color(FL_BACKGROUND_COLOR);
        activate5->labeltype(FL_NORMAL_LABEL);
        activate5->labelfont(0);
        activate5->labelsize(14);
        activate5->labelcolor(FL_FOREGROUND_COLOR);
        activate5->callback((Fl_Callback*)cb_activate5);
        activate5->align(Fl_Align(FL_ALIGN_CENTER));
        activate5->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_LED_get_height(); o->drawing_w = cairo_code_draw_LED_get_width(); o->drawing_f = &cairo_code_draw_purpleLED_render;
      } // Button* activate5
      { Button* o = sync = new Button(514, 317, 20, 20);
        sync->tooltip("Sync All LFOs");
        sync->box(FL_UP_BOX);
        sync->color(FL_BACKGROUND_COLOR);
        sync->selection_color(FL_BACKGROUND_COLOR);
        sync->labeltype(FL_NORMAL_LABEL);
        sync->labelfont(0);
        sync->labelsize(14);
        sync->labelcolor(FL_FOREGROUND_COLOR);
        sync->callback((Fl_Callback*)cb_sync);
        sync->align(Fl_Align(FL_ALIGN_CENTER));
        sync->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_whiteTinyButton_get_height(); o->drawing_w = cairo_code_draw_whiteTinyButton_get_width(); o->drawing_f = &cairo_code_draw_whiteTinyButton_render;
      } // Button* sync
      { Button* o = pangainhide = new Button(32, 296, 20, 20);
        pangainhide->tooltip("Show Pan/Gain Controls");
        pangainhide->box(FL_UP_BOX);
        pangainhide->value(1);
        pangainhide->color(FL_BACKGROUND_COLOR);
        pangainhide->selection_color(FL_BACKGROUND_COLOR);
        pangainhide->labeltype(FL_NORMAL_LABEL);
        pangainhide->labelfont(0);
        pangainhide->labelsize(14);
        pangainhide->labelcolor(FL_FOREGROUND_COLOR);
        pangainhide->callback((Fl_Callback*)cb_pangainhide);
        pangainhide->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT));
        pangainhide->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_whiteTinyButton_get_height(); o->drawing_w = cairo_code_draw_whiteTinyButton_get_width(); o->drawing_f = &cairo_code_draw_whiteTinyButton_render;
      } // Button* pangainhide
      { Button* o = pitchdelayhide = new Button(10, 318, 20, 20);
        pitchdelayhide->tooltip("Show Detune/Delay Controls");
        pitchdelayhide->box(FL_UP_BOX);
        pitchdelayhide->value(1);
        pitchdelayhide->color(FL_BACKGROUND_COLOR);
        pitchdelayhide->selection_color(FL_BACKGROUND_COLOR);
        pitchdelayhide->labeltype(FL_NORMAL_LABEL);
        pitchdelayhide->labelfont(0);
        pitchdelayhide->labelsize(14);
        pitchdelayhide->labelcolor(FL_FOREGROUND_COLOR);
        pitchdelayhide->callback((Fl_Callback*)cb_pitchdelayhide);
        pitchdelayhide->align(Fl_Align(FL_ALIGN_CENTER));
        pitchdelayhide->when(FL_WHEN_RELEASE);
        o->type(FL_TOGGLE_BUTTON);
        o->drawing_h = cairo_code_draw_whiteTinyButton_get_height(); o->drawing_w = cairo_code_draw_whiteTinyButton_get_width(); o->drawing_f = &cairo_code_draw_whiteTinyButton_render;
      } // Button* pitchdelayhide
      { Button* o = logo = new Button(3, 68, 47, 107);
        logo->box(FL_UP_BOX);
        logo->color(FL_BACKGROUND_COLOR);
        logo->selection_color(FL_BACKGROUND_COLOR);
        logo->labeltype(FL_NORMAL_LABEL);
        logo->labelfont(0);
        logo->labelsize(14);
        logo->labelcolor(FL_FOREGROUND_COLOR);
        logo->callback((Fl_Callback*)cb_logo);
        logo->align(Fl_Align(FL_ALIGN_CENTER));
        logo->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_infamousLogo_get_height(); o->drawing_w = cairo_code_draw_infamousLogo_get_width(); o->drawing_f = &cairo_code_draw_infamousLogoButton_render;
      } // Button* logo
      { Dial* o = mastergain = new Dial(118, 300, 45, 45);
        mastergain->tooltip("Master Gain");
        mastergain->box(FL_NO_BOX);
        mastergain->color(FL_BACKGROUND_COLOR);
        mastergain->selection_color(FL_INACTIVE_COLOR);
        mastergain->labeltype(FL_NORMAL_LABEL);
        mastergain->labelfont(0);
        mastergain->labelsize(14);
        mastergain->labelcolor(FL_FOREGROUND_COLOR);
        mastergain->maximum(2);
        mastergain->step(0.02);
        mastergain->value(1);
        mastergain->callback((Fl_Callback*)cb_mastergain);
        mastergain->align(Fl_Align(FL_ALIGN_BOTTOM));
        mastergain->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* mastergain
      { Dial* o = pitchfreq0 = new Dial(532, 20, 45, 45);
        pitchfreq0->tooltip("Detune LFO 1 Frequency");
        pitchfreq0->box(FL_NO_BOX);
        pitchfreq0->color(FL_BACKGROUND_COLOR);
        pitchfreq0->selection_color(FL_INACTIVE_COLOR);
        pitchfreq0->labeltype(FL_NORMAL_LABEL);
        pitchfreq0->labelfont(0);
        pitchfreq0->labelsize(14);
        pitchfreq0->labelcolor(FL_FOREGROUND_COLOR);
        pitchfreq0->step(0.01);
        pitchfreq0->callback((Fl_Callback*)cb_pitchfreq0);
        pitchfreq0->align(Fl_Align(FL_ALIGN_BOTTOM));
        pitchfreq0->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* pitchfreq0
      { Dial* o = pitchfreq1 = new Dial(532, 66, 45, 45);
        pitchfreq1->tooltip("Detune LFO 2 Frequency");
        pitchfreq1->box(FL_NO_BOX);
        pitchfreq1->color(FL_BACKGROUND_COLOR);
        pitchfreq1->selection_color(FL_INACTIVE_COLOR);
        pitchfreq1->labeltype(FL_NORMAL_LABEL);
        pitchfreq1->labelfont(0);
        pitchfreq1->labelsize(14);
        pitchfreq1->labelcolor(FL_FOREGROUND_COLOR);
        pitchfreq1->step(0.01);
        pitchfreq1->callback((Fl_Callback*)cb_pitchfreq1);
        pitchfreq1->align(Fl_Align(FL_ALIGN_BOTTOM));
        pitchfreq1->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* pitchfreq1
      { Dial* o = pitchfreq2 = new Dial(532, 112, 45, 45);
        pitchfreq2->tooltip("Detune LFO 3 Frequency");
        pitchfreq2->box(FL_NO_BOX);
        pitchfreq2->color(FL_BACKGROUND_COLOR);
        pitchfreq2->selection_color(FL_INACTIVE_COLOR);
        pitchfreq2->labeltype(FL_NORMAL_LABEL);
        pitchfreq2->labelfont(0);
        pitchfreq2->labelsize(14);
        pitchfreq2->labelcolor(FL_FOREGROUND_COLOR);
        pitchfreq2->step(0.01);
        pitchfreq2->callback((Fl_Callback*)cb_pitchfreq2);
        pitchfreq2->align(Fl_Align(FL_ALIGN_BOTTOM));
        pitchfreq2->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* pitchfreq2
      { Dial* o = pitchfreq3 = new Dial(532, 158, 45, 45);
        pitchfreq3->tooltip("Detune LFO 4 Frequency");
        pitchfreq3->box(FL_NO_BOX);
        pitchfreq3->color(FL_BACKGROUND_COLOR);
        pitchfreq3->selection_color(FL_INACTIVE_COLOR);
        pitchfreq3->labeltype(FL_NORMAL_LABEL);
        pitchfreq3->labelfont(0);
        pitchfreq3->labelsize(14);
        pitchfreq3->labelcolor(FL_FOREGROUND_COLOR);
        pitchfreq3->step(0.01);
        pitchfreq3->callback((Fl_Callback*)cb_pitchfreq3);
        pitchfreq3->align(Fl_Align(FL_ALIGN_BOTTOM));
        pitchfreq3->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* pitchfreq3
      { Dial* o = pitchfreq4 = new Dial(532, 203, 45, 45);
        pitchfreq4->tooltip("Detune LFO 5 Frequency");
        pitchfreq4->box(FL_NO_BOX);
        pitchfreq4->color(FL_BACKGROUND_COLOR);
        pitchfreq4->selection_color(FL_INACTIVE_COLOR);
        pitchfreq4->labeltype(FL_NORMAL_LABEL);
        pitchfreq4->labelfont(0);
        pitchfreq4->labelsize(14);
        pitchfreq4->labelcolor(FL_FOREGROUND_COLOR);
        pitchfreq4->step(0.01);
        pitchfreq4->callback((Fl_Callback*)cb_pitchfreq4);
        pitchfreq4->align(Fl_Align(FL_ALIGN_BOTTOM));
        pitchfreq4->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* pitchfreq4
      { Dial* o = pitchfreq5 = new Dial(532, 249, 45, 45);
        pitchfreq5->tooltip("Detune LFO 6 Frequency");
        pitchfreq5->box(FL_NO_BOX);
        pitchfreq5->color(FL_BACKGROUND_COLOR);
        pitchfreq5->selection_color(FL_INACTIVE_COLOR);
        pitchfreq5->labeltype(FL_NORMAL_LABEL);
        pitchfreq5->labelfont(0);
        pitchfreq5->labelsize(14);
        pitchfreq5->labelcolor(FL_FOREGROUND_COLOR);
        pitchfreq5->step(0.01);
        pitchfreq5->callback((Fl_Callback*)cb_pitchfreq5);
        pitchfreq5->align(Fl_Align(FL_ALIGN_BOTTOM));
        pitchfreq5->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* pitchfreq5
      { Dial* o = delayfreq0 = new Dial(580, 20, 45, 45);
        delayfreq0->tooltip("Delay LFO 1 Frequency");
        delayfreq0->box(FL_NO_BOX);
        delayfreq0->color(FL_BACKGROUND_COLOR);
        delayfreq0->selection_color(FL_INACTIVE_COLOR);
        delayfreq0->labeltype(FL_NORMAL_LABEL);
        delayfreq0->labelfont(0);
        delayfreq0->labelsize(14);
        delayfreq0->labelcolor(FL_FOREGROUND_COLOR);
        delayfreq0->step(0.01);
        delayfreq0->callback((Fl_Callback*)cb_delayfreq0);
        delayfreq0->align(Fl_Align(FL_ALIGN_BOTTOM));
        delayfreq0->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* delayfreq0
      { Dial* o = delayfreq1 = new Dial(580, 66, 45, 45);
        delayfreq1->tooltip("Delay LFO 2 Frequency");
        delayfreq1->box(FL_NO_BOX);
        delayfreq1->color(FL_BACKGROUND_COLOR);
        delayfreq1->selection_color(FL_INACTIVE_COLOR);
        delayfreq1->labeltype(FL_NORMAL_LABEL);
        delayfreq1->labelfont(0);
        delayfreq1->labelsize(14);
        delayfreq1->labelcolor(FL_FOREGROUND_COLOR);
        delayfreq1->step(0.01);
        delayfreq1->callback((Fl_Callback*)cb_delayfreq1);
        delayfreq1->align(Fl_Align(FL_ALIGN_BOTTOM));
        delayfreq1->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* delayfreq1
      { Dial* o = delayfreq2 = new Dial(580, 112, 45, 45);
        delayfreq2->tooltip("Delay LFO 3 Frequency");
        delayfreq2->box(FL_NO_BOX);
        delayfreq2->color(FL_BACKGROUND_COLOR);
        delayfreq2->selection_color(FL_INACTIVE_COLOR);
        delayfreq2->labeltype(FL_NORMAL_LABEL);
        delayfreq2->labelfont(0);
        delayfreq2->labelsize(14);
        delayfreq2->labelcolor(FL_FOREGROUND_COLOR);
        delayfreq2->step(0.01);
        delayfreq2->callback((Fl_Callback*)cb_delayfreq2);
        delayfreq2->align(Fl_Align(FL_ALIGN_BOTTOM));
        delayfreq2->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* delayfreq2
      { Dial* o = delayfreq3 = new Dial(580, 158, 45, 45);
        delayfreq3->tooltip("Delay LFO 4 Frequency");
        delayfreq3->box(FL_NO_BOX);
        delayfreq3->color(FL_BACKGROUND_COLOR);
        delayfreq3->selection_color(FL_INACTIVE_COLOR);
        delayfreq3->labeltype(FL_NORMAL_LABEL);
        delayfreq3->labelfont(0);
        delayfreq3->labelsize(14);
        delayfreq3->labelcolor(FL_FOREGROUND_COLOR);
        delayfreq3->step(0.01);
        delayfreq3->callback((Fl_Callback*)cb_delayfreq3);
        delayfreq3->align(Fl_Align(FL_ALIGN_BOTTOM));
        delayfreq3->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* delayfreq3
      { Dial* o = delayfreq4 = new Dial(580, 203, 45, 45);
        delayfreq4->tooltip("Delay LFO 5 Frequency");
        delayfreq4->box(FL_NO_BOX);
        delayfreq4->color(FL_BACKGROUND_COLOR);
        delayfreq4->selection_color(FL_INACTIVE_COLOR);
        delayfreq4->labeltype(FL_NORMAL_LABEL);
        delayfreq4->labelfont(0);
        delayfreq4->labelsize(14);
        delayfreq4->labelcolor(FL_FOREGROUND_COLOR);
        delayfreq4->step(0.01);
        delayfreq4->callback((Fl_Callback*)cb_delayfreq4);
        delayfreq4->align(Fl_Align(FL_ALIGN_BOTTOM));
        delayfreq4->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* delayfreq4
      { Dial* o = delayfreq5 = new Dial(580, 249, 45, 45);
        delayfreq5->tooltip("Delay LFO 6 Frequency");
        delayfreq5->box(FL_NO_BOX);
        delayfreq5->color(FL_BACKGROUND_COLOR);
        delayfreq5->selection_color(FL_INACTIVE_COLOR);
        delayfreq5->labeltype(FL_NORMAL_LABEL);
        delayfreq5->labelfont(0);
        delayfreq5->labelsize(14);
        delayfreq5->labelcolor(FL_FOREGROUND_COLOR);
        delayfreq5->step(0.01);
        delayfreq5->callback((Fl_Callback*)cb_delayfreq5);
        delayfreq5->align(Fl_Align(FL_ALIGN_BOTTOM));
        delayfreq5->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* delayfreq5
      { Dial* o = shape = new Dial(556, 298, 45, 45);
        shape->tooltip("LFO Shape");
        shape->box(FL_NO_BOX);
        shape->color(FL_BACKGROUND_COLOR);
        shape->selection_color(FL_INACTIVE_COLOR);
        shape->labeltype(FL_NORMAL_LABEL);
        shape->labelfont(0);
        shape->labelsize(14);
        shape->labelcolor(FL_FOREGROUND_COLOR);
        shape->step(0.01);
        shape->value(0.9);
        shape->callback((Fl_Callback*)cb_shape);
        shape->align(Fl_Align(FL_ALIGN_BOTTOM));
        shape->when(FL_WHEN_CHANGED);
        o->drawing_h = cairo_code_draw_redDial_get_height(); o->drawing_w = cairo_code_draw_redDial_get_width(); o->drawing_f = &cairo_code_draw_redDial_render;
        o->drawLabel=false;
      } // Dial* shape
      { RGBAsciiDisplay* o = message = new RGBAsciiDisplay(17, 350, 600, 33);
        message->box(FL_NO_BOX);
        message->color(FL_BACKGROUND_COLOR);
        message->selection_color(FL_BACKGROUND_COLOR);
        message->labeltype(FL_NORMAL_LABEL);
        message->labelfont(0);
        message->labelsize(14);
        message->labelcolor(FL_FOREGROUND_COLOR);
        message->align(Fl_Align(FL_ALIGN_CENTER));
        message->when(FL_WHEN_RELEASE);
        o->drawing_h = cairo_code_draw_rgb5x7_get_height(); o->drawing_w = cairo_code_draw_rgb5x7_get_width(); o->drawing_f = &cairo_code_draw_rgb5x7_render;
        o->nchars = 26;
      } // RGBAsciiDisplay* message
      { graph = new Graph_Group(54, 17, 455, 279);
        graph->box(FL_NO_BOX);
        graph->color(FL_BACKGROUND_COLOR);
        graph->selection_color(FL_BACKGROUND_COLOR);
        graph->labeltype(FL_NORMAL_LABEL);
        graph->labelfont(0);
        graph->labelsize(14);
        graph->labelcolor(FL_FOREGROUND_COLOR);
        graph->align(Fl_Align(FL_ALIGN_TOP));
        graph->when(FL_WHEN_RELEASE);
        { XYhandle* o = drygp = new XYhandle(250, 50, 15, 15);
          drygp->tooltip("Dry Signal Gain/Pan");
          drygp->box(FL_NO_BOX);
          drygp->color(FL_BACKGROUND_COLOR);
          drygp->selection_color(FL_BACKGROUND_COLOR);
          drygp->labeltype(FL_NORMAL_LABEL);
          drygp->labelfont(0);
          drygp->labelsize(14);
          drygp->labelcolor(FL_FOREGROUND_COLOR);
          drygp->callback((Fl_Callback*)cb_drygp);
          drygp->align(Fl_Align(FL_ALIGN_CENTER));
          drygp->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointw_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Dry Pan","","Dry Gain","");
        } // XYhandle* drygp
        { XYhandle* o = gp0 = new XYhandle(250, 150, 15, 15);
          gp0->tooltip("Gain/Pan");
          gp0->box(FL_NO_BOX);
          gp0->color(FL_BACKGROUND_COLOR);
          gp0->selection_color(FL_BACKGROUND_COLOR);
          gp0->labeltype(FL_NORMAL_LABEL);
          gp0->labelfont(0);
          gp0->labelsize(14);
          gp0->labelcolor(FL_FOREGROUND_COLOR);
          gp0->callback((Fl_Callback*)cb_gp0);
          gp0->align(Fl_Align(FL_ALIGN_CENTER));
          gp0->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointr_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Pan","","Gain","");
        } // XYhandle* gp0
        { XYhandle* o = gp1 = new XYhandle(245, 155, 15, 15);
          gp1->tooltip("Gain/Pan");
          gp1->box(FL_NO_BOX);
          gp1->color(FL_BACKGROUND_COLOR);
          gp1->selection_color(FL_BACKGROUND_COLOR);
          gp1->labeltype(FL_NORMAL_LABEL);
          gp1->labelfont(0);
          gp1->labelsize(14);
          gp1->labelcolor(FL_FOREGROUND_COLOR);
          gp1->callback((Fl_Callback*)cb_gp1);
          gp1->align(Fl_Align(FL_ALIGN_CENTER));
          gp1->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointb_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Pan","","Gain","");
        } // XYhandle* gp1
        { XYhandle* o = gp2 = new XYhandle(245, 145, 15, 15);
          gp2->tooltip("Gain/Pan");
          gp2->box(FL_NO_BOX);
          gp2->color(FL_BACKGROUND_COLOR);
          gp2->selection_color(FL_BACKGROUND_COLOR);
          gp2->labeltype(FL_NORMAL_LABEL);
          gp2->labelfont(0);
          gp2->labelsize(14);
          gp2->labelcolor(FL_FOREGROUND_COLOR);
          gp2->callback((Fl_Callback*)cb_gp2);
          gp2->align(Fl_Align(FL_ALIGN_CENTER));
          gp2->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointy_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Pan","","Gain","");
        } // XYhandle* gp2
        { XYhandle* o = gp3 = new XYhandle(255, 140, 15, 15);
          gp3->tooltip("Gain/Pan");
          gp3->box(FL_NO_BOX);
          gp3->color(FL_BACKGROUND_COLOR);
          gp3->selection_color(FL_BACKGROUND_COLOR);
          gp3->labeltype(FL_NORMAL_LABEL);
          gp3->labelfont(0);
          gp3->labelsize(14);
          gp3->labelcolor(FL_FOREGROUND_COLOR);
          gp3->callback((Fl_Callback*)cb_gp3);
          gp3->align(Fl_Align(FL_ALIGN_CENTER));
          gp3->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointg_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Pan","","Gain","");
        } // XYhandle* gp3
        { XYhandle* o = gp4 = new XYhandle(255, 140, 15, 15);
          gp4->tooltip("Gain/Pan");
          gp4->box(FL_NO_BOX);
          gp4->color(FL_BACKGROUND_COLOR);
          gp4->selection_color(FL_BACKGROUND_COLOR);
          gp4->labeltype(FL_NORMAL_LABEL);
          gp4->labelfont(0);
          gp4->labelsize(14);
          gp4->labelcolor(FL_FOREGROUND_COLOR);
          gp4->callback((Fl_Callback*)cb_gp4);
          gp4->align(Fl_Align(FL_ALIGN_CENTER));
          gp4->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointo_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Pan","","Gain","");
        } // XYhandle* gp4
        { XYhandle* o = gp5 = new XYhandle(250, 165, 15, 15);
          gp5->tooltip("Gain/Pan");
          gp5->box(FL_NO_BOX);
          gp5->color(FL_BACKGROUND_COLOR);
          gp5->selection_color(FL_BACKGROUND_COLOR);
          gp5->labeltype(FL_NORMAL_LABEL);
          gp5->labelfont(0);
          gp5->labelsize(14);
          gp5->labelcolor(FL_FOREGROUND_COLOR);
          gp5->callback((Fl_Callback*)cb_gp5);
          gp5->align(Fl_Align(FL_ALIGN_CENTER));
          gp5->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointp_render;
          o->Xv->bounds(-1,1); o->Yv->bounds(0,1); o->entervals.setparams("Pan","","Gain","");
        } // XYhandle* gp5
        { XYhandle* o = pd0 = new XYhandle(150, 150, 15, 15);
          pd0->tooltip("Detune/Delay");
          pd0->box(FL_NO_BOX);
          pd0->color(FL_BACKGROUND_COLOR);
          pd0->selection_color(FL_BACKGROUND_COLOR);
          pd0->labeltype(FL_NORMAL_LABEL);
          pd0->labelfont(0);
          pd0->labelsize(14);
          pd0->labelcolor(FL_FOREGROUND_COLOR);
          pd0->callback((Fl_Callback*)cb_pd0);
          pd0->align(Fl_Align(FL_ALIGN_CENTER));
          pd0->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointr_render;
          o->Xv->bounds(0,1); o->Yv->bounds(-100,100); o->squaredmaxx = 300; o->entervals.setparams("Delay","ms","Detune","cents");
        } // XYhandle* pd0
        { XBound* o = pdxb0 = new XBound(150, 150, 8, 15);
          pdxb0->tooltip("Delay LFO Amp.");
          pdxb0->box(FL_NO_BOX);
          pdxb0->color(FL_BACKGROUND_COLOR);
          pdxb0->selection_color(FL_BACKGROUND_COLOR);
          pdxb0->labeltype(FL_NORMAL_LABEL);
          pdxb0->labelfont(0);
          pdxb0->labelsize(14);
          pdxb0->labelcolor(FL_FOREGROUND_COLOR);
          pdxb0->callback((Fl_Callback*)cb_pdxb0);
          pdxb0->align(Fl_Align(FL_ALIGN_CENTER));
          pdxb0->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphXBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphXBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphXBoundr_render;
          o->floatmax = 75; o->centerpoint = pd0; o->floatvalue = 20;
        } // XBound* pdxb0
        { YBound* o = pdyb0 = new YBound(150, 150, 15, 8);
          pdyb0->tooltip("Detune LFO Amp.");
          pdyb0->box(FL_NO_BOX);
          pdyb0->color(FL_BACKGROUND_COLOR);
          pdyb0->selection_color(FL_BACKGROUND_COLOR);
          pdyb0->labeltype(FL_NORMAL_LABEL);
          pdyb0->labelfont(0);
          pdyb0->labelsize(14);
          pdyb0->labelcolor(FL_FOREGROUND_COLOR);
          pdyb0->callback((Fl_Callback*)cb_pdyb0);
          pdyb0->align(Fl_Align(FL_ALIGN_CENTER));
          pdyb0->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphYBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphYBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphYBoundr_render;
          o->floatmax = 100; o->centerpoint = pd0; o->floatvalue = 10;
        } // YBound* pdyb0
        { XYhandle* o = pd1 = new XYhandle(150, 150, 15, 15);
          pd1->tooltip("Detune/Delay");
          pd1->box(FL_NO_BOX);
          pd1->color(FL_BACKGROUND_COLOR);
          pd1->selection_color(FL_BACKGROUND_COLOR);
          pd1->labeltype(FL_NORMAL_LABEL);
          pd1->labelfont(0);
          pd1->labelsize(14);
          pd1->labelcolor(FL_FOREGROUND_COLOR);
          pd1->callback((Fl_Callback*)cb_pd1);
          pd1->align(Fl_Align(FL_ALIGN_CENTER));
          pd1->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointb_render;
          o->Xv->bounds(0,1); o->Yv->bounds(-100,100); o->squaredmaxx = 300; o->entervals.setparams("Delay","ms","Detune","cents");
        } // XYhandle* pd1
        { XBound* o = pdxb1 = new XBound(150, 150, 8, 15);
          pdxb1->tooltip("Delay LFO Amp.");
          pdxb1->box(FL_NO_BOX);
          pdxb1->color(FL_BACKGROUND_COLOR);
          pdxb1->selection_color(FL_BACKGROUND_COLOR);
          pdxb1->labeltype(FL_NORMAL_LABEL);
          pdxb1->labelfont(0);
          pdxb1->labelsize(14);
          pdxb1->labelcolor(FL_FOREGROUND_COLOR);
          pdxb1->callback((Fl_Callback*)cb_pdxb1);
          pdxb1->align(Fl_Align(FL_ALIGN_CENTER));
          pdxb1->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphXBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphXBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphXBoundb_render;
          o->floatmax = 75; o->centerpoint = pd1;
        } // XBound* pdxb1
        { YBound* o = pdyb1 = new YBound(150, 150, 15, 8);
          pdyb1->tooltip("Detune LFO Amp.");
          pdyb1->box(FL_NO_BOX);
          pdyb1->color(FL_BACKGROUND_COLOR);
          pdyb1->selection_color(FL_BACKGROUND_COLOR);
          pdyb1->labeltype(FL_NORMAL_LABEL);
          pdyb1->labelfont(0);
          pdyb1->labelsize(14);
          pdyb1->labelcolor(FL_FOREGROUND_COLOR);
          pdyb1->callback((Fl_Callback*)cb_pdyb1);
          pdyb1->align(Fl_Align(FL_ALIGN_CENTER));
          pdyb1->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphYBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphYBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphYBoundb_render;
          o->floatmax = 100; o->centerpoint = pd1;
        } // YBound* pdyb1
        { XYhandle* o = pd2 = new XYhandle(150, 150, 15, 15);
          pd2->tooltip("Detune/Delay");
          pd2->box(FL_NO_BOX);
          pd2->color(FL_BACKGROUND_COLOR);
          pd2->selection_color(FL_BACKGROUND_COLOR);
          pd2->labeltype(FL_NORMAL_LABEL);
          pd2->labelfont(0);
          pd2->labelsize(14);
          pd2->labelcolor(FL_FOREGROUND_COLOR);
          pd2->callback((Fl_Callback*)cb_pd2);
          pd2->align(Fl_Align(FL_ALIGN_CENTER));
          pd2->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointy_render;
          o->Xv->bounds(0,1); o->Yv->bounds(-100,100); o->squaredmaxx = 300; o->entervals.setparams("Delay","ms","Detune","cents");
        } // XYhandle* pd2
        { XBound* o = pdxb2 = new XBound(150, 150, 8, 15);
          pdxb2->tooltip("Delay LFO Amp.");
          pdxb2->box(FL_NO_BOX);
          pdxb2->color(FL_BACKGROUND_COLOR);
          pdxb2->selection_color(FL_BACKGROUND_COLOR);
          pdxb2->labeltype(FL_NORMAL_LABEL);
          pdxb2->labelfont(0);
          pdxb2->labelsize(14);
          pdxb2->labelcolor(FL_FOREGROUND_COLOR);
          pdxb2->callback((Fl_Callback*)cb_pdxb2);
          pdxb2->align(Fl_Align(FL_ALIGN_CENTER));
          pdxb2->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphXBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphXBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphXBoundy_render;
          o->floatmax = 75; o->centerpoint = pd2;
        } // XBound* pdxb2
        { YBound* o = pdyb2 = new YBound(150, 150, 15, 8);
          pdyb2->tooltip("Detune LFO Amp.");
          pdyb2->box(FL_NO_BOX);
          pdyb2->color(FL_BACKGROUND_COLOR);
          pdyb2->selection_color(FL_BACKGROUND_COLOR);
          pdyb2->labeltype(FL_NORMAL_LABEL);
          pdyb2->labelfont(0);
          pdyb2->labelsize(14);
          pdyb2->labelcolor(FL_FOREGROUND_COLOR);
          pdyb2->callback((Fl_Callback*)cb_pdyb2);
          pdyb2->align(Fl_Align(FL_ALIGN_CENTER));
          pdyb2->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphYBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphYBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphYBoundy_render;
          o->floatmax = 100; o->centerpoint = pd2;
        } // YBound* pdyb2
        { XYhandle* o = pd3 = new XYhandle(150, 150, 15, 15);
          pd3->tooltip("Detune/Delay");
          pd3->box(FL_NO_BOX);
          pd3->color(FL_BACKGROUND_COLOR);
          pd3->selection_color(FL_BACKGROUND_COLOR);
          pd3->labeltype(FL_NORMAL_LABEL);
          pd3->labelfont(0);
          pd3->labelsize(14);
          pd3->labelcolor(FL_FOREGROUND_COLOR);
          pd3->callback((Fl_Callback*)cb_pd3);
          pd3->align(Fl_Align(FL_ALIGN_CENTER));
          pd3->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointg_render;
          o->Xv->bounds(0,1); o->Yv->bounds(-100,100); o->squaredmaxx = 300; o->entervals.setparams("Delay","ms","Detune","cents");
        } // XYhandle* pd3
        { XBound* o = pdxb3 = new XBound(150, 150, 8, 15);
          pdxb3->tooltip("Delay LFO Amp.");
          pdxb3->box(FL_NO_BOX);
          pdxb3->color(FL_BACKGROUND_COLOR);
          pdxb3->selection_color(FL_BACKGROUND_COLOR);
          pdxb3->labeltype(FL_NORMAL_LABEL);
          pdxb3->labelfont(0);
          pdxb3->labelsize(14);
          pdxb3->labelcolor(FL_FOREGROUND_COLOR);
          pdxb3->callback((Fl_Callback*)cb_pdxb3);
          pdxb3->align(Fl_Align(FL_ALIGN_CENTER));
          pdxb3->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphXBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphXBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphXBoundg_render;
          o->floatmax = 75; o->centerpoint = pd3;
        } // XBound* pdxb3
        { YBound* o = pdyb3 = new YBound(150, 150, 15, 8);
          pdyb3->tooltip("Detune LFO Amp.");
          pdyb3->box(FL_NO_BOX);
          pdyb3->color(FL_BACKGROUND_COLOR);
          pdyb3->selection_color(FL_BACKGROUND_COLOR);
          pdyb3->labeltype(FL_NORMAL_LABEL);
          pdyb3->labelfont(0);
          pdyb3->labelsize(14);
          pdyb3->labelcolor(FL_FOREGROUND_COLOR);
          pdyb3->callback((Fl_Callback*)cb_pdyb3);
          pdyb3->align(Fl_Align(FL_ALIGN_CENTER));
          pdyb3->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphYBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphYBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphYBoundg_render;
          o->floatmax = 100; o->centerpoint = pd3;
        } // YBound* pdyb3
        { XYhandle* o = pd4 = new XYhandle(150, 150, 15, 15);
          pd4->tooltip("Detune/Delay");
          pd4->box(FL_NO_BOX);
          pd4->color(FL_BACKGROUND_COLOR);
          pd4->selection_color(FL_BACKGROUND_COLOR);
          pd4->labeltype(FL_NORMAL_LABEL);
          pd4->labelfont(0);
          pd4->labelsize(14);
          pd4->labelcolor(FL_FOREGROUND_COLOR);
          pd4->callback((Fl_Callback*)cb_pd4);
          pd4->align(Fl_Align(FL_ALIGN_CENTER));
          pd4->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointo_render;
          o->Xv->bounds(0,1); o->Yv->bounds(-100,100); o->squaredmaxx = 300; o->entervals.setparams("Delay","ms","Detune","cents");
        } // XYhandle* pd4
        { XBound* o = pdxb4 = new XBound(150, 150, 8, 15);
          pdxb4->tooltip("Delay LFO Amp.");
          pdxb4->box(FL_NO_BOX);
          pdxb4->color(FL_BACKGROUND_COLOR);
          pdxb4->selection_color(FL_BACKGROUND_COLOR);
          pdxb4->labeltype(FL_NORMAL_LABEL);
          pdxb4->labelfont(0);
          pdxb4->labelsize(14);
          pdxb4->labelcolor(FL_FOREGROUND_COLOR);
          pdxb4->callback((Fl_Callback*)cb_pdxb4);
          pdxb4->align(Fl_Align(FL_ALIGN_CENTER));
          pdxb4->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphXBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphXBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphXBoundo_render;
          o->floatmax = 75; o->centerpoint = pd4;
        } // XBound* pdxb4
        { YBound* o = pdyb4 = new YBound(150, 150, 15, 8);
          pdyb4->tooltip("Detune LFO Amp.");
          pdyb4->box(FL_NO_BOX);
          pdyb4->color(FL_BACKGROUND_COLOR);
          pdyb4->selection_color(FL_BACKGROUND_COLOR);
          pdyb4->labeltype(FL_NORMAL_LABEL);
          pdyb4->labelfont(0);
          pdyb4->labelsize(14);
          pdyb4->labelcolor(FL_FOREGROUND_COLOR);
          pdyb4->callback((Fl_Callback*)cb_pdyb4);
          pdyb4->align(Fl_Align(FL_ALIGN_CENTER));
          pdyb4->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphYBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphYBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphYBoundo_render;
          o->floatmax = 100; o->centerpoint = pd4;
        } // YBound* pdyb4
        { XYhandle* o = pd5 = new XYhandle(150, 150, 15, 15);
          pd5->tooltip("Detune/Delay");
          pd5->box(FL_NO_BOX);
          pd5->color(FL_BACKGROUND_COLOR);
          pd5->selection_color(FL_BACKGROUND_COLOR);
          pd5->labeltype(FL_NORMAL_LABEL);
          pd5->labelfont(0);
          pd5->labelsize(14);
          pd5->labelcolor(FL_FOREGROUND_COLOR);
          pd5->callback((Fl_Callback*)cb_pd5);
          pd5->align(Fl_Align(FL_ALIGN_CENTER));
          pd5->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphPoint_get_height(); o->drawing_w = cairo_code_draw_lushGraphPoint_get_width(); o->drawing_f = &cairo_code_draw_lushGraphPointp_render;
          o->Xv->bounds(0,1); o->Yv->bounds(-100,100); o->squaredmaxx = 300; o->entervals.setparams("Delay","ms","Detune","cents");
        } // XYhandle* pd5
        { XBound* o = pdxb5 = new XBound(150, 150, 8, 15);
          pdxb5->tooltip("Delay LFO Amp.");
          pdxb5->box(FL_NO_BOX);
          pdxb5->color(FL_BACKGROUND_COLOR);
          pdxb5->selection_color(FL_BACKGROUND_COLOR);
          pdxb5->labeltype(FL_NORMAL_LABEL);
          pdxb5->labelfont(0);
          pdxb5->labelsize(14);
          pdxb5->labelcolor(FL_FOREGROUND_COLOR);
          pdxb5->callback((Fl_Callback*)cb_pdxb5);
          pdxb5->align(Fl_Align(FL_ALIGN_CENTER));
          pdxb5->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphXBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphXBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphXBoundp_render;
          o->floatmax = 75; o->centerpoint = pd5;
        } // XBound* pdxb5
        { YBound* o = pdyb5 = new YBound(150, 150, 15, 8);
          pdyb5->tooltip("Detune LFO Amp.");
          pdyb5->box(FL_NO_BOX);
          pdyb5->color(FL_BACKGROUND_COLOR);
          pdyb5->selection_color(FL_BACKGROUND_COLOR);
          pdyb5->labeltype(FL_NORMAL_LABEL);
          pdyb5->labelfont(0);
          pdyb5->labelsize(14);
          pdyb5->labelcolor(FL_FOREGROUND_COLOR);
          pdyb5->callback((Fl_Callback*)cb_pdyb5);
          pdyb5->align(Fl_Align(FL_ALIGN_CENTER));
          pdyb5->when(FL_WHEN_RELEASE);
          o->drawing_h = cairo_code_draw_lushGraphYBound_get_height(); o->drawing_w = cairo_code_draw_lushGraphYBound_get_width(); o->drawing_f = &cairo_code_draw_lushGraphYBoundp_render;
          o->floatmax = 100; o->centerpoint = pd5;
        } // YBound* pdyb5
        graph->end();
      } // Graph_Group* graph
      o->end();
      Fl_Group::current()->resizable(o);
    } // Fl_Group* o
    o->show();
    ui->end();
  } // Fl_Double_Window* ui
  return ui;
}

void LushLifeUI::idle() {
  Fl::check();
  Fl::flush();
}
