|
- // 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 <FL/Fl_Group.H>
- #include <FL/Fl_Box.H>
- #include <FL/fl_draw.H>
-
- 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);
- }
|