|
- // generated by Fast Light User Interface Designer (fluid) version 1.0300
-
- #include "external/zynaddsubfx/UI/EnvelopeUI.h"
- //Copyright (c) 2002-2005 Nasca Octavian Paul
- //License: GNU GPL version 2 or later
-
- PointButton::PointButton(int x,int y, int w, int h, const char *label):Fl_Button(x,y,w,h,label),Fl_Osc_Widget(this) {
- }
-
- void PointButton::rebase(std::string new_base) {
- loc = new_base;
- }
-
- void PointButton::init(std::string path_) {
- ext = path_;
- }
-
- void EnvelopeUI::cb_C_i(Fl_Button*, void*) {
- presetsui->copy(freemodeeditwindow->loc());
- }
- void EnvelopeUI::cb_C(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_C_i(o,v);
- }
-
- void EnvelopeUI::cb_P_i(Fl_Button*, void*) {
- presetsui->paste(freemodeeditwindow->loc(),this);
- }
- void EnvelopeUI::cb_P(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_P_i(o,v);
- }
-
- void EnvelopeUI::cb_addpoint_i(PointButton* o, void*) {
- if(freeedit->lastpoint >= MAX_ENVELOPE_POINTS - 1)
- return;
- o->oscWrite("addPoint", "i", freeedit->lastpoint);
- freeedit->lastpoint+=1;
- freeedit->update();
- envfree->redraw();
- sustaincounter->update();
-
- //sustaincounter->value(Penvsustain);
- //sustaincounter->maximum(Penvpoints-2);
- }
- void EnvelopeUI::cb_addpoint(PointButton* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_addpoint_i(o,v);
- }
-
- void EnvelopeUI::cb_freeedit_i(EnvelopeFreeEdit* o, void*) {
- sustaincounter->maximum(o->Penvpoints-2);
- }
- void EnvelopeUI::cb_freeedit(EnvelopeFreeEdit* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_freeedit_i(o,v);
- }
-
- void EnvelopeUI::cb_deletepoint_i(PointButton* o, void*) {
- o->oscWrite("delPoint", "i", freeedit->lastpoint);
- freeedit->lastpoint-=1;
- freeedit->update();
- envfree->redraw();
- sustaincounter->update();
- //sustaincounter->value(Penvsustain);
- //sustaincounter->maximum(Penvpoints-2);
- }
- void EnvelopeUI::cb_deletepoint(PointButton* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_deletepoint_i(o,v);
- }
-
- void EnvelopeUI::cb_Close_i(Fl_Button*, void*) {
- freemodeeditwindow->hide();
- }
- void EnvelopeUI::cb_Close(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_Close_i(o,v);
- }
-
- void EnvelopeUI::cb_sustaincounter_i(Fl_Osc_Counter*, void*) {
- freeedit->redraw();
- envfree->redraw();
- }
- void EnvelopeUI::cb_sustaincounter(Fl_Osc_Counter* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_sustaincounter_i(o,v);
- }
-
- void EnvelopeUI::cb_freemodehack_i(Fl_Osc_Check*, void*) {
- refresh_display();
- }
- void EnvelopeUI::cb_freemodehack(Fl_Osc_Check* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_freemodehack_i(o,v);
- }
-
- void EnvelopeUI::cb_Cancel_i(Fl_Osc_Button*, void*) {
- disable_freemode();
- }
- void EnvelopeUI::cb_Cancel(Fl_Osc_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_Cancel_i(o,v);
- }
-
- void EnvelopeUI::cb_C1_i(Fl_Button*, void*) {
- presetsui->copy(envADSR->loc());
- }
- void EnvelopeUI::cb_C1(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_C1_i(o,v);
- }
-
- void EnvelopeUI::cb_P1_i(Fl_Button*, void*) {
- presetsui->paste(envADSR->loc(),this);
- }
- void EnvelopeUI::cb_P1(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_P1_i(o,v);
- }
-
- void EnvelopeUI::cb_e1adt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e1adt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e1adt_i(o,v);
- }
-
- void EnvelopeUI::cb_e1ddt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e1ddt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e1ddt_i(o,v);
- }
-
- void EnvelopeUI::cb_e1rdt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e1rdt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e1rdt_i(o,v);
- }
-
- void EnvelopeUI::cb_e1sval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e1sval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e1sval_i(o,v);
- }
-
- void EnvelopeUI::cb_E_i(Fl_Osc_Button*, void*) {
- open_as_freemode();
- }
- void EnvelopeUI::cb_E(Fl_Osc_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_E_i(o,v);
- }
-
- void EnvelopeUI::cb_C2_i(Fl_Button*, void*) {
- presetsui->copy(envASR->loc());
- }
- void EnvelopeUI::cb_C2(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_C2_i(o,v);
- }
-
- void EnvelopeUI::cb_P2_i(Fl_Button*, void*) {
- presetsui->paste(envASR->loc(),this);
- }
- void EnvelopeUI::cb_P2(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_P2_i(o,v);
- }
-
- void EnvelopeUI::cb_e2aval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e2aval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e2aval_i(o,v);
- }
-
- void EnvelopeUI::cb_e2adt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e2adt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e2adt_i(o,v);
- }
-
- void EnvelopeUI::cb_e2rval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e2rval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e2rval_i(o,v);
- }
-
- void EnvelopeUI::cb_e2rdt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e2rdt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e2rdt_i(o,v);
- }
-
- void EnvelopeUI::cb_E1_i(Fl_Osc_Button*, void*) {
- open_as_freemode();
- }
- void EnvelopeUI::cb_E1(Fl_Osc_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_E1_i(o,v);
- }
-
- void EnvelopeUI::cb_C3_i(Fl_Button*, void*) {
- presetsui->copy(envADSRfilter->loc());
- }
- void EnvelopeUI::cb_C3(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_C3_i(o,v);
- }
-
- void EnvelopeUI::cb_P3_i(Fl_Button*, void*) {
- presetsui->paste(envADSRfilter->loc(),this);
- }
- void EnvelopeUI::cb_P3(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_P3_i(o,v);
- }
-
- void EnvelopeUI::cb_e3aval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e3aval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e3aval_i(o,v);
- }
-
- void EnvelopeUI::cb_e3adt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e3adt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e3adt_i(o,v);
- }
-
- void EnvelopeUI::cb_e3dval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e3dval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e3dval_i(o,v);
- }
-
- void EnvelopeUI::cb_e3ddt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e3ddt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e3ddt_i(o,v);
- }
-
- void EnvelopeUI::cb_e3rdt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e3rdt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e3rdt_i(o,v);
- }
-
- void EnvelopeUI::cb_e3rval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e3rval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e3rval_i(o,v);
- }
-
- void EnvelopeUI::cb_E2_i(Fl_Osc_Button*, void*) {
- open_as_freemode();
- }
- void EnvelopeUI::cb_E2(Fl_Osc_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_E2_i(o,v);
- }
-
- void EnvelopeUI::cb_C4_i(Fl_Button*, void*) {
- presetsui->copy(envASRbw->loc());
- }
- void EnvelopeUI::cb_C4(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_C4_i(o,v);
- }
-
- void EnvelopeUI::cb_P4_i(Fl_Button*, void*) {
- presetsui->paste(envASRbw->loc(),this);
- }
- void EnvelopeUI::cb_P4(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_P4_i(o,v);
- }
-
- void EnvelopeUI::cb_e4aval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e4aval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e4aval_i(o,v);
- }
-
- void EnvelopeUI::cb_e4adt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e4adt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e4adt_i(o,v);
- }
-
- void EnvelopeUI::cb_e4rval_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e4rval(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e4rval_i(o,v);
- }
-
- void EnvelopeUI::cb_e4rdt_i(Fl_Osc_Dial*, void*) {
- freeedit->redraw();
- }
- void EnvelopeUI::cb_e4rdt(Fl_Osc_Dial* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_e4rdt_i(o,v);
- }
-
- void EnvelopeUI::cb_E3_i(Fl_Osc_Button*, void*) {
- open_as_freemode();
- }
- void EnvelopeUI::cb_E3(Fl_Osc_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->user_data()))->cb_E3_i(o,v);
- }
-
- void EnvelopeUI::cb_E4_i(Fl_Osc_Button*, void*) {
- open_as_freemode();
- }
- void EnvelopeUI::cb_E4(Fl_Osc_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_E4_i(o,v);
- }
-
- void EnvelopeUI::cb_freeeditsmall_i(EnvelopeFreeEdit*, void*) {
- envfree->redraw();
- }
- void EnvelopeUI::cb_freeeditsmall(EnvelopeFreeEdit* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_freeeditsmall_i(o,v);
- }
-
- void EnvelopeUI::cb_C5_i(Fl_Button*, void*) {
- presetsui->copy(envfree->loc());
- }
- void EnvelopeUI::cb_C5(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_C5_i(o,v);
- }
-
- void EnvelopeUI::cb_P5_i(Fl_Button*, void*) {
- presetsui->paste(envfree->loc(),this);
- }
- void EnvelopeUI::cb_P5(Fl_Button* o, void* v) {
- ((EnvelopeUI*)(o->parent()->parent()->user_data()))->cb_P5_i(o,v);
- }
-
- EnvelopeUI::EnvelopeUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h) {
- freemodeeditwindow=NULL;
- envADSR=NULL;
- envASR=NULL;
- envADSRfilter=NULL;
- envASRbw=NULL;
- envfree=NULL;
- }
-
- EnvelopeUI::~EnvelopeUI() {
- envwindow->hide();
- hide();
- freemodeeditwindow->hide();
- delete (freemodeeditwindow);
- }
-
- Fl_Osc_Window* EnvelopeUI::make_freemode_edit_window() {
- { freemodeeditwindow = new Fl_Osc_Window(575, 180, "Envelope");
- freemodeeditwindow->box(FL_FLAT_BOX);
- freemodeeditwindow->color(FL_BACKGROUND_COLOR);
- freemodeeditwindow->selection_color(FL_BACKGROUND_COLOR);
- freemodeeditwindow->labeltype(FL_NO_LABEL);
- freemodeeditwindow->labelfont(0);
- freemodeeditwindow->labelsize(14);
- freemodeeditwindow->labelcolor(FL_FOREGROUND_COLOR);
- freemodeeditwindow->user_data((void*)(this));
- freemodeeditwindow->align(Fl_Align(FL_ALIGN_TOP));
- freemodeeditwindow->when(FL_WHEN_RELEASE);
- { Fl_Button* o = new Fl_Button(465, 160, 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);
- freemodeeditwindow->init(osc, loc());
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(482, 160, 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
- { PointButton* o = addpoint = new PointButton(90, 155, 80, 20, "Add pt");
- addpoint->box(FL_THIN_UP_BOX);
- addpoint->color(FL_BACKGROUND_COLOR);
- addpoint->selection_color(FL_BACKGROUND_COLOR);
- addpoint->labeltype(FL_NORMAL_LABEL);
- addpoint->labelfont(0);
- addpoint->labelsize(11);
- addpoint->labelcolor(FL_FOREGROUND_COLOR);
- addpoint->callback((Fl_Callback*)cb_addpoint);
- addpoint->align(Fl_Align(FL_ALIGN_CENTER));
- addpoint->when(FL_WHEN_RELEASE);
- (void)o->init("addPoint");
- } // PointButton* addpoint
- { EnvelopeFreeEdit* o = freeedit = new EnvelopeFreeEdit(5, 5, 565, 145, "Envelope");
- freeedit->box(FL_FLAT_BOX);
- freeedit->color(FL_FOREGROUND_COLOR);
- freeedit->selection_color(FL_BACKGROUND_COLOR);
- freeedit->labeltype(FL_NORMAL_LABEL);
- freeedit->labelfont(0);
- freeedit->labelsize(14);
- freeedit->labelcolor(FL_FOREGROUND_COLOR);
- freeedit->callback((Fl_Callback*)cb_freeedit);
- freeedit->align(Fl_Align(FL_ALIGN_CENTER));
- freeedit->when(FL_WHEN_RELEASE);
- o->init();
- } // EnvelopeFreeEdit* freeedit
- { PointButton* o = deletepoint = new PointButton(175, 155, 85, 20, "Delete pt");
- deletepoint->box(FL_THIN_UP_BOX);
- deletepoint->color(FL_BACKGROUND_COLOR);
- deletepoint->selection_color(FL_BACKGROUND_COLOR);
- deletepoint->labeltype(FL_NORMAL_LABEL);
- deletepoint->labelfont(0);
- deletepoint->labelsize(11);
- deletepoint->labelcolor(FL_FOREGROUND_COLOR);
- deletepoint->callback((Fl_Callback*)cb_deletepoint);
- deletepoint->align(Fl_Align(FL_ALIGN_CENTER));
- deletepoint->when(FL_WHEN_RELEASE);
- (void)o->init("delPoint");
- } // PointButton* deletepoint
- { Fl_Osc_Check* o = forcedreleasecheck = new Fl_Osc_Check(410, 165, 40, 15, "frcR");
- forcedreleasecheck->tooltip("Forced Release");
- forcedreleasecheck->box(FL_NO_BOX);
- forcedreleasecheck->down_box(FL_DOWN_BOX);
- forcedreleasecheck->color(FL_BACKGROUND_COLOR);
- forcedreleasecheck->selection_color(FL_FOREGROUND_COLOR);
- forcedreleasecheck->labeltype(FL_NORMAL_LABEL);
- forcedreleasecheck->labelfont(0);
- forcedreleasecheck->labelsize(10);
- forcedreleasecheck->labelcolor(FL_FOREGROUND_COLOR);
- forcedreleasecheck->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- forcedreleasecheck->when(FL_WHEN_RELEASE);
- o->init("Pforcedrelease");
- } // Fl_Osc_Check* forcedreleasecheck
- { Fl_Osc_Dial* o = envstretchdial = new Fl_Osc_Dial(380, 155, 25, 25, "Str.");
- envstretchdial->tooltip("Envelope stretch (on lower notes make the envelope longer)");
- envstretchdial->box(FL_ROUND_UP_BOX);
- envstretchdial->color(FL_BACKGROUND_COLOR);
- envstretchdial->selection_color(FL_INACTIVE_COLOR);
- envstretchdial->labeltype(FL_NORMAL_LABEL);
- envstretchdial->labelfont(0);
- envstretchdial->labelsize(10);
- envstretchdial->labelcolor(FL_FOREGROUND_COLOR);
- envstretchdial->maximum(127);
- envstretchdial->step(1);
- envstretchdial->align(Fl_Align(FL_ALIGN_LEFT));
- envstretchdial->when(FL_WHEN_CHANGED);
- o->init("Penvstretch");
- } // Fl_Osc_Dial* envstretchdial
- { Fl_Button* o = new Fl_Button(510, 155, 60, 20, "Close");
- o->box(FL_THIN_UP_BOX);
- o->callback((Fl_Callback*)cb_Close);
- } // Fl_Button* o
- { Fl_Osc_Check* o = linearenvelopecheck = new Fl_Osc_Check(410, 151, 30, 15, "L");
- linearenvelopecheck->tooltip("Linear Envelope");
- linearenvelopecheck->box(FL_NO_BOX);
- linearenvelopecheck->down_box(FL_DOWN_BOX);
- linearenvelopecheck->color(FL_BACKGROUND_COLOR);
- linearenvelopecheck->selection_color(FL_FOREGROUND_COLOR);
- linearenvelopecheck->labeltype(FL_NORMAL_LABEL);
- linearenvelopecheck->labelfont(0);
- linearenvelopecheck->labelsize(10);
- linearenvelopecheck->labelcolor(FL_FOREGROUND_COLOR);
- linearenvelopecheck->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- linearenvelopecheck->when(FL_WHEN_RELEASE);
- o->init("Plinearenvelope");
- } // Fl_Osc_Check* linearenvelopecheck
- { Fl_Osc_Counter* o = sustaincounter = new Fl_Osc_Counter(305, 155, 40, 15, "Sust");
- sustaincounter->tooltip("Sustain (0 is disabled)");
- sustaincounter->type(1);
- sustaincounter->box(FL_UP_BOX);
- sustaincounter->color(FL_BACKGROUND_COLOR);
- sustaincounter->selection_color(FL_INACTIVE_COLOR);
- sustaincounter->labeltype(FL_NORMAL_LABEL);
- sustaincounter->labelfont(0);
- sustaincounter->labelsize(11);
- sustaincounter->labelcolor(FL_FOREGROUND_COLOR);
- sustaincounter->minimum(0);
- sustaincounter->maximum(127);
- sustaincounter->step(1);
- sustaincounter->callback((Fl_Callback*)cb_sustaincounter);
- sustaincounter->align(Fl_Align(FL_ALIGN_LEFT));
- sustaincounter->when(FL_WHEN_CHANGED);
- o->init("Penvsustain");
- } // Fl_Osc_Counter* sustaincounter
- { Fl_Osc_Check* o = freemodehack = new Fl_Osc_Check(0, 0, 0, 0);
- freemodehack->box(FL_NO_BOX);
- freemodehack->down_box(FL_DOWN_BOX);
- freemodehack->color(FL_BACKGROUND_COLOR);
- freemodehack->selection_color(FL_FOREGROUND_COLOR);
- freemodehack->labeltype(FL_NORMAL_LABEL);
- freemodehack->labelfont(0);
- freemodehack->labelsize(14);
- freemodehack->labelcolor(FL_FOREGROUND_COLOR);
- freemodehack->callback((Fl_Callback*)cb_freemodehack);
- freemodehack->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- freemodehack->when(FL_WHEN_RELEASE);
- o->init("Pfreemode");o->hide();
- } // Fl_Osc_Check* freemodehack
- { Fl_Osc_Button* o = new Fl_Osc_Button(5, 155, 80, 20, "Cancel");
- o->tooltip("Cancel freemode editing");
- o->box(FL_THIN_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(11);
- o->labelcolor((Fl_Color)1);
- o->callback((Fl_Callback*)cb_Cancel);
- o->align(Fl_Align(FL_ALIGN_CENTER));
- o->when(FL_WHEN_RELEASE);
- } // Fl_Osc_Button* o
- freemodeeditwindow->end();
- freemodeeditwindow->resizable(freemodeeditwindow);
- } // Fl_Osc_Window* freemodeeditwindow
- return freemodeeditwindow;
- }
-
- Fl_Osc_Group* EnvelopeUI::make_ADSR_window() {
- { envADSR = new Fl_Osc_Group(0, 0, 205, 70);
- envADSR->box(FL_FLAT_BOX);
- envADSR->color(FL_LIGHT1);
- envADSR->selection_color(FL_BACKGROUND_COLOR);
- envADSR->labeltype(FL_NO_LABEL);
- envADSR->labelfont(1);
- envADSR->labelsize(14);
- envADSR->labelcolor(FL_FOREGROUND_COLOR);
- envADSR->user_data((void*)(this));
- envADSR->align(Fl_Align(FL_ALIGN_TOP));
- envADSR->when(FL_WHEN_RELEASE);
- { Fl_Group* o = new Fl_Group(0, 0, 205, 70, "Amplitude Envelope");
- o->box(FL_UP_BOX);
- o->color(FL_CYAN);
- o->labeltype(FL_ENGRAVED_LABEL);
- o->labelsize(10);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Button* o = new Fl_Button(150, 5, 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_C1);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(167, 5, 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_P1);
- } // Fl_Button* o
- { Fl_Osc_Dial* o = e1adt = new Fl_Osc_Dial(5, 20, 30, 30, "A.dt");
- e1adt->tooltip("Attack time");
- e1adt->box(FL_ROUND_UP_BOX);
- e1adt->color(FL_BACKGROUND_COLOR);
- e1adt->selection_color(FL_INACTIVE_COLOR);
- e1adt->labeltype(FL_NORMAL_LABEL);
- e1adt->labelfont(0);
- e1adt->labelsize(10);
- e1adt->labelcolor(FL_FOREGROUND_COLOR);
- e1adt->maximum(127);
- e1adt->step(1);
- e1adt->callback((Fl_Callback*)cb_e1adt);
- e1adt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e1adt->when(FL_WHEN_CHANGED);
- o->init("PA_dt");
- } // Fl_Osc_Dial* e1adt
- { Fl_Osc_Dial* o = e1ddt = new Fl_Osc_Dial(40, 20, 30, 30, "D.dt");
- e1ddt->tooltip("Decay time");
- e1ddt->box(FL_ROUND_UP_BOX);
- e1ddt->color(FL_BACKGROUND_COLOR);
- e1ddt->selection_color(FL_INACTIVE_COLOR);
- e1ddt->labeltype(FL_NORMAL_LABEL);
- e1ddt->labelfont(0);
- e1ddt->labelsize(10);
- e1ddt->labelcolor(FL_FOREGROUND_COLOR);
- e1ddt->maximum(127);
- e1ddt->step(1);
- e1ddt->callback((Fl_Callback*)cb_e1ddt);
- e1ddt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e1ddt->when(FL_WHEN_CHANGED);
- o->init("PD_dt");
- } // Fl_Osc_Dial* e1ddt
- { Fl_Osc_Dial* o = e1rdt = new Fl_Osc_Dial(110, 20, 30, 30, "R.dt");
- e1rdt->tooltip("Release time");
- e1rdt->box(FL_ROUND_UP_BOX);
- e1rdt->color(FL_BACKGROUND_COLOR);
- e1rdt->selection_color(FL_INACTIVE_COLOR);
- e1rdt->labeltype(FL_NORMAL_LABEL);
- e1rdt->labelfont(0);
- e1rdt->labelsize(10);
- e1rdt->labelcolor(FL_FOREGROUND_COLOR);
- e1rdt->maximum(127);
- e1rdt->step(1);
- e1rdt->callback((Fl_Callback*)cb_e1rdt);
- e1rdt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e1rdt->when(FL_WHEN_CHANGED);
- o->init("PR_dt");
- } // Fl_Osc_Dial* e1rdt
- { Fl_Osc_Dial* o = e1sval = new Fl_Osc_Dial(75, 20, 30, 30, "S.val");
- e1sval->tooltip("Sustain value");
- e1sval->box(FL_ROUND_UP_BOX);
- e1sval->color(FL_BACKGROUND_COLOR);
- e1sval->selection_color(FL_INACTIVE_COLOR);
- e1sval->labeltype(FL_NORMAL_LABEL);
- e1sval->labelfont(0);
- e1sval->labelsize(10);
- e1sval->labelcolor(FL_FOREGROUND_COLOR);
- e1sval->maximum(127);
- e1sval->step(1);
- e1sval->callback((Fl_Callback*)cb_e1sval);
- e1sval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e1sval->when(FL_WHEN_CHANGED);
- o->init("PS_val");
- } // Fl_Osc_Dial* e1sval
- { Fl_Osc_Check* o = e1forcedrelease = new Fl_Osc_Check(180, 35, 20, 15, "frcR");
- e1forcedrelease->tooltip("Forced Release");
- e1forcedrelease->box(FL_NO_BOX);
- e1forcedrelease->down_box(FL_DOWN_BOX);
- e1forcedrelease->color(FL_BACKGROUND_COLOR);
- e1forcedrelease->selection_color(FL_FOREGROUND_COLOR);
- e1forcedrelease->labeltype(FL_NORMAL_LABEL);
- e1forcedrelease->labelfont(0);
- e1forcedrelease->labelsize(10);
- e1forcedrelease->labelcolor(FL_FOREGROUND_COLOR);
- e1forcedrelease->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT));
- e1forcedrelease->when(FL_WHEN_RELEASE);
- o->init("Pforcedrelease");
- } // Fl_Osc_Check* e1forcedrelease
- { Fl_Osc_Dial* o = e1envstretch = new Fl_Osc_Dial(145, 25, 25, 25, "Stretch");
- e1envstretch->tooltip("Envelope stretch (on lower notes makes the envelope longer)");
- e1envstretch->box(FL_ROUND_UP_BOX);
- e1envstretch->color(FL_BACKGROUND_COLOR);
- e1envstretch->selection_color(FL_INACTIVE_COLOR);
- e1envstretch->labeltype(FL_NORMAL_LABEL);
- e1envstretch->labelfont(0);
- e1envstretch->labelsize(10);
- e1envstretch->labelcolor(FL_FOREGROUND_COLOR);
- e1envstretch->maximum(127);
- e1envstretch->step(1);
- e1envstretch->align(Fl_Align(FL_ALIGN_BOTTOM));
- e1envstretch->when(FL_WHEN_CHANGED);
- o->init("Penvstretch");
- } // Fl_Osc_Dial* e1envstretch
- { Fl_Osc_Button* o = new Fl_Osc_Button(185, 5, 15, 15, "E");
- o->tooltip("Envelope window");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_E);
- o->align(Fl_Align(FL_ALIGN_CENTER));
- o->when(FL_WHEN_RELEASE);
- } // Fl_Osc_Button* o
- { Fl_Osc_Check* o = e1linearenvelope = new Fl_Osc_Check(180, 20, 15, 15, "L");
- e1linearenvelope->tooltip("The evelope is linear");
- e1linearenvelope->box(FL_NO_BOX);
- e1linearenvelope->down_box(FL_DOWN_BOX);
- e1linearenvelope->color(FL_BACKGROUND_COLOR);
- e1linearenvelope->selection_color(FL_FOREGROUND_COLOR);
- e1linearenvelope->labeltype(FL_NORMAL_LABEL);
- e1linearenvelope->labelfont(0);
- e1linearenvelope->labelsize(10);
- e1linearenvelope->labelcolor(FL_FOREGROUND_COLOR);
- e1linearenvelope->align(Fl_Align(FL_ALIGN_LEFT));
- e1linearenvelope->when(FL_WHEN_RELEASE);
- o->init("Plinearenvelope");
- } // Fl_Osc_Check* e1linearenvelope
- set_module_parameters(o);
- o->end();
- } // Fl_Group* o
- envADSR->end();
- } // Fl_Osc_Group* envADSR
- return envADSR;
- }
-
- Fl_Osc_Group* EnvelopeUI::make_ASR_window() {
- { envASR = new Fl_Osc_Group(0, 0, 210, 70);
- envASR->box(FL_FLAT_BOX);
- envASR->color(FL_BACKGROUND_COLOR);
- envASR->selection_color(FL_BACKGROUND_COLOR);
- envASR->labeltype(FL_NO_LABEL);
- envASR->labelfont(0);
- envASR->labelsize(14);
- envASR->labelcolor(FL_FOREGROUND_COLOR);
- envASR->user_data((void*)(this));
- envASR->align(Fl_Align(FL_ALIGN_TOP));
- envASR->when(FL_WHEN_RELEASE);
- { Fl_Group* o = new Fl_Group(0, 0, 210, 70, "Frequency Envelope");
- o->box(FL_UP_BOX);
- o->color(FL_CYAN);
- o->labeltype(FL_ENGRAVED_LABEL);
- o->labelsize(10);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Button* o = new Fl_Button(155, 5, 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_C2);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(172, 5, 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_P2);
- } // Fl_Button* o
- { Fl_Osc_Dial* o = e2aval = new Fl_Osc_Dial(5, 20, 30, 30, "A.val");
- e2aval->tooltip("Starting value");
- e2aval->box(FL_ROUND_UP_BOX);
- e2aval->color(FL_BACKGROUND_COLOR);
- e2aval->selection_color(FL_INACTIVE_COLOR);
- e2aval->labeltype(FL_NORMAL_LABEL);
- e2aval->labelfont(0);
- e2aval->labelsize(10);
- e2aval->labelcolor(FL_FOREGROUND_COLOR);
- e2aval->maximum(127);
- e2aval->step(1);
- e2aval->callback((Fl_Callback*)cb_e2aval);
- e2aval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e2aval->when(FL_WHEN_CHANGED);
- o->init("PA_val");
- } // Fl_Osc_Dial* e2aval
- { Fl_Osc_Dial* o = e2adt = new Fl_Osc_Dial(40, 20, 30, 30, "A.dt");
- e2adt->tooltip("Attack time");
- e2adt->box(FL_ROUND_UP_BOX);
- e2adt->color(FL_BACKGROUND_COLOR);
- e2adt->selection_color(FL_INACTIVE_COLOR);
- e2adt->labeltype(FL_NORMAL_LABEL);
- e2adt->labelfont(0);
- e2adt->labelsize(10);
- e2adt->labelcolor(FL_FOREGROUND_COLOR);
- e2adt->maximum(127);
- e2adt->step(1);
- e2adt->callback((Fl_Callback*)cb_e2adt);
- e2adt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e2adt->when(FL_WHEN_CHANGED);
- o->init("PA_dt");
- } // Fl_Osc_Dial* e2adt
- { Fl_Osc_Dial* o = e2rval = new Fl_Osc_Dial(110, 20, 30, 30, "R.val");
- e2rval->tooltip("Release value");
- e2rval->box(FL_ROUND_UP_BOX);
- e2rval->color(FL_BACKGROUND_COLOR);
- e2rval->selection_color(FL_INACTIVE_COLOR);
- e2rval->labeltype(FL_NORMAL_LABEL);
- e2rval->labelfont(0);
- e2rval->labelsize(10);
- e2rval->labelcolor(FL_FOREGROUND_COLOR);
- e2rval->maximum(127);
- e2rval->step(1);
- e2rval->callback((Fl_Callback*)cb_e2rval);
- e2rval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e2rval->when(FL_WHEN_CHANGED);
- o->init("PR_val");
- } // Fl_Osc_Dial* e2rval
- { Fl_Osc_Dial* o = e2rdt = new Fl_Osc_Dial(75, 20, 30, 30, "R.dt");
- e2rdt->tooltip("Release time");
- e2rdt->box(FL_ROUND_UP_BOX);
- e2rdt->color(FL_BACKGROUND_COLOR);
- e2rdt->selection_color(FL_INACTIVE_COLOR);
- e2rdt->labeltype(FL_NORMAL_LABEL);
- e2rdt->labelfont(0);
- e2rdt->labelsize(10);
- e2rdt->labelcolor(FL_FOREGROUND_COLOR);
- e2rdt->maximum(127);
- e2rdt->step(1);
- e2rdt->callback((Fl_Callback*)cb_e2rdt);
- e2rdt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e2rdt->when(FL_WHEN_CHANGED);
- o->init("PR_dt");
- } // Fl_Osc_Dial* e2rdt
- { Fl_Osc_Dial* o = e2envstretch = new Fl_Osc_Dial(145, 25, 25, 25, "Stretch");
- e2envstretch->tooltip("Envelope stretch (on lower notes makes the envelope longer)");
- e2envstretch->box(FL_ROUND_UP_BOX);
- e2envstretch->color(FL_BACKGROUND_COLOR);
- e2envstretch->selection_color(FL_INACTIVE_COLOR);
- e2envstretch->labeltype(FL_NORMAL_LABEL);
- e2envstretch->labelfont(0);
- e2envstretch->labelsize(10);
- e2envstretch->labelcolor(FL_FOREGROUND_COLOR);
- e2envstretch->maximum(127);
- e2envstretch->step(1);
- e2envstretch->align(Fl_Align(FL_ALIGN_BOTTOM));
- e2envstretch->when(FL_WHEN_CHANGED);
- o->init("Penvstretch");
- } // Fl_Osc_Dial* e2envstretch
- { Fl_Osc_Check* o = e2forcedrelease = new Fl_Osc_Check(180, 25, 15, 25, "frcR");
- e2forcedrelease->tooltip("Forced release");
- e2forcedrelease->box(FL_NO_BOX);
- e2forcedrelease->down_box(FL_DOWN_BOX);
- e2forcedrelease->color(FL_BACKGROUND_COLOR);
- e2forcedrelease->selection_color(FL_FOREGROUND_COLOR);
- e2forcedrelease->labeltype(FL_NORMAL_LABEL);
- e2forcedrelease->labelfont(0);
- e2forcedrelease->labelsize(10);
- e2forcedrelease->labelcolor(FL_FOREGROUND_COLOR);
- e2forcedrelease->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT));
- e2forcedrelease->when(FL_WHEN_RELEASE);
- o->init("Pforcedrelease");
- } // Fl_Osc_Check* e2forcedrelease
- set_module_parameters(o);
- o->end();
- } // Fl_Group* o
- { Fl_Osc_Button* o = new Fl_Osc_Button(190, 5, 15, 15, "E");
- o->tooltip("Envelope window");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_E1);
- o->align(Fl_Align(FL_ALIGN_CENTER));
- o->when(FL_WHEN_RELEASE);
- } // Fl_Osc_Button* o
- envASR->end();
- } // Fl_Osc_Group* envASR
- return envASR;
- }
-
- Fl_Osc_Group* EnvelopeUI::make_ADSRfilter_window() {
- { envADSRfilter = new Fl_Osc_Group(0, 0, 275, 70);
- envADSRfilter->box(FL_FLAT_BOX);
- envADSRfilter->color(FL_LIGHT1);
- envADSRfilter->selection_color(FL_BACKGROUND_COLOR);
- envADSRfilter->labeltype(FL_NO_LABEL);
- envADSRfilter->labelfont(1);
- envADSRfilter->labelsize(14);
- envADSRfilter->labelcolor(FL_FOREGROUND_COLOR);
- envADSRfilter->user_data((void*)(this));
- envADSRfilter->align(Fl_Align(FL_ALIGN_TOP));
- envADSRfilter->when(FL_WHEN_RELEASE);
- { Fl_Group* o = new Fl_Group(0, 0, 275, 70, "Filter Envelope");
- o->box(FL_UP_BOX);
- o->color(FL_CYAN);
- o->labeltype(FL_ENGRAVED_LABEL);
- o->labelsize(10);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Button* o = new Fl_Button(220, 5, 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_C3);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(237, 5, 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_P3);
- } // Fl_Button* o
- { Fl_Osc_Dial* o = e3aval = new Fl_Osc_Dial(5, 20, 30, 30, "A.val");
- e3aval->tooltip("Starting value");
- e3aval->box(FL_ROUND_UP_BOX);
- e3aval->color(FL_BACKGROUND_COLOR);
- e3aval->selection_color(FL_INACTIVE_COLOR);
- e3aval->labeltype(FL_NORMAL_LABEL);
- e3aval->labelfont(0);
- e3aval->labelsize(10);
- e3aval->labelcolor(FL_FOREGROUND_COLOR);
- e3aval->maximum(127);
- e3aval->step(1);
- e3aval->callback((Fl_Callback*)cb_e3aval);
- e3aval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3aval->when(FL_WHEN_CHANGED);
- o->init("PA_val");
- } // Fl_Osc_Dial* e3aval
- { Fl_Osc_Dial* o = e3adt = new Fl_Osc_Dial(40, 20, 30, 30, "A.dt");
- e3adt->tooltip("Attack time");
- e3adt->box(FL_ROUND_UP_BOX);
- e3adt->color(FL_BACKGROUND_COLOR);
- e3adt->selection_color(FL_INACTIVE_COLOR);
- e3adt->labeltype(FL_NORMAL_LABEL);
- e3adt->labelfont(0);
- e3adt->labelsize(10);
- e3adt->labelcolor(FL_FOREGROUND_COLOR);
- e3adt->maximum(127);
- e3adt->step(1);
- e3adt->callback((Fl_Callback*)cb_e3adt);
- e3adt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3adt->when(FL_WHEN_CHANGED);
- o->init("PA_dt");
- } // Fl_Osc_Dial* e3adt
- { Fl_Osc_Dial* o = e3dval = new Fl_Osc_Dial(75, 20, 30, 30, "D.val");
- e3dval->tooltip("decay value");
- e3dval->box(FL_ROUND_UP_BOX);
- e3dval->color(FL_BACKGROUND_COLOR);
- e3dval->selection_color(FL_INACTIVE_COLOR);
- e3dval->labeltype(FL_NORMAL_LABEL);
- e3dval->labelfont(0);
- e3dval->labelsize(10);
- e3dval->labelcolor(FL_FOREGROUND_COLOR);
- e3dval->maximum(127);
- e3dval->step(1);
- e3dval->callback((Fl_Callback*)cb_e3dval);
- e3dval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3dval->when(FL_WHEN_CHANGED);
- o->init("PD_val");
- } // Fl_Osc_Dial* e3dval
- { Fl_Osc_Dial* o = e3ddt = new Fl_Osc_Dial(110, 20, 30, 30, "D.dt");
- e3ddt->tooltip("decay time");
- e3ddt->box(FL_ROUND_UP_BOX);
- e3ddt->color(FL_BACKGROUND_COLOR);
- e3ddt->selection_color(FL_INACTIVE_COLOR);
- e3ddt->labeltype(FL_NORMAL_LABEL);
- e3ddt->labelfont(0);
- e3ddt->labelsize(10);
- e3ddt->labelcolor(FL_FOREGROUND_COLOR);
- e3ddt->maximum(127);
- e3ddt->step(1);
- e3ddt->callback((Fl_Callback*)cb_e3ddt);
- e3ddt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3ddt->when(FL_WHEN_CHANGED);
- o->init("PD_dt");
- } // Fl_Osc_Dial* e3ddt
- { Fl_Osc_Dial* o = e3rdt = new Fl_Osc_Dial(145, 20, 30, 30, "R.dt");
- e3rdt->tooltip("Release time");
- e3rdt->box(FL_ROUND_UP_BOX);
- e3rdt->color(FL_BACKGROUND_COLOR);
- e3rdt->selection_color(FL_INACTIVE_COLOR);
- e3rdt->labeltype(FL_NORMAL_LABEL);
- e3rdt->labelfont(0);
- e3rdt->labelsize(10);
- e3rdt->labelcolor(FL_FOREGROUND_COLOR);
- e3rdt->maximum(127);
- e3rdt->step(1);
- e3rdt->callback((Fl_Callback*)cb_e3rdt);
- e3rdt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3rdt->when(FL_WHEN_CHANGED);
- o->init("PR_dt");
- } // Fl_Osc_Dial* e3rdt
- { Fl_Osc_Dial* o = e3rval = new Fl_Osc_Dial(180, 20, 30, 30, "R.val");
- e3rval->tooltip("Release value");
- e3rval->box(FL_ROUND_UP_BOX);
- e3rval->color(FL_BACKGROUND_COLOR);
- e3rval->selection_color(FL_INACTIVE_COLOR);
- e3rval->labeltype(FL_NORMAL_LABEL);
- e3rval->labelfont(0);
- e3rval->labelsize(10);
- e3rval->labelcolor(FL_FOREGROUND_COLOR);
- e3rval->maximum(127);
- e3rval->step(1);
- e3rval->callback((Fl_Callback*)cb_e3rval);
- e3rval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3rval->when(FL_WHEN_CHANGED);
- o->init("PR_val");
- } // Fl_Osc_Dial* e3rval
- { Fl_Osc_Dial* o = e3envstretch = new Fl_Osc_Dial(215, 25, 25, 25, "Stretch");
- e3envstretch->tooltip("Envelope stretch (on lower notes makes the envelope longer)");
- e3envstretch->box(FL_ROUND_UP_BOX);
- e3envstretch->color(FL_BACKGROUND_COLOR);
- e3envstretch->selection_color(FL_INACTIVE_COLOR);
- e3envstretch->labeltype(FL_NORMAL_LABEL);
- e3envstretch->labelfont(0);
- e3envstretch->labelsize(10);
- e3envstretch->labelcolor(FL_FOREGROUND_COLOR);
- e3envstretch->maximum(127);
- e3envstretch->step(1);
- e3envstretch->align(Fl_Align(FL_ALIGN_BOTTOM));
- e3envstretch->when(FL_WHEN_CHANGED);
- o->init("Penvstretch");
- } // Fl_Osc_Dial* e3envstretch
- { Fl_Osc_Check* o = e3forcedrelease = new Fl_Osc_Check(250, 30, 15, 20, "frcR");
- e3forcedrelease->tooltip("Forced Release");
- e3forcedrelease->box(FL_NO_BOX);
- e3forcedrelease->down_box(FL_DOWN_BOX);
- e3forcedrelease->color(FL_BACKGROUND_COLOR);
- e3forcedrelease->selection_color(FL_FOREGROUND_COLOR);
- e3forcedrelease->labeltype(FL_NORMAL_LABEL);
- e3forcedrelease->labelfont(0);
- e3forcedrelease->labelsize(10);
- e3forcedrelease->labelcolor(FL_FOREGROUND_COLOR);
- e3forcedrelease->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT));
- e3forcedrelease->when(FL_WHEN_RELEASE);
- o->init("Pforcedrelease");
- } // Fl_Osc_Check* e3forcedrelease
- { Fl_Osc_Button* o = new Fl_Osc_Button(255, 5, 15, 15, "E");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_E2);
- o->align(Fl_Align(FL_ALIGN_CENTER));
- o->when(FL_WHEN_RELEASE);
- } // Fl_Osc_Button* o
- set_module_parameters(o);
- o->end();
- } // Fl_Group* o
- envADSRfilter->end();
- } // Fl_Osc_Group* envADSRfilter
- return envADSRfilter;
- }
-
- Fl_Osc_Group* EnvelopeUI::make_ASRbw_window() {
- { Fl_Osc_Group* o = envASRbw = new Fl_Osc_Group(0, 0, 210, 70);
- envASRbw->box(FL_FLAT_BOX);
- envASRbw->color(FL_BACKGROUND_COLOR);
- envASRbw->selection_color(FL_BACKGROUND_COLOR);
- envASRbw->labeltype(FL_NO_LABEL);
- envASRbw->labelfont(0);
- envASRbw->labelsize(14);
- envASRbw->labelcolor(FL_FOREGROUND_COLOR);
- envASRbw->user_data((void*)(this));
- envASRbw->align(Fl_Align(FL_ALIGN_TOP));
- envASRbw->when(FL_WHEN_RELEASE);
- { Fl_Group* o = new Fl_Group(0, 0, 210, 70, "BandWidth Envelope");
- o->box(FL_UP_BOX);
- o->color(FL_CYAN);
- o->labeltype(FL_ENGRAVED_LABEL);
- o->labelsize(10);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Button* o = new Fl_Button(155, 5, 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_C4);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(172, 5, 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_P4);
- } // Fl_Button* o
- { Fl_Osc_Dial* o = e4aval = new Fl_Osc_Dial(5, 20, 30, 30, "A.val");
- e4aval->tooltip("Starting value");
- e4aval->box(FL_ROUND_UP_BOX);
- e4aval->color(FL_BACKGROUND_COLOR);
- e4aval->selection_color(FL_INACTIVE_COLOR);
- e4aval->labeltype(FL_NORMAL_LABEL);
- e4aval->labelfont(0);
- e4aval->labelsize(10);
- e4aval->labelcolor(FL_FOREGROUND_COLOR);
- e4aval->maximum(127);
- e4aval->step(1);
- e4aval->callback((Fl_Callback*)cb_e4aval);
- e4aval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e4aval->when(FL_WHEN_CHANGED);
- o->init("PA_val");
- } // Fl_Osc_Dial* e4aval
- { Fl_Osc_Dial* o = e4adt = new Fl_Osc_Dial(40, 20, 30, 30, "A.dt");
- e4adt->tooltip("Attack time");
- e4adt->box(FL_ROUND_UP_BOX);
- e4adt->color(FL_BACKGROUND_COLOR);
- e4adt->selection_color(FL_INACTIVE_COLOR);
- e4adt->labeltype(FL_NORMAL_LABEL);
- e4adt->labelfont(0);
- e4adt->labelsize(10);
- e4adt->labelcolor(FL_FOREGROUND_COLOR);
- e4adt->maximum(127);
- e4adt->step(1);
- e4adt->callback((Fl_Callback*)cb_e4adt);
- e4adt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e4adt->when(FL_WHEN_CHANGED);
- o->init("PA_dt");
- } // Fl_Osc_Dial* e4adt
- { Fl_Osc_Dial* o = e4rval = new Fl_Osc_Dial(110, 20, 30, 30, "R.val");
- e4rval->tooltip("Release value");
- e4rval->box(FL_ROUND_UP_BOX);
- e4rval->color(FL_BACKGROUND_COLOR);
- e4rval->selection_color(FL_INACTIVE_COLOR);
- e4rval->labeltype(FL_NORMAL_LABEL);
- e4rval->labelfont(0);
- e4rval->labelsize(10);
- e4rval->labelcolor(FL_FOREGROUND_COLOR);
- e4rval->maximum(127);
- e4rval->step(1);
- e4rval->callback((Fl_Callback*)cb_e4rval);
- e4rval->align(Fl_Align(FL_ALIGN_BOTTOM));
- e4rval->when(FL_WHEN_CHANGED);
- o->init("PR_val");
- } // Fl_Osc_Dial* e4rval
- { Fl_Osc_Dial* o = e4rdt = new Fl_Osc_Dial(75, 20, 30, 30, "R.dt");
- e4rdt->tooltip("Release time");
- e4rdt->box(FL_ROUND_UP_BOX);
- e4rdt->color(FL_BACKGROUND_COLOR);
- e4rdt->selection_color(FL_INACTIVE_COLOR);
- e4rdt->labeltype(FL_NORMAL_LABEL);
- e4rdt->labelfont(0);
- e4rdt->labelsize(10);
- e4rdt->labelcolor(FL_FOREGROUND_COLOR);
- e4rdt->maximum(127);
- e4rdt->step(1);
- e4rdt->callback((Fl_Callback*)cb_e4rdt);
- e4rdt->align(Fl_Align(FL_ALIGN_BOTTOM));
- e4rdt->when(FL_WHEN_CHANGED);
- o->init("PR_dt");
- } // Fl_Osc_Dial* e4rdt
- { Fl_Osc_Dial* o = e4envstretch = new Fl_Osc_Dial(145, 25, 25, 25, "Stretch");
- e4envstretch->tooltip("Envelope stretch (on lower notes makes the envelope longer)");
- e4envstretch->box(FL_ROUND_UP_BOX);
- e4envstretch->color(FL_BACKGROUND_COLOR);
- e4envstretch->selection_color(FL_INACTIVE_COLOR);
- e4envstretch->labeltype(FL_NORMAL_LABEL);
- e4envstretch->labelfont(0);
- e4envstretch->labelsize(10);
- e4envstretch->labelcolor(FL_FOREGROUND_COLOR);
- e4envstretch->maximum(127);
- e4envstretch->step(1);
- e4envstretch->align(Fl_Align(FL_ALIGN_BOTTOM));
- e4envstretch->when(FL_WHEN_CHANGED);
- o->init("Penvstretch");
- } // Fl_Osc_Dial* e4envstretch
- { Fl_Osc_Check* o = e4forcedrelease = new Fl_Osc_Check(180, 25, 15, 25, "frcR");
- e4forcedrelease->tooltip("Forced release");
- e4forcedrelease->box(FL_NO_BOX);
- e4forcedrelease->down_box(FL_DOWN_BOX);
- e4forcedrelease->color(FL_BACKGROUND_COLOR);
- e4forcedrelease->selection_color(FL_FOREGROUND_COLOR);
- e4forcedrelease->labeltype(FL_NORMAL_LABEL);
- e4forcedrelease->labelfont(0);
- e4forcedrelease->labelsize(10);
- e4forcedrelease->labelcolor(FL_FOREGROUND_COLOR);
- e4forcedrelease->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT));
- e4forcedrelease->when(FL_WHEN_RELEASE);
- o->init("Pforcedrelease");
- } // Fl_Osc_Check* e4forcedrelease
- set_module_parameters(o);
- o->end();
- } // Fl_Group* o
- { Fl_Osc_Button* o = new Fl_Osc_Button(190, 5, 15, 15, "E");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_E3);
- o->align(Fl_Align(FL_ALIGN_CENTER));
- o->when(FL_WHEN_RELEASE);
- } // Fl_Osc_Button* o
- set_module_parameters(o);
- envASRbw->end();
- } // Fl_Osc_Group* envASRbw
- return envASRbw;
- }
-
- Fl_Osc_Group* EnvelopeUI::make_free_window() {
- { Fl_Osc_Group* o = envfree = new Fl_Osc_Group(0, 0, 205, 70);
- envfree->box(FL_FLAT_BOX);
- envfree->color(FL_LIGHT1);
- envfree->selection_color(FL_BACKGROUND_COLOR);
- envfree->labeltype(FL_NO_LABEL);
- envfree->labelfont(1);
- envfree->labelsize(14);
- envfree->labelcolor(FL_FOREGROUND_COLOR);
- envfree->user_data((void*)(this));
- envfree->align(Fl_Align(FL_ALIGN_TOP));
- envfree->when(FL_WHEN_RELEASE);
- { Fl_Group* o = envfreegroup = new Fl_Group(0, 0, 205, 70, "Amplitude Envelope");
- envfreegroup->box(FL_UP_BOX);
- envfreegroup->color(FL_CYAN);
- envfreegroup->labeltype(FL_ENGRAVED_LABEL);
- envfreegroup->labelsize(10);
- envfreegroup->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Osc_Button* o = new Fl_Osc_Button(185, 5, 15, 15, "E");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_E4);
- o->align(Fl_Align(FL_ALIGN_CENTER));
- o->when(FL_WHEN_RELEASE);
- } // Fl_Osc_Button* o
- { EnvelopeFreeEdit* o = freeeditsmall = new EnvelopeFreeEdit(5, 20, 195, 45, "Envelope");
- freeeditsmall->box(FL_FLAT_BOX);
- freeeditsmall->color(FL_FOREGROUND_COLOR);
- freeeditsmall->selection_color(FL_BACKGROUND_COLOR);
- freeeditsmall->labeltype(FL_NORMAL_LABEL);
- freeeditsmall->labelfont(0);
- freeeditsmall->labelsize(14);
- freeeditsmall->labelcolor(FL_FOREGROUND_COLOR);
- freeeditsmall->callback((Fl_Callback*)cb_freeeditsmall);
- freeeditsmall->align(Fl_Align(FL_ALIGN_CENTER));
- freeeditsmall->when(FL_WHEN_RELEASE);
- Fl_Group::current()->resizable(freeeditsmall);
- o->init();
- } // EnvelopeFreeEdit* freeeditsmall
- { Fl_Button* o = new Fl_Button(150, 5, 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_C5);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(167, 5, 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_P5);
- } // Fl_Button* o
- set_module_parameters(o);
- envfreegroup->end();
- Fl_Group::current()->resizable(envfreegroup);
- } // Fl_Group* envfreegroup
- set_module_parameters(o);
- envfree->end();
- } // Fl_Osc_Group* envfree
- return envfree;
- }
-
- void EnvelopeUI::open_as_freemode() {
- if (!freemodehack->value() &&
- fl_choice("Convert envelope to free mode data?","No","Yes",NULL)==0)
- return;
- freemodehack->oscWrite("Pfreemode", "T");
- freeedit->update();
- freemodeeditwindow->show();
- freemodeeditwindow->position(Fl::event_x_root()-20, Fl::event_y_root()+20);
- freemodeeditwindow->size_range(400,160);
- }
-
- void EnvelopeUI::init(int env_type, Fl_Osc_Interface *osc_, std::string base_, std::string ext_) {
- osc = osc_;
- base = base_;
- ext = ext_;
- Envmode = env_type;
- Penvsustain = false;
- Penvpoints = 3;
- Penvstretch = 0;
- Pforcedrelease = 0;
- Plinearenvelope = 0;
- assert(osc);
- make_ADSR_window();
- make_ASR_window();
- make_ADSRfilter_window();
- make_ASRbw_window();
- make_free_window();
-
- make_freemode_edit_window();
-
- envwindow=NULL;
- if(Envmode==3) envfreegroup->label("Frequency Envelope");
- if(Envmode==4) envfreegroup->label("Filter Envelope");
- if(Envmode==5) envfreegroup->label("Bandwidth Envelope");
-
- freemodeeditwindow->label(this->label());
-
-
- freeeditsmall->setpair(freeedit);
- freeedit->setpair(freeeditsmall);
-
-
- refresh_display();
- }
-
- void EnvelopeUI::rebase(std::string new_base) {
- Fl_Osc_Group::rebase(new_base);
- freemodeeditwindow->rebase(new_base+ext);
- }
-
- void EnvelopeUI::disable_freemode() {
- if (fl_choice("Discard free mode data?","No","Yes",NULL)==0)
- return;
-
- hide();
- int winx = Fl::event_x_root()-10;
- int winy = Fl::event_y_root()-155;
- winx = winx < 1 ? 1 : winx;
- winy = winy < 1 ? 1 : winy;
- freemodeeditwindow->hide();
-
- envwindow->hide();
- Fl_Group *par=envwindow->parent();
- par->hide();
-
- freemodehack->oscWrite("Pfreemode", "F");
- freeedit->update();
- envwindow->show();
- par->redraw();
-
- par->show();
- show();
- freemodeeditwindow->position(winx,winy);
- }
-
- void EnvelopeUI::refresh() {
- freemodehack->oscWrite("Pfreemode");
- }
-
- void EnvelopeUI::refresh_display() {
- sustaincounter->value(Penvsustain);
- sustaincounter->maximum(Penvpoints-2);
-
- envstretchdial->value(Penvstretch);
-
- if (Envmode > 2)
- linearenvelopecheck->hide();
- else {
- linearenvelopecheck->value(Plinearenvelope);
- linearenvelopecheck->show();
- }
-
- forcedreleasecheck->value(Pforcedrelease);
-
- envADSR->hide();
- envASR->hide();
- envADSRfilter->hide();
- envASRbw->hide();
- envfree->hide();
-
- if (freemodehack->value()) {
- envwindow=envfree;
- freeedit->update();
- } else {
- freemodeeditwindow->hide();
- switch(Envmode){
- case 1:
- case 2:
- envwindow=envADSR;
- break;
- case 3:
- envwindow=envASR;
- break;
- case 4:
- envwindow=envADSRfilter;
- break;
- case 5:
- envwindow=envASRbw;
- break;
- default:
- break;
- }
- }
-
- assert(envwindow);
- envwindow->resize(this->x(),this->y(),this->w(),this->h());
-
- envwindow->show();
- }
|