|
- // generated by Fast Light User Interface Designer (fluid) version 1.0300
-
- #include "external/zynaddsubfx/UI/ADnoteUI.h"
- //Copyright (c) 2002-2005 Nasca Octavian Paul
- //License: GNU GPL version 2 or later
- #include <cmath>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include "Osc_IntModel.h"
- #include "PartUI.h"
- #include "MasterUI.h"
- extern class MasterUI *ui;
-
- PhaseSlider::PhaseSlider(int x,int y, int w, int h, const char *label)
- :Fl_Osc_TSlider(x,y,w,h,label) {
- set_rounding(1);
- reset_value=0;
- set_transform([](float x){return 180.0f*x/64.0f;});
- }
-
- void PhaseSlider::set_scope(Fl_Oscilloscope *newscope) {
- oscope = newscope;
- }
-
- void PhaseSlider::OSC_value(int i) {
- value(64-i);
- oscope->phase=i;
- oscope->parent()->redraw();
- }
-
- void PhaseSlider::cb(void) {
- oscWrite(ext, "i", (int)(64-Fl_Slider::value()));
- if(cb_data.first)
- cb_data.first(this, cb_data.second);
- }
-
- void ADvoicelistitem::cb_voicedetune_i(Fl_Osc_Slider*, void*) {
- detunevalueoutput->update();
- }
- void ADvoicelistitem::cb_voicedetune(Fl_Osc_Slider* o, void* v) {
- ((ADvoicelistitem*)(o->parent()->parent()->user_data()))->cb_voicedetune_i(o,v);
- }
-
- void ADvoicelistitem::cb_voiceenabled_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voicelistitemgroup->deactivate();
- else voicelistitemgroup->activate();
- o->redraw();
- }
- void ADvoicelistitem::cb_voiceenabled(Fl_Osc_Check* o, void* v) {
- ((ADvoicelistitem*)(o->parent()->user_data()))->cb_voiceenabled_i(o,v);
- }
-
- void ADvoicelistitem::cb_edit_i(Fl_Button*, void*) {
- class ADnoteUI *adnoteui = ui->partui->adnoteui;
- adnoteui->ADnoteVoice->show();
- adnoteui->currentvoicecounter->value(nvoice+1);
- adnoteui->currentvoicecounter->do_callback();
- class ADvoiceUI *advoice = adnoteui->advoice;
- if (advoice->mod_type->value() == 0)
- advoice->voiceFMparametersgroup->deactivate();
- else
- advoice->voiceFMparametersgroup->activate();
- }
- void ADvoicelistitem::cb_edit(Fl_Button* o, void* v) {
- ((ADvoicelistitem*)(o->parent()->user_data()))->cb_edit_i(o,v);
- }
-
- Fl_Osc_Group* ADvoicelistitem::make_window() {
- { ADnoteVoiceListItem = new Fl_Osc_Group(0, 0, 670, 100);
- ADnoteVoiceListItem->box(FL_NO_BOX);
- ADnoteVoiceListItem->color(FL_BACKGROUND_COLOR);
- ADnoteVoiceListItem->selection_color(FL_BACKGROUND_COLOR);
- ADnoteVoiceListItem->labeltype(FL_NO_LABEL);
- ADnoteVoiceListItem->labelfont(0);
- ADnoteVoiceListItem->labelsize(14);
- ADnoteVoiceListItem->labelcolor(FL_FOREGROUND_COLOR);
- ADnoteVoiceListItem->user_data((void*)(this));
- ADnoteVoiceListItem->align(Fl_Align(FL_ALIGN_TOP));
- ADnoteVoiceListItem->when(FL_WHEN_RELEASE);
- { new Fl_Box(0, 0, 0, 0);
- ADnoteVoiceListItem->base = loc;
- } // Fl_Box* o
- { voicelistitemgroup = new Fl_Osc_Group(0, 0, 670, 25);
- voicelistitemgroup->box(FL_NO_BOX);
- voicelistitemgroup->color(FL_BACKGROUND_COLOR);
- voicelistitemgroup->selection_color(FL_BACKGROUND_COLOR);
- voicelistitemgroup->labeltype(FL_NORMAL_LABEL);
- voicelistitemgroup->labelfont(0);
- voicelistitemgroup->labelsize(14);
- voicelistitemgroup->labelcolor(FL_FOREGROUND_COLOR);
- voicelistitemgroup->align(Fl_Align(FL_ALIGN_TOP));
- voicelistitemgroup->when(FL_WHEN_RELEASE);
- { Fl_Osc_VSlider* o = voicevolume = new Fl_Osc_VSlider(132, 5, 115, 20);
- voicevolume->tooltip("Volume");
- voicevolume->type(5);
- voicevolume->box(FL_NO_BOX);
- voicevolume->color(FL_BACKGROUND_COLOR);
- voicevolume->selection_color(FL_BACKGROUND_COLOR);
- voicevolume->labeltype(FL_NORMAL_LABEL);
- voicevolume->labelfont(0);
- voicevolume->labelsize(8);
- voicevolume->labelcolor(FL_FOREGROUND_COLOR);
- voicevolume->maximum(127);
- voicevolume->step(1);
- voicevolume->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- voicevolume->when(FL_WHEN_CHANGED);
- o->init("PVolume"); o->reset_value=100;
- } // Fl_Osc_VSlider* voicevolume
- { Fl_Osc_Check* o = voiceresonanceenabled = new Fl_Osc_Check(287, 7, 15, 17);
- voiceresonanceenabled->tooltip("Resonance On/Off");
- voiceresonanceenabled->box(FL_NO_BOX);
- voiceresonanceenabled->down_box(FL_DOWN_BOX);
- voiceresonanceenabled->color(FL_BACKGROUND_COLOR);
- voiceresonanceenabled->selection_color(FL_FOREGROUND_COLOR);
- voiceresonanceenabled->labeltype(FL_EMBOSSED_LABEL);
- voiceresonanceenabled->labelfont(1);
- voiceresonanceenabled->labelsize(11);
- voiceresonanceenabled->labelcolor(FL_FOREGROUND_COLOR);
- voiceresonanceenabled->align(Fl_Align(FL_ALIGN_LEFT));
- voiceresonanceenabled->when(FL_WHEN_RELEASE);
- o->init("Presonance");
- } // Fl_Osc_Check* voiceresonanceenabled
- { Fl_Osc_VSlider* o = voicelfofreq = new Fl_Osc_VSlider(542, 5, 115, 20);
- voicelfofreq->tooltip("Frequency LFO amount");
- voicelfofreq->type(5);
- voicelfofreq->box(FL_NO_BOX);
- voicelfofreq->color(FL_BACKGROUND_COLOR);
- voicelfofreq->selection_color(FL_BACKGROUND_COLOR);
- voicelfofreq->labeltype(FL_NORMAL_LABEL);
- voicelfofreq->labelfont(0);
- voicelfofreq->labelsize(8);
- voicelfofreq->labelcolor(FL_FOREGROUND_COLOR);
- voicelfofreq->maximum(127);
- voicelfofreq->step(1);
- voicelfofreq->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- voicelfofreq->when(FL_WHEN_CHANGED);
- o->init("FreqLfo/Pintensity", 'i');o->reset_value=40;
- } // Fl_Osc_VSlider* voicelfofreq
- { Fl_Osc_Dial* o = voicepanning = new Fl_Osc_Dial(257, 5, 20, 20);
- voicepanning->tooltip("Panning (leftmost is Random)");
- voicepanning->box(FL_ROUND_UP_BOX);
- voicepanning->color(FL_BACKGROUND_COLOR);
- voicepanning->selection_color(FL_INACTIVE_COLOR);
- voicepanning->labeltype(FL_NORMAL_LABEL);
- voicepanning->labelfont(0);
- voicepanning->labelsize(10);
- voicepanning->labelcolor(FL_FOREGROUND_COLOR);
- voicepanning->maximum(127);
- voicepanning->step(1);
- voicepanning->align(Fl_Align(FL_ALIGN_LEFT));
- voicepanning->when(FL_WHEN_CHANGED);
- o->init("PPanning");o->reset_value=64;
- } // Fl_Osc_Dial* voicepanning
- { Fl_Osc_Group* o = voiceoscil = new Fl_Osc_Group(102, 5, 30, 20);
- voiceoscil->box(FL_THIN_DOWN_BOX);
- voiceoscil->color(FL_GRAY0);
- voiceoscil->selection_color((Fl_Color)71);
- voiceoscil->labeltype(FL_NORMAL_LABEL);
- voiceoscil->labelfont(0);
- voiceoscil->labelsize(14);
- voiceoscil->labelcolor((Fl_Color)179);
- voiceoscil->align(Fl_Align(FL_ALIGN_TOP));
- voiceoscil->when(FL_WHEN_RELEASE);
- voiceoscil->ext = "OscilSmp/";
- oscil=new Fl_Oscilloscope(o->x(),o->y()+1,o->w(),o->h(),"");
- oscil->init(false);
- voiceoscil->end();
- } // Fl_Osc_Group* voiceoscil
- { Fl_Osc_Output* o = detunevalueoutput = new Fl_Osc_Output(307, 5, 45, 20);
- detunevalueoutput->box(FL_NO_BOX);
- detunevalueoutput->color(FL_BACKGROUND_COLOR);
- detunevalueoutput->selection_color(FL_BACKGROUND_COLOR);
- detunevalueoutput->labeltype(FL_NORMAL_LABEL);
- detunevalueoutput->labelfont(0);
- detunevalueoutput->labelsize(10);
- detunevalueoutput->labelcolor(FL_FOREGROUND_COLOR);
- detunevalueoutput->minimum(-5000);
- detunevalueoutput->maximum(5000);
- detunevalueoutput->step(0.01);
- detunevalueoutput->textfont(1);
- detunevalueoutput->textsize(10);
- detunevalueoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- detunevalueoutput->when(FL_WHEN_CHANGED);
- o->init("detunevalue");
- } // Fl_Osc_Output* detunevalueoutput
- { Fl_Osc_Slider* o = voicedetune = new Fl_Osc_Slider(357, 5, 185, 20);
- voicedetune->tooltip("Fine Detune (cents)");
- voicedetune->type(5);
- voicedetune->box(FL_NO_BOX);
- voicedetune->color(FL_BACKGROUND_COLOR);
- voicedetune->selection_color(FL_BACKGROUND_COLOR);
- voicedetune->labeltype(FL_NORMAL_LABEL);
- voicedetune->labelfont(0);
- voicedetune->labelsize(14);
- voicedetune->labelcolor(FL_FOREGROUND_COLOR);
- voicedetune->minimum(-8192);
- voicedetune->maximum(8191);
- voicedetune->step(1);
- voicedetune->callback((Fl_Callback*)cb_voicedetune);
- voicedetune->align(Fl_Align(FL_ALIGN_BOTTOM));
- voicedetune->when(FL_WHEN_CHANGED);
- o->init("PDetune",'i');
- } // Fl_Osc_Slider* voicedetune
- { whitenoiselabel = new Fl_Box(107, 5, 20, 20, "N");
- whitenoiselabel->labelfont(1);
- whitenoiselabel->labelsize(13);
- whitenoiselabel->labelcolor(FL_LIGHT3);
- whitenoiselabel->hide();
- } // Fl_Box* whitenoiselabel
- { pinknoiselabel = new Fl_Box(107, 5, 20, 20, "N");
- pinknoiselabel->labelfont(1);
- pinknoiselabel->labelsize(13);
- pinknoiselabel->labelcolor((Fl_Color)212);
- pinknoiselabel->hide();
- } // Fl_Box* pinknoiselabel
- voicelistitemgroup->end();
- } // Fl_Osc_Group* voicelistitemgroup
- { Fl_Osc_Check* o = voiceenabled = new Fl_Osc_Check(30, 5, 20, 20, "01");
- voiceenabled->box(FL_NO_BOX);
- voiceenabled->down_box(FL_DOWN_BOX);
- voiceenabled->color(FL_BACKGROUND_COLOR);
- voiceenabled->selection_color(FL_FOREGROUND_COLOR);
- voiceenabled->labeltype(FL_EMBOSSED_LABEL);
- voiceenabled->labelfont(1);
- voiceenabled->labelsize(13);
- voiceenabled->labelcolor(FL_FOREGROUND_COLOR);
- voiceenabled->callback((Fl_Callback*)cb_voiceenabled);
- voiceenabled->align(Fl_Align(FL_ALIGN_LEFT));
- voiceenabled->when(FL_WHEN_RELEASE);
- char tmp[10];snprintf(tmp,10,"%d",nvoice+1);o->label(strdup(tmp));
- o->init("Enabled");
- } // Fl_Osc_Check* voiceenabled
- { Fl_Button* o = new Fl_Button(53, 6, 40, 15, "edit");
- o->box(FL_THIN_UP_BOX);
- o->labelsize(11);
- o->callback((Fl_Callback*)cb_edit);
- } // Fl_Button* o
- ADnoteVoiceListItem->end();
- } // Fl_Osc_Group* ADnoteVoiceListItem
- return ADnoteVoiceListItem;
- }
-
- ADvoicelistitem::ADvoicelistitem(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) {
- assert(osc);
- voice_phase = new Osc_IntModel(osc);
- voice_phase->callback=[this](int phase) {
- oscil->phase=phase;
- voiceoscil->redraw();
- return;
- };
- sound_type = new Osc_IntModel(osc);
- sound_type->callback=[this](int voice_type) {
- switch (voice_type) {
- case 0:
- whitenoiselabel->hide();
- pinknoiselabel->hide();
- oscil->Overlay = NULL;
- voiceresonanceenabled->activate();
- detunevalueoutput->activate();
- voicedetune->activate();
- voicelfofreq->activate();
- voiceoscil->activate();
- return;
- case 1:
- whitenoiselabel->show();
- pinknoiselabel->hide();
- oscil->Overlay = whitenoiselabel;
- break;
- default:
- pinknoiselabel->show();
- whitenoiselabel->hide();
- oscil->Overlay = pinknoiselabel;
- }
-
- voiceresonanceenabled->deactivate();
- detunevalueoutput->deactivate();
- voicedetune->deactivate();
- voicelfofreq->deactivate();
- voiceoscil->deactivate();
- };
-
- ext_oscil = new Osc_IntModel(osc);
- ext_oscil->callback = [this](int ext) {
- if(ext == -1)
- voiceoscil->reext("OscilSmp/");
- else
- voiceoscil->reext("../VoicePar"+to_s(ext)+"/OscilSmp/");
- };
- nvoice=0;
- }
-
- void ADvoicelistitem::init(int nvoice_, std::string loc_, Fl_Osc_Interface *osc_) {
- assert(osc_);
- assert(!loc_.empty());
- voice_phase->doUpdate(loc_ + "Poscilphase");
- sound_type->doUpdate(loc_ + "Type");
- ext_oscil->doUpdate(loc_ + "Pextoscil");
-
- nvoice=nvoice_;
- loc = loc_;
- make_window();
- ADnoteVoiceListItem->show();
- end();
- }
-
- void ADvoicelistitem::refreshlist() {
- if (voiceenabled->value()==0) voicelistitemgroup->deactivate();
- else voicelistitemgroup->activate();
- detunevalueoutput->do_callback();
- ADnoteVoiceListItem->redraw();
- }
-
- ADvoicelistitem::~ADvoicelistitem() {
- ADnoteVoiceListItem->hide();
- delete voice_phase;
- delete sound_type;
- delete ext_oscil;
- }
-
- void ADvoiceUI::cb_On_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voiceFMfreqenvgroup->deactivate();
- else voiceFMfreqenvgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_On_i(o,v);
- }
-
- void ADvoiceUI::cb__i(Fl_Osc_Slider*, void*) {
- fmdetunevalueoutput->update();
- }
- void ADvoiceUI::cb_(Fl_Osc_Slider* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb__i(o,v);
- }
-
- void ADvoiceUI::cb_Detune_i(Fl_Osc_Choice*, void*) {
- fmdetunevalueoutput->update();
- }
- void ADvoiceUI::cb_Detune(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_Detune_i(o,v);
- }
-
- void ADvoiceUI::cb_440Hz_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) fixedfreqetdial->deactivate();
- else fixedfreqetdial->activate();
- }
- void ADvoiceUI::cb_440Hz(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_440Hz_i(o,v);
- }
-
- void ADvoiceUI::cb_On1_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voiceFMampenvgroup->deactivate();
- else voiceFMampenvgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On1(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_On1_i(o,v);
- }
-
- void ADvoiceUI::cb_changeFMoscilbutton_i(Fl_Button*, void*) {
- if (oscedit!=NULL)
- delete(oscedit);
-
- if(extFMoscil->value() == 0)
- oscedit=new OscilEditor(true,loc+"FMSmp/", osc_i);
- else
- oscedit=new OscilEditor(true,loc+"../VoicePar"+to_s(extFMoscil->value()-1)+"/FMSmp/", osc_i);
- }
- void ADvoiceUI::cb_changeFMoscilbutton(Fl_Button* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_changeFMoscilbutton_i(o,v);
- }
-
- void ADvoiceUI::cb_extFMoscil_i(Fl_Osc_Choice* o, void*) {
- if ((int) o->value() != 0) {
- oscFM->init(false);
- changeFMoscilbutton->labelcolor(FL_BLUE);
- } else {
- oscFM->init(false);
- changeFMoscilbutton->labelcolor(FL_BLACK);
- };
- if(o->value() == 0)
- fmoscil->rebase(loc);
- else
- fmoscil->rebase(loc+"../VoicePar"+to_s(o->value()-1)+"/");
- voiceFMparametersgroup->redraw();
- }
- void ADvoiceUI::cb_extFMoscil(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_extFMoscil_i(o,v);
- }
-
- void ADvoiceUI::cb_extMod_i(Fl_Osc_Choice* o, void*) {
- if ((int) o->value() != 0) {
- modoscil->deactivate();
- modfrequency->deactivate();
- } else {
- modoscil->activate();
- modfrequency->activate();
- };
- voiceFMparametersgroup->redraw();
- }
- void ADvoiceUI::cb_extMod(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_extMod_i(o,v);
- }
-
- void ADvoiceUI::cb_mod_type_i(Fl_Osc_Choice* o, void*) {
- if (o->value()==0) voiceFMparametersgroup->deactivate();
- else voiceFMparametersgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_mod_type(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_mod_type_i(o,v);
- }
-
- Fl_Menu_Item ADvoiceUI::menu_mod_type[] = {
- {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0},
- {"MORPH", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0},
- {"RING", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0},
- {"PM", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0},
- {"FM", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0},
- {"PWM", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0},
- {0,0,0,0,0,0,0,0,0}
- };
-
- void ADvoiceUI::cb_On2_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voicefreqenvgroup->deactivate();
- else voicefreqenvgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On2(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_On2_i(o,v);
- }
-
- void ADvoiceUI::cb_On3_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voicefreqlfogroup->deactivate();
- else voicefreqlfogroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On3(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_On3_i(o,v);
- }
-
- void ADvoiceUI::cb_1_i(Fl_Osc_Slider*, void*) {
- detunevalueoutput->update();
- }
- void ADvoiceUI::cb_1(Fl_Osc_Slider* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_1_i(o,v);
- }
-
- void ADvoiceUI::cb_440Hz1_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) fixedfreqetdial->deactivate();
- else fixedfreqetdial->activate();
- }
- void ADvoiceUI::cb_440Hz1(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_440Hz1_i(o,v);
- }
-
- void ADvoiceUI::cb_Detune1_i(Fl_Osc_Choice*, void*) {
- detunevalueoutput->update();
- }
- void ADvoiceUI::cb_Detune1(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Detune1_i(o,v);
- }
-
- void ADvoiceUI::cb_changevoiceoscilbutton_i(Fl_Button*, void*) {
- delete oscedit;
- if(extoscil->value() == 0)
- oscedit=new OscilEditor(true,loc+"OscilSmp/", osc_i);
- else
- oscedit=new OscilEditor(true,loc+"../VoicePar"+to_s(extoscil->value()-1)+"/OscilSmp/", osc_i);
- }
- void ADvoiceUI::cb_changevoiceoscilbutton(Fl_Button* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_changevoiceoscilbutton_i(o,v);
- }
-
- void ADvoiceUI::cb_extoscil_i(Fl_Osc_Choice* o, void*) {
- if ((int) o->value() != 0) {
- osc->init(false);
- changevoiceoscilbutton->labelcolor(FL_BLUE);
- } else {
- osc->init(false);
- changevoiceoscilbutton->labelcolor(FL_BLACK);
- };
- if(o->value() == 0)
- voiceoscil->rebase(loc);
- else
- voiceoscil->rebase(loc+"../VoicePar"+to_s(o->value()-1)+"/");
-
- voiceparametersgroup->redraw();
- voiceonbutton->redraw();
- }
- void ADvoiceUI::cb_extoscil(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_extoscil_i(o,v);
- }
-
- void ADvoiceUI::cb_Frequency_i(Fl_Osc_Slider*, void*) {
- unisonspreadoutput->update();
- }
- void ADvoiceUI::cb_Frequency(Fl_Osc_Slider* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Frequency_i(o,v);
- }
-
- void ADvoiceUI::cb_On4_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voiceampenvgroup->deactivate();
- else voiceampenvgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On4(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_On4_i(o,v);
- }
-
- void ADvoiceUI::cb_On5_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voiceamplfogroup->deactivate();
- else voiceamplfogroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On5(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_On5_i(o,v);
- }
-
- void ADvoiceUI::cb_On6_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voicefilterenvgroup->deactivate();
- else voicefilterenvgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On6(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_On6_i(o,v);
- }
-
- void ADvoiceUI::cb_On7_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voicefilterlfogroup->deactivate();
- else voicefilterlfogroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_On7(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_On7_i(o,v);
- }
-
- void ADvoiceUI::cb_2_i(Fl_Osc_Choice* o, void*) {
- switch (o->value()) {
- case 0: voicemodegroup->activate(); whitenoiselabel->hide(); pinknoiselabel->hide(); osc->Overlay=NULL; break;
- case 1: voicemodegroup->deactivate(); whitenoiselabel->show(); pinknoiselabel->hide(); osc->Overlay=whitenoiselabel; break;
- default: voicemodegroup->deactivate(); whitenoiselabel->hide(); pinknoiselabel->show(); osc->Overlay=pinknoiselabel; break;
- };
- }
- void ADvoiceUI::cb_2(Fl_Osc_Choice* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->user_data()))->cb_2_i(o,v);
- }
-
- Fl_Menu_Item ADvoiceUI::menu_[] = {
- {"Sound", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0},
- {"White", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0},
- {"Pink", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0},
- {0,0,0,0,0,0,0,0,0}
- };
-
- void ADvoiceUI::cb_On8_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voicefiltergroup->deactivate();
- else voicefiltergroup->activate();
- o->redraw();
- bypassfiltercheckbutton->redraw();
- }
- void ADvoiceUI::cb_On8(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->parent()->user_data()))->cb_On8_i(o,v);
- }
-
- void ADvoiceUI::cb_voiceonbutton_i(Fl_Osc_Check* o, void*) {
- if (o->value()==0) voiceparametersgroup->deactivate();
- else voiceparametersgroup->activate();
- o->redraw();
- }
- void ADvoiceUI::cb_voiceonbutton(Fl_Osc_Check* o, void* v) {
- ((ADvoiceUI*)(o->parent()->user_data()))->cb_voiceonbutton_i(o,v);
- }
-
- Fl_Osc_Group* ADvoiceUI::make_window() {
- { ADnoteVoiceParameters = new Fl_Osc_Group(0, 0, 765, 595, "Voice");
- ADnoteVoiceParameters->box(FL_NO_BOX);
- ADnoteVoiceParameters->color(FL_BACKGROUND_COLOR);
- ADnoteVoiceParameters->selection_color(FL_BACKGROUND_COLOR);
- ADnoteVoiceParameters->labeltype(FL_NO_LABEL);
- ADnoteVoiceParameters->labelfont(0);
- ADnoteVoiceParameters->labelsize(14);
- ADnoteVoiceParameters->labelcolor(FL_FOREGROUND_COLOR);
- ADnoteVoiceParameters->user_data((void*)(this));
- ADnoteVoiceParameters->align(Fl_Align(FL_ALIGN_TOP));
- ADnoteVoiceParameters->when(FL_WHEN_RELEASE);
- { new Fl_Box(25, 25, 35, 16, "label");
- ADnoteVoiceParameters->base = base+"VoicePar"+to_s(nvoice)+"/";
- ADnoteVoiceParameters->osc = osc_i;
- } // Fl_Box* o
- { voiceparametersgroup = new Fl_Group(0, 0, 770, 590);
- voiceparametersgroup->color((Fl_Color)48);
- { voicemodegroup = new Fl_Group(0, 5, 770, 585);
- voicemodegroup->color((Fl_Color)64);
- { voiceFMparametersgroup = new Fl_Group(530, 5, 230, 585, "MODULATOR");
- voiceFMparametersgroup->box(FL_UP_FRAME);
- voiceFMparametersgroup->color((Fl_Color)48);
- voiceFMparametersgroup->labeltype(FL_EMBOSSED_LABEL);
- voiceFMparametersgroup->labelfont(1);
- voiceFMparametersgroup->labelsize(13);
- voiceFMparametersgroup->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { modfrequency = new Fl_Group(535, 219, 220, 174, "Mod.FREQUENCY");
- modfrequency->box(FL_UP_FRAME);
- modfrequency->labeltype(FL_EMBOSSED_LABEL);
- modfrequency->labelfont(1);
- modfrequency->labelsize(13);
- modfrequency->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { EnvelopeUI* o = voiceFMfreqenvgroup = new EnvelopeUI(540, 315, 210, 70, "ADSynth Modulator - Frequency Envelope");
- voiceFMfreqenvgroup->box(FL_FLAT_BOX);
- voiceFMfreqenvgroup->color((Fl_Color)51);
- voiceFMfreqenvgroup->selection_color(FL_BACKGROUND_COLOR);
- voiceFMfreqenvgroup->labeltype(FL_NORMAL_LABEL);
- voiceFMfreqenvgroup->labelfont(0);
- voiceFMfreqenvgroup->labelsize(14);
- voiceFMfreqenvgroup->labelcolor(FL_FOREGROUND_COLOR);
- voiceFMfreqenvgroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voiceFMfreqenvgroup->when(FL_WHEN_RELEASE);
- o->init(ENV_ASR, osc_i, loc, "FMFreqEnvelope/");
- voiceFMfreqenvgroup->end();
- } // EnvelopeUI* voiceFMfreqenvgroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(545, 322, 50, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFMFreqEnvelopeEnabled");
- } // Fl_Osc_Check* o
- { Fl_Osc_Counter* o = new Fl_Osc_Counter(685, 295, 60, 15, "Coarse Det.");
- o->tooltip("Coarse Detune");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-64);
- o->maximum(63);
- o->step(1);
- o->textfont(1);
- o->textsize(11);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("FMcoarsedetune");
- o->lstep(10);
- } // Fl_Osc_Counter* o
- { Fl_Osc_Counter* o = new Fl_Osc_Counter(625, 295, 45, 15, "Octave");
- o->tooltip("Octave");
- o->type(1);
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-8);
- o->maximum(7);
- o->step(1);
- o->textfont(1);
- o->textsize(11);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("FMoctave");
- } // Fl_Osc_Counter* o
- { Fl_Osc_Slider* o = new Fl_Osc_Slider(590, 245, 155, 15);
- o->tooltip("Fine Detune (cents)");
- o->type(5);
- o->box(FL_NO_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(14);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-8192);
- o->maximum(8191);
- o->step(1);
- o->callback((Fl_Callback*)cb_);
- o->align(Fl_Align(FL_ALIGN_BOTTOM));
- o->when(FL_WHEN_CHANGED);
- o->init("PFMDetune", 'i');
- } // Fl_Osc_Slider* o
- { Fl_Osc_Output* o = fmdetunevalueoutput = new Fl_Osc_Output(540, 247, 45, 18, "Detune");
- fmdetunevalueoutput->box(FL_NO_BOX);
- fmdetunevalueoutput->color(FL_BACKGROUND_COLOR);
- fmdetunevalueoutput->selection_color(FL_BACKGROUND_COLOR);
- fmdetunevalueoutput->labeltype(FL_NORMAL_LABEL);
- fmdetunevalueoutput->labelfont(0);
- fmdetunevalueoutput->labelsize(8);
- fmdetunevalueoutput->labelcolor(FL_FOREGROUND_COLOR);
- fmdetunevalueoutput->minimum(-5000);
- fmdetunevalueoutput->maximum(5000);
- fmdetunevalueoutput->step(0.01);
- fmdetunevalueoutput->textfont(1);
- fmdetunevalueoutput->textsize(8);
- fmdetunevalueoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- fmdetunevalueoutput->when(FL_WHEN_CHANGED);
- o->init("FMdetunevalue");
- } // Fl_Osc_Output* fmdetunevalueoutput
- { Fl_Osc_Choice* o = new Fl_Osc_Choice(540, 294, 75, 15, "Detune Type");
- o->box(FL_UP_BOX);
- o->down_box(FL_BORDER_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_SELECTION_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->textfont(1);
- o->textsize(10);
- o->callback((Fl_Callback*)cb_Detune);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_RELEASE);
- o->add("Default");o->add("L35cents");o->add("L10cents");o->add("E100cents");o->add("E1200cents");
- o->init("PFMDetuneType");
- } // Fl_Osc_Choice* o
- { Fl_Osc_Check* o = new Fl_Osc_Check(683, 266, 55, 15, "440Hz");
- o->tooltip("Set the modulator base frequency to 440Hz");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_440Hz);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFMFixedFreq");
- } // Fl_Osc_Check* o
- modfrequency->end();
- } // Fl_Group* modfrequency
- { Fl_Group* o = new Fl_Group(535, 60, 220, 160, "Mod.AMPLITUDE");
- o->box(FL_UP_FRAME);
- o->labeltype(FL_EMBOSSED_LABEL);
- o->labelfont(1);
- o->labelsize(13);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Osc_VSlider* o = new Fl_Osc_VSlider(540, 80, 155, 15, "Vol");
- o->tooltip("Volume");
- o->type(5);
- o->box(FL_NO_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_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_RIGHT));
- o->when(FL_WHEN_CHANGED);
- o->init("PFMVolume", 'i');o->reset_value=90;
- } // Fl_Osc_VSlider* o
- { Fl_Osc_VSlider* o = new Fl_Osc_VSlider(540, 100, 160, 15, "V.Sns");
- o->tooltip("Velocity Sensing Function (rightmost to disable)");
- o->type(5);
- o->box(FL_NO_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_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_RIGHT));
- o->when(FL_WHEN_CHANGED);
- o->init("PFMVelocityScaleFunction");o->reset_value=64;
- } // Fl_Osc_VSlider* o
- { EnvelopeUI* o = voiceFMampenvgroup = new EnvelopeUI(540, 140, 205, 70, "ADSynth Modulator - Amplitude Envelope");
- voiceFMampenvgroup->box(FL_FLAT_BOX);
- voiceFMampenvgroup->color((Fl_Color)51);
- voiceFMampenvgroup->selection_color(FL_BACKGROUND_COLOR);
- voiceFMampenvgroup->labeltype(FL_NORMAL_LABEL);
- voiceFMampenvgroup->labelfont(0);
- voiceFMampenvgroup->labelsize(14);
- voiceFMampenvgroup->labelcolor(FL_FOREGROUND_COLOR);
- voiceFMampenvgroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voiceFMampenvgroup->when(FL_WHEN_RELEASE);
- o->init(//pars->VoicePar[nvoice].FMAmpEnvelope,
- ENV_ADSR, osc_i, loc, "FMAmpEnvelope/");
- voiceFMampenvgroup->end();
- } // EnvelopeUI* voiceFMampenvgroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(545, 150, 50, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On1);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFMAmpEnvelopeEnabled");
- } // Fl_Osc_Check* o
- { Fl_Osc_VSlider* o = new Fl_Osc_VSlider(540, 120, 160, 15, "F.Damp");
- o->tooltip("Modulator Damp at Higher frequency");
- o->type(5);
- o->box(FL_NO_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_FOREGROUND_COLOR);
- o->minimum(-64);
- o->maximum(63);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_RIGHT));
- o->when(FL_WHEN_CHANGED);
- o->init("PFMVolumeDamp",'i');
- } // Fl_Osc_VSlider* o
- o->end();
- } // Fl_Group* o
- { modoscil = new Fl_Group(535, 390, 220, 195);
- { Fl_Osc_Group* o = fmoscil = new Fl_Osc_Group(535, 445, 220, 140);
- fmoscil->box(FL_THIN_DOWN_BOX);
- fmoscil->color(FL_GRAY0);
- fmoscil->selection_color((Fl_Color)71);
- fmoscil->labeltype(FL_NORMAL_LABEL);
- fmoscil->labelfont(0);
- fmoscil->labelsize(14);
- fmoscil->labelcolor((Fl_Color)179);
- fmoscil->align(Fl_Align(FL_ALIGN_TOP));
- fmoscil->when(FL_WHEN_RELEASE);
- fmoscil->base = loc; fmoscil->ext="FMSmp/";fmoscil->osc = osc_i;fmoscil->begin();
- oscFM=new Fl_Oscilloscope(o->x(),o->y(),o->w(),o->h(),"");
- //int nv=nvoice; if (pars->VoicePar[nvoice].PextFMoscil>=0) nv=pars->VoicePar[nvoice].PextFMoscil;
- oscFM->parent(fmoscil);oscFM->init(false);oscFM->update();fmoscil->end();
- fmoscil->end();
- } // Fl_Osc_Group* fmoscil
- { Fl_Box* o = new Fl_Box(535, 393, 155, 20, "Mod.Oscillator");
- o->labelfont(1);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- } // Fl_Box* o
- { Fl_Button* o = changeFMoscilbutton = new Fl_Button(700, 398, 55, 15, "Change");
- changeFMoscilbutton->box(FL_THIN_UP_BOX);
- changeFMoscilbutton->labelfont(1);
- changeFMoscilbutton->labelsize(11);
- changeFMoscilbutton->callback((Fl_Callback*)cb_changeFMoscilbutton);
- (void)o;/*if (extFMoscil->value()>=0) o->labelcolor(FL_BLUE);*/
- } // Fl_Button* changeFMoscilbutton
- { PhaseSlider* o = new PhaseSlider(645, 425, 105, 15, "Phase");
- o->type(5);
- o->box(FL_NO_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-63);
- o->maximum(64);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_CHANGED);
- o->init("PFMoscilphase", 'i'); o->set_scope(oscFM);
- } // PhaseSlider* o
- { Fl_Osc_Choice* o = extFMoscil = new Fl_Osc_Choice(560, 420, 75, 20, "Use");
- extFMoscil->box(FL_UP_BOX);
- extFMoscil->down_box(FL_BORDER_BOX);
- extFMoscil->color(FL_BACKGROUND_COLOR);
- extFMoscil->selection_color(FL_SELECTION_COLOR);
- extFMoscil->labeltype(FL_NORMAL_LABEL);
- extFMoscil->labelfont(0);
- extFMoscil->labelsize(10);
- extFMoscil->labelcolor(FL_FOREGROUND_COLOR);
- extFMoscil->textfont(1);
- extFMoscil->textsize(10);
- extFMoscil->callback((Fl_Callback*)cb_extFMoscil);
- extFMoscil->align(Fl_Align(FL_ALIGN_LEFT));
- extFMoscil->when(FL_WHEN_RELEASE);
- o->add("Internal");
- char tmp[50]; for (int i=0;i<nvoice;i++) {sprintf(tmp,"ExtM.%2d",i+1);o->add(tmp);};
- o->init("PextFMoscil",-1);
- } // Fl_Osc_Choice* extFMoscil
- modoscil->end();
- } // Fl_Group* modoscil
- { Fl_Osc_Choice* o = extMod = new Fl_Osc_Choice(635, 40, 85, 20, "External Mod.");
- extMod->box(FL_UP_BOX);
- extMod->down_box(FL_BORDER_BOX);
- extMod->color(FL_BACKGROUND_COLOR);
- extMod->selection_color(FL_SELECTION_COLOR);
- extMod->labeltype(FL_NORMAL_LABEL);
- extMod->labelfont(0);
- extMod->labelsize(10);
- extMod->labelcolor(FL_FOREGROUND_COLOR);
- extMod->textfont(1);
- extMod->textsize(10);
- extMod->callback((Fl_Callback*)cb_extMod);
- extMod->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- extMod->when(FL_WHEN_RELEASE);
- o->add("OFF");
- char tmp[50]; for (int i=0;i<nvoice;i++) {sprintf(tmp,"ExtMod.%2d",i+1);o->add(tmp);};
- o->init("PFMVoice", -1);
- if ((int) o->value() != 0) {modoscil->deactivate();modfrequency->deactivate();}
- } // Fl_Osc_Choice* extMod
- voiceFMparametersgroup->end();
- } // Fl_Group* voiceFMparametersgroup
- { Fl_Osc_Choice* o = mod_type = new Fl_Osc_Choice(535, 40, 80, 20, "Type:");
- mod_type->box(FL_UP_BOX);
- mod_type->down_box(FL_BORDER_BOX);
- mod_type->color(FL_BACKGROUND_COLOR);
- mod_type->selection_color(FL_SELECTION_COLOR);
- mod_type->labeltype(FL_NORMAL_LABEL);
- mod_type->labelfont(0);
- mod_type->labelsize(14);
- mod_type->labelcolor(FL_FOREGROUND_COLOR);
- mod_type->callback((Fl_Callback*)cb_mod_type);
- mod_type->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- mod_type->when(FL_WHEN_RELEASE);
- mod_type->menu(menu_mod_type);
- o->init("PFMEnabled");
- } // Fl_Osc_Choice* mod_type
- { Fl_Group* o = new Fl_Group(5, 265, 525, 120, "FREQUENCY");
- o->box(FL_UP_FRAME);
- o->labeltype(FL_EMBOSSED_LABEL);
- o->labelfont(1);
- o->labelsize(13);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { EnvelopeUI* o = voicefreqenvgroup = new EnvelopeUI(10, 305, 205, 70, "ADSynth Voice - Frequency Envelope");
- voicefreqenvgroup->box(FL_FLAT_BOX);
- voicefreqenvgroup->color((Fl_Color)51);
- voicefreqenvgroup->selection_color(FL_BACKGROUND_COLOR);
- voicefreqenvgroup->labeltype(FL_NORMAL_LABEL);
- voicefreqenvgroup->labelfont(0);
- voicefreqenvgroup->labelsize(14);
- voicefreqenvgroup->labelcolor(FL_FOREGROUND_COLOR);
- voicefreqenvgroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voicefreqenvgroup->when(FL_WHEN_RELEASE);
- o->init(//pars->VoicePar[nvoice].FreqEnvelope,
- ENV_ASR, osc_i, loc, "FreqEnvelope/");
- voicefreqenvgroup->end();
- } // EnvelopeUI* voicefreqenvgroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(15, 310, 50, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On2);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFreqEnvelopeEnabled");
- } // Fl_Osc_Check* o
- { LFOUI* o = voicefreqlfogroup = new LFOUI(220, 305, 230, 70, "Frequency LFO ");
- voicefreqlfogroup->box(FL_FLAT_BOX);
- voicefreqlfogroup->color(FL_DARK1);
- voicefreqlfogroup->selection_color(FL_BACKGROUND_COLOR);
- voicefreqlfogroup->labeltype(FL_NORMAL_LABEL);
- voicefreqlfogroup->labelfont(0);
- voicefreqlfogroup->labelsize(14);
- voicefreqlfogroup->labelcolor(FL_FOREGROUND_COLOR);
- voicefreqlfogroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voicefreqlfogroup->when(FL_WHEN_RELEASE);
- o->init(osc_i, loc,"FreqLfo/");
- voicefreqlfogroup->end();
- } // LFOUI* voicefreqlfogroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(225, 311, 55, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On3);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFreqLfoEnabled");
- } // Fl_Osc_Check* o
- { Fl_Osc_Counter* o = new Fl_Osc_Counter(470, 285, 45, 15, "Octave");
- o->tooltip("Octave");
- o->type(1);
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-8);
- o->maximum(7);
- o->step(1);
- o->textfont(1);
- o->textsize(11);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("octave");
- } // Fl_Osc_Counter* o
- { Fl_Osc_Counter* o = new Fl_Osc_Counter(455, 355, 60, 20, "Coarse Det.");
- o->tooltip("Coarse Detune");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-64);
- o->maximum(63);
- o->step(1);
- o->textfont(1);
- o->textsize(11);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("coarsedetune");
- o->lstep(10);
- } // Fl_Osc_Counter* o
- { Fl_Osc_Dial* o = bendadjdial = new Fl_Osc_Dial(60, 270, 15, 15, "Bend");
- bendadjdial->tooltip("How the frequency varies according to the pitch wheel");
- bendadjdial->box(FL_ROUND_UP_BOX);
- bendadjdial->color(FL_BACKGROUND_COLOR);
- bendadjdial->selection_color(FL_INACTIVE_COLOR);
- bendadjdial->labeltype(FL_NORMAL_LABEL);
- bendadjdial->labelfont(0);
- bendadjdial->labelsize(10);
- bendadjdial->labelcolor(FL_FOREGROUND_COLOR);
- bendadjdial->minimum(-64);
- bendadjdial->maximum(63);
- bendadjdial->step(1);
- bendadjdial->align(Fl_Align(FL_ALIGN_RIGHT));
- bendadjdial->when(FL_WHEN_CHANGED);
- o->init("PBendAdjust");o->reset_value=24;o->set_transform([](float x){return x/24.0f;});o->set_rounding(2);
- } // Fl_Osc_Dial* bendadjdial
- { Fl_Osc_Dial* o = offsethzdial = new Fl_Osc_Dial(110, 270, 15, 15, "Offset");
- offsethzdial->tooltip("Offset of frequency in Hz");
- offsethzdial->box(FL_ROUND_UP_BOX);
- offsethzdial->color(FL_BACKGROUND_COLOR);
- offsethzdial->selection_color(FL_INACTIVE_COLOR);
- offsethzdial->labeltype(FL_NORMAL_LABEL);
- offsethzdial->labelfont(0);
- offsethzdial->labelsize(10);
- offsethzdial->labelcolor(FL_FOREGROUND_COLOR);
- offsethzdial->minimum(-64);
- offsethzdial->maximum(63);
- offsethzdial->step(1);
- offsethzdial->align(Fl_Align(FL_ALIGN_RIGHT));
- offsethzdial->when(FL_WHEN_CHANGED);
- o->init("POffsetHz"); o->set_rounding(2); o->set_transform([](float x){x/=64; return 15*(x*sqrtf(fabsf(x)));});
- } // Fl_Osc_Dial* offsethzdial
- { Fl_Osc_Slider* o = new Fl_Osc_Slider(58, 287, 392, 13);
- o->tooltip("Fine Detune (cents)");
- o->type(5);
- o->box(FL_NO_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(14);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-8192);
- o->maximum(8191);
- o->step(1);
- o->callback((Fl_Callback*)cb_1);
- o->align(Fl_Align(FL_ALIGN_BOTTOM));
- o->when(FL_WHEN_CHANGED);
- o->init("PDetune", 'i');
- } // Fl_Osc_Slider* o
- { Fl_Osc_Output* o = detunevalueoutput = new Fl_Osc_Output(10, 287, 45, 15, "Detune");
- detunevalueoutput->box(FL_NO_BOX);
- detunevalueoutput->color(FL_BACKGROUND_COLOR);
- detunevalueoutput->selection_color(FL_BACKGROUND_COLOR);
- detunevalueoutput->labeltype(FL_NORMAL_LABEL);
- detunevalueoutput->labelfont(0);
- detunevalueoutput->labelsize(10);
- detunevalueoutput->labelcolor(FL_FOREGROUND_COLOR);
- detunevalueoutput->minimum(-5000);
- detunevalueoutput->maximum(5000);
- detunevalueoutput->step(0.01);
- detunevalueoutput->textfont(1);
- detunevalueoutput->textsize(10);
- detunevalueoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- detunevalueoutput->when(FL_WHEN_CHANGED);
- o->init("detunevalue");
- } // Fl_Osc_Output* detunevalueoutput
- { Fl_Osc_Check* o = new Fl_Osc_Check(345, 268, 55, 15, "440Hz");
- o->tooltip("Set the voice base frequency to 440Hz");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_440Hz1);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("Pfixedfreq");
- } // Fl_Osc_Check* o
- { Fl_Osc_Dial* o = fixedfreqetdial = new Fl_Osc_Dial(405, 270, 15, 15, "Eq.T.");
- fixedfreqetdial->tooltip("How the frequency varies according to the keyboard (leftmost for fixed freque\
- ncy)");
- fixedfreqetdial->box(FL_ROUND_UP_BOX);
- fixedfreqetdial->color(FL_BACKGROUND_COLOR);
- fixedfreqetdial->selection_color(FL_INACTIVE_COLOR);
- fixedfreqetdial->labeltype(FL_NORMAL_LABEL);
- fixedfreqetdial->labelfont(0);
- fixedfreqetdial->labelsize(10);
- fixedfreqetdial->labelcolor(FL_FOREGROUND_COLOR);
- fixedfreqetdial->maximum(127);
- fixedfreqetdial->step(1);
- fixedfreqetdial->align(Fl_Align(FL_ALIGN_RIGHT));
- fixedfreqetdial->when(FL_WHEN_CHANGED);
- o->init("PfixedfreqET");
- } // Fl_Osc_Dial* fixedfreqetdial
- { Fl_Osc_Choice* o = new Fl_Osc_Choice(455, 320, 70, 15, "Detune Type");
- o->box(FL_UP_BOX);
- o->down_box(FL_BORDER_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_SELECTION_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->textfont(1);
- o->textsize(10);
- o->callback((Fl_Callback*)cb_Detune1);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_RELEASE);
- o->add("Default");o->add("L35cents");o->add("L10cents");o->add("E100cents");o->add("E1200cents");
- o->init("PDetuneType");
- } // Fl_Osc_Choice* o
- o->end();
- } // Fl_Group* o
- { Fl_Osc_Group* o = voiceoscil = new Fl_Osc_Group(80, 390, 445, 145);
- voiceoscil->box(FL_THIN_DOWN_BOX);
- voiceoscil->color(FL_GRAY0);
- voiceoscil->selection_color((Fl_Color)71);
- voiceoscil->labeltype(FL_NORMAL_LABEL);
- voiceoscil->labelfont(0);
- voiceoscil->labelsize(14);
- voiceoscil->labelcolor((Fl_Color)179);
- voiceoscil->align(Fl_Align(FL_ALIGN_TOP));
- voiceoscil->when(FL_WHEN_RELEASE);
- voiceoscil->base = loc;voiceoscil->ext="OscilSmp/";voiceoscil->begin();//int nv=nvoice; if (extoscil->value()>=0) nv=extoscil->value();
- osc=new Fl_Oscilloscope(o->x(),o->y(),o->w(),o->h(),"");
- voiceoscil->osc = osc_i;
- osc->parent(voiceoscil); osc->init(false);voiceoscil->end();
- voiceoscil->end();
- } // Fl_Osc_Group* voiceoscil
- { changevoiceoscilbutton = new Fl_Button(5, 490, 65, 20, "Change");
- changevoiceoscilbutton->box(FL_THIN_UP_BOX);
- changevoiceoscilbutton->labelfont(1);
- changevoiceoscilbutton->labelsize(11);
- changevoiceoscilbutton->callback((Fl_Callback*)cb_changevoiceoscilbutton);
- } // Fl_Button* changevoiceoscilbutton
- { Fl_Box* o = new Fl_Box(5, 390, 75, 35, "Voice Oscillator");
- o->labelfont(1);
- o->labelsize(12);
- o->align(Fl_Align(FL_ALIGN_WRAP));
- } // Fl_Box* o
- { PhaseSlider* o = new PhaseSlider(10, 435, 65, 10, "Phase");
- o->type(5);
- o->box(FL_NO_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(-63);
- o->maximum(64);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_CHANGED);
- o->init("Poscilphase", 'i'); o->set_scope(osc);
- } // PhaseSlider* o
- { Fl_Osc_Check* o = new Fl_Osc_Check(210, 5, 35, 35, "R.");
- o->tooltip("Resonance On/Off");
- o->box(FL_THIN_UP_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("Presonance");
- } // Fl_Osc_Check* o
- { Fl_Osc_Choice* o = extoscil = new Fl_Osc_Choice(5, 470, 65, 15, "Use Oscil.");
- extoscil->box(FL_UP_BOX);
- extoscil->down_box(FL_BORDER_BOX);
- extoscil->color(FL_BACKGROUND_COLOR);
- extoscil->selection_color(FL_SELECTION_COLOR);
- extoscil->labeltype(FL_NORMAL_LABEL);
- extoscil->labelfont(0);
- extoscil->labelsize(10);
- extoscil->labelcolor(FL_FOREGROUND_COLOR);
- extoscil->textfont(1);
- extoscil->textsize(10);
- extoscil->callback((Fl_Callback*)cb_extoscil);
- extoscil->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- extoscil->when(FL_WHEN_RELEASE);
- o->add("Internal");
- char tmp[50]; for (int i=0;i<nvoice;i++) {sprintf(tmp,"Ext.%2d",i+1);o->add(tmp);};
- o->init("Pextoscil",-1);
- } // Fl_Osc_Choice* extoscil
- { Fl_Group* o = new Fl_Group(5, 540, 520, 50);
- o->box(FL_UP_FRAME);
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(364, 555, 25, 25, "Vibrato");
- o->tooltip("Vibrato");
- o->box(FL_ROUND_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("Unison_vibratto");o->reset_value=64;
- } // Fl_Osc_Dial* o
- { Fl_Osc_Choice* o = new Fl_Osc_Choice(445, 560, 65, 15, "Invert");
- o->tooltip("Phase Invert");
- o->box(FL_UP_BOX);
- o->down_box(FL_BORDER_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_SELECTION_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->textfont(1);
- o->textsize(10);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_RELEASE);
- o->add("None");o->add("Random");char tmp[100];for (int i=2;i<=5;i++){snprintf(tmp,100,"%d %%",100/i);o->add(tmp);};
- o->init("Unison_invert_phase");
- } // Fl_Osc_Choice* o
- { Fl_Osc_Slider* o = new Fl_Osc_Slider(95, 562, 125, 13, "Frequency Spread");
- o->tooltip("Frequency Spread of the Unison");
- o->type(5);
- o->box(FL_NO_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(12);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->value(64);
- o->callback((Fl_Callback*)cb_Frequency);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("Unison_frequency_spread", 'i');o->reset_value=60;
- } // Fl_Osc_Slider* o
- { Fl_Osc_Output* o = unisonspreadoutput = new Fl_Osc_Output(225, 560, 40, 15, "(cents)");
- unisonspreadoutput->box(FL_NO_BOX);
- unisonspreadoutput->color(FL_BACKGROUND_COLOR);
- unisonspreadoutput->selection_color(FL_BACKGROUND_COLOR);
- unisonspreadoutput->labeltype(FL_NORMAL_LABEL);
- unisonspreadoutput->labelfont(0);
- unisonspreadoutput->labelsize(10);
- unisonspreadoutput->labelcolor(FL_FOREGROUND_COLOR);
- unisonspreadoutput->maximum(1000);
- unisonspreadoutput->step(0.1);
- unisonspreadoutput->textfont(1);
- unisonspreadoutput->textsize(10);
- unisonspreadoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- unisonspreadoutput->when(FL_WHEN_CHANGED);
- o->init("unisonFrequencySpreadCents");//o->value(pars->getUnisonFrequencySpreadCents(nvoice));
- } // Fl_Osc_Output* unisonspreadoutput
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(406, 555, 25, 25, "V.speed");
- o->tooltip("Vibrato Average Speed");
- o->box(FL_ROUND_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("Unison_vibratto_speed");o->reset_value=64;
- } // Fl_Osc_Dial* o
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(280, 555, 25, 25, "Ph.rand");
- o->tooltip("Phase randomness");
- o->box(FL_ROUND_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("Unison_phase_randomness");o->reset_value=127;
- } // Fl_Osc_Dial* o
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(322, 555, 25, 25, "Stereo");
- o->tooltip("Stereo Spread");
- o->box(FL_ROUND_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("Unison_stereo_spread");o->reset_value=64;
- } // Fl_Osc_Dial* o
- o->end();
- } // Fl_Group* o
- voicemodegroup->end();
- } // Fl_Group* voicemodegroup
- { Fl_Group* o = new Fl_Group(5, 40, 240, 220, "AMPLITUDE");
- o->box(FL_UP_FRAME);
- o->labeltype(FL_EMBOSSED_LABEL);
- o->labelfont(1);
- o->labelsize(13);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Osc_VSlider* o = new Fl_Osc_VSlider(10, 60, 160, 15, "Vol");
- o->tooltip("Volume");
- o->type(5);
- o->box(FL_NO_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_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_RIGHT));
- o->when(FL_WHEN_CHANGED);
- o->init("PVolume");o->reset_value=100;
- } // Fl_Osc_VSlider* o
- { Fl_Osc_VSlider* o = new Fl_Osc_VSlider(10, 80, 160, 15, "V.Sns");
- o->tooltip("Velocity Sensing Function (rightmost to disable)");
- o->type(5);
- o->box(FL_NO_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_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_RIGHT));
- o->when(FL_WHEN_CHANGED);
- o->init("PAmpVelocityScaleFunction");o->reset_value=127;
- } // Fl_Osc_VSlider* o
- { EnvelopeUI* o = voiceampenvgroup = new EnvelopeUI(10, 105, 205, 70, "ADSynth Voice - Amplitude Envelope");
- voiceampenvgroup->box(FL_FLAT_BOX);
- voiceampenvgroup->color((Fl_Color)51);
- voiceampenvgroup->selection_color(FL_BACKGROUND_COLOR);
- voiceampenvgroup->labeltype(FL_NORMAL_LABEL);
- voiceampenvgroup->labelfont(0);
- voiceampenvgroup->labelsize(14);
- voiceampenvgroup->labelcolor(FL_FOREGROUND_COLOR);
- voiceampenvgroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voiceampenvgroup->when(FL_WHEN_RELEASE);
- o->init(//pars->VoicePar[nvoice].AmpEnvelope,
- ENV_ADSR, osc_i, loc, "AmpEnvelope/");
- voiceampenvgroup->end();
- } // EnvelopeUI* voiceampenvgroup
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(212, 65, 30, 30, "Pan");
- o->tooltip("Panning (leftmost is Random)");
- o->box(FL_ROUND_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_BOTTOM));
- o->when(FL_WHEN_CHANGED);
- o->init("PPanning");o->reset_value=64;
- } // Fl_Osc_Dial* o
- { Fl_Osc_Check* o = new Fl_Osc_Check(15, 110, 50, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On4);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PAmpEnvelopeEnabled");
- } // Fl_Osc_Check* o
- { LFOUI* o = voiceamplfogroup = new LFOUI(10, 180, 230, 75, "Amplitude LFO ");
- voiceamplfogroup->box(FL_FLAT_BOX);
- voiceamplfogroup->color(FL_DARK1);
- voiceamplfogroup->selection_color(FL_BACKGROUND_COLOR);
- voiceamplfogroup->labeltype(FL_NORMAL_LABEL);
- voiceamplfogroup->labelfont(0);
- voiceamplfogroup->labelsize(14);
- voiceamplfogroup->labelcolor(FL_FOREGROUND_COLOR);
- voiceamplfogroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voiceamplfogroup->when(FL_WHEN_RELEASE);
- o->init(osc_i, loc, "AmpLfo/");
- voiceamplfogroup->end();
- } // LFOUI* voiceamplfogroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(15, 185, 55, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On5);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PAmpLfoEnabled");
- } // Fl_Osc_Check* o
- { Fl_Osc_Check* o = new Fl_Osc_Check(10, 45, 50, 10, "Minus");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PVolumeminus");
- } // Fl_Osc_Check* o
- o->end();
- } // Fl_Group* o
- { voicefiltergroup = new Fl_Group(245, 5, 285, 260, "FILTER");
- voicefiltergroup->box(FL_UP_FRAME);
- voicefiltergroup->labeltype(FL_EMBOSSED_LABEL);
- voicefiltergroup->labelfont(1);
- voicefiltergroup->labelsize(13);
- voicefiltergroup->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { FilterUI* o = new FilterUI(250, 30, 275, 75, "ADsynth Voice - Filter");
- o->box(FL_FLAT_BOX);
- o->color(FL_LIGHT1);
- o->selection_color(FL_BACKGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(14);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init(loc + "PFilter", osc_i, loc, "VoiceFilter/");
- o->end();
- } // FilterUI* o
- { EnvelopeUI* o = voicefilterenvgroup = new EnvelopeUI(250, 115, 275, 70, "ADSynth Voice - Filter Envelope");
- voicefilterenvgroup->box(FL_FLAT_BOX);
- voicefilterenvgroup->color((Fl_Color)51);
- voicefilterenvgroup->selection_color(FL_BACKGROUND_COLOR);
- voicefilterenvgroup->labeltype(FL_NORMAL_LABEL);
- voicefilterenvgroup->labelfont(0);
- voicefilterenvgroup->labelsize(14);
- voicefilterenvgroup->labelcolor(FL_FOREGROUND_COLOR);
- voicefilterenvgroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voicefilterenvgroup->when(FL_WHEN_RELEASE);
- o->init(
- ENV_ADSR_FILTER, osc_i, loc, "FilterEnvelope/");
- voicefilterenvgroup->end();
- } // EnvelopeUI* voicefilterenvgroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(255, 119, 55, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On6);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFilterEnvelopeEnabled");
- } // Fl_Osc_Check* o
- { LFOUI* o = voicefilterlfogroup = new LFOUI(250, 190, 230, 70, "Filter LFO ");
- voicefilterlfogroup->box(FL_FLAT_BOX);
- voicefilterlfogroup->color(FL_DARK1);
- voicefilterlfogroup->selection_color(FL_BACKGROUND_COLOR);
- voicefilterlfogroup->labeltype(FL_NORMAL_LABEL);
- voicefilterlfogroup->labelfont(0);
- voicefilterlfogroup->labelsize(14);
- voicefilterlfogroup->labelcolor(FL_FOREGROUND_COLOR);
- voicefilterlfogroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- voicefilterlfogroup->when(FL_WHEN_RELEASE);
- o->init(osc_i, loc, "FilterLfo/");
- voicefilterlfogroup->end();
- } // LFOUI* voicefilterlfogroup
- { Fl_Osc_Check* o = new Fl_Osc_Check(255, 196, 55, 10, "On");
- o->tooltip("Forced Release");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On7);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFilterLfoEnabled");
- } // Fl_Osc_Check* o
- voicefiltergroup->end();
- } // Fl_Group* voicefiltergroup
- { Fl_Group* o = activeVoiceID = new Fl_Group(5, 5, 55, 35, "01");
- activeVoiceID->box(FL_THIN_UP_BOX);
- activeVoiceID->labeltype(FL_EMBOSSED_LABEL);
- activeVoiceID->labelfont(1);
- activeVoiceID->labelsize(22);
- activeVoiceID->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
- char tmp[10];snprintf(tmp,10,"%d",nvoice+1);o->label(strdup(tmp));
- activeVoiceID->end();
- } // Fl_Group* activeVoiceID
- { Fl_Osc_Choice* o = new Fl_Osc_Choice(5, 515, 65, 20);
- o->tooltip("Oscillator Type (sound/noise)");
- o->box(FL_UP_BOX);
- o->down_box(FL_BORDER_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_SELECTION_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->textfont(1);
- o->textsize(10);
- o->callback((Fl_Callback*)cb_2);
- o->align(Fl_Align(FL_ALIGN_LEFT));
- o->when(FL_WHEN_RELEASE);
- o->menu(menu_);
- o->init("Type");
- } // Fl_Osc_Choice* o
- { Fl_Osc_Check* o = bypassfiltercheckbutton = new Fl_Osc_Check(425, 10, 100, 20, "Bypass Global F.");
- bypassfiltercheckbutton->box(FL_NO_BOX);
- bypassfiltercheckbutton->down_box(FL_DOWN_BOX);
- bypassfiltercheckbutton->color(FL_BACKGROUND_COLOR);
- bypassfiltercheckbutton->selection_color(FL_FOREGROUND_COLOR);
- bypassfiltercheckbutton->labeltype(FL_NORMAL_LABEL);
- bypassfiltercheckbutton->labelfont(1);
- bypassfiltercheckbutton->labelsize(10);
- bypassfiltercheckbutton->labelcolor(FL_FOREGROUND_COLOR);
- bypassfiltercheckbutton->align(Fl_Align(132|FL_ALIGN_INSIDE));
- bypassfiltercheckbutton->when(FL_WHEN_RELEASE);
- o->init("Pfilterbypass");
- } // Fl_Osc_Check* bypassfiltercheckbutton
- { Fl_Group* o = new Fl_Group(115, 5, 95, 35);
- o->box(FL_THIN_UP_BOX);
- { Fl_Osc_VSlider* o = new Fl_Osc_VSlider(120, 21, 84, 12, "Delay");
- o->tooltip("Volume");
- o->type(5);
- o->box(FL_NO_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_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_CHANGED);
- o->init("PDelay");
- } // Fl_Osc_VSlider* o
- o->end();
- } // Fl_Group* o
- { Fl_Osc_Check* o = new Fl_Osc_Check(250, 15, 60, 15, "On");
- o->tooltip("Enable Filter");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->callback((Fl_Callback*)cb_On8);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("PFilterEnabled");
- } // Fl_Osc_Check* o
- { whitenoiselabel = new Fl_Box(150, 430, 300, 65, "White Noise");
- whitenoiselabel->labelfont(1);
- whitenoiselabel->labelsize(50);
- whitenoiselabel->labelcolor(FL_LIGHT3);
- whitenoiselabel->hide();
- } // Fl_Box* whitenoiselabel
- { pinknoiselabel = new Fl_Box(150, 430, 300, 65, "Pink Noise");
- pinknoiselabel->labelfont(1);
- pinknoiselabel->labelsize(50);
- pinknoiselabel->labelcolor((Fl_Color)212);
- pinknoiselabel->hide();
- } // Fl_Box* pinknoiselabel
- { Fl_Osc_Counter* o = new Fl_Osc_Counter(20, 568, 65, 18, "Unison");
- o->tooltip("Unison size");
- o->box(FL_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(1);
- o->labelsize(14);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->minimum(1);
- o->maximum(64);
- o->step(1);
- o->value(1);
- o->textfont(1);
- o->textsize(11);
- o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- o->when(FL_WHEN_CHANGED);
- o->init("Unison_size", 1);
- o->lstep(5);
- } // Fl_Osc_Counter* o
- voiceparametersgroup->end();
- } // Fl_Group* voiceparametersgroup
- { Fl_Osc_Check* o = voiceonbutton = new Fl_Osc_Check(60, 5, 55, 35, "On");
- voiceonbutton->box(FL_THIN_UP_BOX);
- voiceonbutton->down_box(FL_DOWN_BOX);
- voiceonbutton->color(FL_BACKGROUND_COLOR);
- voiceonbutton->selection_color(FL_FOREGROUND_COLOR);
- voiceonbutton->labeltype(FL_NORMAL_LABEL);
- voiceonbutton->labelfont(1);
- voiceonbutton->labelsize(13);
- voiceonbutton->labelcolor(FL_FOREGROUND_COLOR);
- voiceonbutton->callback((Fl_Callback*)cb_voiceonbutton);
- voiceonbutton->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- voiceonbutton->when(FL_WHEN_RELEASE);
- o->init("Enabled");
- } // Fl_Osc_Check* voiceonbutton
- ADnoteVoiceParameters->end();
- } // Fl_Osc_Group* ADnoteVoiceParameters
- return ADnoteVoiceParameters;
- }
-
- ADvoiceUI::ADvoiceUI(int x,int y, int w, int h, const char *label):Fl_Group(x,y,w,h,label) {
- nvoice=0;
- oscedit=NULL;
- }
-
- void ADvoiceUI::init(int nvoice_, std::string loc_, Fl_Osc_Interface *osc_) {
- assert(osc_);
- assert(!loc_.empty());
- nvoice=nvoice_;
- loc=loc_+"VoicePar"+to_s(nvoice)+"/";
- base = loc_;
- osc_i=osc_;
- make_window();
- end();
- ADnoteVoiceParameters->show();
- }
-
- ADvoiceUI::~ADvoiceUI() {
- ADnoteVoiceParameters->hide();
- hide();
- delete(oscedit);
- //delete (ADnoteVoiceParameters);
- }
-
- void ADvoiceUI::change_voice(int nvoice_) {
- nvoice = nvoice_;
- loc = base+"VoicePar"+to_s(nvoice)+"/";
- char tmp[50];snprintf(tmp,10,"%d",nvoice+1);
- activeVoiceID->label(strdup(tmp));
- extoscil->clear();
- extoscil->add("Internal");
- for (int i=0;i<nvoice;i++) {
- sprintf(tmp,"Ext.%2d",i+1);
- extoscil->add(tmp);
- };
-
- extFMoscil->clear();
- extFMoscil->add("Internal");
- for (int i=0;i<nvoice;i++) {
- sprintf(tmp,"ExtM.%2d",i+1);
- extFMoscil->add(tmp);
- }
-
- extMod->clear();
- extMod->add("OFF");
- for (int i=0;i<nvoice;i++) {
- sprintf(tmp,"ExtMod.%2d",i+1);
- extMod->add(tmp);
- }
- ADnoteVoiceParameters->rebase(base+"VoicePar"+to_s(nvoice)+"/");
- }
-
- void ADnoteUI::cb_detune_i(Fl_Osc_Slider*, void*) {
- detunevalueoutput->update();
- }
- void ADnoteUI::cb_detune(Fl_Osc_Slider* o, void* v) {
- ((ADnoteUI*)(o->parent()->parent()->user_data()))->cb_detune_i(o,v);
- }
-
- void ADnoteUI::cb_detunetype_i(Fl_Osc_Choice*, void*) {
- detunevalueoutput->update();
- ui->partui->adnoteui->advoice->detunevalueoutput->update();
- ui->partui->adnoteui->advoice->fmdetunevalueoutput->update();
- }
- void ADnoteUI::cb_detunetype(Fl_Osc_Choice* o, void* v) {
- ((ADnoteUI*)(o->parent()->parent()->user_data()))->cb_detunetype_i(o,v);
- }
-
- void ADnoteUI::cb_relBW_i(Fl_Osc_Dial*, void*) {
- for (int i=0;i<NUM_VOICES;i++){
- voicelistitem[i]->refreshlist();
- };
- }
- void ADnoteUI::cb_relBW(Fl_Osc_Dial* o, void* v) {
- ((ADnoteUI*)(o->parent()->parent()->user_data()))->cb_relBW_i(o,v);
- }
-
- void ADnoteUI::cb_Show_i(Fl_Button*, void*) {
- for (int i=0;i<NUM_VOICES;i++){
- voicelistitem[i]->refreshlist();
- }
- ADnoteVoiceList->show();
- }
- void ADnoteUI::cb_Show(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Show_i(o,v);
- }
-
- void ADnoteUI::cb_Show1_i(Fl_Button*, void*) {
- if (advoice->mod_type->value() == 0)
- advoice->voiceFMparametersgroup->deactivate();
- else
- advoice->voiceFMparametersgroup->activate();
- ADnoteVoice->show();
- }
- void ADnoteUI::cb_Show1(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Show1_i(o,v);
- }
-
- void ADnoteUI::cb_Close_i(Fl_Button*, void*) {
- ADnoteGlobalParameters->hide();
- }
- void ADnoteUI::cb_Close(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Close_i(o,v);
- }
-
- void ADnoteUI::cb_Resonance_i(Fl_Button*, void*) {
- resui->resonancewindow->redraw();
- resui->resonancewindow->show();
- }
- void ADnoteUI::cb_Resonance(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Resonance_i(o,v);
- }
-
- void ADnoteUI::cb_C_i(Fl_Button*, void*) {
- presetsui->copy(loc);
- }
- void ADnoteUI::cb_C(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_C_i(o,v);
- }
-
- void ADnoteUI::cb_P_i(Fl_Button*, void*) {
- presetsui->paste(loc,this);
- }
- void ADnoteUI::cb_P(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_P_i(o,v);
- }
-
- void ADnoteUI::cb_Close1_i(Fl_Button*, void*) {
- ADnoteVoice->hide();
- }
- void ADnoteUI::cb_Close1(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Close1_i(o,v);
- }
-
- void ADnoteUI::cb_currentvoicecounter_i(Fl_Counter* o, void*) {
- nvoice=(int)o->value()-1;
- advoice->change_voice(nvoice);
- }
- void ADnoteUI::cb_currentvoicecounter(Fl_Counter* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_currentvoicecounter_i(o,v);
- }
-
- void ADnoteUI::cb_C1_i(Fl_Button*, void*) {
- presetsui->copy(ADnoteVoice->loc(),nvoice);
- }
- void ADnoteUI::cb_C1(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_C1_i(o,v);
- }
-
- void ADnoteUI::cb_P1_i(Fl_Button*, void*) {
- presetsui->paste(ADnoteVoice->loc(),this,nvoice);
- }
- void ADnoteUI::cb_P1(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_P1_i(o,v);
- }
-
- void ADnoteUI::cb_Show2_i(Fl_Button*, void*) {
- ADnoteGlobalParameters->show();
- }
- void ADnoteUI::cb_Show2(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Show2_i(o,v);
- }
-
- void ADnoteUI::cb_Show3_i(Fl_Button*, void*) {
- for (int i=0;i<NUM_VOICES;i++){
- voicelistitem[i]->refreshlist();
- }
- ADnoteVoiceList->show();
- }
- void ADnoteUI::cb_Show3(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Show3_i(o,v);
- }
-
- void ADnoteUI::cb_Close2_i(Fl_Button*, void*) {
- ADnoteVoiceList->hide();
- }
- void ADnoteUI::cb_Close2(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Close2_i(o,v);
- }
-
- void ADnoteUI::cb_Edit_i(Fl_Button*, void*) {
- ui->partui->adnoteui->ADnoteGlobalParameters->show();
- }
- void ADnoteUI::cb_Edit(Fl_Button* o, void* v) {
- ((ADnoteUI*)(o->parent()->user_data()))->cb_Edit_i(o,v);
- }
-
- Fl_Osc_Window* ADnoteUI::make_window() {
- { ADnoteGlobalParameters = new Fl_Osc_Window(540, 430, "ADsynth Global Parameters of the Instrument");
- ADnoteGlobalParameters->box(FL_FLAT_BOX);
- ADnoteGlobalParameters->color(FL_BACKGROUND_COLOR);
- ADnoteGlobalParameters->selection_color(FL_BACKGROUND_COLOR);
- ADnoteGlobalParameters->labeltype(FL_NO_LABEL);
- ADnoteGlobalParameters->labelfont(0);
- ADnoteGlobalParameters->labelsize(14);
- ADnoteGlobalParameters->labelcolor(FL_FOREGROUND_COLOR);
- ADnoteGlobalParameters->user_data((void*)(this));
- ADnoteGlobalParameters->align(Fl_Align(FL_ALIGN_TOP));
- ADnoteGlobalParameters->when(FL_WHEN_RELEASE);
- { new Fl_Box(0, 0, 0, 0);
- ADnoteGlobalParameters->init(osc, loc + "GlobalPar/");
- } // Fl_Box* o
- { Fl_Group* o = new Fl_Group(5, 280, 530, 115, "FREQUENCY");
- o->box(FL_UP_FRAME);
- o->labeltype(FL_EMBOSSED_LABEL);
- o->labelfont(1);
- o->labelsize(13);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { EnvelopeUI* o = freqenv = new EnvelopeUI(10, 320, 205, 70, "ADSynth Global - Frequency Envelope");
- freqenv->box(FL_FLAT_BOX);
- freqenv->color((Fl_Color)51);
- freqenv->selection_color(FL_BACKGROUND_COLOR);
- freqenv->labeltype(FL_NORMAL_LABEL);
- freqenv->labelfont(0);
- freqenv->labelsize(14);
- freqenv->labelcolor(FL_FOREGROUND_COLOR);
- freqenv->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- freqenv->when(FL_WHEN_RELEASE);
- o->init(ENV_ASR, osc, loc, "GlobalPar/FreqEnvelope/");
- freqenv->end();
- } // EnvelopeUI* freqenv
- { Fl_Osc_Counter* o = octave = new Fl_Osc_Counter(455, 300, 45, 15, "Octave");
- octave->tooltip("Octave");
- octave->type(1);
- octave->box(FL_UP_BOX);
- octave->color(FL_BACKGROUND_COLOR);
- octave->selection_color(FL_INACTIVE_COLOR);
- octave->labeltype(FL_NORMAL_LABEL);
- octave->labelfont(0);
- octave->labelsize(10);
- octave->labelcolor(FL_FOREGROUND_COLOR);
- octave->minimum(-8);
- octave->maximum(7);
- octave->step(1);
- octave->textfont(1);
- octave->textsize(11);
- octave->align(Fl_Align(FL_ALIGN_TOP));
- octave->when(FL_WHEN_CHANGED);
- o->init("octave");
- } // Fl_Osc_Counter* octave
- { Fl_Osc_Counter* o = coarsedet = new Fl_Osc_Counter(460, 370, 60, 20, "Coarse det.");
- coarsedet->tooltip("Coarse Detune");
- coarsedet->type(1);
- coarsedet->box(FL_UP_BOX);
- coarsedet->color(FL_BACKGROUND_COLOR);
- coarsedet->selection_color(FL_INACTIVE_COLOR);
- coarsedet->labeltype(FL_NORMAL_LABEL);
- coarsedet->labelfont(0);
- coarsedet->labelsize(10);
- coarsedet->labelcolor(FL_FOREGROUND_COLOR);
- coarsedet->minimum(-64);
- coarsedet->maximum(63);
- coarsedet->step(1);
- coarsedet->textfont(1);
- coarsedet->textsize(11);
- coarsedet->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- coarsedet->when(FL_WHEN_CHANGED);
- o->init("coarsedetune");
- o->lstep(10);
- } // Fl_Osc_Counter* coarsedet
- { LFOUI* o = freqlfo = new LFOUI(220, 320, 230, 70, "Frequency LFO ");
- freqlfo->box(FL_FLAT_BOX);
- freqlfo->color(FL_DARK1);
- freqlfo->selection_color(FL_BACKGROUND_COLOR);
- freqlfo->labeltype(FL_NORMAL_LABEL);
- freqlfo->labelfont(0);
- freqlfo->labelsize(14);
- freqlfo->labelcolor(FL_FOREGROUND_COLOR);
- freqlfo->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- freqlfo->when(FL_WHEN_RELEASE);
- o->init(osc, loc, "GlobalPar/FreqLfo/");
- freqlfo->end();
- } // LFOUI* freqlfo
- { Fl_Osc_Slider* o = detune = new Fl_Osc_Slider(60, 300, 385, 15);
- detune->tooltip("Fine Detune (cents)");
- detune->type(5);
- detune->box(FL_NO_BOX);
- detune->color(FL_BACKGROUND_COLOR);
- detune->selection_color(FL_BACKGROUND_COLOR);
- detune->labeltype(FL_NORMAL_LABEL);
- detune->labelfont(0);
- detune->labelsize(14);
- detune->labelcolor(FL_FOREGROUND_COLOR);
- detune->minimum(-8192);
- detune->maximum(8191);
- detune->step(1);
- detune->callback((Fl_Callback*)cb_detune);
- detune->align(Fl_Align(FL_ALIGN_BOTTOM));
- detune->when(FL_WHEN_CHANGED);
- o->init("PDetune", 'i');
- } // Fl_Osc_Slider* detune
- { Fl_Osc_Output* o = detunevalueoutput = new Fl_Osc_Output(12, 300, 45, 15, "Detune");
- detunevalueoutput->box(FL_NO_BOX);
- detunevalueoutput->color(FL_BACKGROUND_COLOR);
- detunevalueoutput->selection_color(FL_BACKGROUND_COLOR);
- detunevalueoutput->labeltype(FL_NORMAL_LABEL);
- detunevalueoutput->labelfont(0);
- detunevalueoutput->labelsize(10);
- detunevalueoutput->labelcolor(FL_FOREGROUND_COLOR);
- detunevalueoutput->minimum(-5000);
- detunevalueoutput->maximum(5000);
- detunevalueoutput->step(0.01);
- detunevalueoutput->textfont(1);
- detunevalueoutput->textsize(10);
- detunevalueoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- detunevalueoutput->when(FL_WHEN_CHANGED);
- o->init("detunevalue");
- } // Fl_Osc_Output* detunevalueoutput
- { Fl_Osc_Choice* o = detunetype = new Fl_Osc_Choice(455, 340, 75, 15, "Detune Type");
- detunetype->box(FL_UP_BOX);
- detunetype->down_box(FL_BORDER_BOX);
- detunetype->color(FL_BACKGROUND_COLOR);
- detunetype->selection_color(FL_SELECTION_COLOR);
- detunetype->labeltype(FL_NORMAL_LABEL);
- detunetype->labelfont(0);
- detunetype->labelsize(10);
- detunetype->labelcolor(FL_FOREGROUND_COLOR);
- detunetype->textfont(1);
- detunetype->textsize(10);
- detunetype->callback((Fl_Callback*)cb_detunetype);
- detunetype->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- detunetype->when(FL_WHEN_RELEASE);
- o->add("L35cents");o->add("L10cents");o->add("E100cents");o->add("E1200cents");
- o->init("PDetuneType",1);
- } // Fl_Osc_Choice* detunetype
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(505, 295, 25, 25, "relBW");
- o->tooltip("Bandwidth - how the relative fine detune of the voice are changed");
- o->box(FL_ROUND_UP_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->callback((Fl_Callback*)cb_relBW);
- o->align(Fl_Align(FL_ALIGN_TOP));
- o->when(FL_WHEN_CHANGED);
- o->init("PBandwidth");o->reset_value=64;
- } // Fl_Osc_Dial* o
- o->end();
- } // Fl_Group* o
- { Fl_Group* o = new Fl_Group(5, 5, 240, 260, "AMPLITUDE");
- o->box(FL_UP_FRAME);
- o->labeltype(FL_EMBOSSED_LABEL);
- o->labelfont(1);
- o->labelsize(13);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { Fl_Osc_VSlider* o = volume = new Fl_Osc_VSlider(10, 30, 160, 15, "Vol");
- volume->tooltip("Volume");
- volume->type(5);
- volume->box(FL_NO_BOX);
- volume->color(FL_BACKGROUND_COLOR);
- volume->selection_color(FL_BACKGROUND_COLOR);
- volume->labeltype(FL_NORMAL_LABEL);
- volume->labelfont(0);
- volume->labelsize(11);
- volume->labelcolor(FL_FOREGROUND_COLOR);
- volume->maximum(127);
- volume->step(1);
- volume->align(Fl_Align(FL_ALIGN_RIGHT));
- volume->when(FL_WHEN_CHANGED);
- o->init("PVolume");o->reset_value=90;
- } // Fl_Osc_VSlider* volume
- { Fl_Osc_VSlider* o = vsns = new Fl_Osc_VSlider(10, 50, 160, 15, "V.Sns");
- vsns->tooltip("Velocity Sensing Function (rightmost to disable)");
- vsns->type(5);
- vsns->box(FL_NO_BOX);
- vsns->color(FL_BACKGROUND_COLOR);
- vsns->selection_color(FL_BACKGROUND_COLOR);
- vsns->labeltype(FL_NORMAL_LABEL);
- vsns->labelfont(0);
- vsns->labelsize(11);
- vsns->labelcolor(FL_FOREGROUND_COLOR);
- vsns->maximum(127);
- vsns->step(1);
- vsns->align(Fl_Align(FL_ALIGN_RIGHT));
- vsns->when(FL_WHEN_CHANGED);
- o->init("PAmpVelocityScaleFunction");o->reset_value=64;
- } // Fl_Osc_VSlider* vsns
- { Fl_Osc_Dial* o = pan = new Fl_Osc_Dial(210, 25, 30, 30, "Pan");
- pan->tooltip("Panning (leftmost is Random)");
- pan->box(FL_ROUND_UP_BOX);
- pan->color(FL_BACKGROUND_COLOR);
- pan->selection_color(FL_INACTIVE_COLOR);
- pan->labeltype(FL_NORMAL_LABEL);
- pan->labelfont(0);
- pan->labelsize(10);
- pan->labelcolor(FL_FOREGROUND_COLOR);
- pan->maximum(127);
- pan->step(1);
- pan->align(Fl_Align(FL_ALIGN_BOTTOM));
- pan->when(FL_WHEN_CHANGED);
- o->init("PPanning");o->reset_value=64;
- } // Fl_Osc_Dial* pan
- { Fl_Osc_Dial* o = new Fl_Osc_Dial(208, 228, 20, 20, "De-pop");
- o->tooltip("Pop suppression");
- o->box(FL_NO_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_INACTIVE_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->maximum(127);
- o->step(1);
- o->align(Fl_Align(FL_ALIGN_BOTTOM));
- o->when(FL_WHEN_CHANGED);
- o->init("Fadein_adjustment");o->reset_value=20;
- } // Fl_Osc_Dial* o
- { Fl_Osc_Dial* o = pstr = new Fl_Osc_Dial(78, 237, 25, 25, "P.Str.");
- pstr->tooltip("Punch Strength");
- pstr->box(FL_ROUND_UP_BOX);
- pstr->color(FL_BACKGROUND_COLOR);
- pstr->selection_color(FL_INACTIVE_COLOR);
- pstr->labeltype(FL_NORMAL_LABEL);
- pstr->labelfont(0);
- pstr->labelsize(10);
- pstr->labelcolor(FL_FOREGROUND_COLOR);
- pstr->maximum(127);
- pstr->step(1);
- pstr->align(Fl_Align(FL_ALIGN_TOP));
- pstr->when(FL_WHEN_CHANGED);
- o->init("PPunchStrength");
- } // Fl_Osc_Dial* pstr
- { Fl_Osc_Dial* o = pt = new Fl_Osc_Dial(108, 237, 25, 25, "P.t.");
- pt->tooltip("Punch Time (duration)");
- pt->box(FL_ROUND_UP_BOX);
- pt->color(FL_BACKGROUND_COLOR);
- pt->selection_color(FL_INACTIVE_COLOR);
- pt->labeltype(FL_NORMAL_LABEL);
- pt->labelfont(0);
- pt->labelsize(10);
- pt->labelcolor(FL_FOREGROUND_COLOR);
- pt->maximum(127);
- pt->step(1);
- pt->align(Fl_Align(FL_ALIGN_TOP));
- pt->when(FL_WHEN_CHANGED);
- o->init("PPunchTime");o->reset_value=60;
- } // Fl_Osc_Dial* pt
- { Fl_Osc_Dial* o = pstc = new Fl_Osc_Dial(138, 237, 25, 25, "P.Stc.");
- pstc->tooltip("Punch Stretch");
- pstc->box(FL_ROUND_UP_BOX);
- pstc->color(FL_BACKGROUND_COLOR);
- pstc->selection_color(FL_INACTIVE_COLOR);
- pstc->labeltype(FL_NORMAL_LABEL);
- pstc->labelfont(0);
- pstc->labelsize(10);
- pstc->labelcolor(FL_FOREGROUND_COLOR);
- pstc->maximum(127);
- pstc->step(1);
- pstc->align(Fl_Align(FL_ALIGN_TOP));
- pstc->when(FL_WHEN_CHANGED);
- o->init("PPunchStretch");o->reset_value=64;
- } // Fl_Osc_Dial* pstc
- { Fl_Osc_Dial* o = pvel = new Fl_Osc_Dial(168, 237, 25, 25, "P.Vel.");
- pvel->tooltip("Punch Velocity Sensing");
- pvel->box(FL_ROUND_UP_BOX);
- pvel->color(FL_BACKGROUND_COLOR);
- pvel->selection_color(FL_INACTIVE_COLOR);
- pvel->labeltype(FL_NORMAL_LABEL);
- pvel->labelfont(0);
- pvel->labelsize(10);
- pvel->labelcolor(FL_FOREGROUND_COLOR);
- pvel->maximum(127);
- pvel->step(1);
- pvel->align(Fl_Align(FL_ALIGN_TOP));
- pvel->when(FL_WHEN_CHANGED);
- o->init("PPunchVelocitySensing");o->reset_value=72;
- } // Fl_Osc_Dial* pvel
- { EnvelopeUI* o = ampenv = new EnvelopeUI(10, 75, 205, 70, "ADSynth Global - Amplitude Envelope");
- ampenv->box(FL_FLAT_BOX);
- ampenv->color((Fl_Color)51);
- ampenv->selection_color(FL_BACKGROUND_COLOR);
- ampenv->labeltype(FL_NORMAL_LABEL);
- ampenv->labelfont(0);
- ampenv->labelsize(14);
- ampenv->labelcolor(FL_FOREGROUND_COLOR);
- ampenv->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- ampenv->when(FL_WHEN_RELEASE);
- o->init(ENV_ADSR, osc, loc, "GlobalPar/AmpEnvelope/");
- ampenv->end();
- } // EnvelopeUI* ampenv
- { LFOUI* o = amplfo = new LFOUI(10, 150, 230, 70, "Amplitude LFO ");
- amplfo->box(FL_FLAT_BOX);
- amplfo->color(FL_DARK1);
- amplfo->selection_color(FL_BACKGROUND_COLOR);
- amplfo->labeltype(FL_NORMAL_LABEL);
- amplfo->labelfont(0);
- amplfo->labelsize(14);
- amplfo->labelcolor(FL_FOREGROUND_COLOR);
- amplfo->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- amplfo->when(FL_WHEN_RELEASE);
- o->init(osc, loc, "GlobalPar/AmpLfo/");
- amplfo->end();
- } // LFOUI* amplfo
- { Fl_Osc_Check* o = rndgrp = new Fl_Osc_Check(7, 241, 65, 18, "Rnd Grp");
- rndgrp->tooltip("How the Harmonic Amplitude is applied to voices that use the same oscillator");
- rndgrp->box(FL_NO_BOX);
- rndgrp->down_box(FL_DOWN_BOX);
- rndgrp->color(FL_BACKGROUND_COLOR);
- rndgrp->selection_color(FL_FOREGROUND_COLOR);
- rndgrp->labeltype(FL_NORMAL_LABEL);
- rndgrp->labelfont(0);
- rndgrp->labelsize(11);
- rndgrp->labelcolor(FL_FOREGROUND_COLOR);
- rndgrp->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- rndgrp->when(FL_WHEN_RELEASE);
- o->init("Hrandgrouping");
- } // Fl_Osc_Check* rndgrp
- o->end();
- } // Fl_Group* o
- { Fl_Group* o = new Fl_Group(250, 5, 285, 265, "FILTER");
- o->box(FL_UP_FRAME);
- o->labeltype(FL_EMBOSSED_LABEL);
- o->labelfont(1);
- o->labelsize(13);
- o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
- { EnvelopeUI* o = filterenv = new EnvelopeUI(255, 118, 275, 70, "ADSynth Global - Filter Envelope");
- filterenv->box(FL_FLAT_BOX);
- filterenv->color((Fl_Color)51);
- filterenv->selection_color(FL_BACKGROUND_COLOR);
- filterenv->labeltype(FL_NORMAL_LABEL);
- filterenv->labelfont(0);
- filterenv->labelsize(14);
- filterenv->labelcolor(FL_FOREGROUND_COLOR);
- filterenv->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- filterenv->when(FL_WHEN_RELEASE);
- o->init(ENV_ADSR_FILTER, osc, loc, "GlobalPar/FilterEnvelope/");
- filterenv->end();
- } // EnvelopeUI* filterenv
- { LFOUI* o = filterlfo = new LFOUI(255, 195, 230, 70, "Filter LFO");
- filterlfo->box(FL_FLAT_BOX);
- filterlfo->color(FL_DARK1);
- filterlfo->selection_color(FL_BACKGROUND_COLOR);
- filterlfo->labeltype(FL_NORMAL_LABEL);
- filterlfo->labelfont(0);
- filterlfo->labelsize(14);
- filterlfo->labelcolor(FL_FOREGROUND_COLOR);
- filterlfo->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- filterlfo->when(FL_WHEN_RELEASE);
- o->init(osc, loc, "GlobalPar/FilterLfo/");
- filterlfo->end();
- } // LFOUI* filterlfo
- { FilterUI* o = filterui = new FilterUI(255, 35, 275, 75, "ADsynth Global - Filter");
- filterui->box(FL_FLAT_BOX);
- filterui->color(FL_LIGHT1);
- filterui->selection_color(FL_BACKGROUND_COLOR);
- filterui->labeltype(FL_NORMAL_LABEL);
- filterui->labelfont(0);
- filterui->labelsize(14);
- filterui->labelcolor(FL_FOREGROUND_COLOR);
- filterui->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE));
- filterui->when(FL_WHEN_RELEASE);
- o->init(loc + "GlobalPar/PFilter",
- osc, loc, "GlobalPar/GlobalFilter/");
- filterui->end();
- } // FilterUI* filterui
- o->end();
- } // Fl_Group* o
- { Fl_Osc_Check* o = stereo = new Fl_Osc_Check(7, 223, 65, 18, "Stereo");
- stereo->box(FL_NO_BOX);
- stereo->down_box(FL_DOWN_BOX);
- stereo->color(FL_BACKGROUND_COLOR);
- stereo->selection_color(FL_FOREGROUND_COLOR);
- stereo->labeltype(FL_NORMAL_LABEL);
- stereo->labelfont(0);
- stereo->labelsize(11);
- stereo->labelcolor(FL_FOREGROUND_COLOR);
- stereo->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- stereo->when(FL_WHEN_RELEASE);
- o->init("PStereo");
- } // Fl_Osc_Check* stereo
- { Fl_Button* o = new Fl_Button(180, 400, 125, 25, "Show Voice List");
- o->labelsize(12);
- o->callback((Fl_Callback*)cb_Show);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(5, 400, 170, 25, "Show Voice Parameters");
- o->labelsize(12);
- o->callback((Fl_Callback*)cb_Show1);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(475, 400, 60, 25, "Close");
- o->box(FL_THIN_UP_BOX);
- o->callback((Fl_Callback*)cb_Close);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(309, 400, 86, 25, "Resonance");
- o->tooltip("Resonance");
- o->box(FL_THIN_UP_BOX);
- o->labelsize(12);
- o->callback((Fl_Callback*)cb_Resonance);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(405, 405, 25, 15, "C");
- o->box(FL_THIN_UP_BOX);
- o->color((Fl_Color)179);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor((Fl_Color)55);
- o->callback((Fl_Callback*)cb_C);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(435, 405, 25, 15, "P");
- o->box(FL_THIN_UP_BOX);
- o->color((Fl_Color)179);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor((Fl_Color)55);
- o->callback((Fl_Callback*)cb_P);
- } // Fl_Button* o
- ADnoteGlobalParameters->end();
- } // Fl_Osc_Window* ADnoteGlobalParameters
- { ADnoteVoice = new Fl_Osc_Window(765, 630, "ADsynth Voice Parameters");
- ADnoteVoice->box(FL_FLAT_BOX);
- ADnoteVoice->color(FL_BACKGROUND_COLOR);
- ADnoteVoice->selection_color(FL_BACKGROUND_COLOR);
- ADnoteVoice->labeltype(FL_NO_LABEL);
- ADnoteVoice->labelfont(0);
- ADnoteVoice->labelsize(14);
- ADnoteVoice->labelcolor(FL_FOREGROUND_COLOR);
- ADnoteVoice->user_data((void*)(this));
- ADnoteVoice->align(Fl_Align(FL_ALIGN_TOP));
- ADnoteVoice->when(FL_WHEN_RELEASE);
- { new Fl_Box(0, 0, 0, 0);
- ADnoteVoice->init(osc,loc);
- } // Fl_Box* o
- { ADvoiceUI* o = advoice = new ADvoiceUI(0, 0, 765, 595);
- advoice->box(FL_NO_BOX);
- advoice->color(FL_BACKGROUND_COLOR);
- advoice->selection_color(FL_BACKGROUND_COLOR);
- advoice->labeltype(FL_NORMAL_LABEL);
- advoice->labelfont(0);
- advoice->labelsize(14);
- advoice->labelcolor(FL_FOREGROUND_COLOR);
- advoice->align(Fl_Align(FL_ALIGN_TOP));
- advoice->when(FL_WHEN_RELEASE);
- o->init(nvoice,loc, osc);
- o->show();
- advoice->end();
- } // ADvoiceUI* advoice
- { Fl_Button* o = new Fl_Button(700, 601, 60, 25, "Close");
- o->box(FL_THIN_UP_BOX);
- o->callback((Fl_Callback*)cb_Close1);
- } // Fl_Button* o
- { Fl_Counter* o = currentvoicecounter = new Fl_Counter(10, 601, 130, 25, "Current Voice");
- currentvoicecounter->type(1);
- currentvoicecounter->labelfont(1);
- currentvoicecounter->minimum(0);
- currentvoicecounter->maximum(2);
- currentvoicecounter->step(1);
- currentvoicecounter->value(1);
- currentvoicecounter->textfont(1);
- currentvoicecounter->textsize(13);
- currentvoicecounter->callback((Fl_Callback*)cb_currentvoicecounter);
- currentvoicecounter->align(Fl_Align(FL_ALIGN_RIGHT));
- o->bounds(1,NUM_VOICES);
- } // Fl_Counter* currentvoicecounter
- { Fl_Button* o = new Fl_Button(630, 609, 25, 15, "C");
- o->box(FL_THIN_UP_BOX);
- o->color((Fl_Color)179);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor((Fl_Color)55);
- o->callback((Fl_Callback*)cb_C1);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(660, 609, 25, 15, "P");
- o->box(FL_THIN_UP_BOX);
- o->color((Fl_Color)179);
- o->labelfont(1);
- o->labelsize(11);
- o->labelcolor((Fl_Color)55);
- o->callback((Fl_Callback*)cb_P1);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(280, 601, 110, 25, "Show ADsynth");
- o->labelsize(12);
- o->callback((Fl_Callback*)cb_Show2);
- } // Fl_Button* o
- { Fl_Button* o = new Fl_Button(400, 601, 130, 25, "Show Voice List");
- o->labelsize(12);
- o->callback((Fl_Callback*)cb_Show3);
- } // Fl_Button* o
- ADnoteVoice->end();
- } // Fl_Osc_Window* ADnoteVoice
- { ADnoteVoiceList = new Fl_Osc_Window(670, 260, "ADsynth Voices list");
- ADnoteVoiceList->box(FL_FLAT_BOX);
- ADnoteVoiceList->color(FL_BACKGROUND_COLOR);
- ADnoteVoiceList->selection_color(FL_BACKGROUND_COLOR);
- ADnoteVoiceList->labeltype(FL_NO_LABEL);
- ADnoteVoiceList->labelfont(0);
- ADnoteVoiceList->labelsize(14);
- ADnoteVoiceList->labelcolor(FL_FOREGROUND_COLOR);
- ADnoteVoiceList->user_data((void*)(this));
- ADnoteVoiceList->align(Fl_Align(FL_ALIGN_TOP));
- ADnoteVoiceList->when(FL_WHEN_RELEASE);
- { new Fl_Box(0, 0, 0, 0);
- ADnoteVoiceList->init(osc, loc);
- } // Fl_Box* o
- { Fl_Text_Display* o = new Fl_Text_Display(17, 15, 30, 10, "No.");
- o->box(FL_NO_BOX);
- o->labelfont(1);
- o->labelsize(11);
- } // Fl_Text_Display* o
- { Fl_Text_Display* o = new Fl_Text_Display(190, 15, 30, 10, "Vol");
- o->box(FL_NO_BOX);
- o->labelfont(1);
- o->labelsize(11);
- } // Fl_Text_Display* o
- { Fl_Text_Display* o = new Fl_Text_Display(431, 15, 25, 10, "Detune");
- o->box(FL_NO_BOX);
- o->labelfont(1);
- o->labelsize(11);
- } // Fl_Text_Display* o
- { Fl_Text_Display* o = new Fl_Text_Display(253, 15, 30, 10, "Pan");
- o->box(FL_NO_BOX);
- o->labelfont(1);
- o->labelsize(11);
- } // Fl_Text_Display* o
- { Fl_Text_Display* o = new Fl_Text_Display(600, 15, 30, 10, "Vib. Depth");
- o->box(FL_NO_BOX);
- o->labelfont(1);
- o->labelsize(11);
- } // Fl_Text_Display* o
- { Fl_Text_Display* o = new Fl_Text_Display(285, 15, 25, 10, "R.");
- o->box(FL_NO_BOX);
- o->labelfont(1);
- o->labelsize(11);
- } // Fl_Text_Display* o
- { Fl_Button* o = new Fl_Button(271, 237, 80, 20, "Close");
- o->callback((Fl_Callback*)cb_Close2);
- } // Fl_Button* o
- { Fl_Scroll* o = new Fl_Scroll(0, 15, 670, 220);
- o->type(2);
- o->box(FL_THIN_UP_BOX);
- { Fl_Pack* o = new Fl_Pack(0, 20, 670, 210);
- o->begin();for (int i=0;i<NUM_VOICES;i++){voicelistitem[i]=new ADvoicelistitem(0,0,670,25,"");voicelistitem[i]->init(i,loc+"VoicePar"+to_s(i)+"/",osc);}o->end();
- o->end();
- } // Fl_Pack* o
- o->end();
- } // Fl_Scroll* o
- { Fl_Button* o = new Fl_Button(5, 237, 106, 20, "Edit ADsynth");
- o->labelsize(12);
- o->callback((Fl_Callback*)cb_Edit);
- } // Fl_Button* o
- ADnoteVoiceList->end();
- } // Fl_Osc_Window* ADnoteVoiceList
- return ADnoteVoiceList;
- }
-
- ADnoteUI::ADnoteUI(std::string loc_, Fl_Osc_Interface *osc_) {
- assert(osc_);
- assert(!loc_.empty());
-
- nvoice=0;
- resui=new ResonanceUI(osc_, loc_+"GlobalPar/Reson/");
- loc=loc_;
- osc=osc_;
- make_window();
- }
-
- ADnoteUI::~ADnoteUI() {
- ADnoteVoiceList->hide();
- ADnoteGlobalParameters->hide();
- ADnoteVoice->hide();
- delete ADnoteVoiceList;
- delete ADnoteGlobalParameters;
- delete ADnoteVoice;
- delete resui;
- }
-
- void ADnoteUI::refresh() {
- amplfo->refresh();
- freqlfo->refresh();
- filterlfo->refresh();
-
- ampenv->refresh();
- freqenv->refresh();
- filterenv->refresh();
- filterui->refresh();
-
- for (int i=0;i<NUM_VOICES;i++) voicelistitem[i]->refreshlist();
-
- resui->refresh();
- currentvoicecounter->do_callback();
- }
|