void DelayGUI::CreateGUI(int xoff, int yoff, char *name) { Fl_Group* o = GUIDelayGroup = new Fl_Group(xoff, yoff, 300, 60, name); o->type(1); o->color(GUIBG2_COLOUR); o->box(FL_UP_BOX); o->labeltype(FL_ENGRAVED_LABEL); o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE); o->user_data((void*)(this)); DelayA = new Fl_Knob(xoff+50, yoff+5, 40, 40, "Delay"); DelayA->color(GUI_COLOUR); DelayA->labelsize(10); DelayA->maximum(1); DelayA->step(0.01); DelayA->value(0.5); DelayA->callback((Fl_Callback*)cb_Delay); Feedback = new Fl_Knob(xoff+100, yoff+5, 40, 40, "Feedback"); Feedback->color(GUI_COLOUR); Feedback->labelsize(10); Feedback->maximum(1.0); Feedback->step(0.01); Feedback->value(0.5); Feedback->callback((Fl_Callback*)cb_Feedback); Bypass = new Fl_Button(xoff+5, yoff+25, 40, 20, "Bypass"); Bypass->color(GUIBG2_COLOUR); Bypass->labelsize(10); Bypass->type(1); Bypass->value(1); Bypass->callback((Fl_Callback*)cb_Bypass); o->end(); }
KeyboardPluginGUI::KeyboardPluginGUI(int w, int h,KeyboardPlugin *o,ChannelHandler *ch,const HostInfo *Info) : SpiralPluginGUI(w,h,o,ch), m_Last(-1), m_Oct(4) { Fl_Scroll *Scroll = new Fl_Scroll(2,20,w-4,h-20); Fl_Group *Group = new Fl_Group(0,20,500,h-40); Group->box(FL_FLAT_BOX); Group->user_data(this); Scroll->add(Group); int KeyWidth=10,Note,Pos=0,Count=0; for (int n=0; n<NUM_KEYS; n++) { m_Num[n]=n; Note = n%12; if (Note!=1 && Note!=3 && Note!=6 && Note!=8 && Note!=10) { Pos=Count*KeyWidth; Count++; m_Key[n] = new Fl_Button(Pos,20,KeyWidth,50,""); m_Key[n]->box(FL_THIN_UP_BOX); m_Key[n]->labelsize(10); m_Key[n]->when(FL_WHEN_CHANGED); if (Note==0) { int Num=n/12; sprintf(m_Label[n],"%d",Num); m_Key[n]->label(m_Label[n]); m_Key[n]->align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE); } m_Key[n]->color(FL_WHITE); m_Key[n]->selection_color(FL_WHITE); m_Key[n]->callback((Fl_Callback*)cb_Key, &m_Num[n]); Group->add(m_Key[n]); } } Count=0; for (int n=0; n<NUM_KEYS; n++) { Note = n%12; if (Note==1 || Note==3 || Note==6 || Note==8 || Note==10) { m_Key[n] = new Fl_Button(Pos+5,20,KeyWidth,30,""); m_Key[n]->box(FL_THIN_UP_BOX); m_Key[n]->labelsize(10); m_Key[n]->when(FL_WHEN_CHANGED); m_Key[n]->color(FL_BLACK); m_Key[n]->selection_color(FL_BLACK); m_Key[n]->callback((Fl_Callback*)cb_Key, &m_Num[n]); Group->add(m_Key[n]); } else { Pos=Count*KeyWidth; Count++; } } Group->position(-100,20); Group->end(); Scroll->end(); }