// generated by Fast Light User Interface Designer (fluid) version 1.0300 #include "external/zynaddsubfx/UI/LFOUI.h" //Copyright (c) 2002-2005 Nasca Octavian Paul //License: GNU GPL version 2 or later #include "../globals.h" #include #include #include Fl_Menu_Item LFOUI::menu_LFOtype[] = { {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"SQR", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"R.up", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"R.dn", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"E1dn", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"E2dn", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {"RND", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, {0,0,0,0,0,0,0,0,0} }; void LFOUI::cb_C_i(Fl_Button*, void*) { presetsui->copy(lfoparamswindow->loc()); } void LFOUI::cb_C(Fl_Button* o, void* v) { ((LFOUI*)(o->parent()->parent()->user_data()))->cb_C_i(o,v); } void LFOUI::cb_P_i(Fl_Button*, void*) { presetsui->paste(lfoparamswindow->loc(),this); } void LFOUI::cb_P(Fl_Button* o, void* v) { ((LFOUI*)(o->parent()->parent()->user_data()))->cb_P_i(o,v); } LFOUI::LFOUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h) { cached_label = label; } LFOUI::~LFOUI() { lfoui->hide(); hide(); } Fl_Group* LFOUI::make_window() { { lfoui = new Fl_Group(0, 0, 230, 70); lfoui->box(FL_FLAT_BOX); lfoui->color(FL_LIGHT1); lfoui->selection_color(FL_BACKGROUND_COLOR); lfoui->labeltype(FL_NO_LABEL); lfoui->labelfont(1); lfoui->labelsize(14); lfoui->labelcolor(FL_FOREGROUND_COLOR); lfoui->user_data((void*)(this)); lfoui->align(Fl_Align(FL_ALIGN_TOP)); lfoui->when(FL_WHEN_RELEASE); { Fl_Osc_Group* o = lfoparamswindow = new Fl_Osc_Group(0, 0, 230, 70, "LFO"); lfoparamswindow->box(FL_UP_BOX); lfoparamswindow->color(FL_CYAN); lfoparamswindow->selection_color(FL_BACKGROUND_COLOR); lfoparamswindow->labeltype(FL_ENGRAVED_LABEL); lfoparamswindow->labelfont(0); lfoparamswindow->labelsize(10); lfoparamswindow->labelcolor(FL_FOREGROUND_COLOR); lfoparamswindow->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); lfoparamswindow->when(FL_WHEN_RELEASE); { Fl_Osc_DialF* o = freq = new Fl_Osc_DialF(5, 20, 30, 30, "Freq."); freq->tooltip("LFO Frequency"); freq->box(FL_ROUND_UP_BOX); freq->color(FL_BACKGROUND_COLOR); freq->selection_color(FL_INACTIVE_COLOR); freq->labeltype(FL_NORMAL_LABEL); freq->labelfont(0); freq->labelsize(10); freq->labelcolor(FL_FOREGROUND_COLOR); freq->step(1e-05); freq->align(Fl_Align(FL_ALIGN_BOTTOM)); freq->when(FL_WHEN_CHANGED); o->init("Pfreq"); } // Fl_Osc_DialF* freq { Fl_Osc_Dial* o = intensity = new Fl_Osc_Dial(40, 20, 30, 30, "Depth"); intensity->tooltip("LFO Amount"); intensity->box(FL_ROUND_UP_BOX); intensity->color(FL_BACKGROUND_COLOR); intensity->selection_color(FL_INACTIVE_COLOR); intensity->labeltype(FL_NORMAL_LABEL); intensity->labelfont(0); intensity->labelsize(10); intensity->labelcolor(FL_FOREGROUND_COLOR); intensity->maximum(127); intensity->step(1); intensity->align(Fl_Align(FL_ALIGN_BOTTOM)); intensity->when(FL_WHEN_CHANGED); o->init("Pintensity"); } // Fl_Osc_Dial* intensity { Fl_Osc_Dial* o = delay = new Fl_Osc_Dial(110, 20, 30, 30, "Delay"); delay->tooltip("LFO delay"); delay->box(FL_ROUND_UP_BOX); delay->color(FL_BACKGROUND_COLOR); delay->selection_color(FL_INACTIVE_COLOR); delay->labeltype(FL_NORMAL_LABEL); delay->labelfont(0); delay->labelsize(10); delay->labelcolor(FL_FOREGROUND_COLOR); delay->maximum(127); delay->step(1); delay->align(Fl_Align(FL_ALIGN_BOTTOM)); delay->when(FL_WHEN_CHANGED); o->init("Pdelay"); } // Fl_Osc_Dial* delay { Fl_Osc_Dial* o = startphase = new Fl_Osc_Dial(75, 20, 30, 30, "Start"); startphase->tooltip("LFO Startphase (leftmost is Random)"); startphase->box(FL_ROUND_UP_BOX); startphase->color(FL_BACKGROUND_COLOR); startphase->selection_color(FL_INACTIVE_COLOR); startphase->labeltype(FL_NORMAL_LABEL); startphase->labelfont(0); startphase->labelsize(10); startphase->labelcolor(FL_FOREGROUND_COLOR); startphase->maximum(127); startphase->step(1); startphase->align(Fl_Align(FL_ALIGN_BOTTOM)); startphase->when(FL_WHEN_CHANGED); o->init("Pstartphase"); } // Fl_Osc_Dial* startphase { Fl_Osc_Dial* o = randomness = new Fl_Osc_Dial(180, 7, 20, 20, "A.R."); randomness->tooltip("LFO Amplitude Randomness"); randomness->box(FL_ROUND_UP_BOX); randomness->color(FL_BACKGROUND_COLOR); randomness->selection_color(FL_INACTIVE_COLOR); randomness->labeltype(FL_NORMAL_LABEL); randomness->labelfont(0); randomness->labelsize(10); randomness->labelcolor(FL_FOREGROUND_COLOR); randomness->maximum(127); randomness->step(1); randomness->align(Fl_Align(FL_ALIGN_BOTTOM)); randomness->when(FL_WHEN_CHANGED); o->init("Prandomness"); } // Fl_Osc_Dial* randomness { Fl_Osc_Choice* o = LFOtype = new Fl_Osc_Choice(180, 40, 45, 15, "Type"); LFOtype->tooltip("LFO function"); LFOtype->box(FL_UP_BOX); LFOtype->down_box(FL_BORDER_BOX); LFOtype->color(FL_BACKGROUND_COLOR); LFOtype->selection_color(FL_SELECTION_COLOR); LFOtype->labeltype(FL_NORMAL_LABEL); LFOtype->labelfont(0); LFOtype->labelsize(10); LFOtype->labelcolor(FL_FOREGROUND_COLOR); LFOtype->textsize(8); LFOtype->align(Fl_Align(FL_ALIGN_BOTTOM)); LFOtype->when(FL_WHEN_RELEASE); LFOtype->menu(menu_LFOtype); o->init("PLFOtype"); } // Fl_Osc_Choice* LFOtype { Fl_Osc_Check* o = continous = new Fl_Osc_Check(165, 35, 15, 15, "C."); continous->tooltip("Continuous LFO"); continous->box(FL_NO_BOX); continous->down_box(FL_DOWN_BOX); continous->color(FL_BACKGROUND_COLOR); continous->selection_color(FL_FOREGROUND_COLOR); continous->labeltype(FL_NORMAL_LABEL); continous->labelfont(0); continous->labelsize(10); continous->labelcolor(FL_FOREGROUND_COLOR); continous->align(Fl_Align(FL_ALIGN_BOTTOM)); continous->when(FL_WHEN_RELEASE); o->init("Pcontinous"); } // Fl_Osc_Check* continous { Fl_Osc_Dial* o = freqrand = new Fl_Osc_Dial(205, 7, 20, 20, "F.R."); freqrand->tooltip("LFO Frequency Randomness"); freqrand->box(FL_ROUND_UP_BOX); freqrand->color(FL_BACKGROUND_COLOR); freqrand->selection_color(FL_INACTIVE_COLOR); freqrand->labeltype(FL_NORMAL_LABEL); freqrand->labelfont(0); freqrand->labelsize(10); freqrand->labelcolor(FL_FOREGROUND_COLOR); freqrand->maximum(127); freqrand->step(1); freqrand->align(Fl_Align(FL_ALIGN_BOTTOM)); freqrand->when(FL_WHEN_CHANGED); o->init("Pfreqrand"); } // Fl_Osc_Dial* freqrand { Fl_Osc_Dial* o = stretch = new Fl_Osc_Dial(144, 30, 20, 20, "Str."); stretch->tooltip("LFO stretch"); stretch->box(FL_ROUND_UP_BOX); stretch->color(FL_BACKGROUND_COLOR); stretch->selection_color(FL_INACTIVE_COLOR); stretch->labeltype(FL_NORMAL_LABEL); stretch->labelfont(0); stretch->labelsize(10); stretch->labelcolor(FL_FOREGROUND_COLOR); stretch->maximum(127); stretch->step(1); stretch->align(Fl_Align(FL_ALIGN_BOTTOM)); stretch->when(FL_WHEN_CHANGED); o->init("Pstretch"); } // Fl_Osc_Dial* stretch { Fl_Button* o = new Fl_Button(145, 10, 15, 15, "C"); o->box(FL_THIN_UP_BOX); o->color((Fl_Color)179); o->labelfont(1); o->labelsize(10); o->labelcolor((Fl_Color)55); o->callback((Fl_Callback*)cb_C); } // Fl_Button* o { Fl_Button* o = new Fl_Button(162, 10, 15, 15, "P"); o->box(FL_THIN_UP_BOX); o->color((Fl_Color)179); o->labelfont(1); o->labelsize(10); o->labelcolor((Fl_Color)55); o->callback((Fl_Callback*)cb_P); } // Fl_Button* o set_module_parameters(o); lfoparamswindow->end(); } // Fl_Osc_Group* lfoparamswindow lfoui->end(); } // Fl_Group* lfoui return lfoui; } void LFOUI::refresh() { freq->update(); intensity->update(); startphase->update(); delay->update(); continous->update(); stretch->update(); randomness->update(); freqrand->update(); LFOtype->update(); } void LFOUI::init(Fl_Osc_Interface *osc_, std::string base_, std::string ext_) { base = base_; ext = ext_; osc = osc_; make_window(); end(); refresh(); lfoui->resize(this->x(),this->y(),this->w(),this->h()); lfoparamswindow->label(cached_label); }