From 1ad5a1931d45e2f5da0bad49061bab43eda2a381 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 5 Apr 2018 09:47:22 +0200 Subject: [PATCH] Do not include auto-generated files --- zynaddsubfx/UI/ADnoteUI.cpp | 2452 ------------------------- zynaddsubfx/UI/ADnoteUI.h | 308 ---- zynaddsubfx/UI/BankUI.cpp | 196 -- zynaddsubfx/UI/BankUI.h | 60 - zynaddsubfx/UI/ConfigUI.cpp | 397 ---- zynaddsubfx/UI/ConfigUI.h | 90 - zynaddsubfx/UI/EffUI.cpp | 3024 ------------------------------- zynaddsubfx/UI/EffUI.h | 318 ---- zynaddsubfx/UI/EnvelopeUI.cpp | 1352 -------------- zynaddsubfx/UI/EnvelopeUI.h | 256 --- zynaddsubfx/UI/FilterUI.cpp | 905 --------- zynaddsubfx/UI/FilterUI.h | 161 -- zynaddsubfx/UI/LFOUI.cpp | 251 --- zynaddsubfx/UI/LFOUI.h | 44 - zynaddsubfx/UI/MasterUI.cpp | 2547 -------------------------- zynaddsubfx/UI/MasterUI.h | 417 ----- zynaddsubfx/UI/MicrotonalUI.cpp | 449 ----- zynaddsubfx/UI/MicrotonalUI.h | 79 - zynaddsubfx/UI/OscilGenUI.cpp | 1336 -------------- zynaddsubfx/UI/OscilGenUI.h | 260 --- zynaddsubfx/UI/PADnoteUI.cpp | 1444 --------------- zynaddsubfx/UI/PADnoteUI.h | 247 --- zynaddsubfx/UI/PartUI.cpp | 2024 --------------------- zynaddsubfx/UI/PartUI.h | 274 --- zynaddsubfx/UI/PresetsUI.cpp | 331 ---- zynaddsubfx/UI/PresetsUI.h | 92 - zynaddsubfx/UI/ResonanceUI.cpp | 461 ----- zynaddsubfx/UI/ResonanceUI.h | 91 - zynaddsubfx/UI/SUBnoteUI.cpp | 821 --------- zynaddsubfx/UI/SUBnoteUI.h | 131 -- zynaddsubfx/UI/VirKeyboard.cpp | 552 ------ zynaddsubfx/UI/VirKeyboard.h | 100 - 32 files changed, 21470 deletions(-) delete mode 100644 zynaddsubfx/UI/ADnoteUI.cpp delete mode 100644 zynaddsubfx/UI/ADnoteUI.h delete mode 100644 zynaddsubfx/UI/BankUI.cpp delete mode 100644 zynaddsubfx/UI/BankUI.h delete mode 100644 zynaddsubfx/UI/ConfigUI.cpp delete mode 100644 zynaddsubfx/UI/ConfigUI.h delete mode 100644 zynaddsubfx/UI/EffUI.cpp delete mode 100644 zynaddsubfx/UI/EffUI.h delete mode 100644 zynaddsubfx/UI/EnvelopeUI.cpp delete mode 100644 zynaddsubfx/UI/EnvelopeUI.h delete mode 100644 zynaddsubfx/UI/FilterUI.cpp delete mode 100644 zynaddsubfx/UI/FilterUI.h delete mode 100644 zynaddsubfx/UI/LFOUI.cpp delete mode 100644 zynaddsubfx/UI/LFOUI.h delete mode 100644 zynaddsubfx/UI/MasterUI.cpp delete mode 100644 zynaddsubfx/UI/MasterUI.h delete mode 100644 zynaddsubfx/UI/MicrotonalUI.cpp delete mode 100644 zynaddsubfx/UI/MicrotonalUI.h delete mode 100644 zynaddsubfx/UI/OscilGenUI.cpp delete mode 100644 zynaddsubfx/UI/OscilGenUI.h delete mode 100644 zynaddsubfx/UI/PADnoteUI.cpp delete mode 100644 zynaddsubfx/UI/PADnoteUI.h delete mode 100644 zynaddsubfx/UI/PartUI.cpp delete mode 100644 zynaddsubfx/UI/PartUI.h delete mode 100644 zynaddsubfx/UI/PresetsUI.cpp delete mode 100644 zynaddsubfx/UI/PresetsUI.h delete mode 100644 zynaddsubfx/UI/ResonanceUI.cpp delete mode 100644 zynaddsubfx/UI/ResonanceUI.h delete mode 100644 zynaddsubfx/UI/SUBnoteUI.cpp delete mode 100644 zynaddsubfx/UI/SUBnoteUI.h delete mode 100644 zynaddsubfx/UI/VirKeyboard.cpp delete mode 100644 zynaddsubfx/UI/VirKeyboard.h diff --git a/zynaddsubfx/UI/ADnoteUI.cpp b/zynaddsubfx/UI/ADnoteUI.cpp deleted file mode 100644 index 8bf66e3..0000000 --- a/zynaddsubfx/UI/ADnoteUI.cpp +++ /dev/null @@ -1,2452 +0,0 @@ -// 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 -#include -#include -#include -#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;iadd(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;iadd(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;iadd(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;iadd(tmp); - }; - - extFMoscil->clear(); - extFMoscil->add("Internal"); - for (int i=0;iadd(tmp); - } - - extMod->clear(); - extMod->add("OFF"); - for (int i=0;iadd(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;irefreshlist(); -}; -} -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;irefreshlist(); -} -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;irefreshlist(); - } - 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;iinit(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;irefreshlist(); - - resui->refresh(); - currentvoicecounter->do_callback(); -} diff --git a/zynaddsubfx/UI/ADnoteUI.h b/zynaddsubfx/UI/ADnoteUI.h deleted file mode 100644 index 597c338..0000000 --- a/zynaddsubfx/UI/ADnoteUI.h +++ /dev/null @@ -1,308 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef ADnoteUI_h -#define ADnoteUI_h -#include -#include "../Params/ADnoteParameters.h" -#include "ResonanceUI.h" -#include "Fl_Osc_Slider.H" -#include -#include -#include "Fl_Osc_Pane.H" -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Choice.H" -#include "Fl_Osc_Slider.H" -#include "Fl_Osc_VSlider.H" -#include "Fl_Oscilloscope.h" -#include "EnvelopeUI.h" -#include "LFOUI.h" -#include "FilterUI.h" -#include "OscilGenUI.h" -#include "PresetsUI.h" - -class PhaseSlider : public Fl_Osc_TSlider { -public: - PhaseSlider(int x,int y, int w, int h, const char *label=0) - ; - void set_scope(Fl_Oscilloscope *newscope); - void OSC_value(int i); - void cb(void); -private: - Fl_Oscilloscope *oscope = NULL; -}; -#include -#include - -class ADvoicelistitem : public Fl_Osc_Group { - Fl_Osc_Group* make_window(); - Fl_Osc_Group *ADnoteVoiceListItem; - Fl_Osc_Group *voicelistitemgroup; -public: - Fl_Osc_VSlider *voicevolume; - Fl_Osc_Check *voiceresonanceenabled; - Fl_Osc_VSlider *voicelfofreq; - Fl_Osc_Dial *voicepanning; - Fl_Osc_Group *voiceoscil; - Fl_Osc_Output *detunevalueoutput; - Fl_Osc_Slider *voicedetune; -private: - void cb_voicedetune_i(Fl_Osc_Slider*, void*); - static void cb_voicedetune(Fl_Osc_Slider*, void*); -public: - Fl_Box *whitenoiselabel; - Fl_Box *pinknoiselabel; -private: - Fl_Osc_Check *voiceenabled; - void cb_voiceenabled_i(Fl_Osc_Check*, void*); - static void cb_voiceenabled(Fl_Osc_Check*, void*); - void cb_edit_i(Fl_Button*, void*); - static void cb_edit(Fl_Button*, void*); -public: - ADvoicelistitem(int x,int y, int w, int h, const char *label=0); - void init(int nvoice_, std::string loc_, Fl_Osc_Interface *osc_); - void refreshlist(); - ~ADvoicelistitem(); -private: - int nvoice; - class Osc_IntModel *voice_phase; - class Osc_IntModel *sound_type; - class Osc_IntModel *ext_oscil; - Fl_Oscilloscope *oscil; - std::string loc; -}; -#include - -class ADvoiceUI : public Fl_Group { -public: - Fl_Osc_Group* make_window(); - Fl_Osc_Group *ADnoteVoiceParameters; - Fl_Group *voiceparametersgroup; - Fl_Group *voicemodegroup; - Fl_Group *voiceFMparametersgroup; - Fl_Group *modfrequency; - EnvelopeUI *voiceFMfreqenvgroup; -private: - void cb_On_i(Fl_Osc_Check*, void*); - static void cb_On(Fl_Osc_Check*, void*); - void cb__i(Fl_Osc_Slider*, void*); - static void cb_(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Output *fmdetunevalueoutput; -private: - void cb_Detune_i(Fl_Osc_Choice*, void*); - static void cb_Detune(Fl_Osc_Choice*, void*); - void cb_440Hz_i(Fl_Osc_Check*, void*); - static void cb_440Hz(Fl_Osc_Check*, void*); -public: - EnvelopeUI *voiceFMampenvgroup; -private: - void cb_On1_i(Fl_Osc_Check*, void*); - static void cb_On1(Fl_Osc_Check*, void*); -public: - Fl_Group *modoscil; - Fl_Osc_Group *fmoscil; - Fl_Button *changeFMoscilbutton; -private: - void cb_changeFMoscilbutton_i(Fl_Button*, void*); - static void cb_changeFMoscilbutton(Fl_Button*, void*); -public: - Fl_Osc_Choice *extFMoscil; -private: - void cb_extFMoscil_i(Fl_Osc_Choice*, void*); - static void cb_extFMoscil(Fl_Osc_Choice*, void*); -public: - Fl_Osc_Choice *extMod; -private: - void cb_extMod_i(Fl_Osc_Choice*, void*); - static void cb_extMod(Fl_Osc_Choice*, void*); -public: - Fl_Osc_Choice *mod_type; -private: - void cb_mod_type_i(Fl_Osc_Choice*, void*); - static void cb_mod_type(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_mod_type[]; -public: - EnvelopeUI *voicefreqenvgroup; -private: - void cb_On2_i(Fl_Osc_Check*, void*); - static void cb_On2(Fl_Osc_Check*, void*); -public: - LFOUI *voicefreqlfogroup; -private: - void cb_On3_i(Fl_Osc_Check*, void*); - static void cb_On3(Fl_Osc_Check*, void*); -public: - Fl_Osc_Dial *bendadjdial; - Fl_Osc_Dial *offsethzdial; -private: - void cb_1_i(Fl_Osc_Slider*, void*); - static void cb_1(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Output *detunevalueoutput; -private: - void cb_440Hz1_i(Fl_Osc_Check*, void*); - static void cb_440Hz1(Fl_Osc_Check*, void*); -public: - Fl_Osc_Dial *fixedfreqetdial; -private: - void cb_Detune1_i(Fl_Osc_Choice*, void*); - static void cb_Detune1(Fl_Osc_Choice*, void*); -public: - Fl_Osc_Group *voiceoscil; - Fl_Button *changevoiceoscilbutton; -private: - void cb_changevoiceoscilbutton_i(Fl_Button*, void*); - static void cb_changevoiceoscilbutton(Fl_Button*, void*); -public: - Fl_Osc_Choice *extoscil; -private: - void cb_extoscil_i(Fl_Osc_Choice*, void*); - static void cb_extoscil(Fl_Osc_Choice*, void*); - void cb_Frequency_i(Fl_Osc_Slider*, void*); - static void cb_Frequency(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Output *unisonspreadoutput; - EnvelopeUI *voiceampenvgroup; -private: - void cb_On4_i(Fl_Osc_Check*, void*); - static void cb_On4(Fl_Osc_Check*, void*); -public: - LFOUI *voiceamplfogroup; -private: - void cb_On5_i(Fl_Osc_Check*, void*); - static void cb_On5(Fl_Osc_Check*, void*); -public: - Fl_Group *voicefiltergroup; - EnvelopeUI *voicefilterenvgroup; -private: - void cb_On6_i(Fl_Osc_Check*, void*); - static void cb_On6(Fl_Osc_Check*, void*); -public: - LFOUI *voicefilterlfogroup; -private: - void cb_On7_i(Fl_Osc_Check*, void*); - static void cb_On7(Fl_Osc_Check*, void*); -public: - Fl_Group *activeVoiceID; -private: - void cb_2_i(Fl_Osc_Choice*, void*); - static void cb_2(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_[]; -public: - Fl_Osc_Check *bypassfiltercheckbutton; -private: - void cb_On8_i(Fl_Osc_Check*, void*); - static void cb_On8(Fl_Osc_Check*, void*); -public: - Fl_Box *whitenoiselabel; - Fl_Box *pinknoiselabel; - Fl_Osc_Check *voiceonbutton; -private: - void cb_voiceonbutton_i(Fl_Osc_Check*, void*); - static void cb_voiceonbutton(Fl_Osc_Check*, void*); -public: - ADvoiceUI(int x,int y, int w, int h, const char *label=0); - void init(int nvoice_, std::string loc_, Fl_Osc_Interface *osc_); - ~ADvoiceUI(); - void change_voice(int nvoice_); -private: - int nvoice; - OscilEditor *oscedit; - Fl_Oscilloscope *osc; - Fl_Oscilloscope *oscFM; - std::string loc; - std::string base; - Fl_Osc_Interface *osc_i; -}; -#include -#include -#include -#include - -class ADnoteUI : public PresetsUI_ { - Fl_Osc_Window* make_window(); -public: - Fl_Osc_Window *ADnoteGlobalParameters; - EnvelopeUI *freqenv; - Fl_Osc_Counter *octave; - Fl_Osc_Counter *coarsedet; - LFOUI *freqlfo; - Fl_Osc_Slider *detune; -private: - void cb_detune_i(Fl_Osc_Slider*, void*); - static void cb_detune(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Output *detunevalueoutput; - Fl_Osc_Choice *detunetype; -private: - void cb_detunetype_i(Fl_Osc_Choice*, void*); - static void cb_detunetype(Fl_Osc_Choice*, void*); - void cb_relBW_i(Fl_Osc_Dial*, void*); - static void cb_relBW(Fl_Osc_Dial*, void*); -public: - Fl_Osc_VSlider *volume; - Fl_Osc_VSlider *vsns; - Fl_Osc_Dial *pan; - Fl_Osc_Dial *pstr; - Fl_Osc_Dial *pt; - Fl_Osc_Dial *pstc; - Fl_Osc_Dial *pvel; - EnvelopeUI *ampenv; - LFOUI *amplfo; - Fl_Osc_Check *rndgrp; - EnvelopeUI *filterenv; - LFOUI *filterlfo; - FilterUI *filterui; - Fl_Osc_Check *stereo; -private: - void cb_Show_i(Fl_Button*, void*); - static void cb_Show(Fl_Button*, void*); - void cb_Show1_i(Fl_Button*, void*); - static void cb_Show1(Fl_Button*, void*); - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_Resonance_i(Fl_Button*, void*); - static void cb_Resonance(Fl_Button*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Osc_Window *ADnoteVoice; - ADvoiceUI *advoice; -private: - void cb_Close1_i(Fl_Button*, void*); - static void cb_Close1(Fl_Button*, void*); -public: - Fl_Counter *currentvoicecounter; -private: - void cb_currentvoicecounter_i(Fl_Counter*, void*); - static void cb_currentvoicecounter(Fl_Counter*, void*); - void cb_C1_i(Fl_Button*, void*); - static void cb_C1(Fl_Button*, void*); - void cb_P1_i(Fl_Button*, void*); - static void cb_P1(Fl_Button*, void*); - void cb_Show2_i(Fl_Button*, void*); - static void cb_Show2(Fl_Button*, void*); - void cb_Show3_i(Fl_Button*, void*); - static void cb_Show3(Fl_Button*, void*); -public: - Fl_Osc_Window *ADnoteVoiceList; -private: - void cb_Close2_i(Fl_Button*, void*); - static void cb_Close2(Fl_Button*, void*); - void cb_Edit_i(Fl_Button*, void*); - static void cb_Edit(Fl_Button*, void*); -public: - ADnoteUI(std::string loc_, Fl_Osc_Interface *osc_); - ~ADnoteUI(); - void refresh(); -private: - ResonanceUI *resui; - int nvoice; - ADvoicelistitem *voicelistitem[NUM_VOICES]; - std::string loc; - Fl_Osc_Interface *osc; -}; -#endif diff --git a/zynaddsubfx/UI/BankUI.cpp b/zynaddsubfx/UI/BankUI.cpp deleted file mode 100644 index d8ff707..0000000 --- a/zynaddsubfx/UI/BankUI.cpp +++ /dev/null @@ -1,196 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/BankUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later - -void BankUI::cb_Close_i(Fl_Button*, void*) { - bankuiwindow->hide(); -} -void BankUI::cb_Close(Fl_Button* o, void* v) { - ((BankUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void BankUI::cb_New_i(Fl_Button*, void*) { - const char *dirname; - -dirname=fl_input("New empty Bank:"); -if (dirname==NULL) return; - -osc->write("/bank/newbank", "s", dirname); -refreshmainwindow(); -} -void BankUI::cb_New(Fl_Button* o, void* v) { - ((BankUI*)(o->parent()->user_data()))->cb_New_i(o,v); -} - -void BankUI::cb_banklist_i(BankList*, void*) { - refreshmainwindow(); -} -void BankUI::cb_banklist(BankList* o, void* v) { - ((BankUI*)(o->parent()->user_data()))->cb_banklist_i(o,v); -} - -void BankUI::cb_Refresh_i(Fl_Button*, void*) { - rescan_for_banks(); -banklist->value(0); -} -void BankUI::cb_Refresh(Fl_Button* o, void* v) { - ((BankUI*)(o->parent()->user_data()))->cb_Refresh_i(o,v); -} - -void BankUI::cb_Search_i(Fl_Input* o, void*) { - std::string str = o->value(); - update_search(str); -} -void BankUI::cb_Search(Fl_Input* o, void* v) { - ((BankUI*)(o->parent()->user_data()))->cb_Search_i(o,v); -} - -Fl_Osc_Window* BankUI::make_window() { - { bankuiwindow = new Fl_Osc_Window(785, 575, "Bank"); - bankuiwindow->box(FL_FLAT_BOX); - bankuiwindow->color(FL_BACKGROUND_COLOR); - bankuiwindow->selection_color(FL_BACKGROUND_COLOR); - bankuiwindow->labeltype(FL_NO_LABEL); - bankuiwindow->labelfont(0); - bankuiwindow->labelsize(14); - bankuiwindow->labelcolor(FL_FOREGROUND_COLOR); - bankuiwindow->user_data((void*)(this)); - bankuiwindow->align(Fl_Align(FL_ALIGN_TOP)); - bankuiwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - bankuiwindow->init(osc, "/"); - } // Fl_Box* o - { Fl_Button* o = new Fl_Button(705, 546, 70, 24, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { bankview = new BankView(5, 34, 772, 491); - bankview->box(FL_ENGRAVED_FRAME); - bankview->color(FL_BACKGROUND_COLOR); - bankview->selection_color(FL_BACKGROUND_COLOR); - bankview->labeltype(FL_NORMAL_LABEL); - bankview->labelfont(0); - bankview->labelsize(14); - bankview->labelcolor(FL_FOREGROUND_COLOR); - bankview->align(Fl_Align(FL_ALIGN_TOP)); - bankview->when(FL_WHEN_RELEASE); - bankview->end(); - } // BankView* bankview - { BankViewControls* o = modeselect = new BankViewControls(5, 528, 425, 42); - modeselect->box(FL_ENGRAVED_BOX); - modeselect->color(FL_BACKGROUND_COLOR); - modeselect->selection_color(FL_BACKGROUND_COLOR); - modeselect->labeltype(FL_NORMAL_LABEL); - modeselect->labelfont(0); - modeselect->labelsize(14); - modeselect->labelcolor(FL_FOREGROUND_COLOR); - modeselect->align(Fl_Align(FL_ALIGN_TOP)); - modeselect->when(FL_WHEN_RELEASE); - o->box(FL_UP_BOX); - modeselect->end(); - } // BankViewControls* modeselect - { Fl_Button* o = new Fl_Button(685, 5, 93, 25, "New Bank..."); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_New); - o->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* o - { Fl_Osc_Check* o = new Fl_Osc_Check(705, 529, 60, 15, "auto close"); - o->tooltip("automatically close the bank window if the instrument is loaded"); - 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(0); - 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("config/cfg.BankUIAutoClose"); - } // Fl_Osc_Check* o - { BankList* o = banklist = new BankList(5, 8, 220, 20); - banklist->box(FL_UP_BOX); - banklist->down_box(FL_BORDER_BOX); - banklist->color(FL_BACKGROUND_COLOR); - banklist->selection_color(FL_SELECTION_COLOR); - banklist->labeltype(FL_NORMAL_LABEL); - banklist->labelfont(1); - banklist->labelsize(14); - banklist->labelcolor(FL_FOREGROUND_COLOR); - banklist->textfont(1); - banklist->textsize(11); - banklist->callback((Fl_Callback*)cb_banklist); - banklist->align(Fl_Align(FL_ALIGN_CENTER)); - banklist->when(FL_WHEN_RELEASE); - bankview->init(osc, modeselect, npart); - o->init("bank/bank_select"); - } // BankList* banklist - { Fl_Button* o = new Fl_Button(230, 8, 105, 20, "Refresh bank list"); - o->tooltip("Refresh the bank list (rescan)"); - o->box(FL_THIN_UP_BOX); - o->color(FL_LIGHT1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Refresh); - } // Fl_Button* o - { Fl_Input* o = new Fl_Input(460, 8, 105, 20, "Search by name: "); - o->tooltip("Enter text to search for"); - o->box(FL_THIN_UP_BOX); - o->color(FL_LIGHT1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Search); - o->when(FL_WHEN_CHANGED); - } // Fl_Input* o - bankuiwindow->end(); - } // Fl_Osc_Window* bankuiwindow - return bankuiwindow; -} - -BankUI::BankUI(int *npart_, Fl_Osc_Interface *osc_) { - npart=npart_; - osc =osc_; - make_window(); -} - -BankUI::~BankUI() { - bankuiwindow->hide(); - delete bankuiwindow; -} - -void BankUI::show() { - bankuiwindow->show(); -} - -void BankUI::hide() { - bankuiwindow->hide(); -} - -void BankUI::init(Fl_Valuator *cbwig_) { - cbwig=cbwig_; - bankview->cbwig(cbwig); - rescan_for_banks(); -} - -void BankUI::process() { -} - -void BankUI::refreshmainwindow() { - bankview->refresh(); -} - -void BankUI::rescan_for_banks() { - banklist->clear(); - osc->write("/bank/rescan"); - if (banklist->size() == 0) - banklist->add(" "); -} - -void BankUI::update_search(std::string search_string) { - if (search_string.empty()) { - refreshmainwindow(); - } else { - osc->write("/bank/search", "s", search_string.c_str()); - } -} diff --git a/zynaddsubfx/UI/BankUI.h b/zynaddsubfx/UI/BankUI.h deleted file mode 100644 index b9758b8..0000000 --- a/zynaddsubfx/UI/BankUI.h +++ /dev/null @@ -1,60 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef BankUI_h -#define BankUI_h -#include -#include -#include -#include -#include -#include -#include -#include "Fl_Osc_Interface.h" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Pane.H" -#include "../Misc/Util.h" -#include "BankView.h" -#include -#include -#include - -class BankUI { -public: - Fl_Osc_Window* make_window(); - Fl_Osc_Window *bankuiwindow; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); -public: - BankView *bankview; - BankViewControls *modeselect; -private: - void cb_New_i(Fl_Button*, void*); - static void cb_New(Fl_Button*, void*); -public: - BankList *banklist; -private: - void cb_banklist_i(BankList*, void*); - static void cb_banklist(BankList*, void*); - void cb_Refresh_i(Fl_Button*, void*); - static void cb_Refresh(Fl_Button*, void*); - void cb_Search_i(Fl_Input*, void*); - static void cb_Search(Fl_Input*, void*); -public: - BankUI(int *npart_, Fl_Osc_Interface *osc_); - virtual ~BankUI(); - void show(); - void hide(); - void init(Fl_Valuator *cbwig_); - void process(); - void refreshmainwindow(); - void rescan_for_banks(); - void update_search(std::string search_string); -private: - Fl_Osc_Interface *osc; -public: - Fl_Valuator *cbwig; -private: - int *npart; -}; -#endif diff --git a/zynaddsubfx/UI/ConfigUI.cpp b/zynaddsubfx/UI/ConfigUI.cpp deleted file mode 100644 index eb56d55..0000000 --- a/zynaddsubfx/UI/ConfigUI.cpp +++ /dev/null @@ -1,397 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/ConfigUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later - -void ConfigUI::cb_configwindow_i(Fl_Osc_Window* o, void*) { - o->hide(); -} -void ConfigUI::cb_configwindow(Fl_Osc_Window* o, void* v) { - ((ConfigUI*)(o->user_data()))->cb_configwindow_i(o,v); -} - -void ConfigUI::cb_oscilsize_widget_i(Fl_Choice* o, void*) { - oscilsize->updateVal((int)(o->value()+7)); -} -void ConfigUI::cb_oscilsize_widget(Fl_Choice* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_oscilsize_widget_i(o,v); -} - -Fl_Menu_Item ConfigUI::menu_oscilsize_widget[] = { - {"128", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"256", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"512", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"1024", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"2048", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"4096", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"8192", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"16384", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item ConfigUI::menu_PADsynth[] = { - {"Linear(fast)", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Cubic(slow)", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item ConfigUI::menu_Virtual[] = { - {" ", 0, 0, 0, 1, FL_NORMAL_LABEL, 1, 11, 0}, - {"QWERTY", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Dvorak", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"QWERTZ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"AZERTY", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void ConfigUI::cb_rootsbrowse_i(Fl_Osc_ListView* o, void*) { - activatebutton_rootdir(o->value()!=0); -} -void ConfigUI::cb_rootsbrowse(Fl_Osc_ListView* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_rootsbrowse_i(o,v); -} - -void ConfigUI::cb_Add_i(Fl_Button*, void*) { - const char *dirname; -dirname=fl_dir_chooser("Add a root directory for banks:",NULL,0); -if (dirname==NULL) return; - -rootsbrowse->append(dirname); -} -void ConfigUI::cb_Add(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_Add_i(o,v); -} - -void ConfigUI::cb_removerootdirbutton_i(Fl_Button*, void*) { - if (rootsbrowse->value()!=0) { - rootsbrowse->doRemove(rootsbrowse->value()); -}; -activatebutton_rootdir(false); -} -void ConfigUI::cb_removerootdirbutton(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_removerootdirbutton_i(o,v); -} - -void ConfigUI::cb_makedefaultrootdirbutton_i(Fl_Button*, void*) { - int n=rootsbrowse->value(); - -if (n!=0) { - rootsbrowse->doMove(1,n); - rootsbrowse->value(1); - rootsbrowse->redraw(); -}; -activatebutton_rootdir(true); -} -void ConfigUI::cb_makedefaultrootdirbutton(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_makedefaultrootdirbutton_i(o,v); -} - -void ConfigUI::cb_presetbrowse_i(Fl_Osc_ListView* o, void*) { - activatebutton_presetdir(o->value()!=0); -} -void ConfigUI::cb_presetbrowse(Fl_Osc_ListView* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_presetbrowse_i(o,v); -} - -void ConfigUI::cb_Add1_i(Fl_Button*, void*) { - const char *dirname; -dirname=fl_dir_chooser("Add a preset directory :",NULL,0); -if (dirname==NULL) return; - -presetbrowse->add(dirname); -} -void ConfigUI::cb_Add1(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_Add1_i(o,v); -} - -void ConfigUI::cb_removepresetbutton_i(Fl_Button*, void*) { - if (presetbrowse->value()!=0) { - presetbrowse->remove(presetbrowse->value()); -}; -activatebutton_presetdir(false); -} -void ConfigUI::cb_removepresetbutton(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_removepresetbutton_i(o,v); -} - -void ConfigUI::cb_makedefaultpresetbutton_i(Fl_Button*, void*) { - int n=presetbrowse->value(); - -if (n!=0) { - presetbrowse->move(1,n); - presetbrowse->value(1); - presetbrowse->redraw(); -}; -activatebutton_presetdir(true); -} -void ConfigUI::cb_makedefaultpresetbutton(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->parent()->parent()->user_data()))->cb_makedefaultpresetbutton_i(o,v); -} - -void ConfigUI::cb_Close_i(Fl_Button*, void*) { - configwindow->hide(); -} -void ConfigUI::cb_Close(Fl_Button* o, void* v) { - ((ConfigUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -Fl_Osc_Window* ConfigUI::make_window() { - { configwindow = new Fl_Osc_Window(510, 370, "ZynAddSubFX Settings"); - configwindow->box(FL_FLAT_BOX); - configwindow->color(FL_BACKGROUND_COLOR); - configwindow->selection_color(FL_BACKGROUND_COLOR); - configwindow->labeltype(FL_NO_LABEL); - configwindow->labelfont(0); - configwindow->labelsize(14); - configwindow->labelcolor(FL_FOREGROUND_COLOR); - configwindow->callback((Fl_Callback*)cb_configwindow, (void*)(this)); - configwindow->align(Fl_Align(FL_ALIGN_TOP)); - configwindow->when(FL_WHEN_RELEASE); - { dummy = new Fl_Box(25, 25, 25, 25); - configwindow->init(osc, "/config/"); - } // Fl_Box* dummy - { Fl_Tabs* o = new Fl_Tabs(5, 5, 500, 330); - { mainsettings = new Fl_Group(5, 25, 500, 310, "Main settings"); - { Fl_Group* o = new Fl_Group(15, 45, 165, 30, "Sample Rate"); - o->box(FL_ENGRAVED_FRAME); - { Fl_Osc_Numeric_Input* o = samplerateinput = new Fl_Osc_Numeric_Input(115, 50, 60, 20); - samplerateinput->type(2); - samplerateinput->box(FL_DOWN_BOX); - samplerateinput->color(FL_BACKGROUND2_COLOR); - samplerateinput->selection_color(FL_SELECTION_COLOR); - samplerateinput->labeltype(FL_NORMAL_LABEL); - samplerateinput->labelfont(0); - samplerateinput->labelsize(14); - samplerateinput->labelcolor(FL_FOREGROUND_COLOR); - samplerateinput->textfont(1); - samplerateinput->align(Fl_Align(FL_ALIGN_LEFT)); - samplerateinput->when(FL_WHEN_RELEASE); - o->init("cfg.SampleRate"); - } // Fl_Osc_Numeric_Input* samplerateinput - o->end(); - } // Fl_Group* o - { Fl_Osc_Numeric_Input* o = new Fl_Osc_Numeric_Input(190, 45, 60, 20, "Buffer Size"); - o->tooltip("Internal Sound Buffer Size (samples)"); - o->type(2); - o->box(FL_DOWN_BOX); - o->color(FL_BACKGROUND2_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->align(Fl_Align(129)); - o->when(FL_WHEN_RELEASE); - o->init("cfg.SoundBufferSize"); - } // Fl_Osc_Numeric_Input* o - { Fl_Osc_Check* o = new Fl_Osc_Check(15, 80, 95, 20, "Swap Stereo "); - 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(0); - 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("cfg.SwapStereo"); - } // Fl_Osc_Check* o - { oscilsize_widget = new Fl_Choice(175, 80, 75, 20, "OscilSize"); - oscilsize_widget->tooltip("ADSynth Oscillator Size (samples)"); - oscilsize_widget->down_box(FL_BORDER_BOX); - oscilsize_widget->labelfont(1); - oscilsize_widget->labelsize(11); - oscilsize_widget->textsize(10); - oscilsize_widget->callback((Fl_Callback*)cb_oscilsize_widget); - oscilsize_widget->menu(menu_oscilsize_widget); - } // Fl_Choice* oscilsize_widget - { Fl_Box* o = new Fl_Box(10, 300, 235, 30, "Most settings has effect only after ZynAddSubFX is restarted."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Box* o - { Fl_Osc_Counter* o = new Fl_Osc_Counter(20, 215, 65, 15, "XML compression level"); - o->tooltip("gzip compression level (0 - uncompressed)"); - 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(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->minimum(0); - o->maximum(9); - o->step(1); - o->align(Fl_Align(FL_ALIGN_RIGHT)); - o->when(FL_WHEN_CHANGED); - o->init("cfg.GzipCompression"); - } // Fl_Osc_Counter* o - { Fl_Osc_Choice* o = new Fl_Osc_Choice(175, 105, 75, 15, "PADsynth Interpolation"); - 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->textsize(11); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE); - o->menu(menu_PADsynth); - o->init("cfg.Interpolation"); - } // Fl_Osc_Choice* o - { Fl_Osc_Choice* o = new Fl_Osc_Choice(155, 235, 85, 20, "Virtual Keyboard Layout"); - 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(12); - o->labelcolor(FL_FOREGROUND_COLOR); - o->textfont(1); - o->textsize(11); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE); - o->menu(menu_Virtual); - o->init("cfg.VirKeybLayout"); - } // Fl_Osc_Choice* o - { Fl_Osc_Check* o = new Fl_Osc_Check(10, 255, 220, 20, "Ignore MIDI Program Change"); - 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(0); - o->labelsize(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("cfg.IgnoreProgramChange"); - } // Fl_Osc_Check* o - mainsettings->end(); - } // Fl_Group* mainsettings - { Fl_Group* o = new Fl_Group(5, 25, 500, 285, "Bank root dirs"); - o->hide(); - { Fl_Osc_ListView* o = rootsbrowse = new Fl_Osc_ListView(15, 35, 485, 220); - rootsbrowse->type(2); - rootsbrowse->box(FL_NO_BOX); - rootsbrowse->color(FL_BACKGROUND2_COLOR); - rootsbrowse->selection_color(FL_SELECTION_COLOR); - rootsbrowse->labeltype(FL_NORMAL_LABEL); - rootsbrowse->labelfont(0); - rootsbrowse->labelsize(14); - rootsbrowse->labelcolor(FL_FOREGROUND_COLOR); - rootsbrowse->callback((Fl_Callback*)cb_rootsbrowse); - rootsbrowse->align(Fl_Align(FL_ALIGN_BOTTOM)); - rootsbrowse->when(FL_WHEN_RELEASE_ALWAYS); - o->init("cfg.bankRootDirList"); - } // Fl_Osc_ListView* rootsbrowse - { Fl_Button* o = new Fl_Button(15, 265, 80, 35, "Add root directory..."); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Add); - o->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* o - { Fl_Button* o = removerootdirbutton = new Fl_Button(105, 265, 80, 35, "Remove root dir..."); - removerootdirbutton->box(FL_THIN_UP_BOX); - removerootdirbutton->callback((Fl_Callback*)cb_removerootdirbutton); - removerootdirbutton->align(Fl_Align(FL_ALIGN_WRAP)); - o->deactivate(); - } // Fl_Button* removerootdirbutton - { Fl_Button* o = makedefaultrootdirbutton = new Fl_Button(190, 265, 80, 35, "Make default"); - makedefaultrootdirbutton->box(FL_THIN_UP_BOX); - makedefaultrootdirbutton->callback((Fl_Callback*)cb_makedefaultrootdirbutton); - makedefaultrootdirbutton->align(Fl_Align(FL_ALIGN_WRAP)); - o->deactivate(); - } // Fl_Button* makedefaultrootdirbutton - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(5, 25, 500, 285, "Presets dirs"); - o->hide(); - { Fl_Osc_ListView* o = presetbrowse = new Fl_Osc_ListView(15, 35, 485, 220); - presetbrowse->type(2); - presetbrowse->box(FL_NO_BOX); - presetbrowse->color(FL_BACKGROUND2_COLOR); - presetbrowse->selection_color(FL_SELECTION_COLOR); - presetbrowse->labeltype(FL_NORMAL_LABEL); - presetbrowse->labelfont(0); - presetbrowse->labelsize(14); - presetbrowse->labelcolor(FL_FOREGROUND_COLOR); - presetbrowse->callback((Fl_Callback*)cb_presetbrowse); - presetbrowse->align(Fl_Align(FL_ALIGN_BOTTOM)); - presetbrowse->when(FL_WHEN_RELEASE_ALWAYS); - o->init("cfg.presetsDirList"); - } // Fl_Osc_ListView* presetbrowse - { Fl_Button* o = new Fl_Button(15, 265, 80, 35, "Add preset directory..."); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Add1); - o->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* o - { Fl_Button* o = removepresetbutton = new Fl_Button(105, 265, 80, 35, "Remove preset dir..."); - removepresetbutton->box(FL_THIN_UP_BOX); - removepresetbutton->callback((Fl_Callback*)cb_removepresetbutton); - removepresetbutton->align(Fl_Align(FL_ALIGN_WRAP)); - o->deactivate(); - } // Fl_Button* removepresetbutton - { Fl_Button* o = makedefaultpresetbutton = new Fl_Button(190, 265, 80, 35, "Make default"); - makedefaultpresetbutton->box(FL_THIN_UP_BOX); - makedefaultpresetbutton->callback((Fl_Callback*)cb_makedefaultpresetbutton); - makedefaultpresetbutton->align(Fl_Align(FL_ALIGN_WRAP)); - o->deactivate(); - } // Fl_Button* makedefaultpresetbutton - o->end(); - } // Fl_Group* o - o->end(); - } // Fl_Tabs* o - { Fl_Button* o = new Fl_Button(200, 345, 105, 20, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - configwindow->end(); - } // Fl_Osc_Window* configwindow - return configwindow; -} - -ConfigUI::ConfigUI(Fl_Osc_Interface *osc_) { - osc = osc_; - make_window(); - oscilsize = new Osc_IntModel(osc); - oscilsize->callback = [this](int i){ - oscilsize_widget->value(i-7); - }; - oscilsize->doUpdate("/config/cfg.OscilPower"); -} - -void ConfigUI::activatebutton_rootdir(bool active) { - if (active) { - removerootdirbutton->activate(); - makedefaultrootdirbutton->activate(); - }else{ - removerootdirbutton->deactivate(); - makedefaultrootdirbutton->deactivate(); - }; -} - -void ConfigUI::activatebutton_presetdir(bool active) { - if (active) { - removepresetbutton->activate(); - makedefaultpresetbutton->activate(); - }else{ - removepresetbutton->deactivate(); - makedefaultpresetbutton->deactivate(); - }; -} - -void ConfigUI::show() { - if (isPlugin) { - mainsettings->deactivate(); - } - rootsbrowse->update(); - presetbrowse->update(); - configwindow->show(); -} diff --git a/zynaddsubfx/UI/ConfigUI.h b/zynaddsubfx/UI/ConfigUI.h deleted file mode 100644 index 02eb6d7..0000000 --- a/zynaddsubfx/UI/ConfigUI.h +++ /dev/null @@ -1,90 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef ConfigUI_h -#define ConfigUI_h -#include -#include -#include -#include -#include -#include "Fl_Osc_Button.H" -#include "Fl_Osc_Counter.H" -#include "Fl_Osc_Choice.H" -#include "Osc_IntModel.h" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Input.H" -#include "Fl_Osc_Numeric_Input.H" -#include "Fl_Osc_ListView.H" -#include "Fl_Osc_Pane.H" -#include "../globals.h" -#include "../Misc/Util.h" -using namespace zyncarla; -#include -#include -#include -#include -#include - -class ConfigUI { -public: - Fl_Osc_Window* make_window(); - Fl_Osc_Window *configwindow; -private: - void cb_configwindow_i(Fl_Osc_Window*, void*); - static void cb_configwindow(Fl_Osc_Window*, void*); -public: - Fl_Box *dummy; - Fl_Group *mainsettings; - Fl_Osc_Numeric_Input *samplerateinput; - Fl_Choice *oscilsize_widget; -private: - void cb_oscilsize_widget_i(Fl_Choice*, void*); - static void cb_oscilsize_widget(Fl_Choice*, void*); - static Fl_Menu_Item menu_oscilsize_widget[]; - static Fl_Menu_Item menu_PADsynth[]; - static Fl_Menu_Item menu_Virtual[]; -public: - Fl_Osc_ListView *rootsbrowse; -private: - void cb_rootsbrowse_i(Fl_Osc_ListView*, void*); - static void cb_rootsbrowse(Fl_Osc_ListView*, void*); - void cb_Add_i(Fl_Button*, void*); - static void cb_Add(Fl_Button*, void*); -public: - Fl_Button *removerootdirbutton; -private: - void cb_removerootdirbutton_i(Fl_Button*, void*); - static void cb_removerootdirbutton(Fl_Button*, void*); -public: - Fl_Button *makedefaultrootdirbutton; -private: - void cb_makedefaultrootdirbutton_i(Fl_Button*, void*); - static void cb_makedefaultrootdirbutton(Fl_Button*, void*); -public: - Fl_Osc_ListView *presetbrowse; -private: - void cb_presetbrowse_i(Fl_Osc_ListView*, void*); - static void cb_presetbrowse(Fl_Osc_ListView*, void*); - void cb_Add1_i(Fl_Button*, void*); - static void cb_Add1(Fl_Button*, void*); -public: - Fl_Button *removepresetbutton; -private: - void cb_removepresetbutton_i(Fl_Button*, void*); - static void cb_removepresetbutton(Fl_Button*, void*); -public: - Fl_Button *makedefaultpresetbutton; -private: - void cb_makedefaultpresetbutton_i(Fl_Button*, void*); - static void cb_makedefaultpresetbutton(Fl_Button*, void*); - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); -public: - ConfigUI(Fl_Osc_Interface *osc_); - void activatebutton_rootdir(bool active); - void activatebutton_presetdir(bool active); - void show(); - class Fl_Osc_Interface *osc; - class Osc_IntModel *oscilsize; -}; -#endif diff --git a/zynaddsubfx/UI/EffUI.cpp b/zynaddsubfx/UI/EffUI.cpp deleted file mode 100644 index de53df7..0000000 --- a/zynaddsubfx/UI/EffUI.cpp +++ /dev/null @@ -1,3024 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/EffUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later - -Fl_Menu_Item EffUI::menu_revp[] = { - {"Cathedral 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Cathedral 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Cathedral 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hall 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hall 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Room 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Room 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Basement", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Tunnel", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echoed 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echoed 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Very Long 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Very Long 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void EffUI::cb_revp10_i(Fl_Osc_Choice* o, void*) { - if(o->value()==2) revp12->activate(); - else revp12->deactivate(); -} -void EffUI::cb_revp10(Fl_Osc_Choice* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_revp10_i(o,v); -} - -Fl_Menu_Item EffUI::menu_revp10[] = { - {"Random", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Freeverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Bandwidth", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_echop[] = { - {"Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Simple Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Canyon", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Panning Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Panning Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Panning Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Feedback Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_chorusp[] = { - {"Chorus 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Celeste 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Celeste 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_chorusp4[] = { - {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_phaserp[] = { - {"Phaser 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"APhaser 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"APhaser 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"APhaser 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"APhaser 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"APhaser 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"APhaser 6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_phaserp4[] = { - {"SIN", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_awp[] = { - {"Alienwah 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Alienwah 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Alienwah 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Alienwah 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_awp4[] = { - {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_distp[] = { - {"Overdrive 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Overdrive 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"A. Exciter 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"A. Exciter 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Guitar Amp", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Quantisize", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_distp5[] = { - {"Atan", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Asym1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Qnts", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Zigzg", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LmtU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LmtL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"ILmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Clip", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Asym2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sgm", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void EffUI::cb_eqp0_i(Fl_Osc_Dial*, void*) { - eqgraph->redraw(); -} -void EffUI::cb_eqp0(Fl_Osc_Dial* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_eqp0_i(o,v); -} - -void EffUI::cb_bandcounter_i(Fl_Counter* o, void*) { - eqband=(int) o->value(); -int npb=eqband*5+10; - -typechoice->oscMove("parameter"+to_s(npb)); -freqdial->oscMove("parameter"+to_s(npb+1)); -gaindial->oscMove("parameter"+to_s(npb+2)); -qdial->oscMove("parameter"+to_s(npb+3)); -stagescounter->oscMove("parameter"+to_s(npb+4)); -} -void EffUI::cb_bandcounter(Fl_Counter* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_bandcounter_i(o,v); -} - -void EffUI::cb_freqdial_i(Fl_Osc_Dial*, void*) { - eqgraph->update(); -} -void EffUI::cb_freqdial(Fl_Osc_Dial* o, void* v) { - ((EffUI*)(o->parent()->parent()->user_data()))->cb_freqdial_i(o,v); -} - -void EffUI::cb_gaindial_i(Fl_Osc_Dial*, void*) { - eqgraph->update(); -} -void EffUI::cb_gaindial(Fl_Osc_Dial* o, void* v) { - ((EffUI*)(o->parent()->parent()->user_data()))->cb_gaindial_i(o,v); -} - -void EffUI::cb_qdial_i(Fl_Osc_Dial*, void*) { - eqgraph->update(); -} -void EffUI::cb_qdial(Fl_Osc_Dial* o, void* v) { - ((EffUI*)(o->parent()->parent()->user_data()))->cb_qdial_i(o,v); -} - -void EffUI::cb_stagescounter_i(Fl_Osc_Counter*, void*) { - eqgraph->update(); -} -void EffUI::cb_stagescounter(Fl_Osc_Counter* o, void* v) { - ((EffUI*)(o->parent()->parent()->user_data()))->cb_stagescounter_i(o,v); -} - -void EffUI::cb_typechoice_i(Fl_Osc_Choice* o, void*) { - int type = o->value(); -if (type>6) gaindial->activate(); - else gaindial->deactivate(); - -if (type==0) bandgroup->deactivate(); -else bandgroup->activate(); -eqgraph->update(); -} -void EffUI::cb_typechoice(Fl_Osc_Choice* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_typechoice_i(o,v); -} - -Fl_Menu_Item EffUI::menu_typechoice[] = { - {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Bp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"N2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pk", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_dfp[] = { - {"WahWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AutoWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sweep", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"VocalMorph1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"VocalMorph2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item EffUI::menu_dfp4[] = { - {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void EffUI::cb_Filter_i(Fl_Button*, void*) { - filterwindow->show(); -} -void EffUI::cb_Filter(Fl_Button* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_Filter_i(o,v); -} - -void EffUI::cb_Close_i(Fl_Button*, void*) { - filterwindow->hide(); -} -void EffUI::cb_Close(Fl_Button* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -EffUI::EffUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) { - filterwindow=NULL; -} - -EffUI::~EffUI() { - effnullwindow->hide();//delete (effnullwindow); - effreverbwindow->hide();//delete (effreverbwindow); - effechowindow->hide();//delete (effechowindow); - effchoruswindow->hide();//delete (effchoruswindow); - effphaserwindow->hide();//delete (effphaserwindow); - effalienwahwindow->hide();//delete (effalienwahwindow); - effdistorsionwindow->hide();//delete (effdistorsionwindow); - effeqwindow->hide();//delete (effeqwindow); - effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow); - - if (filterwindow!=NULL){ - filterwindow->hide(); - delete(filterwindow); - }; -} - -Fl_Group* EffUI::make_null_window() { - { Fl_Group* o = effnullwindow = new Fl_Group(0, 0, 380, 100); - effnullwindow->box(FL_UP_BOX); - effnullwindow->color((Fl_Color)221); - effnullwindow->selection_color(FL_BACKGROUND_COLOR); - effnullwindow->labeltype(FL_NO_LABEL); - effnullwindow->labelfont(1); - effnullwindow->labelsize(19); - effnullwindow->labelcolor(FL_FOREGROUND_COLOR); - effnullwindow->user_data((void*)(this)); - effnullwindow->align(Fl_Align(FL_ALIGN_TOP)); - effnullwindow->when(FL_WHEN_RELEASE); - set_module_parameters(o); - effnullwindow->end(); - } // Fl_Group* effnullwindow - return effnullwindow; -} - -Fl_Group* EffUI::make_reverb_window() { - { Fl_Group* o = effreverbwindow = new Fl_Group(0, 0, 380, 100); - effreverbwindow->box(FL_UP_BOX); - effreverbwindow->color((Fl_Color)221); - effreverbwindow->selection_color(FL_BACKGROUND_COLOR); - effreverbwindow->labeltype(FL_NO_LABEL); - effreverbwindow->labelfont(1); - effreverbwindow->labelsize(19); - effreverbwindow->labelcolor(FL_FOREGROUND_COLOR); - effreverbwindow->user_data((void*)(this)); - effreverbwindow->align(Fl_Align(FL_ALIGN_TOP)); - effreverbwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = revp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - revp->box(FL_UP_BOX); - revp->down_box(FL_BORDER_BOX); - revp->color((Fl_Color)14); - revp->selection_color(FL_BACKGROUND2_COLOR); - revp->labeltype(FL_NORMAL_LABEL); - revp->labelfont(1); - revp->labelsize(10); - revp->labelcolor(FL_FOREGROUND_COLOR); - revp->textfont(1); - revp->textsize(10); - revp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - revp->when(FL_WHEN_RELEASE); - revp->menu(menu_revp); - o->init("preset"); - } // Fl_Osc_Choice* revp - { Fl_Osc_Choice* o = revp10 = new Fl_Osc_Choice(110, 15, 85, 15, "Type"); - revp10->box(FL_UP_BOX); - revp10->down_box(FL_BORDER_BOX); - revp10->color((Fl_Color)14); - revp10->selection_color(FL_BACKGROUND2_COLOR); - revp10->labeltype(FL_NORMAL_LABEL); - revp10->labelfont(1); - revp10->labelsize(10); - revp10->labelcolor(FL_FOREGROUND_COLOR); - revp10->textfont(1); - revp10->textsize(10); - revp10->callback((Fl_Callback*)cb_revp10); - revp10->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - revp10->when(FL_WHEN_RELEASE); - revp10->menu(menu_revp10); - o->init("parameter10"); - } // Fl_Osc_Choice* revp10 - { Fl_Osc_Dial* o = revp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - revp0->tooltip("Effect Volume"); - revp0->box(FL_ROUND_UP_BOX); - revp0->color(FL_BACKGROUND_COLOR); - revp0->selection_color(FL_INACTIVE_COLOR); - revp0->labeltype(FL_NORMAL_LABEL); - revp0->labelfont(1); - revp0->labelsize(11); - revp0->labelcolor(FL_FOREGROUND_COLOR); - revp0->maximum(127); - revp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* revp0 - { Fl_Osc_Dial* o = revp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - revp1->box(FL_ROUND_UP_BOX); - revp1->color(FL_BACKGROUND_COLOR); - revp1->selection_color(FL_INACTIVE_COLOR); - revp1->labeltype(FL_NORMAL_LABEL); - revp1->labelfont(1); - revp1->labelsize(11); - revp1->labelcolor(FL_FOREGROUND_COLOR); - revp1->maximum(127); - revp1->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* revp1 - { Fl_Osc_Dial* o = revp2 = new Fl_Osc_Dial(80, 40, 30, 30, "Time"); - revp2->tooltip("Duration of Effect"); - revp2->box(FL_ROUND_UP_BOX); - revp2->color(FL_BACKGROUND_COLOR); - revp2->selection_color(FL_INACTIVE_COLOR); - revp2->labeltype(FL_NORMAL_LABEL); - revp2->labelfont(1); - revp2->labelsize(11); - revp2->labelcolor(FL_FOREGROUND_COLOR); - revp2->maximum(127); - revp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* revp2 - { Fl_Osc_Dial* o = revp3 = new Fl_Osc_Dial(120, 40, 30, 30, "I.del"); - revp3->tooltip("Initial Delay"); - revp3->box(FL_ROUND_UP_BOX); - revp3->color(FL_BACKGROUND_COLOR); - revp3->selection_color(FL_INACTIVE_COLOR); - revp3->labeltype(FL_NORMAL_LABEL); - revp3->labelfont(1); - revp3->labelsize(11); - revp3->labelcolor(FL_FOREGROUND_COLOR); - revp3->maximum(127); - revp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* revp3 - { Fl_Osc_Dial* o = revp4 = new Fl_Osc_Dial(155, 40, 30, 30, "I.delfb"); - revp4->tooltip("Initial Delay Feedback"); - revp4->box(FL_ROUND_UP_BOX); - revp4->color(FL_BACKGROUND_COLOR); - revp4->selection_color(FL_INACTIVE_COLOR); - revp4->labeltype(FL_NORMAL_LABEL); - revp4->labelfont(1); - revp4->labelsize(11); - revp4->labelcolor(FL_FOREGROUND_COLOR); - revp4->maximum(127); - revp4->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp4->when(FL_WHEN_CHANGED); - o->init("parameter4"); - } // Fl_Osc_Dial* revp4 - { Fl_Osc_Dial* o = revp12 = new Fl_Osc_Dial(200, 40, 30, 30, "bw"); - revp12->box(FL_ROUND_UP_BOX); - revp12->color(FL_BACKGROUND_COLOR); - revp12->selection_color(FL_INACTIVE_COLOR); - revp12->labeltype(FL_NORMAL_LABEL); - revp12->labelfont(1); - revp12->labelsize(11); - revp12->labelcolor(FL_FOREGROUND_COLOR); - revp12->maximum(127); - revp12->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp12->when(FL_WHEN_RELEASE); - revp12->deactivate(); - o->init("parameter12"); - } // Fl_Osc_Dial* revp12 - { Fl_Osc_Dial* o = revp6 = new Fl_Osc_Dial(235, 40, 30, 30, "E/R"); - revp6->box(FL_ROUND_UP_BOX); - revp6->color(FL_BACKGROUND_COLOR); - revp6->selection_color(FL_INACTIVE_COLOR); - revp6->labeltype(FL_NORMAL_LABEL); - revp6->labelfont(1); - revp6->labelsize(11); - revp6->labelcolor(FL_FOREGROUND_COLOR); - revp6->maximum(127); - revp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp6->when(FL_WHEN_CHANGED); - revp6->deactivate(); - o->init("parameter6"); - } // Fl_Osc_Dial* revp6 - { Fl_Osc_Dial* o = revp7 = new Fl_Osc_Dial(270, 40, 30, 30, "LPF"); - revp7->tooltip("Low Pass Filter"); - revp7->box(FL_ROUND_UP_BOX); - revp7->color(FL_BACKGROUND_COLOR); - revp7->selection_color(FL_INACTIVE_COLOR); - revp7->labeltype(FL_NORMAL_LABEL); - revp7->labelfont(1); - revp7->labelsize(11); - revp7->labelcolor(FL_FOREGROUND_COLOR); - revp7->maximum(127); - revp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* revp7 - { Fl_Osc_Dial* o = revp8 = new Fl_Osc_Dial(305, 40, 30, 30, "HPF"); - revp8->tooltip("High Pass Filter"); - revp8->box(FL_ROUND_UP_BOX); - revp8->color(FL_BACKGROUND_COLOR); - revp8->selection_color(FL_INACTIVE_COLOR); - revp8->labeltype(FL_NORMAL_LABEL); - revp8->labelfont(1); - revp8->labelsize(11); - revp8->labelcolor(FL_FOREGROUND_COLOR); - revp8->maximum(127); - revp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp8->when(FL_WHEN_CHANGED); - o->init("parameter8"); - } // Fl_Osc_Dial* revp8 - { Fl_Osc_Dial* o = revp9 = new Fl_Osc_Dial(340, 40, 30, 30, "Damp"); - revp9->tooltip("Dampening"); - revp9->box(FL_ROUND_UP_BOX); - revp9->color(FL_BACKGROUND_COLOR); - revp9->selection_color(FL_INACTIVE_COLOR); - revp9->labeltype(FL_NORMAL_LABEL); - revp9->labelfont(1); - revp9->labelsize(11); - revp9->labelcolor(FL_FOREGROUND_COLOR); - revp9->minimum(64); - revp9->maximum(127); - revp9->step(1); - revp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* revp9 - { Fl_Osc_Dial* o = revp11 = new Fl_Osc_Dial(200, 10, 25, 25, "R.S."); - revp11->tooltip("RoomSize"); - revp11->box(FL_ROUND_UP_BOX); - revp11->color(FL_BACKGROUND_COLOR); - revp11->selection_color(FL_INACTIVE_COLOR); - revp11->labeltype(FL_NORMAL_LABEL); - revp11->labelfont(1); - revp11->labelsize(8); - revp11->labelcolor(FL_FOREGROUND_COLOR); - revp11->minimum(1); - revp11->maximum(127); - revp11->step(1); - revp11->align(Fl_Align(FL_ALIGN_RIGHT)); - revp11->when(FL_WHEN_CHANGED); - o->init("parameter11"); - } // Fl_Osc_Dial* revp11 - set_module_parameters(o); - effreverbwindow->end(); - } // Fl_Group* effreverbwindow - return effreverbwindow; -} - -Fl_Group* EffUI::make_echo_window() { - { Fl_Group* o = effechowindow = new Fl_Group(0, 0, 380, 100); - effechowindow->box(FL_UP_BOX); - effechowindow->color((Fl_Color)221); - effechowindow->selection_color(FL_BACKGROUND_COLOR); - effechowindow->labeltype(FL_NO_LABEL); - effechowindow->labelfont(1); - effechowindow->labelsize(19); - effechowindow->labelcolor(FL_FOREGROUND_COLOR); - effechowindow->user_data((void*)(this)); - effechowindow->align(Fl_Align(FL_ALIGN_TOP)); - effechowindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = echop = new Fl_Osc_Choice(11, 15, 95, 15, "Preset"); - echop->box(FL_UP_BOX); - echop->down_box(FL_BORDER_BOX); - echop->color((Fl_Color)14); - echop->selection_color(FL_BACKGROUND2_COLOR); - echop->labeltype(FL_NORMAL_LABEL); - echop->labelfont(1); - echop->labelsize(10); - echop->labelcolor(FL_FOREGROUND_COLOR); - echop->textfont(1); - echop->textsize(10); - echop->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - echop->when(FL_WHEN_RELEASE); - echop->menu(menu_echop); - o->init("preset"); - } // Fl_Osc_Choice* echop - { Fl_Osc_Dial* o = echop0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - echop0->tooltip("Effect Volume"); - echop0->box(FL_ROUND_UP_BOX); - echop0->color(FL_BACKGROUND_COLOR); - echop0->selection_color(FL_INACTIVE_COLOR); - echop0->labeltype(FL_NORMAL_LABEL); - echop0->labelfont(1); - echop0->labelsize(11); - echop0->labelcolor(FL_FOREGROUND_COLOR); - echop0->maximum(127); - echop0->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* echop0 - { Fl_Osc_Dial* o = echop1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - echop1->box(FL_ROUND_UP_BOX); - echop1->color(FL_BACKGROUND_COLOR); - echop1->selection_color(FL_INACTIVE_COLOR); - echop1->labeltype(FL_NORMAL_LABEL); - echop1->labelfont(1); - echop1->labelsize(11); - echop1->labelcolor(FL_FOREGROUND_COLOR); - echop1->maximum(127); - echop1->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* echop1 - { Fl_Osc_Dial* o = echop2 = new Fl_Osc_Dial(80, 40, 30, 30, "Delay"); - echop2->box(FL_ROUND_UP_BOX); - echop2->color(FL_BACKGROUND_COLOR); - echop2->selection_color(FL_INACTIVE_COLOR); - echop2->labeltype(FL_NORMAL_LABEL); - echop2->labelfont(1); - echop2->labelsize(11); - echop2->labelcolor(FL_FOREGROUND_COLOR); - echop2->maximum(127); - echop2->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop2->when(FL_WHEN_RELEASE); - o->init("parameter2"); - } // Fl_Osc_Dial* echop2 - { Fl_Osc_Dial* o = echop3 = new Fl_Osc_Dial(120, 40, 30, 30, "LRdl."); - echop3->tooltip("Delay Between L/R"); - echop3->box(FL_ROUND_UP_BOX); - echop3->color(FL_BACKGROUND_COLOR); - echop3->selection_color(FL_INACTIVE_COLOR); - echop3->labeltype(FL_NORMAL_LABEL); - echop3->labelfont(1); - echop3->labelsize(11); - echop3->labelcolor(FL_FOREGROUND_COLOR); - echop3->maximum(127); - echop3->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* echop3 - { Fl_Osc_Dial* o = echop4 = new Fl_Osc_Dial(155, 40, 30, 30, "LRc."); - echop4->tooltip("L/R Crossover"); - echop4->box(FL_ROUND_UP_BOX); - echop4->color(FL_BACKGROUND_COLOR); - echop4->selection_color(FL_INACTIVE_COLOR); - echop4->labeltype(FL_NORMAL_LABEL); - echop4->labelfont(1); - echop4->labelsize(11); - echop4->labelcolor(FL_FOREGROUND_COLOR); - echop4->maximum(127); - echop4->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop4->when(FL_WHEN_CHANGED); - o->init("parameter4"); - } // Fl_Osc_Dial* echop4 - { Fl_Osc_Dial* o = echop5 = new Fl_Osc_Dial(195, 40, 30, 30, "Fb."); - echop5->tooltip("Feedback"); - echop5->box(FL_ROUND_UP_BOX); - echop5->color(FL_BACKGROUND_COLOR); - echop5->selection_color(FL_INACTIVE_COLOR); - echop5->labeltype(FL_NORMAL_LABEL); - echop5->labelfont(1); - echop5->labelsize(11); - echop5->labelcolor(FL_FOREGROUND_COLOR); - echop5->maximum(127); - echop5->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* echop5 - { Fl_Osc_Dial* o = echop6 = new Fl_Osc_Dial(235, 40, 30, 30, "Damp"); - echop6->tooltip("Dampening"); - echop6->box(FL_ROUND_UP_BOX); - echop6->color(FL_BACKGROUND_COLOR); - echop6->selection_color(FL_INACTIVE_COLOR); - echop6->labeltype(FL_NORMAL_LABEL); - echop6->labelfont(1); - echop6->labelsize(11); - echop6->labelcolor(FL_FOREGROUND_COLOR); - echop6->maximum(127); - echop6->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* echop6 - set_module_parameters(o); - effechowindow->end(); - } // Fl_Group* effechowindow - return effechowindow; -} - -Fl_Group* EffUI::make_chorus_window() { - { Fl_Group* o = effchoruswindow = new Fl_Group(0, 0, 380, 100); - effchoruswindow->box(FL_UP_BOX); - effchoruswindow->color((Fl_Color)221); - effchoruswindow->selection_color(FL_BACKGROUND_COLOR); - effchoruswindow->labeltype(FL_NO_LABEL); - effchoruswindow->labelfont(1); - effchoruswindow->labelsize(19); - effchoruswindow->labelcolor(FL_FOREGROUND_COLOR); - effchoruswindow->user_data((void*)(this)); - effchoruswindow->align(Fl_Align(FL_ALIGN_TOP)); - effchoruswindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = chorusp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - chorusp->box(FL_UP_BOX); - chorusp->down_box(FL_BORDER_BOX); - chorusp->color((Fl_Color)14); - chorusp->selection_color(FL_BACKGROUND2_COLOR); - chorusp->labeltype(FL_NORMAL_LABEL); - chorusp->labelfont(1); - chorusp->labelsize(10); - chorusp->labelcolor(FL_FOREGROUND_COLOR); - chorusp->textfont(1); - chorusp->textsize(10); - chorusp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - chorusp->when(FL_WHEN_RELEASE); - chorusp->menu(menu_chorusp); - o->init("preset"); - } // Fl_Osc_Choice* chorusp - { Fl_Osc_Dial* o = chorusp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - chorusp0->box(FL_ROUND_UP_BOX); - chorusp0->color(FL_BACKGROUND_COLOR); - chorusp0->selection_color(FL_INACTIVE_COLOR); - chorusp0->labeltype(FL_NORMAL_LABEL); - chorusp0->labelfont(1); - chorusp0->labelsize(11); - chorusp0->labelcolor(FL_FOREGROUND_COLOR); - chorusp0->maximum(127); - chorusp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* chorusp0 - { Fl_Osc_Dial* o = chorusp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - chorusp1->box(FL_ROUND_UP_BOX); - chorusp1->color(FL_BACKGROUND_COLOR); - chorusp1->selection_color(FL_INACTIVE_COLOR); - chorusp1->labeltype(FL_NORMAL_LABEL); - chorusp1->labelfont(1); - chorusp1->labelsize(11); - chorusp1->labelcolor(FL_FOREGROUND_COLOR); - chorusp1->maximum(127); - chorusp1->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* chorusp1 - { Fl_Osc_Dial* o = chorusp2 = new Fl_Osc_Dial(85, 40, 30, 30, "Freq"); - chorusp2->tooltip("LFO Frequency"); - chorusp2->box(FL_ROUND_UP_BOX); - chorusp2->color(FL_BACKGROUND_COLOR); - chorusp2->selection_color(FL_INACTIVE_COLOR); - chorusp2->labeltype(FL_NORMAL_LABEL); - chorusp2->labelfont(1); - chorusp2->labelsize(11); - chorusp2->labelcolor(FL_FOREGROUND_COLOR); - chorusp2->maximum(127); - chorusp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* chorusp2 - { Fl_Osc_Dial* o = chorusp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Rnd"); - chorusp3->tooltip("LFO Randomness"); - chorusp3->box(FL_ROUND_UP_BOX); - chorusp3->color(FL_BACKGROUND_COLOR); - chorusp3->selection_color(FL_INACTIVE_COLOR); - chorusp3->labeltype(FL_NORMAL_LABEL); - chorusp3->labelfont(1); - chorusp3->labelsize(11); - chorusp3->labelcolor(FL_FOREGROUND_COLOR); - chorusp3->maximum(127); - chorusp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* chorusp3 - { Fl_Osc_Dial* o = chorusp5 = new Fl_Osc_Dial(200, 40, 30, 30, "St.df"); - chorusp5->tooltip("L/R Phase Shift"); - chorusp5->box(FL_ROUND_UP_BOX); - chorusp5->color(FL_BACKGROUND_COLOR); - chorusp5->selection_color(FL_INACTIVE_COLOR); - chorusp5->labeltype(FL_NORMAL_LABEL); - chorusp5->labelfont(1); - chorusp5->labelsize(11); - chorusp5->labelcolor(FL_FOREGROUND_COLOR); - chorusp5->maximum(127); - chorusp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* chorusp5 - { Fl_Osc_Dial* o = chorusp6 = new Fl_Osc_Dial(235, 40, 30, 30, "Dpth"); - chorusp6->tooltip("LFO Depth"); - chorusp6->box(FL_ROUND_UP_BOX); - chorusp6->color(FL_BACKGROUND_COLOR); - chorusp6->selection_color(FL_INACTIVE_COLOR); - chorusp6->labeltype(FL_NORMAL_LABEL); - chorusp6->labelfont(1); - chorusp6->labelsize(11); - chorusp6->labelcolor(FL_FOREGROUND_COLOR); - chorusp6->maximum(127); - chorusp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* chorusp6 - { Fl_Osc_Dial* o = chorusp7 = new Fl_Osc_Dial(270, 40, 30, 30, "Delay"); - chorusp7->box(FL_ROUND_UP_BOX); - chorusp7->color(FL_BACKGROUND_COLOR); - chorusp7->selection_color(FL_INACTIVE_COLOR); - chorusp7->labeltype(FL_NORMAL_LABEL); - chorusp7->labelfont(1); - chorusp7->labelsize(11); - chorusp7->labelcolor(FL_FOREGROUND_COLOR); - chorusp7->maximum(127); - chorusp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* chorusp7 - { Fl_Osc_Dial* o = chorusp8 = new Fl_Osc_Dial(305, 40, 30, 30, "Fb"); - chorusp8->tooltip("Feedback"); - chorusp8->box(FL_ROUND_UP_BOX); - chorusp8->color(FL_BACKGROUND_COLOR); - chorusp8->selection_color(FL_INACTIVE_COLOR); - chorusp8->labeltype(FL_NORMAL_LABEL); - chorusp8->labelfont(1); - chorusp8->labelsize(11); - chorusp8->labelcolor(FL_FOREGROUND_COLOR); - chorusp8->maximum(127); - chorusp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp8->when(FL_WHEN_CHANGED); - o->init("parameter8"); - } // Fl_Osc_Dial* chorusp8 - { Fl_Osc_Dial* o = chorusp9 = new Fl_Osc_Dial(340, 40, 30, 30, "L/R"); - chorusp9->tooltip("Channel Routing"); - chorusp9->box(FL_ROUND_UP_BOX); - chorusp9->color(FL_BACKGROUND_COLOR); - chorusp9->selection_color(FL_INACTIVE_COLOR); - chorusp9->labeltype(FL_NORMAL_LABEL); - chorusp9->labelfont(1); - chorusp9->labelsize(11); - chorusp9->labelcolor(FL_FOREGROUND_COLOR); - chorusp9->maximum(127); - chorusp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* chorusp9 - { Fl_Osc_Check* o = new Fl_Osc_Check(120, 10, 55, 20, "Flange"); - o->box(FL_THIN_UP_BOX); - o->down_box(FL_DOWN_BOX); - o->color((Fl_Color)230); - 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->hide(); - o->deactivate(); - o->init("parameter10"); - } // Fl_Osc_Check* o - { Fl_Osc_Check* o = chorusp11 = new Fl_Osc_Check(185, 10, 70, 20, "Subtract"); - chorusp11->tooltip("inverts the output"); - chorusp11->box(FL_THIN_UP_BOX); - chorusp11->down_box(FL_DOWN_BOX); - chorusp11->color((Fl_Color)51); - chorusp11->selection_color(FL_FOREGROUND_COLOR); - chorusp11->labeltype(FL_NORMAL_LABEL); - chorusp11->labelfont(0); - chorusp11->labelsize(10); - chorusp11->labelcolor(FL_FOREGROUND_COLOR); - chorusp11->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - chorusp11->when(FL_WHEN_RELEASE); - o->init("parameter11"); - } // Fl_Osc_Check* chorusp11 - { Fl_Osc_Choice* o = chorusp4 = new Fl_Osc_Choice(155, 50, 40, 15, "LFO type"); - chorusp4->tooltip("LFO function"); - chorusp4->box(FL_UP_BOX); - chorusp4->down_box(FL_BORDER_BOX); - chorusp4->color(FL_BACKGROUND_COLOR); - chorusp4->selection_color(FL_SELECTION_COLOR); - chorusp4->labeltype(FL_NORMAL_LABEL); - chorusp4->labelfont(1); - chorusp4->labelsize(10); - chorusp4->labelcolor(FL_FOREGROUND_COLOR); - chorusp4->textsize(8); - chorusp4->align(Fl_Align(130)); - chorusp4->when(FL_WHEN_RELEASE); - chorusp4->menu(menu_chorusp4); - o->init("parameter4"); - } // Fl_Osc_Choice* chorusp4 - set_module_parameters(o); - effchoruswindow->end(); - } // Fl_Group* effchoruswindow - return effchoruswindow; -} - -Fl_Group* EffUI::make_phaser_window() { - { Fl_Group* o = effphaserwindow = new Fl_Group(0, 0, 380, 95); - effphaserwindow->box(FL_UP_BOX); - effphaserwindow->color((Fl_Color)221); - effphaserwindow->selection_color(FL_BACKGROUND_COLOR); - effphaserwindow->labeltype(FL_NO_LABEL); - effphaserwindow->labelfont(1); - effphaserwindow->labelsize(19); - effphaserwindow->labelcolor(FL_FOREGROUND_COLOR); - effphaserwindow->user_data((void*)(this)); - effphaserwindow->align(Fl_Align(FL_ALIGN_TOP)); - effphaserwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = phaserp = new Fl_Osc_Choice(10, 15, 100, 15, "Preset"); - phaserp->box(FL_UP_BOX); - phaserp->down_box(FL_BORDER_BOX); - phaserp->color((Fl_Color)14); - phaserp->selection_color(FL_BACKGROUND2_COLOR); - phaserp->labeltype(FL_NORMAL_LABEL); - phaserp->labelfont(1); - phaserp->labelsize(10); - phaserp->labelcolor(FL_FOREGROUND_COLOR); - phaserp->textfont(1); - phaserp->textsize(10); - phaserp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - phaserp->when(FL_WHEN_RELEASE); - phaserp->menu(menu_phaserp); - o->init("preset"); - } // Fl_Osc_Choice* phaserp - { Fl_Osc_Dial* o = phaserp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - phaserp0->tooltip("Effect Volume"); - phaserp0->box(FL_ROUND_UP_BOX); - phaserp0->color(FL_BACKGROUND_COLOR); - phaserp0->selection_color(FL_INACTIVE_COLOR); - phaserp0->labeltype(FL_NORMAL_LABEL); - phaserp0->labelfont(1); - phaserp0->labelsize(11); - phaserp0->labelcolor(FL_FOREGROUND_COLOR); - phaserp0->maximum(127); - phaserp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* phaserp0 - { Fl_Osc_Dial* o = phaserp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - phaserp1->box(FL_ROUND_UP_BOX); - phaserp1->color(FL_BACKGROUND_COLOR); - phaserp1->selection_color(FL_INACTIVE_COLOR); - phaserp1->labeltype(FL_NORMAL_LABEL); - phaserp1->labelfont(1); - phaserp1->labelsize(11); - phaserp1->labelcolor(FL_FOREGROUND_COLOR); - phaserp1->maximum(127); - phaserp1->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* phaserp1 - { Fl_Osc_Dial* o = phaserp2 = new Fl_Osc_Dial(85, 45, 25, 25, "Freq"); - phaserp2->tooltip("LFO frequency"); - phaserp2->box(FL_ROUND_UP_BOX); - phaserp2->color(FL_BACKGROUND_COLOR); - phaserp2->selection_color(FL_INACTIVE_COLOR); - phaserp2->labeltype(FL_NORMAL_LABEL); - phaserp2->labelfont(1); - phaserp2->labelsize(11); - phaserp2->labelcolor(FL_FOREGROUND_COLOR); - phaserp2->maximum(127); - phaserp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* phaserp2 - { Fl_Osc_Dial* o = phaserp3 = new Fl_Osc_Dial(120, 45, 25, 25, "Rnd"); - phaserp3->tooltip("LFO randomness"); - phaserp3->box(FL_ROUND_UP_BOX); - phaserp3->color(FL_BACKGROUND_COLOR); - phaserp3->selection_color(FL_INACTIVE_COLOR); - phaserp3->labeltype(FL_NORMAL_LABEL); - phaserp3->labelfont(1); - phaserp3->labelsize(11); - phaserp3->labelcolor(FL_FOREGROUND_COLOR); - phaserp3->maximum(127); - phaserp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* phaserp3 - { Fl_Osc_Choice* o = phaserp4 = new Fl_Osc_Choice(245, 55, 40, 15, "LFO"); - phaserp4->tooltip("LFO function"); - phaserp4->box(FL_UP_BOX); - phaserp4->down_box(FL_BORDER_BOX); - phaserp4->color(FL_BACKGROUND_COLOR); - phaserp4->selection_color(FL_SELECTION_COLOR); - phaserp4->labeltype(FL_NORMAL_LABEL); - phaserp4->labelfont(1); - phaserp4->labelsize(10); - phaserp4->labelcolor(FL_FOREGROUND_COLOR); - phaserp4->textsize(8); - phaserp4->align(Fl_Align(130)); - phaserp4->when(FL_WHEN_RELEASE); - phaserp4->menu(menu_phaserp4); - o->init("parameter4"); - } // Fl_Osc_Choice* phaserp4 - { Fl_Osc_Dial* o = phaserp5 = new Fl_Osc_Dial(155, 45, 25, 25, "St.df"); - phaserp5->tooltip("Left/Right Channel Phase Shift"); - phaserp5->box(FL_ROUND_UP_BOX); - phaserp5->color(FL_BACKGROUND_COLOR); - phaserp5->selection_color(FL_INACTIVE_COLOR); - phaserp5->labeltype(FL_NORMAL_LABEL); - phaserp5->labelfont(1); - phaserp5->labelsize(11); - phaserp5->labelcolor(FL_FOREGROUND_COLOR); - phaserp5->maximum(127); - phaserp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* phaserp5 - { Fl_Osc_Dial* o = phaserp6 = new Fl_Osc_Dial(120, 5, 25, 25, "Dpth"); - phaserp6->tooltip("LFO Depth"); - phaserp6->box(FL_ROUND_UP_BOX); - phaserp6->color(FL_BACKGROUND_COLOR); - phaserp6->selection_color(FL_INACTIVE_COLOR); - phaserp6->labeltype(FL_NORMAL_LABEL); - phaserp6->labelfont(1); - phaserp6->labelsize(10); - phaserp6->labelcolor(FL_FOREGROUND_COLOR); - phaserp6->maximum(127); - phaserp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* phaserp6 - { Fl_Osc_Dial* o = phaserp7 = new Fl_Osc_Dial(185, 45, 25, 25, "Fb"); - phaserp7->tooltip("Feedback"); - phaserp7->box(FL_ROUND_UP_BOX); - phaserp7->color(FL_BACKGROUND_COLOR); - phaserp7->selection_color(FL_INACTIVE_COLOR); - phaserp7->labeltype(FL_NORMAL_LABEL); - phaserp7->labelfont(1); - phaserp7->labelsize(11); - phaserp7->labelcolor(FL_FOREGROUND_COLOR); - phaserp7->maximum(127); - phaserp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* phaserp7 - { Fl_Osc_Counter* o = phaserp8 = new Fl_Osc_Counter(290, 55, 35, 15, "Stages"); - phaserp8->type(1); - phaserp8->box(FL_UP_BOX); - phaserp8->color(FL_BACKGROUND_COLOR); - phaserp8->selection_color(FL_INACTIVE_COLOR); - phaserp8->labeltype(FL_NORMAL_LABEL); - phaserp8->labelfont(1); - phaserp8->labelsize(11); - phaserp8->labelcolor(FL_FOREGROUND_COLOR); - phaserp8->minimum(0); - phaserp8->maximum(127); - phaserp8->step(1); - phaserp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp8->when(FL_WHEN_CHANGED); - o->range(1,MAX_PHASER_STAGES); - o->init("parameter8"); - } // Fl_Osc_Counter* phaserp8 - { Fl_Osc_Dial* o = phaserp9 = new Fl_Osc_Dial(215, 45, 25, 25, "L/R"); - phaserp9->tooltip("Channel Routing"); - phaserp9->box(FL_ROUND_UP_BOX); - phaserp9->color(FL_BACKGROUND_COLOR); - phaserp9->selection_color(FL_INACTIVE_COLOR); - phaserp9->labeltype(FL_NORMAL_LABEL); - phaserp9->labelfont(1); - phaserp9->labelsize(11); - phaserp9->labelcolor(FL_FOREGROUND_COLOR); - phaserp9->maximum(127); - phaserp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* phaserp9 - { Fl_Osc_Check* o = phaserp10 = new Fl_Osc_Check(200, 10, 74, 20, "Subtract"); - phaserp10->tooltip("inverts output"); - phaserp10->box(FL_THIN_UP_BOX); - phaserp10->down_box(FL_DOWN_BOX); - phaserp10->color((Fl_Color)51); - phaserp10->selection_color(FL_FOREGROUND_COLOR); - phaserp10->labeltype(FL_NORMAL_LABEL); - phaserp10->labelfont(1); - phaserp10->labelsize(10); - phaserp10->labelcolor(FL_FOREGROUND_COLOR); - phaserp10->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - phaserp10->when(FL_WHEN_RELEASE); - o->init("parameter10"); - } // Fl_Osc_Check* phaserp10 - { Fl_Osc_Dial* o = phaserp11 = new Fl_Osc_Dial(155, 5, 25, 25, "Phase"); - phaserp11->box(FL_ROUND_UP_BOX); - phaserp11->color(FL_BACKGROUND_COLOR); - phaserp11->selection_color(FL_INACTIVE_COLOR); - phaserp11->labeltype(FL_NORMAL_LABEL); - phaserp11->labelfont(1); - phaserp11->labelsize(10); - phaserp11->labelcolor(FL_FOREGROUND_COLOR); - phaserp11->maximum(127); - phaserp11->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp11->when(FL_WHEN_CHANGED); - o->init("parameter11"); - } // Fl_Osc_Dial* phaserp11 - { Fl_Osc_Check* o = phaserp12 = new Fl_Osc_Check(245, 35, 55, 15, "hyp."); - phaserp12->tooltip("hyper"); - phaserp12->box(FL_NO_BOX); - phaserp12->down_box(FL_DOWN_BOX); - phaserp12->color(FL_BACKGROUND_COLOR); - phaserp12->selection_color(FL_FOREGROUND_COLOR); - phaserp12->labeltype(FL_NORMAL_LABEL); - phaserp12->labelfont(0); - phaserp12->labelsize(14); - phaserp12->labelcolor(FL_FOREGROUND_COLOR); - phaserp12->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - phaserp12->when(FL_WHEN_RELEASE); - o->init("parameter12"); - } // Fl_Osc_Check* phaserp12 - { Fl_Osc_Dial* o = phaserp13 = new Fl_Osc_Dial(340, 50, 25, 25, "dist"); - phaserp13->tooltip("Distortion"); - phaserp13->box(FL_ROUND_UP_BOX); - phaserp13->color(FL_BACKGROUND_COLOR); - phaserp13->selection_color(FL_INACTIVE_COLOR); - phaserp13->labeltype(FL_NORMAL_LABEL); - phaserp13->labelfont(1); - phaserp13->labelsize(11); - phaserp13->labelcolor(FL_FOREGROUND_COLOR); - phaserp13->maximum(127); - phaserp13->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp13->when(FL_WHEN_CHANGED); - o->init("parameter13"); - } // Fl_Osc_Dial* phaserp13 - { Fl_Osc_Check* o = phaserp14 = new Fl_Osc_Check(305, 35, 70, 15, "Analog"); - phaserp14->box(FL_NO_BOX); - phaserp14->down_box(FL_DOWN_BOX); - phaserp14->color(FL_BACKGROUND_COLOR); - phaserp14->selection_color(FL_FOREGROUND_COLOR); - phaserp14->labeltype(FL_NORMAL_LABEL); - phaserp14->labelfont(0); - phaserp14->labelsize(14); - phaserp14->labelcolor(FL_FOREGROUND_COLOR); - phaserp14->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - phaserp14->when(FL_WHEN_RELEASE); - o->init("parameter14"); - } // Fl_Osc_Check* phaserp14 - set_module_parameters(o); - effphaserwindow->end(); - } // Fl_Group* effphaserwindow - return effphaserwindow; -} - -Fl_Group* EffUI::make_alienwah_window() { - { Fl_Group* o = effalienwahwindow = new Fl_Group(0, 0, 380, 100); - effalienwahwindow->box(FL_UP_BOX); - effalienwahwindow->color((Fl_Color)221); - effalienwahwindow->selection_color(FL_BACKGROUND_COLOR); - effalienwahwindow->labeltype(FL_NO_LABEL); - effalienwahwindow->labelfont(1); - effalienwahwindow->labelsize(19); - effalienwahwindow->labelcolor(FL_FOREGROUND_COLOR); - effalienwahwindow->user_data((void*)(this)); - effalienwahwindow->align(Fl_Align(FL_ALIGN_TOP)); - effalienwahwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = awp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - awp->box(FL_UP_BOX); - awp->down_box(FL_BORDER_BOX); - awp->color((Fl_Color)14); - awp->selection_color(FL_BACKGROUND2_COLOR); - awp->labeltype(FL_NORMAL_LABEL); - awp->labelfont(1); - awp->labelsize(10); - awp->labelcolor(FL_FOREGROUND_COLOR); - awp->textfont(1); - awp->textsize(10); - awp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - awp->when(FL_WHEN_RELEASE); - awp->menu(menu_awp); - o->init("preset"); - } // Fl_Osc_Choice* awp - { Fl_Osc_Dial* o = awp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - awp0->tooltip("Effect Volume"); - awp0->box(FL_ROUND_UP_BOX); - awp0->color(FL_BACKGROUND_COLOR); - awp0->selection_color(FL_INACTIVE_COLOR); - awp0->labeltype(FL_NORMAL_LABEL); - awp0->labelfont(1); - awp0->labelsize(11); - awp0->labelcolor(FL_FOREGROUND_COLOR); - awp0->maximum(127); - awp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* awp0 - { Fl_Osc_Dial* o = awp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - awp1->box(FL_ROUND_UP_BOX); - awp1->color(FL_BACKGROUND_COLOR); - awp1->selection_color(FL_INACTIVE_COLOR); - awp1->labeltype(FL_NORMAL_LABEL); - awp1->labelfont(1); - awp1->labelsize(11); - awp1->labelcolor(FL_FOREGROUND_COLOR); - awp1->maximum(127); - awp1->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* awp1 - { Fl_Osc_Dial* o = awp2 = new Fl_Osc_Dial(85, 40, 30, 30, "Freq"); - awp2->tooltip("LFO Frequency"); - awp2->box(FL_ROUND_UP_BOX); - awp2->color(FL_BACKGROUND_COLOR); - awp2->selection_color(FL_INACTIVE_COLOR); - awp2->labeltype(FL_NORMAL_LABEL); - awp2->labelfont(1); - awp2->labelsize(11); - awp2->labelcolor(FL_FOREGROUND_COLOR); - awp2->maximum(127); - awp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* awp2 - { Fl_Osc_Dial* o = awp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Rnd"); - awp3->tooltip("LFO Randomness"); - awp3->box(FL_ROUND_UP_BOX); - awp3->color(FL_BACKGROUND_COLOR); - awp3->selection_color(FL_INACTIVE_COLOR); - awp3->labeltype(FL_NORMAL_LABEL); - awp3->labelfont(1); - awp3->labelsize(11); - awp3->labelcolor(FL_FOREGROUND_COLOR); - awp3->maximum(127); - awp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* awp3 - { Fl_Osc_Dial* o = awp5 = new Fl_Osc_Dial(200, 40, 30, 30, "St.df"); - awp5->tooltip("Left/Right Channel Phase Shift"); - awp5->box(FL_ROUND_UP_BOX); - awp5->color(FL_BACKGROUND_COLOR); - awp5->selection_color(FL_INACTIVE_COLOR); - awp5->labeltype(FL_NORMAL_LABEL); - awp5->labelfont(1); - awp5->labelsize(11); - awp5->labelcolor(FL_FOREGROUND_COLOR); - awp5->maximum(127); - awp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* awp5 - { Fl_Osc_Dial* o = awp6 = new Fl_Osc_Dial(235, 40, 30, 30, "Dpth"); - awp6->tooltip("Depth"); - awp6->box(FL_ROUND_UP_BOX); - awp6->color(FL_BACKGROUND_COLOR); - awp6->selection_color(FL_INACTIVE_COLOR); - awp6->labeltype(FL_NORMAL_LABEL); - awp6->labelfont(1); - awp6->labelsize(11); - awp6->labelcolor(FL_FOREGROUND_COLOR); - awp6->maximum(127); - awp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* awp6 - { Fl_Osc_Dial* o = awp7 = new Fl_Osc_Dial(270, 40, 30, 30, "Fb"); - awp7->tooltip("Feedback"); - awp7->box(FL_ROUND_UP_BOX); - awp7->color(FL_BACKGROUND_COLOR); - awp7->selection_color(FL_INACTIVE_COLOR); - awp7->labeltype(FL_NORMAL_LABEL); - awp7->labelfont(1); - awp7->labelsize(11); - awp7->labelcolor(FL_FOREGROUND_COLOR); - awp7->maximum(127); - awp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* awp7 - { Fl_Osc_Dial* o = awp9 = new Fl_Osc_Dial(345, 40, 30, 30, "L/R"); - awp9->box(FL_ROUND_UP_BOX); - awp9->color(FL_BACKGROUND_COLOR); - awp9->selection_color(FL_INACTIVE_COLOR); - awp9->labeltype(FL_NORMAL_LABEL); - awp9->labelfont(1); - awp9->labelsize(11); - awp9->labelcolor(FL_FOREGROUND_COLOR); - awp9->maximum(127); - awp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* awp9 - { Fl_Osc_Choice* o = awp4 = new Fl_Osc_Choice(155, 50, 40, 15, "LFO type"); - awp4->tooltip("LFO function"); - awp4->box(FL_UP_BOX); - awp4->down_box(FL_BORDER_BOX); - awp4->color(FL_BACKGROUND_COLOR); - awp4->selection_color(FL_SELECTION_COLOR); - awp4->labeltype(FL_NORMAL_LABEL); - awp4->labelfont(1); - awp4->labelsize(10); - awp4->labelcolor(FL_FOREGROUND_COLOR); - awp4->textsize(8); - awp4->align(Fl_Align(130)); - awp4->when(FL_WHEN_RELEASE); - awp4->menu(menu_awp4); - o->init("parameter4"); - } // Fl_Osc_Choice* awp4 - { Fl_Osc_Dial* o = awp10 = new Fl_Osc_Dial(160, 5, 30, 30, "Phase"); - awp10->box(FL_ROUND_UP_BOX); - awp10->color(FL_BACKGROUND_COLOR); - awp10->selection_color(FL_INACTIVE_COLOR); - awp10->labeltype(FL_NORMAL_LABEL); - awp10->labelfont(1); - awp10->labelsize(11); - awp10->labelcolor(FL_FOREGROUND_COLOR); - awp10->maximum(127); - awp10->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp10->when(FL_WHEN_CHANGED); - o->init("parameter10"); - } // Fl_Osc_Dial* awp10 - { Fl_Osc_Counter* o = awp8 = new Fl_Osc_Counter(305, 55, 35, 15, "Delay"); - awp8->type(1); - awp8->box(FL_UP_BOX); - awp8->color(FL_BACKGROUND_COLOR); - awp8->selection_color(FL_INACTIVE_COLOR); - awp8->labeltype(FL_NORMAL_LABEL); - awp8->labelfont(1); - awp8->labelsize(11); - awp8->labelcolor(FL_FOREGROUND_COLOR); - awp8->minimum(0); - awp8->maximum(127); - awp8->step(1); - awp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp8->when(FL_WHEN_CHANGED); - o->range(1,MAX_ALIENWAH_DELAY); - o->init("parameter8"); - } // Fl_Osc_Counter* awp8 - set_module_parameters(o); - effalienwahwindow->end(); - } // Fl_Group* effalienwahwindow - return effalienwahwindow; -} - -Fl_Group* EffUI::make_distorsion_window() { - { Fl_Group* o = effdistorsionwindow = new Fl_Group(0, 0, 380, 100); - effdistorsionwindow->box(FL_UP_BOX); - effdistorsionwindow->color((Fl_Color)221); - effdistorsionwindow->selection_color(FL_BACKGROUND_COLOR); - effdistorsionwindow->labeltype(FL_NO_LABEL); - effdistorsionwindow->labelfont(1); - effdistorsionwindow->labelsize(19); - effdistorsionwindow->labelcolor(FL_FOREGROUND_COLOR); - effdistorsionwindow->user_data((void*)(this)); - effdistorsionwindow->align(Fl_Align(FL_ALIGN_TOP)); - effdistorsionwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = distp = new Fl_Osc_Choice(11, 15, 95, 15, "Preset"); - distp->box(FL_UP_BOX); - distp->down_box(FL_BORDER_BOX); - distp->color((Fl_Color)14); - distp->selection_color(FL_BACKGROUND2_COLOR); - distp->labeltype(FL_NORMAL_LABEL); - distp->labelfont(1); - distp->labelsize(10); - distp->labelcolor(FL_FOREGROUND_COLOR); - distp->textfont(1); - distp->textsize(10); - distp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - distp->when(FL_WHEN_RELEASE); - distp->menu(menu_distp); - o->init("preset"); - } // Fl_Osc_Choice* distp - { Fl_Osc_Dial* o = distp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - distp0->tooltip("Effect Volume"); - distp0->box(FL_ROUND_UP_BOX); - distp0->color(FL_BACKGROUND_COLOR); - distp0->selection_color(FL_INACTIVE_COLOR); - distp0->labeltype(FL_NORMAL_LABEL); - distp0->labelfont(1); - distp0->labelsize(11); - distp0->labelcolor(FL_FOREGROUND_COLOR); - distp0->maximum(127); - distp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* distp0 - { Fl_Osc_Dial* o = distp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - distp1->box(FL_ROUND_UP_BOX); - distp1->color(FL_BACKGROUND_COLOR); - distp1->selection_color(FL_INACTIVE_COLOR); - distp1->labeltype(FL_NORMAL_LABEL); - distp1->labelfont(1); - distp1->labelsize(11); - distp1->labelcolor(FL_FOREGROUND_COLOR); - distp1->maximum(127); - distp1->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* distp1 - { Fl_Osc_Dial* o = distp2 = new Fl_Osc_Dial(80, 40, 30, 30, "LRc."); - distp2->tooltip("L/R Mix"); - distp2->box(FL_ROUND_UP_BOX); - distp2->color(FL_BACKGROUND_COLOR); - distp2->selection_color(FL_INACTIVE_COLOR); - distp2->labeltype(FL_NORMAL_LABEL); - distp2->labelfont(1); - distp2->labelsize(11); - distp2->labelcolor(FL_FOREGROUND_COLOR); - distp2->maximum(127); - distp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp2->when(FL_WHEN_RELEASE); - o->init("parameter2"); - } // Fl_Osc_Dial* distp2 - { Fl_Osc_Dial* o = distp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Drive"); - distp3->tooltip("Input Amplification"); - distp3->box(FL_ROUND_UP_BOX); - distp3->color(FL_BACKGROUND_COLOR); - distp3->selection_color(FL_INACTIVE_COLOR); - distp3->labeltype(FL_NORMAL_LABEL); - distp3->labelfont(1); - distp3->labelsize(11); - distp3->labelcolor(FL_FOREGROUND_COLOR); - distp3->maximum(127); - distp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* distp3 - { Fl_Osc_Dial* o = distp4 = new Fl_Osc_Dial(155, 40, 30, 30, "Level"); - distp4->tooltip("Output Amplification"); - distp4->box(FL_ROUND_UP_BOX); - distp4->color(FL_BACKGROUND_COLOR); - distp4->selection_color(FL_INACTIVE_COLOR); - distp4->labeltype(FL_NORMAL_LABEL); - distp4->labelfont(1); - distp4->labelsize(11); - distp4->labelcolor(FL_FOREGROUND_COLOR); - distp4->maximum(127); - distp4->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp4->when(FL_WHEN_CHANGED); - o->init("parameter4"); - } // Fl_Osc_Dial* distp4 - { Fl_Osc_Dial* o = distp7 = new Fl_Osc_Dial(285, 40, 30, 30, "LPF"); - distp7->tooltip("Low Pass Filter"); - distp7->box(FL_ROUND_UP_BOX); - distp7->color(FL_BACKGROUND_COLOR); - distp7->selection_color(FL_INACTIVE_COLOR); - distp7->labeltype(FL_NORMAL_LABEL); - distp7->labelfont(1); - distp7->labelsize(11); - distp7->labelcolor(FL_FOREGROUND_COLOR); - distp7->maximum(127); - distp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* distp7 - { Fl_Osc_Dial* o = distp8 = new Fl_Osc_Dial(320, 40, 30, 30, "HPF"); - distp8->tooltip("High Pass Filter"); - distp8->box(FL_ROUND_UP_BOX); - distp8->color(FL_BACKGROUND_COLOR); - distp8->selection_color(FL_INACTIVE_COLOR); - distp8->labeltype(FL_NORMAL_LABEL); - distp8->labelfont(1); - distp8->labelsize(11); - distp8->labelcolor(FL_FOREGROUND_COLOR); - distp8->maximum(127); - distp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp8->when(FL_WHEN_CHANGED); - o->init("parameter8"); - } // Fl_Osc_Dial* distp8 - { Fl_Osc_Choice* o = distp5 = new Fl_Osc_Choice(190, 50, 60, 20, "Type"); - distp5->box(FL_UP_BOX); - distp5->down_box(FL_BORDER_BOX); - distp5->color(FL_BACKGROUND_COLOR); - distp5->selection_color(FL_SELECTION_COLOR); - distp5->labeltype(FL_NORMAL_LABEL); - distp5->labelfont(1); - distp5->labelsize(11); - distp5->labelcolor(FL_FOREGROUND_COLOR); - distp5->textsize(10); - distp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp5->when(FL_WHEN_RELEASE); - distp5->menu(menu_distp5); - o->init("parameter5"); - } // Fl_Osc_Choice* distp5 - { Fl_Osc_Check* o = distp6 = new Fl_Osc_Check(260, 55, 15, 15, "Neg."); - distp6->box(FL_NO_BOX); - distp6->down_box(FL_DOWN_BOX); - distp6->color(FL_BACKGROUND_COLOR); - distp6->selection_color(FL_FOREGROUND_COLOR); - distp6->labeltype(FL_NORMAL_LABEL); - distp6->labelfont(1); - distp6->labelsize(11); - distp6->labelcolor(FL_FOREGROUND_COLOR); - distp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp6->when(FL_WHEN_RELEASE); - o->init("parameter6"); - } // Fl_Osc_Check* distp6 - { Fl_Osc_Check* o = distp9 = new Fl_Osc_Check(355, 60, 15, 15, "St."); - distp9->tooltip("Stereo"); - distp9->box(FL_NO_BOX); - distp9->down_box(FL_DOWN_BOX); - distp9->color(FL_BACKGROUND_COLOR); - distp9->selection_color(FL_FOREGROUND_COLOR); - distp9->labeltype(FL_NORMAL_LABEL); - distp9->labelfont(1); - distp9->labelsize(11); - distp9->labelcolor(FL_FOREGROUND_COLOR); - distp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp9->when(FL_WHEN_RELEASE); - o->init("parameter9"); - } // Fl_Osc_Check* distp9 - { Fl_Osc_Check* o = distp10 = new Fl_Osc_Check(355, 44, 15, 15, "PF"); - distp10->tooltip("Applies the filters(before or after) the distorsion"); - distp10->box(FL_NO_BOX); - distp10->down_box(FL_DOWN_BOX); - distp10->color(FL_BACKGROUND_COLOR); - distp10->selection_color(FL_FOREGROUND_COLOR); - distp10->labeltype(FL_NORMAL_LABEL); - distp10->labelfont(1); - distp10->labelsize(11); - distp10->labelcolor(FL_FOREGROUND_COLOR); - distp10->align(Fl_Align(FL_ALIGN_TOP)); - distp10->when(FL_WHEN_RELEASE); - o->init("parameter10"); - } // Fl_Osc_Check* distp10 - set_module_parameters(o); - effdistorsionwindow->end(); - } // Fl_Group* effdistorsionwindow - return effdistorsionwindow; -} - -Fl_Group* EffUI::make_eq_window() { - { Fl_Group* o = effeqwindow = new Fl_Group(0, 0, 380, 100); - effeqwindow->box(FL_UP_BOX); - effeqwindow->color((Fl_Color)221); - effeqwindow->selection_color(FL_BACKGROUND_COLOR); - effeqwindow->labeltype(FL_NO_LABEL); - effeqwindow->labelfont(1); - effeqwindow->labelsize(19); - effeqwindow->labelcolor(FL_FOREGROUND_COLOR); - effeqwindow->user_data((void*)(this)); - effeqwindow->align(Fl_Align(FL_ALIGN_TOP)); - effeqwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Dial* o = eqp0 = new Fl_Osc_Dial(10, 35, 30, 30, "Gain"); - eqp0->box(FL_ROUND_UP_BOX); - eqp0->color(FL_BACKGROUND_COLOR); - eqp0->selection_color(FL_INACTIVE_COLOR); - eqp0->labeltype(FL_NORMAL_LABEL); - eqp0->labelfont(1); - eqp0->labelsize(11); - eqp0->labelcolor(FL_FOREGROUND_COLOR); - eqp0->maximum(127); - eqp0->callback((Fl_Callback*)cb_eqp0); - eqp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - eqp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* eqp0 - { Fl_Counter* o = bandcounter = new Fl_Counter(240, 20, 45, 15, "B."); - bandcounter->tooltip("Band no."); - bandcounter->type(1); - bandcounter->labelfont(1); - bandcounter->labelsize(11); - bandcounter->minimum(0); - bandcounter->maximum(1); - bandcounter->step(1); - bandcounter->textfont(1); - bandcounter->textsize(11); - bandcounter->callback((Fl_Callback*)cb_bandcounter); - bandcounter->align(Fl_Align(FL_ALIGN_TOP)); - o->bounds(0,MAX_EQ_BANDS-1); - } // Fl_Counter* bandcounter - { bandgroup = new Fl_Group(245, 40, 130, 50); - bandgroup->box(FL_ENGRAVED_FRAME); - { Fl_Osc_Dial* o = freqdial = new Fl_Osc_Dial(250, 50, 25, 25, "Freq"); - freqdial->box(FL_ROUND_UP_BOX); - freqdial->color(FL_BACKGROUND_COLOR); - freqdial->selection_color(FL_INACTIVE_COLOR); - freqdial->labeltype(FL_NORMAL_LABEL); - freqdial->labelfont(1); - freqdial->labelsize(10); - freqdial->labelcolor(FL_FOREGROUND_COLOR); - freqdial->maximum(127); - freqdial->callback((Fl_Callback*)cb_freqdial); - freqdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - freqdial->when(3); - o->init("parameter11"); - } // Fl_Osc_Dial* freqdial - { Fl_Osc_Dial* o = gaindial = new Fl_Osc_Dial(280, 50, 25, 25, "Gain"); - gaindial->box(FL_ROUND_UP_BOX); - gaindial->color(FL_BACKGROUND_COLOR); - gaindial->selection_color(FL_INACTIVE_COLOR); - gaindial->labeltype(FL_NORMAL_LABEL); - gaindial->labelfont(1); - gaindial->labelsize(10); - gaindial->labelcolor(FL_FOREGROUND_COLOR); - gaindial->maximum(127); - gaindial->step(1); - gaindial->callback((Fl_Callback*)cb_gaindial); - gaindial->align(Fl_Align(FL_ALIGN_BOTTOM)); - gaindial->when(3); - o->init("parameter12"); - } // Fl_Osc_Dial* gaindial - { Fl_Osc_Dial* o = qdial = new Fl_Osc_Dial(310, 50, 25, 25, "Q"); - qdial->tooltip("Resonance/Bandwidth"); - qdial->box(FL_ROUND_UP_BOX); - qdial->color(FL_BACKGROUND_COLOR); - qdial->selection_color(FL_INACTIVE_COLOR); - qdial->labeltype(FL_NORMAL_LABEL); - qdial->labelfont(1); - qdial->labelsize(10); - qdial->labelcolor(FL_FOREGROUND_COLOR); - qdial->maximum(127); - qdial->callback((Fl_Callback*)cb_qdial); - qdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - qdial->when(3); - o->init("parameter13"); - } // Fl_Osc_Dial* qdial - { Fl_Osc_Counter* o = stagescounter = new Fl_Osc_Counter(340, 60, 30, 15, "St."); - stagescounter->tooltip("Additional filter stages"); - stagescounter->type(1); - stagescounter->box(FL_UP_BOX); - stagescounter->color(FL_BACKGROUND_COLOR); - stagescounter->selection_color(FL_INACTIVE_COLOR); - stagescounter->labeltype(FL_NORMAL_LABEL); - stagescounter->labelfont(1); - stagescounter->labelsize(10); - stagescounter->labelcolor(FL_FOREGROUND_COLOR); - stagescounter->minimum(0); - stagescounter->maximum(127); - stagescounter->step(1); - stagescounter->textfont(1); - stagescounter->textsize(11); - stagescounter->callback((Fl_Callback*)cb_stagescounter); - stagescounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - stagescounter->when(FL_WHEN_CHANGED); - o->init("parameter14"); - } // Fl_Osc_Counter* stagescounter - bandgroup->end(); - } // Fl_Group* bandgroup - { Fl_Osc_Choice* o = typechoice = new Fl_Osc_Choice(290, 20, 40, 15, "T."); - typechoice->tooltip("Type"); - typechoice->box(FL_UP_BOX); - typechoice->down_box(FL_BORDER_BOX); - typechoice->color(FL_BACKGROUND_COLOR); - typechoice->selection_color(FL_SELECTION_COLOR); - typechoice->labeltype(FL_NORMAL_LABEL); - typechoice->labelfont(1); - typechoice->labelsize(10); - typechoice->labelcolor(FL_FOREGROUND_COLOR); - typechoice->textsize(10); - typechoice->callback((Fl_Callback*)cb_typechoice); - typechoice->align(Fl_Align(FL_ALIGN_TOP)); - typechoice->when(FL_WHEN_RELEASE_ALWAYS); - typechoice->menu(menu_typechoice); - o->init("parameter15"); - } // Fl_Osc_Choice* typechoice - { eqgraph = new Fl_EQGraph(45, 10, 190, 75); - eqgraph->box(FL_BORDER_BOX); - eqgraph->color(FL_LIGHT1); - eqgraph->selection_color(FL_BACKGROUND_COLOR); - eqgraph->labeltype(FL_NORMAL_LABEL); - eqgraph->labelfont(0); - eqgraph->labelsize(14); - eqgraph->labelcolor(FL_FOREGROUND_COLOR); - eqgraph->align(Fl_Align(FL_ALIGN_CENTER)); - eqgraph->when(FL_WHEN_RELEASE); - } // Fl_EQGraph* eqgraph - set_module_parameters(o); - effeqwindow->end(); - } // Fl_Group* effeqwindow - return effeqwindow; -} - -Fl_Group* EffUI::make_dynamicfilter_window() { - { Fl_Group* o = effdynamicfilterwindow = new Fl_Group(0, 0, 380, 100); - effdynamicfilterwindow->box(FL_UP_BOX); - effdynamicfilterwindow->color((Fl_Color)221); - effdynamicfilterwindow->selection_color(FL_BACKGROUND_COLOR); - effdynamicfilterwindow->labeltype(FL_NO_LABEL); - effdynamicfilterwindow->labelfont(1); - effdynamicfilterwindow->labelsize(19); - effdynamicfilterwindow->labelcolor(FL_FOREGROUND_COLOR); - effdynamicfilterwindow->user_data((void*)(this)); - effdynamicfilterwindow->align(Fl_Align(FL_ALIGN_TOP)); - effdynamicfilterwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = dfp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - dfp->box(FL_UP_BOX); - dfp->down_box(FL_BORDER_BOX); - dfp->color((Fl_Color)14); - dfp->selection_color(FL_BACKGROUND2_COLOR); - dfp->labeltype(FL_NORMAL_LABEL); - dfp->labelfont(1); - dfp->labelsize(10); - dfp->labelcolor(FL_FOREGROUND_COLOR); - dfp->textfont(1); - dfp->textsize(10); - dfp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - dfp->when(FL_WHEN_RELEASE); - dfp->menu(menu_dfp); - o->init("preset"); - } // Fl_Osc_Choice* dfp - { Fl_Osc_Dial* o = dfp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - dfp0->tooltip("Effect Volume"); - dfp0->box(FL_ROUND_UP_BOX); - dfp0->color(FL_BACKGROUND_COLOR); - dfp0->selection_color(FL_INACTIVE_COLOR); - dfp0->labeltype(FL_NORMAL_LABEL); - dfp0->labelfont(1); - dfp0->labelsize(11); - dfp0->labelcolor(FL_FOREGROUND_COLOR); - dfp0->maximum(127); - dfp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* dfp0 - { Fl_Osc_Dial* o = dfp1 = new Fl_Osc_Dial(45, 40, 30, 30, "Pan"); - dfp1->box(FL_ROUND_UP_BOX); - dfp1->color(FL_BACKGROUND_COLOR); - dfp1->selection_color(FL_INACTIVE_COLOR); - dfp1->labeltype(FL_NORMAL_LABEL); - dfp1->labelfont(1); - dfp1->labelsize(11); - dfp1->labelcolor(FL_FOREGROUND_COLOR); - dfp1->maximum(127); - dfp1->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp1->when(FL_WHEN_CHANGED); - o->init("parameter1"); - } // Fl_Osc_Dial* dfp1 - { Fl_Osc_Dial* o = dfp2 = new Fl_Osc_Dial(85, 40, 30, 30, "Freq"); - dfp2->tooltip("LFO Frequency"); - dfp2->box(FL_ROUND_UP_BOX); - dfp2->color(FL_BACKGROUND_COLOR); - dfp2->selection_color(FL_INACTIVE_COLOR); - dfp2->labeltype(FL_NORMAL_LABEL); - dfp2->labelfont(1); - dfp2->labelsize(11); - dfp2->labelcolor(FL_FOREGROUND_COLOR); - dfp2->maximum(127); - dfp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* dfp2 - { Fl_Osc_Dial* o = dfp3 = new Fl_Osc_Dial(120, 40, 30, 30, "Rnd"); - dfp3->tooltip("LFO Randomness"); - dfp3->box(FL_ROUND_UP_BOX); - dfp3->color(FL_BACKGROUND_COLOR); - dfp3->selection_color(FL_INACTIVE_COLOR); - dfp3->labeltype(FL_NORMAL_LABEL); - dfp3->labelfont(1); - dfp3->labelsize(11); - dfp3->labelcolor(FL_FOREGROUND_COLOR); - dfp3->maximum(127); - dfp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* dfp3 - { Fl_Osc_Dial* o = dfp5 = new Fl_Osc_Dial(200, 40, 30, 30, "St.df"); - dfp5->tooltip("Left/Right Channel Phase Shift"); - dfp5->box(FL_ROUND_UP_BOX); - dfp5->color(FL_BACKGROUND_COLOR); - dfp5->selection_color(FL_INACTIVE_COLOR); - dfp5->labeltype(FL_NORMAL_LABEL); - dfp5->labelfont(1); - dfp5->labelsize(11); - dfp5->labelcolor(FL_FOREGROUND_COLOR); - dfp5->maximum(127); - dfp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* dfp5 - { Fl_Osc_Dial* o = dfp6 = new Fl_Osc_Dial(235, 40, 30, 30, "LfoD"); - dfp6->tooltip("LFO Depth"); - dfp6->box(FL_ROUND_UP_BOX); - dfp6->color(FL_BACKGROUND_COLOR); - dfp6->selection_color(FL_INACTIVE_COLOR); - dfp6->labeltype(FL_NORMAL_LABEL); - dfp6->labelfont(1); - dfp6->labelsize(11); - dfp6->labelcolor(FL_FOREGROUND_COLOR); - dfp6->maximum(127); - dfp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* dfp6 - { Fl_Osc_Choice* o = dfp4 = new Fl_Osc_Choice(155, 50, 40, 15, "LFO type"); - dfp4->tooltip("LFO function"); - dfp4->box(FL_UP_BOX); - dfp4->down_box(FL_BORDER_BOX); - dfp4->color(FL_BACKGROUND_COLOR); - dfp4->selection_color(FL_SELECTION_COLOR); - dfp4->labeltype(FL_NORMAL_LABEL); - dfp4->labelfont(1); - dfp4->labelsize(10); - dfp4->labelcolor(FL_FOREGROUND_COLOR); - dfp4->textsize(8); - dfp4->align(Fl_Align(130)); - dfp4->when(FL_WHEN_RELEASE); - dfp4->menu(menu_dfp4); - o->init("parameter4"); - } // Fl_Osc_Choice* dfp4 - { Fl_Button* o = new Fl_Button(115, 10, 55, 25, "Filter"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Filter); - } // Fl_Button* o - { Fl_Group* o = new Fl_Group(270, 40, 105, 45); - o->box(FL_UP_FRAME); - o->color((Fl_Color)51); - { Fl_Osc_Dial* o = dfp7 = new Fl_Osc_Dial(275, 45, 25, 25, "A.S."); - dfp7->tooltip("Filter vs Amplitude"); - dfp7->box(FL_ROUND_UP_BOX); - dfp7->color(FL_BACKGROUND_COLOR); - dfp7->selection_color(FL_INACTIVE_COLOR); - dfp7->labeltype(FL_NORMAL_LABEL); - dfp7->labelfont(1); - dfp7->labelsize(11); - dfp7->labelcolor(FL_FOREGROUND_COLOR); - dfp7->maximum(127); - dfp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* dfp7 - { Fl_Osc_Dial* o = dfp9 = new Fl_Osc_Dial(305, 45, 25, 25, "A.M"); - dfp9->tooltip("rate that amplitude changes the filter"); - dfp9->box(FL_ROUND_UP_BOX); - dfp9->color(FL_BACKGROUND_COLOR); - dfp9->selection_color(FL_INACTIVE_COLOR); - dfp9->labeltype(FL_NORMAL_LABEL); - dfp9->labelfont(1); - dfp9->labelsize(11); - dfp9->labelcolor(FL_FOREGROUND_COLOR); - dfp9->maximum(127); - dfp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* dfp9 - { Fl_Osc_Check* o = dfp8 = new Fl_Osc_Check(345, 55, 15, 15, "A.Inv."); - dfp8->tooltip("enable for filter frequency to lower with higher input amplitude"); - dfp8->box(FL_NO_BOX); - dfp8->down_box(FL_DOWN_BOX); - dfp8->color(FL_BACKGROUND_COLOR); - dfp8->selection_color(FL_FOREGROUND_COLOR); - dfp8->labeltype(FL_NORMAL_LABEL); - dfp8->labelfont(1); - dfp8->labelsize(11); - dfp8->labelcolor(FL_FOREGROUND_COLOR); - dfp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp8->when(FL_WHEN_RELEASE); - o->init("parameter8"); - } // Fl_Osc_Check* dfp8 - o->end(); - } // Fl_Group* o - set_module_parameters(o); - effdynamicfilterwindow->end(); - } // Fl_Group* effdynamicfilterwindow - return effdynamicfilterwindow; -} - -Fl_Double_Window* EffUI::make_filter_window() { - { Fl_Double_Window* o = filterwindow = new Fl_Double_Window(290, 110, "Filter Parameters for DynFilter Eff."); - filterwindow->user_data((void*)(this)); - { FilterUI* o = new FilterUI(5, 5, 275, 75, "DynFilter effect - 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("",osc, loc(), "filterpars/"); - o->use_for_dynamic_filter(); - o->end(); - } // FilterUI* o - { Fl_Button* o = new Fl_Button(105, 85, 70, 20, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - set_module_parameters(o); - filterwindow->end(); - } // Fl_Double_Window* filterwindow - return filterwindow; -} - -void EffUI::init(bool ins_) { - efftype = 0; - insertion = ins_; - - make_null_window(); - make_reverb_window(); - make_echo_window(); - make_chorus_window(); - make_phaser_window(); - make_alienwah_window(); - make_distorsion_window(); - make_eq_window(); - make_dynamicfilter_window(); - - int px=this->parent()->x(); - int py=this->parent()->y(); - - effnullwindow->position(px,py); - effreverbwindow->position(px,py); - effechowindow->position(px,py); - effchoruswindow->position(px,py); - effphaserwindow->position(px,py); - effalienwahwindow->position(px,py); - effdistorsionwindow->position(px,py); - effeqwindow->position(px,py); - effdynamicfilterwindow->position(px,py); - - refresh(); -} - -void EffUI::refresh() { - this->hide(); - for(int i=0; i<32; ++i) - osc->requestValue(loc()+"parameter"+to_s(i)); - - effnullwindow->hide(); - effreverbwindow->hide(); - effechowindow->hide(); - effchoruswindow->hide(); - effphaserwindow->hide(); - effalienwahwindow->hide(); - effdistorsionwindow->hide(); - effeqwindow->hide(); - effdynamicfilterwindow->hide(); - - eqband=0; - - if (filterwindow){ - filterwindow->hide(); - delete(filterwindow); - filterwindow=NULL; - }; - - if(insertion) { - revp0->label("D/W"); - echop0->label("D/W"); - chorusp0->label("D/W"); - phaserp0->label("D/W"); - awp0->label("D/W"); - distp0->label("D/W"); - dfp0->label("D/W"); - } - - switch(efftype){ - case 1: - effreverbwindow->show(); - break; - case 2: - effechowindow->show(); - break; - case 3: - effchoruswindow->show(); - break; - case 4: - effphaserwindow->show(); - break; - case 5: - effalienwahwindow->show(); - break; - case 6: - effdistorsionwindow->show(); - break; - case 7:eqband=0; - bandcounter->value(eqband); - bandcounter->do_callback(); - eqgraph->redraw(); - effeqwindow->show(); - break; - case 8:make_filter_window(); - - effdynamicfilterwindow->show(); - break; - default:effnullwindow->show(); - break; - }; - - this->show(); -} - -Fl_Menu_Item SimpleEffUI::menu_revp1[] = { - {"Cathedral 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Cathedral 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Cathedral 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hall 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hall 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Room 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Room 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Basement", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Tunnel", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echoed 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echoed 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Very Long 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Very Long 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_echop1[] = { - {"Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Simple Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Canyon", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Panning Echo 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Panning Echo 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Panning Echo 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Feedback Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_chorusp1[] = { - {"Chorus 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Celeste 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Celeste 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flange 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_phaserp1[] = { - {"Phaser 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser 6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_awp1[] = { - {"Alienwah 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Alienwah 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Alienwah 3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Alienwah 4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_distp1[] = { - {"Overdrive 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Overdrive 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"A. Exciter 1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"A. Exciter 2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Guitar Amp", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Quantisize", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_distp51[] = { - {"Atan", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Asym1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Qnts", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Zigzg", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LmtU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LmtL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"ILmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Clip", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Asym2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sgm", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void SimpleEffUI::cb_bandcounter1_i(Fl_Counter* o, void*) { - eqband=(int) o->value(); -int npb=eqband*5+10; -typechoice->oscMove("parameter"+to_s(npb)); -freqdial->oscMove("parameter"+to_s(npb+1)); -gaindial->oscMove("parameter"+to_s(npb+2)); -qdial->oscMove("parameter"+to_s(npb+3)); -stagescounter->oscMove("parameter"+to_s(npb+4)); -} -void SimpleEffUI::cb_bandcounter1(Fl_Counter* o, void* v) { - ((SimpleEffUI*)(o->parent()->user_data()))->cb_bandcounter1_i(o,v); -} - -void SimpleEffUI::cb_freqdial1_i(Fl_Osc_Dial*, void*) { - eqgraph->redraw(); -} -void SimpleEffUI::cb_freqdial1(Fl_Osc_Dial* o, void* v) { - ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_freqdial1_i(o,v); -} - -void SimpleEffUI::cb_gaindial1_i(Fl_Osc_Dial*, void*) { - eqgraph->redraw(); -} -void SimpleEffUI::cb_gaindial1(Fl_Osc_Dial* o, void* v) { - ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_gaindial1_i(o,v); -} - -void SimpleEffUI::cb_qdial1_i(Fl_Osc_Dial*, void*) { - eqgraph->redraw(); -} -void SimpleEffUI::cb_qdial1(Fl_Osc_Dial* o, void* v) { - ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_qdial1_i(o,v); -} - -void SimpleEffUI::cb_stagescounter1_i(Fl_Osc_Counter*, void*) { - eqgraph->redraw(); -} -void SimpleEffUI::cb_stagescounter1(Fl_Osc_Counter* o, void* v) { - ((SimpleEffUI*)(o->parent()->parent()->user_data()))->cb_stagescounter1_i(o,v); -} - -void SimpleEffUI::cb_typechoice1_i(Fl_Osc_Choice* o, void*) { - int type = o->value(); -if (type>6) gaindial->activate(); - else gaindial->deactivate(); - -if (type==0) bandgroup->deactivate(); -else bandgroup->activate(); -eqgraph->redraw(); -} -void SimpleEffUI::cb_typechoice1(Fl_Osc_Choice* o, void* v) { - ((SimpleEffUI*)(o->parent()->user_data()))->cb_typechoice1_i(o,v); -} - -Fl_Menu_Item SimpleEffUI::menu_typechoice1[] = { - {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hp1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Hp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Bp2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"N2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pk", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SimpleEffUI::menu_dfp1[] = { - {"WahWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AutoWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sweep", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"VocalMorph1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"VocalMorph2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -SimpleEffUI::SimpleEffUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label),efftype(0) { -} - -SimpleEffUI::~SimpleEffUI() { - effnullwindow->hide();//delete (effnullwindow); - effreverbwindow->hide();//delete (effreverbwindow); - effechowindow->hide();//delete (effechowindow); - effchoruswindow->hide();//delete (effchoruswindow); - effphaserwindow->hide();//delete (effphaserwindow); - effalienwahwindow->hide();//delete (effalienwahwindow); - effdistorsionwindow->hide();//delete (effdistorsionwindow); - effeqwindow->hide();//delete (effeqwindow); - effdynamicfilterwindow->hide();//delete (effdynamicfilterwindow); -} - -Fl_Group* SimpleEffUI::make_null_window() { - { Fl_Group* o = effnullwindow = new Fl_Group(0, 0, 230, 95); - effnullwindow->box(FL_UP_BOX); - effnullwindow->color((Fl_Color)221); - effnullwindow->selection_color(FL_BACKGROUND_COLOR); - effnullwindow->labeltype(FL_NO_LABEL); - effnullwindow->labelfont(1); - effnullwindow->labelsize(19); - effnullwindow->labelcolor(FL_FOREGROUND_COLOR); - effnullwindow->user_data((void*)(this)); - effnullwindow->align(Fl_Align(FL_ALIGN_TOP)); - effnullwindow->when(FL_WHEN_RELEASE); - set_module_parameters(o); - effnullwindow->end(); - } // Fl_Group* effnullwindow - return effnullwindow; -} - -Fl_Group* SimpleEffUI::make_reverb_window() { - { Fl_Group* o = effreverbwindow = new Fl_Group(0, 0, 230, 100); - effreverbwindow->box(FL_UP_BOX); - effreverbwindow->color((Fl_Color)51); - effreverbwindow->selection_color(FL_BACKGROUND_COLOR); - effreverbwindow->labeltype(FL_NO_LABEL); - effreverbwindow->labelfont(1); - effreverbwindow->labelsize(19); - effreverbwindow->labelcolor(FL_FOREGROUND_COLOR); - effreverbwindow->user_data((void*)(this)); - effreverbwindow->align(Fl_Align(FL_ALIGN_TOP)); - effreverbwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = revp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - revp->box(FL_UP_BOX); - revp->down_box(FL_BORDER_BOX); - revp->color(FL_DARK1); - revp->selection_color(FL_BACKGROUND2_COLOR); - revp->labeltype(FL_NORMAL_LABEL); - revp->labelfont(1); - revp->labelsize(10); - revp->labelcolor(FL_FOREGROUND_COLOR); - revp->textfont(1); - revp->textsize(10); - revp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - revp->when(FL_WHEN_RELEASE); - revp->menu(menu_revp1); - o->init("preset"); - } // Fl_Osc_Choice* revp - { Fl_Osc_Dial* o = revp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - revp0->tooltip("Effect Volume"); - revp0->box(FL_ROUND_UP_BOX); - revp0->color(FL_BACKGROUND_COLOR); - revp0->selection_color(FL_INACTIVE_COLOR); - revp0->labeltype(FL_NORMAL_LABEL); - revp0->labelfont(1); - revp0->labelsize(11); - revp0->labelcolor(FL_FOREGROUND_COLOR); - revp0->maximum(127); - revp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* revp0 - { Fl_Osc_Dial* o = revp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Time"); - revp2->tooltip("Duration of Reverb"); - revp2->box(FL_ROUND_UP_BOX); - revp2->color(FL_BACKGROUND_COLOR); - revp2->selection_color(FL_INACTIVE_COLOR); - revp2->labeltype(FL_NORMAL_LABEL); - revp2->labelfont(1); - revp2->labelsize(11); - revp2->labelcolor(FL_FOREGROUND_COLOR); - revp2->maximum(127); - revp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* revp2 - { Fl_Osc_Dial* o = revp3 = new Fl_Osc_Dial(85, 40, 30, 30, "I.del"); - revp3->tooltip("Initial Delay"); - revp3->box(FL_ROUND_UP_BOX); - revp3->color(FL_BACKGROUND_COLOR); - revp3->selection_color(FL_INACTIVE_COLOR); - revp3->labeltype(FL_NORMAL_LABEL); - revp3->labelfont(1); - revp3->labelsize(11); - revp3->labelcolor(FL_FOREGROUND_COLOR); - revp3->maximum(127); - revp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* revp3 - { Fl_Osc_Dial* o = revp9 = new Fl_Osc_Dial(120, 40, 30, 30, "Damp"); - revp9->tooltip("Dampening"); - revp9->box(FL_ROUND_UP_BOX); - revp9->color(FL_BACKGROUND_COLOR); - revp9->selection_color(FL_INACTIVE_COLOR); - revp9->labeltype(FL_NORMAL_LABEL); - revp9->labelfont(1); - revp9->labelsize(11); - revp9->labelcolor(FL_FOREGROUND_COLOR); - revp9->minimum(64); - revp9->maximum(127); - revp9->step(1); - revp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* revp9 - set_module_parameters(o); - effreverbwindow->end(); - } // Fl_Group* effreverbwindow - return effreverbwindow; -} - -Fl_Group* SimpleEffUI::make_echo_window() { - { Fl_Group* o = effechowindow = new Fl_Group(0, 0, 230, 100); - effechowindow->box(FL_UP_BOX); - effechowindow->color((Fl_Color)51); - effechowindow->selection_color(FL_BACKGROUND_COLOR); - effechowindow->labeltype(FL_NO_LABEL); - effechowindow->labelfont(1); - effechowindow->labelsize(19); - effechowindow->labelcolor(FL_FOREGROUND_COLOR); - effechowindow->user_data((void*)(this)); - effechowindow->align(Fl_Align(FL_ALIGN_TOP)); - effechowindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = echop = new Fl_Osc_Choice(11, 15, 95, 15, "Preset"); - echop->box(FL_UP_BOX); - echop->down_box(FL_BORDER_BOX); - echop->color(FL_DARK1); - echop->selection_color(FL_BACKGROUND2_COLOR); - echop->labeltype(FL_NORMAL_LABEL); - echop->labelfont(1); - echop->labelsize(10); - echop->labelcolor(FL_FOREGROUND_COLOR); - echop->textfont(1); - echop->textsize(10); - echop->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - echop->when(FL_WHEN_RELEASE); - echop->menu(menu_echop1); - o->init("preset"); - } // Fl_Osc_Choice* echop - { Fl_Osc_Dial* o = echop0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - echop0->tooltip("Effect Volume"); - echop0->box(FL_ROUND_UP_BOX); - echop0->color(FL_BACKGROUND_COLOR); - echop0->selection_color(FL_INACTIVE_COLOR); - echop0->labeltype(FL_NORMAL_LABEL); - echop0->labelfont(1); - echop0->labelsize(11); - echop0->labelcolor(FL_FOREGROUND_COLOR); - echop0->maximum(127); - echop0->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* echop0 - { Fl_Osc_Dial* o = echop2 = new Fl_Osc_Dial(45, 40, 30, 30, "Delay"); - echop2->box(FL_ROUND_UP_BOX); - echop2->color(FL_BACKGROUND_COLOR); - echop2->selection_color(FL_INACTIVE_COLOR); - echop2->labeltype(FL_NORMAL_LABEL); - echop2->labelfont(1); - echop2->labelsize(11); - echop2->labelcolor(FL_FOREGROUND_COLOR); - echop2->maximum(127); - echop2->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop2->when(FL_WHEN_RELEASE); - o->init("parameter2"); - } // Fl_Osc_Dial* echop2 - { Fl_Osc_Dial* o = echop5 = new Fl_Osc_Dial(80, 40, 30, 30, "Fb."); - echop5->tooltip("Feedback"); - echop5->box(FL_ROUND_UP_BOX); - echop5->color(FL_BACKGROUND_COLOR); - echop5->selection_color(FL_INACTIVE_COLOR); - echop5->labeltype(FL_NORMAL_LABEL); - echop5->labelfont(1); - echop5->labelsize(11); - echop5->labelcolor(FL_FOREGROUND_COLOR); - echop5->maximum(127); - echop5->align(Fl_Align(FL_ALIGN_BOTTOM)); - echop5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* echop5 - set_module_parameters(o); - effechowindow->end(); - } // Fl_Group* effechowindow - return effechowindow; -} - -Fl_Group* SimpleEffUI::make_chorus_window() { - { Fl_Group* o = effchoruswindow = new Fl_Group(0, 0, 230, 100); - effchoruswindow->box(FL_UP_BOX); - effchoruswindow->color((Fl_Color)51); - effchoruswindow->selection_color(FL_BACKGROUND_COLOR); - effchoruswindow->labeltype(FL_NO_LABEL); - effchoruswindow->labelfont(1); - effchoruswindow->labelsize(19); - effchoruswindow->labelcolor(FL_FOREGROUND_COLOR); - effchoruswindow->user_data((void*)(this)); - effchoruswindow->align(Fl_Align(FL_ALIGN_TOP)); - effchoruswindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = chorusp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - chorusp->box(FL_UP_BOX); - chorusp->down_box(FL_BORDER_BOX); - chorusp->color(FL_DARK1); - chorusp->selection_color(FL_BACKGROUND2_COLOR); - chorusp->labeltype(FL_NORMAL_LABEL); - chorusp->labelfont(1); - chorusp->labelsize(10); - chorusp->labelcolor(FL_FOREGROUND_COLOR); - chorusp->textfont(1); - chorusp->textsize(10); - chorusp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - chorusp->when(FL_WHEN_RELEASE); - chorusp->menu(menu_chorusp1); - o->init("preset"); - } // Fl_Osc_Choice* chorusp - { Fl_Osc_Dial* o = chorusp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - chorusp0->tooltip("Effect Volume"); - chorusp0->box(FL_ROUND_UP_BOX); - chorusp0->color(FL_BACKGROUND_COLOR); - chorusp0->selection_color(FL_INACTIVE_COLOR); - chorusp0->labeltype(FL_NORMAL_LABEL); - chorusp0->labelfont(1); - chorusp0->labelsize(11); - chorusp0->labelcolor(FL_FOREGROUND_COLOR); - chorusp0->maximum(127); - chorusp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* chorusp0 - { Fl_Osc_Dial* o = chorusp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq"); - chorusp2->tooltip("LFO Frequency"); - chorusp2->box(FL_ROUND_UP_BOX); - chorusp2->color(FL_BACKGROUND_COLOR); - chorusp2->selection_color(FL_INACTIVE_COLOR); - chorusp2->labeltype(FL_NORMAL_LABEL); - chorusp2->labelfont(1); - chorusp2->labelsize(11); - chorusp2->labelcolor(FL_FOREGROUND_COLOR); - chorusp2->maximum(127); - chorusp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* chorusp2 - { Fl_Osc_Dial* o = chorusp6 = new Fl_Osc_Dial(80, 40, 30, 30, "Dpth"); - chorusp6->tooltip("Depth"); - chorusp6->box(FL_ROUND_UP_BOX); - chorusp6->color(FL_BACKGROUND_COLOR); - chorusp6->selection_color(FL_INACTIVE_COLOR); - chorusp6->labeltype(FL_NORMAL_LABEL); - chorusp6->labelfont(1); - chorusp6->labelsize(11); - chorusp6->labelcolor(FL_FOREGROUND_COLOR); - chorusp6->maximum(127); - chorusp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* chorusp6 - { Fl_Osc_Dial* o = chorusp7 = new Fl_Osc_Dial(115, 40, 30, 30, "Delay"); - chorusp7->box(FL_ROUND_UP_BOX); - chorusp7->color(FL_BACKGROUND_COLOR); - chorusp7->selection_color(FL_INACTIVE_COLOR); - chorusp7->labeltype(FL_NORMAL_LABEL); - chorusp7->labelfont(1); - chorusp7->labelsize(11); - chorusp7->labelcolor(FL_FOREGROUND_COLOR); - chorusp7->maximum(127); - chorusp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* chorusp7 - { Fl_Osc_Dial* o = chorusp8 = new Fl_Osc_Dial(150, 40, 30, 30, "Fb"); - chorusp8->tooltip("Feedback"); - chorusp8->box(FL_ROUND_UP_BOX); - chorusp8->color(FL_BACKGROUND_COLOR); - chorusp8->selection_color(FL_INACTIVE_COLOR); - chorusp8->labeltype(FL_NORMAL_LABEL); - chorusp8->labelfont(1); - chorusp8->labelsize(11); - chorusp8->labelcolor(FL_FOREGROUND_COLOR); - chorusp8->maximum(127); - chorusp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - chorusp8->when(FL_WHEN_CHANGED); - o->init("parameter8"); - } // Fl_Osc_Dial* chorusp8 - { Fl_Osc_Check* o = new Fl_Osc_Check(120, 10, 55, 20, "Flange"); - o->box(FL_THIN_UP_BOX); - o->down_box(FL_DOWN_BOX); - o->color((Fl_Color)230); - 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->hide(); - o->deactivate(); - o->init("parameter10"); - } // Fl_Osc_Check* o - set_module_parameters(o); - effchoruswindow->end(); - } // Fl_Group* effchoruswindow - return effchoruswindow; -} - -Fl_Group* SimpleEffUI::make_phaser_window() { - { Fl_Group* o = effphaserwindow = new Fl_Group(0, 0, 230, 100); - effphaserwindow->box(FL_UP_BOX); - effphaserwindow->color((Fl_Color)51); - effphaserwindow->selection_color(FL_BACKGROUND_COLOR); - effphaserwindow->labeltype(FL_NO_LABEL); - effphaserwindow->labelfont(1); - effphaserwindow->labelsize(19); - effphaserwindow->labelcolor(FL_FOREGROUND_COLOR); - effphaserwindow->user_data((void*)(this)); - effphaserwindow->align(Fl_Align(FL_ALIGN_TOP)); - effphaserwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = phaserp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - phaserp->box(FL_UP_BOX); - phaserp->down_box(FL_BORDER_BOX); - phaserp->color(FL_DARK1); - phaserp->selection_color(FL_FOREGROUND_COLOR); - phaserp->labeltype(FL_NORMAL_LABEL); - phaserp->labelfont(1); - phaserp->labelsize(10); - phaserp->labelcolor((Fl_Color)55); - phaserp->textfont(1); - phaserp->textsize(10); - phaserp->textcolor(FL_BACKGROUND2_COLOR); - phaserp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - phaserp->when(FL_WHEN_RELEASE); - phaserp->menu(menu_phaserp1); - o->init("preset"); - } // Fl_Osc_Choice* phaserp - { Fl_Osc_Dial* o = phaserp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - phaserp0->tooltip("Effect Volume"); - phaserp0->box(FL_ROUND_UP_BOX); - phaserp0->color(FL_BACKGROUND_COLOR); - phaserp0->selection_color(FL_INACTIVE_COLOR); - phaserp0->labeltype(FL_NORMAL_LABEL); - phaserp0->labelfont(1); - phaserp0->labelsize(11); - phaserp0->labelcolor(FL_FOREGROUND_COLOR); - phaserp0->maximum(127); - phaserp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* phaserp0 - { Fl_Osc_Dial* o = phaserp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq"); - phaserp2->tooltip("LFO frequency"); - phaserp2->box(FL_ROUND_UP_BOX); - phaserp2->color(FL_BACKGROUND_COLOR); - phaserp2->selection_color(FL_INACTIVE_COLOR); - phaserp2->labeltype(FL_NORMAL_LABEL); - phaserp2->labelfont(1); - phaserp2->labelsize(11); - phaserp2->labelcolor(FL_FOREGROUND_COLOR); - phaserp2->maximum(127); - phaserp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* phaserp2 - { Fl_Osc_Dial* o = phaserp5 = new Fl_Osc_Dial(80, 40, 30, 30, "St.df"); - phaserp5->tooltip("Left/Right Channel Phase Shift"); - phaserp5->box(FL_ROUND_UP_BOX); - phaserp5->color(FL_BACKGROUND_COLOR); - phaserp5->selection_color(FL_INACTIVE_COLOR); - phaserp5->labeltype(FL_NORMAL_LABEL); - phaserp5->labelfont(1); - phaserp5->labelsize(11); - phaserp5->labelcolor(FL_FOREGROUND_COLOR); - phaserp5->maximum(127); - phaserp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp5->when(FL_WHEN_CHANGED); - o->init("parameter5"); - } // Fl_Osc_Dial* phaserp5 - { Fl_Osc_Dial* o = phaserp6 = new Fl_Osc_Dial(115, 40, 30, 30, "Dpth"); - phaserp6->tooltip("Depth"); - phaserp6->box(FL_ROUND_UP_BOX); - phaserp6->color(FL_BACKGROUND_COLOR); - phaserp6->selection_color(FL_INACTIVE_COLOR); - phaserp6->labeltype(FL_NORMAL_LABEL); - phaserp6->labelfont(1); - phaserp6->labelsize(11); - phaserp6->labelcolor(FL_FOREGROUND_COLOR); - phaserp6->maximum(127); - phaserp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* phaserp6 - { Fl_Osc_Dial* o = phaserp7 = new Fl_Osc_Dial(150, 40, 30, 30, "Fb"); - phaserp7->tooltip("Feedback"); - phaserp7->box(FL_ROUND_UP_BOX); - phaserp7->color(FL_BACKGROUND_COLOR); - phaserp7->selection_color(FL_INACTIVE_COLOR); - phaserp7->labeltype(FL_NORMAL_LABEL); - phaserp7->labelfont(1); - phaserp7->labelsize(11); - phaserp7->labelcolor(FL_FOREGROUND_COLOR); - phaserp7->maximum(127); - phaserp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* phaserp7 - { Fl_Osc_Counter* o = phaserp8 = new Fl_Osc_Counter(185, 55, 35, 15, "Stages"); - phaserp8->type(1); - phaserp8->box(FL_UP_BOX); - phaserp8->color(FL_BACKGROUND_COLOR); - phaserp8->selection_color(FL_INACTIVE_COLOR); - phaserp8->labeltype(FL_NORMAL_LABEL); - phaserp8->labelfont(1); - phaserp8->labelsize(11); - phaserp8->labelcolor(FL_FOREGROUND_COLOR); - phaserp8->minimum(0); - phaserp8->maximum(127); - phaserp8->step(1); - phaserp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - phaserp8->when(FL_WHEN_CHANGED); - o->range(1,MAX_PHASER_STAGES); - o->init("parameter8"); - } // Fl_Osc_Counter* phaserp8 - set_module_parameters(o); - effphaserwindow->end(); - } // Fl_Group* effphaserwindow - return effphaserwindow; -} - -Fl_Group* SimpleEffUI::make_alienwah_window() { - { Fl_Group* o = effalienwahwindow = new Fl_Group(0, 0, 230, 100); - effalienwahwindow->box(FL_UP_BOX); - effalienwahwindow->color((Fl_Color)51); - effalienwahwindow->selection_color(FL_BACKGROUND_COLOR); - effalienwahwindow->labeltype(FL_NO_LABEL); - effalienwahwindow->labelfont(1); - effalienwahwindow->labelsize(19); - effalienwahwindow->labelcolor(FL_FOREGROUND_COLOR); - effalienwahwindow->user_data((void*)(this)); - effalienwahwindow->align(Fl_Align(FL_ALIGN_TOP)); - effalienwahwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = awp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - awp->box(FL_UP_BOX); - awp->down_box(FL_BORDER_BOX); - awp->color(FL_DARK1); - awp->selection_color(FL_BACKGROUND2_COLOR); - awp->labeltype(FL_NORMAL_LABEL); - awp->labelfont(1); - awp->labelsize(10); - awp->labelcolor(FL_FOREGROUND_COLOR); - awp->textfont(1); - awp->textsize(10); - awp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - awp->when(FL_WHEN_RELEASE); - awp->menu(menu_awp1); - o->init("preset"); - } // Fl_Osc_Choice* awp - { Fl_Osc_Dial* o = awp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - awp0->tooltip("Effect Volume"); - awp0->box(FL_ROUND_UP_BOX); - awp0->color(FL_BACKGROUND_COLOR); - awp0->selection_color(FL_INACTIVE_COLOR); - awp0->labeltype(FL_NORMAL_LABEL); - awp0->labelfont(1); - awp0->labelsize(11); - awp0->labelcolor(FL_FOREGROUND_COLOR); - awp0->maximum(127); - awp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* awp0 - { Fl_Osc_Dial* o = awp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq"); - awp2->tooltip("LFO frequency"); - awp2->box(FL_ROUND_UP_BOX); - awp2->color(FL_BACKGROUND_COLOR); - awp2->selection_color(FL_INACTIVE_COLOR); - awp2->labeltype(FL_NORMAL_LABEL); - awp2->labelfont(1); - awp2->labelsize(11); - awp2->labelcolor(FL_FOREGROUND_COLOR); - awp2->maximum(127); - awp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* awp2 - { Fl_Osc_Dial* o = awp6 = new Fl_Osc_Dial(85, 40, 30, 30, "Dpth"); - awp6->tooltip("Depth"); - awp6->box(FL_ROUND_UP_BOX); - awp6->color(FL_BACKGROUND_COLOR); - awp6->selection_color(FL_INACTIVE_COLOR); - awp6->labeltype(FL_NORMAL_LABEL); - awp6->labelfont(1); - awp6->labelsize(11); - awp6->labelcolor(FL_FOREGROUND_COLOR); - awp6->maximum(127); - awp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* awp6 - { Fl_Osc_Counter* o = awp8 = new Fl_Osc_Counter(125, 55, 35, 15, "Delay"); - awp8->type(1); - awp8->box(FL_UP_BOX); - awp8->color(FL_BACKGROUND_COLOR); - awp8->selection_color(FL_INACTIVE_COLOR); - awp8->labeltype(FL_NORMAL_LABEL); - awp8->labelfont(1); - awp8->labelsize(11); - awp8->labelcolor(FL_FOREGROUND_COLOR); - awp8->minimum(0); - awp8->maximum(127); - awp8->step(1); - awp8->align(Fl_Align(FL_ALIGN_BOTTOM)); - awp8->when(FL_WHEN_CHANGED); - o->range(1,MAX_ALIENWAH_DELAY); - o->init("parameter8"); - } // Fl_Osc_Counter* awp8 - set_module_parameters(o); - effalienwahwindow->end(); - } // Fl_Group* effalienwahwindow - return effalienwahwindow; -} - -Fl_Group* SimpleEffUI::make_distorsion_window() { - { Fl_Group* o = effdistorsionwindow = new Fl_Group(0, 0, 230, 100); - effdistorsionwindow->box(FL_UP_BOX); - effdistorsionwindow->color((Fl_Color)51); - effdistorsionwindow->selection_color(FL_BACKGROUND_COLOR); - effdistorsionwindow->labeltype(FL_NO_LABEL); - effdistorsionwindow->labelfont(1); - effdistorsionwindow->labelsize(19); - effdistorsionwindow->labelcolor(FL_FOREGROUND_COLOR); - effdistorsionwindow->user_data((void*)(this)); - effdistorsionwindow->align(Fl_Align(FL_ALIGN_TOP)); - effdistorsionwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = distp = new Fl_Osc_Choice(11, 15, 95, 15, "Preset"); - distp->box(FL_UP_BOX); - distp->down_box(FL_BORDER_BOX); - distp->color(FL_DARK1); - distp->selection_color(FL_BACKGROUND2_COLOR); - distp->labeltype(FL_NORMAL_LABEL); - distp->labelfont(1); - distp->labelsize(10); - distp->labelcolor(FL_FOREGROUND_COLOR); - distp->textfont(1); - distp->textsize(10); - distp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - distp->when(FL_WHEN_RELEASE); - distp->menu(menu_distp1); - o->init("preset"); - } // Fl_Osc_Choice* distp - { Fl_Osc_Dial* o = distp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - distp0->tooltip("Effect Volume"); - distp0->box(FL_ROUND_UP_BOX); - distp0->color(FL_BACKGROUND_COLOR); - distp0->selection_color(FL_INACTIVE_COLOR); - distp0->labeltype(FL_NORMAL_LABEL); - distp0->labelfont(1); - distp0->labelsize(11); - distp0->labelcolor(FL_FOREGROUND_COLOR); - distp0->maximum(127); - distp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* distp0 - { Fl_Osc_Dial* o = distp3 = new Fl_Osc_Dial(45, 40, 30, 30, "Drive"); - distp3->tooltip("Input amplification"); - distp3->box(FL_ROUND_UP_BOX); - distp3->color(FL_BACKGROUND_COLOR); - distp3->selection_color(FL_INACTIVE_COLOR); - distp3->labeltype(FL_NORMAL_LABEL); - distp3->labelfont(1); - distp3->labelsize(11); - distp3->labelcolor(FL_FOREGROUND_COLOR); - distp3->maximum(127); - distp3->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp3->when(FL_WHEN_RELEASE); - o->init("parameter3"); - } // Fl_Osc_Dial* distp3 - { Fl_Osc_Dial* o = distp4 = new Fl_Osc_Dial(80, 40, 30, 30, "Level"); - distp4->tooltip("Output Amplification"); - distp4->box(FL_ROUND_UP_BOX); - distp4->color(FL_BACKGROUND_COLOR); - distp4->selection_color(FL_INACTIVE_COLOR); - distp4->labeltype(FL_NORMAL_LABEL); - distp4->labelfont(1); - distp4->labelsize(11); - distp4->labelcolor(FL_FOREGROUND_COLOR); - distp4->maximum(127); - distp4->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp4->when(FL_WHEN_CHANGED); - o->init("parameter4"); - } // Fl_Osc_Dial* distp4 - { Fl_Osc_Dial* o = distp7 = new Fl_Osc_Dial(190, 40, 30, 30, "LPF"); - distp7->tooltip("Low Pass Filter"); - distp7->box(FL_ROUND_UP_BOX); - distp7->color(FL_BACKGROUND_COLOR); - distp7->selection_color(FL_INACTIVE_COLOR); - distp7->labeltype(FL_NORMAL_LABEL); - distp7->labelfont(1); - distp7->labelsize(11); - distp7->labelcolor(FL_FOREGROUND_COLOR); - distp7->maximum(127); - distp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* distp7 - { Fl_Osc_Choice* o = distp5 = new Fl_Osc_Choice(120, 50, 60, 20, "Type"); - distp5->box(FL_UP_BOX); - distp5->down_box(FL_BORDER_BOX); - distp5->color(FL_BACKGROUND_COLOR); - distp5->selection_color(FL_SELECTION_COLOR); - distp5->labeltype(FL_NORMAL_LABEL); - distp5->labelfont(1); - distp5->labelsize(11); - distp5->labelcolor(FL_FOREGROUND_COLOR); - distp5->textsize(10); - distp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - distp5->when(FL_WHEN_RELEASE); - distp5->menu(menu_distp51); - o->init("parameter5"); - } // Fl_Osc_Choice* distp5 - set_module_parameters(o); - effdistorsionwindow->end(); - } // Fl_Group* effdistorsionwindow - return effdistorsionwindow; -} - -Fl_Group* SimpleEffUI::make_eq_window() { - { Fl_Group* o = effeqwindow = new Fl_Group(0, 0, 230, 100); - effeqwindow->box(FL_UP_BOX); - effeqwindow->color((Fl_Color)51); - effeqwindow->selection_color(FL_BACKGROUND_COLOR); - effeqwindow->labeltype(FL_NO_LABEL); - effeqwindow->labelfont(1); - effeqwindow->labelsize(19); - effeqwindow->labelcolor(FL_FOREGROUND_COLOR); - effeqwindow->user_data((void*)(this)); - effeqwindow->align(Fl_Align(FL_ALIGN_TOP)); - effeqwindow->when(FL_WHEN_RELEASE); - { Fl_Counter* o = bandcounter = new Fl_Counter(85, 15, 45, 15, "Band"); - bandcounter->tooltip("Band no."); - bandcounter->type(1); - bandcounter->labelfont(1); - bandcounter->labelsize(11); - bandcounter->minimum(0); - bandcounter->maximum(1); - bandcounter->step(1); - bandcounter->textfont(1); - bandcounter->textsize(11); - bandcounter->callback((Fl_Callback*)cb_bandcounter1); - bandcounter->align(Fl_Align(FL_ALIGN_TOP)); - o->bounds(0,MAX_EQ_BANDS-1); - } // Fl_Counter* bandcounter - { bandgroup = new Fl_Group(5, 5, 75, 85); - bandgroup->box(FL_UP_FRAME); - { Fl_Osc_Dial* o = freqdial = new Fl_Osc_Dial(10, 10, 25, 25, "Freq"); - freqdial->box(FL_ROUND_UP_BOX); - freqdial->color(FL_BACKGROUND_COLOR); - freqdial->selection_color(FL_INACTIVE_COLOR); - freqdial->labeltype(FL_NORMAL_LABEL); - freqdial->labelfont(1); - freqdial->labelsize(10); - freqdial->labelcolor(FL_FOREGROUND_COLOR); - freqdial->maximum(127); - freqdial->callback((Fl_Callback*)cb_freqdial1); - freqdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - freqdial->when(3); - o->init("parameter11"); - } // Fl_Osc_Dial* freqdial - { Fl_Osc_Dial* o = gaindial = new Fl_Osc_Dial(45, 10, 25, 25, "Gain"); - gaindial->box(FL_ROUND_UP_BOX); - gaindial->color(FL_BACKGROUND_COLOR); - gaindial->selection_color(FL_INACTIVE_COLOR); - gaindial->labeltype(FL_NORMAL_LABEL); - gaindial->labelfont(1); - gaindial->labelsize(10); - gaindial->labelcolor(FL_FOREGROUND_COLOR); - gaindial->maximum(127); - gaindial->step(1); - gaindial->callback((Fl_Callback*)cb_gaindial1); - gaindial->align(Fl_Align(FL_ALIGN_BOTTOM)); - gaindial->when(3); - o->init("parameter12"); - } // Fl_Osc_Dial* gaindial - { Fl_Osc_Dial* o = qdial = new Fl_Osc_Dial(10, 50, 25, 25, "Q"); - qdial->tooltip("Bandwidth/Resonance"); - qdial->box(FL_ROUND_UP_BOX); - qdial->color(FL_BACKGROUND_COLOR); - qdial->selection_color(FL_INACTIVE_COLOR); - qdial->labeltype(FL_NORMAL_LABEL); - qdial->labelfont(1); - qdial->labelsize(10); - qdial->labelcolor(FL_FOREGROUND_COLOR); - qdial->maximum(127); - qdial->callback((Fl_Callback*)cb_qdial1); - qdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - qdial->when(3); - o->init("parameter13"); - } // Fl_Osc_Dial* qdial - { Fl_Osc_Counter* o = stagescounter = new Fl_Osc_Counter(40, 55, 30, 15, "Stages"); - stagescounter->tooltip("Additional filter stages"); - stagescounter->type(1); - stagescounter->box(FL_UP_BOX); - stagescounter->color(FL_BACKGROUND_COLOR); - stagescounter->selection_color(FL_INACTIVE_COLOR); - stagescounter->labeltype(FL_NORMAL_LABEL); - stagescounter->labelfont(1); - stagescounter->labelsize(10); - stagescounter->labelcolor(FL_FOREGROUND_COLOR); - stagescounter->minimum(1); - stagescounter->maximum(127); - stagescounter->step(1); - stagescounter->textfont(1); - stagescounter->textsize(11); - stagescounter->callback((Fl_Callback*)cb_stagescounter1); - stagescounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - stagescounter->when(FL_WHEN_CHANGED); - o->bounds(0,MAX_FILTER_STAGES-1); - o->init("parameter14"); - } // Fl_Osc_Counter* stagescounter - bandgroup->end(); - } // Fl_Group* bandgroup - { Fl_Osc_Choice* o = typechoice = new Fl_Osc_Choice(135, 15, 40, 15, "Type"); - typechoice->tooltip("Type"); - typechoice->box(FL_UP_BOX); - typechoice->down_box(FL_BORDER_BOX); - typechoice->color(FL_BACKGROUND_COLOR); - typechoice->selection_color(FL_SELECTION_COLOR); - typechoice->labeltype(FL_NORMAL_LABEL); - typechoice->labelfont(1); - typechoice->labelsize(10); - typechoice->labelcolor(FL_FOREGROUND_COLOR); - typechoice->textsize(10); - typechoice->callback((Fl_Callback*)cb_typechoice1); - typechoice->align(Fl_Align(FL_ALIGN_TOP)); - typechoice->when(FL_WHEN_RELEASE_ALWAYS); - typechoice->menu(menu_typechoice1); - o->init("parameter10"); - } // Fl_Osc_Choice* typechoice - { eqgraph = new Fl_EQGraph(85, 35, 140, 55); - eqgraph->box(FL_BORDER_BOX); - eqgraph->color(FL_LIGHT1); - eqgraph->selection_color(FL_BACKGROUND_COLOR); - eqgraph->labeltype(FL_NORMAL_LABEL); - eqgraph->labelfont(0); - eqgraph->labelsize(14); - eqgraph->labelcolor(FL_FOREGROUND_COLOR); - eqgraph->align(Fl_Align(FL_ALIGN_CENTER)); - eqgraph->when(FL_WHEN_RELEASE); - } // Fl_EQGraph* eqgraph - set_module_parameters(o); - effeqwindow->end(); - } // Fl_Group* effeqwindow - return effeqwindow; -} - -Fl_Group* SimpleEffUI::make_dynamicfilter_window() { - { Fl_Group* o = effdynamicfilterwindow = new Fl_Group(0, 0, 230, 100); - effdynamicfilterwindow->box(FL_UP_BOX); - effdynamicfilterwindow->color((Fl_Color)51); - effdynamicfilterwindow->selection_color(FL_BACKGROUND_COLOR); - effdynamicfilterwindow->labeltype(FL_NO_LABEL); - effdynamicfilterwindow->labelfont(1); - effdynamicfilterwindow->labelsize(19); - effdynamicfilterwindow->labelcolor(FL_FOREGROUND_COLOR); - effdynamicfilterwindow->user_data((void*)(this)); - effdynamicfilterwindow->align(Fl_Align(FL_ALIGN_TOP)); - effdynamicfilterwindow->when(FL_WHEN_RELEASE); - { Fl_Osc_Choice* o = dfp = new Fl_Osc_Choice(10, 15, 90, 15, "Preset"); - dfp->box(FL_UP_BOX); - dfp->down_box(FL_BORDER_BOX); - dfp->color(FL_DARK1); - dfp->selection_color(FL_BACKGROUND2_COLOR); - dfp->labeltype(FL_NORMAL_LABEL); - dfp->labelfont(1); - dfp->labelsize(10); - dfp->labelcolor(FL_FOREGROUND_COLOR); - dfp->textfont(1); - dfp->textsize(10); - dfp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - dfp->when(FL_WHEN_RELEASE); - dfp->menu(menu_dfp1); - o->init("preset"); - } // Fl_Osc_Choice* dfp - { Fl_Osc_Dial* o = dfp0 = new Fl_Osc_Dial(10, 40, 30, 30, "Vol"); - dfp0->tooltip("Effect Volume"); - dfp0->box(FL_ROUND_UP_BOX); - dfp0->color(FL_BACKGROUND_COLOR); - dfp0->selection_color(FL_INACTIVE_COLOR); - dfp0->labeltype(FL_NORMAL_LABEL); - dfp0->labelfont(1); - dfp0->labelsize(11); - dfp0->labelcolor(FL_FOREGROUND_COLOR); - dfp0->maximum(127); - dfp0->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp0->when(FL_WHEN_CHANGED); - o->init("parameter0"); - } // Fl_Osc_Dial* dfp0 - { Fl_Osc_Dial* o = dfp2 = new Fl_Osc_Dial(45, 40, 30, 30, "Freq"); - dfp2->tooltip("LFO frequency"); - dfp2->box(FL_ROUND_UP_BOX); - dfp2->color(FL_BACKGROUND_COLOR); - dfp2->selection_color(FL_INACTIVE_COLOR); - dfp2->labeltype(FL_NORMAL_LABEL); - dfp2->labelfont(1); - dfp2->labelsize(11); - dfp2->labelcolor(FL_FOREGROUND_COLOR); - dfp2->maximum(127); - dfp2->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp2->when(FL_WHEN_CHANGED); - o->init("parameter2"); - } // Fl_Osc_Dial* dfp2 - { Fl_Osc_Dial* o = dfp6 = new Fl_Osc_Dial(80, 40, 30, 30, "LfoD"); - dfp6->tooltip("LFO depth"); - dfp6->box(FL_ROUND_UP_BOX); - dfp6->color(FL_BACKGROUND_COLOR); - dfp6->selection_color(FL_INACTIVE_COLOR); - dfp6->labeltype(FL_NORMAL_LABEL); - dfp6->labelfont(1); - dfp6->labelsize(11); - dfp6->labelcolor(FL_FOREGROUND_COLOR); - dfp6->maximum(127); - dfp6->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp6->when(FL_WHEN_CHANGED); - o->init("parameter6"); - } // Fl_Osc_Dial* dfp6 - { Fl_Group* o = new Fl_Group(115, 40, 65, 45); - o->box(FL_UP_FRAME); - { Fl_Osc_Dial* o = dfp7 = new Fl_Osc_Dial(120, 45, 25, 25, "A.S."); - dfp7->tooltip("how filter varies with amplitude"); - dfp7->box(FL_ROUND_UP_BOX); - dfp7->color(FL_BACKGROUND_COLOR); - dfp7->selection_color(FL_INACTIVE_COLOR); - dfp7->labeltype(FL_NORMAL_LABEL); - dfp7->labelfont(1); - dfp7->labelsize(11); - dfp7->labelcolor(FL_FOREGROUND_COLOR); - dfp7->maximum(127); - dfp7->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp7->when(FL_WHEN_CHANGED); - o->init("parameter7"); - } // Fl_Osc_Dial* dfp7 - { Fl_Osc_Dial* o = dfp9 = new Fl_Osc_Dial(150, 45, 25, 25, "A.M"); - dfp9->tooltip("how quickly the filter varies with amplitude"); - dfp9->box(FL_ROUND_UP_BOX); - dfp9->color(FL_BACKGROUND_COLOR); - dfp9->selection_color(FL_INACTIVE_COLOR); - dfp9->labeltype(FL_NORMAL_LABEL); - dfp9->labelfont(1); - dfp9->labelsize(11); - dfp9->labelcolor(FL_FOREGROUND_COLOR); - dfp9->maximum(127); - dfp9->align(Fl_Align(FL_ALIGN_BOTTOM)); - dfp9->when(FL_WHEN_CHANGED); - o->init("parameter9"); - } // Fl_Osc_Dial* dfp9 - o->end(); - } // Fl_Group* o - set_module_parameters(o); - effdynamicfilterwindow->end(); - } // Fl_Group* effdynamicfilterwindow - return effdynamicfilterwindow; -} - -void SimpleEffUI::init(bool ins_) { - efftype = 0; - insertion = ins_; - make_null_window(); - make_reverb_window(); - make_echo_window(); - make_chorus_window(); - make_phaser_window(); - make_alienwah_window(); - make_distorsion_window(); - make_eq_window(); - make_dynamicfilter_window(); - - int px=this->parent()->x(); - int py=this->parent()->y(); - - effnullwindow->position(px,py); - effreverbwindow->position(px,py); - effechowindow->position(px,py); - effchoruswindow->position(px,py); - effphaserwindow->position(px,py); - effalienwahwindow->position(px,py); - effdistorsionwindow->position(px,py); - effeqwindow->position(px,py); - effdynamicfilterwindow->position(px,py); -} - -void SimpleEffUI::refresh() { - this->hide(); - - for(int i=0; i<32; ++i) - osc->requestValue(loc()+"parameter"+to_s(i)); - - effnullwindow->hide(); - effreverbwindow->hide(); - effechowindow->hide(); - effchoruswindow->hide(); - effphaserwindow->hide(); - effalienwahwindow->hide(); - effdistorsionwindow->hide(); - effeqwindow->hide(); - effdynamicfilterwindow->hide(); - - eqband=0; - - if(insertion) { - revp0->label("D/W"); - echop0->label("D/W"); - chorusp0->label("D/W"); - phaserp0->label("D/W"); - awp0->label("D/W"); - distp0->label("D/W"); - dfp0->label("D/W"); - } - - switch(efftype){ - case 1: - effreverbwindow->show(); - break; - case 2: - effechowindow->show(); - break; - case 3: - effchoruswindow->show(); - break; - case 4: - effphaserwindow->show(); - break; - case 5: - effalienwahwindow->show(); - break; - case 6: - effdistorsionwindow->show(); - break; - case 7: - bandcounter->value(eqband); - bandcounter->do_callback(); - effeqwindow->show(); - break; - case 8: - effdynamicfilterwindow->show(); - break; - default:effnullwindow->show(); - break; - }; - - this->show(); -} diff --git a/zynaddsubfx/UI/EffUI.h b/zynaddsubfx/UI/EffUI.h deleted file mode 100644 index 4ed3461..0000000 --- a/zynaddsubfx/UI/EffUI.h +++ /dev/null @@ -1,318 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef EffUI_h -#define EffUI_h -#include -#include -#include -#include -#include "../globals.h" -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Check.H" -#include "Fl_EQGraph.H" -#include "Fl_Osc_Pane.H" -#include "EnvelopeUI.h" -#include "FilterUI.h" -#include "../Misc/Util.h" -#include "../Effects/EffectMgr.h" -#include "../Effects/Phaser.h" /* for macros only, TODO */ -#include "../Effects/Alienwah.h" /* for macros only, TODO */ -#include "PresetsUI.h" -#include "common.H" -using namespace zyncarla; -#include -#include -#include -#include - -class EffUI : public Fl_Osc_Group,public PresetsUI_ { -public: - EffUI(int x,int y, int w, int h, const char *label=0); - ~EffUI(); - Fl_Group* make_null_window(); - Fl_Group *effnullwindow; - Fl_Group* make_reverb_window(); - Fl_Group *effreverbwindow; - Fl_Osc_Choice *revp; - static Fl_Menu_Item menu_revp[]; - Fl_Osc_Choice *revp10; -private: - void cb_revp10_i(Fl_Osc_Choice*, void*); - static void cb_revp10(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_revp10[]; -public: - Fl_Osc_Dial *revp0; - Fl_Osc_Dial *revp1; - Fl_Osc_Dial *revp2; - Fl_Osc_Dial *revp3; - Fl_Osc_Dial *revp4; - Fl_Osc_Dial *revp12; - Fl_Osc_Dial *revp6; - Fl_Osc_Dial *revp7; - Fl_Osc_Dial *revp8; - Fl_Osc_Dial *revp9; - Fl_Osc_Dial *revp11; - Fl_Group* make_echo_window(); - Fl_Group *effechowindow; - Fl_Osc_Choice *echop; - static Fl_Menu_Item menu_echop[]; - Fl_Osc_Dial *echop0; - Fl_Osc_Dial *echop1; - Fl_Osc_Dial *echop2; - Fl_Osc_Dial *echop3; - Fl_Osc_Dial *echop4; - Fl_Osc_Dial *echop5; - Fl_Osc_Dial *echop6; - Fl_Group* make_chorus_window(); - Fl_Group *effchoruswindow; - Fl_Osc_Choice *chorusp; - static Fl_Menu_Item menu_chorusp[]; - Fl_Osc_Dial *chorusp0; - Fl_Osc_Dial *chorusp1; - Fl_Osc_Dial *chorusp2; - Fl_Osc_Dial *chorusp3; - Fl_Osc_Dial *chorusp5; - Fl_Osc_Dial *chorusp6; - Fl_Osc_Dial *chorusp7; - Fl_Osc_Dial *chorusp8; - Fl_Osc_Dial *chorusp9; - Fl_Osc_Check *chorusp11; - Fl_Osc_Choice *chorusp4; - static Fl_Menu_Item menu_chorusp4[]; - Fl_Group* make_phaser_window(); - Fl_Group *effphaserwindow; - Fl_Osc_Choice *phaserp; - static Fl_Menu_Item menu_phaserp[]; - Fl_Osc_Dial *phaserp0; - Fl_Osc_Dial *phaserp1; - Fl_Osc_Dial *phaserp2; - Fl_Osc_Dial *phaserp3; - Fl_Osc_Choice *phaserp4; - static Fl_Menu_Item menu_phaserp4[]; - Fl_Osc_Dial *phaserp5; - Fl_Osc_Dial *phaserp6; - Fl_Osc_Dial *phaserp7; - Fl_Osc_Counter *phaserp8; - Fl_Osc_Dial *phaserp9; - Fl_Osc_Check *phaserp10; - Fl_Osc_Dial *phaserp11; - Fl_Osc_Check *phaserp12; - Fl_Osc_Dial *phaserp13; - Fl_Osc_Check *phaserp14; - Fl_Group* make_alienwah_window(); - Fl_Group *effalienwahwindow; - Fl_Osc_Choice *awp; - static Fl_Menu_Item menu_awp[]; - Fl_Osc_Dial *awp0; - Fl_Osc_Dial *awp1; - Fl_Osc_Dial *awp2; - Fl_Osc_Dial *awp3; - Fl_Osc_Dial *awp5; - Fl_Osc_Dial *awp6; - Fl_Osc_Dial *awp7; - Fl_Osc_Dial *awp9; - Fl_Osc_Choice *awp4; - static Fl_Menu_Item menu_awp4[]; - Fl_Osc_Dial *awp10; - Fl_Osc_Counter *awp8; - Fl_Group* make_distorsion_window(); - Fl_Group *effdistorsionwindow; - Fl_Osc_Choice *distp; - static Fl_Menu_Item menu_distp[]; - Fl_Osc_Dial *distp0; - Fl_Osc_Dial *distp1; - Fl_Osc_Dial *distp2; - Fl_Osc_Dial *distp3; - Fl_Osc_Dial *distp4; - Fl_Osc_Dial *distp7; - Fl_Osc_Dial *distp8; - Fl_Osc_Choice *distp5; - static Fl_Menu_Item menu_distp5[]; - Fl_Osc_Check *distp6; - Fl_Osc_Check *distp9; - Fl_Osc_Check *distp10; - Fl_Group* make_eq_window(); - Fl_Group *effeqwindow; - Fl_Osc_Dial *eqp0; -private: - void cb_eqp0_i(Fl_Osc_Dial*, void*); - static void cb_eqp0(Fl_Osc_Dial*, void*); -public: - Fl_Counter *bandcounter; -private: - void cb_bandcounter_i(Fl_Counter*, void*); - static void cb_bandcounter(Fl_Counter*, void*); -public: - Fl_Group *bandgroup; - Fl_Osc_Dial *freqdial; -private: - void cb_freqdial_i(Fl_Osc_Dial*, void*); - static void cb_freqdial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *gaindial; -private: - void cb_gaindial_i(Fl_Osc_Dial*, void*); - static void cb_gaindial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *qdial; -private: - void cb_qdial_i(Fl_Osc_Dial*, void*); - static void cb_qdial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Counter *stagescounter; -private: - void cb_stagescounter_i(Fl_Osc_Counter*, void*); - static void cb_stagescounter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Choice *typechoice; -private: - void cb_typechoice_i(Fl_Osc_Choice*, void*); - static void cb_typechoice(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_typechoice[]; -public: - Fl_EQGraph *eqgraph; - Fl_Group* make_dynamicfilter_window(); - Fl_Group *effdynamicfilterwindow; - Fl_Osc_Choice *dfp; - static Fl_Menu_Item menu_dfp[]; - Fl_Osc_Dial *dfp0; - Fl_Osc_Dial *dfp1; - Fl_Osc_Dial *dfp2; - Fl_Osc_Dial *dfp3; - Fl_Osc_Dial *dfp5; - Fl_Osc_Dial *dfp6; - Fl_Osc_Choice *dfp4; - static Fl_Menu_Item menu_dfp4[]; -private: - void cb_Filter_i(Fl_Button*, void*); - static void cb_Filter(Fl_Button*, void*); -public: - Fl_Osc_Dial *dfp7; - Fl_Osc_Dial *dfp9; - Fl_Osc_Check *dfp8; - Fl_Double_Window* make_filter_window(); - Fl_Double_Window *filterwindow; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); -public: - void init(bool ins_); - void refresh(); -private: - int eqband; -public: - bool insertion; - int efftype; -}; - -class SimpleEffUI : public Fl_Osc_Group,public PresetsUI_ { -public: - SimpleEffUI(int x,int y, int w, int h, const char *label=0); - ~SimpleEffUI(); - Fl_Group* make_null_window(); - Fl_Group *effnullwindow; - Fl_Group* make_reverb_window(); - Fl_Group *effreverbwindow; - Fl_Osc_Choice *revp; - static Fl_Menu_Item menu_revp1[]; - Fl_Osc_Dial *revp0; - Fl_Osc_Dial *revp2; - Fl_Osc_Dial *revp3; - Fl_Osc_Dial *revp9; - Fl_Group* make_echo_window(); - Fl_Group *effechowindow; - Fl_Osc_Choice *echop; - static Fl_Menu_Item menu_echop1[]; - Fl_Osc_Dial *echop0; - Fl_Osc_Dial *echop2; - Fl_Osc_Dial *echop5; - Fl_Group* make_chorus_window(); - Fl_Group *effchoruswindow; - Fl_Osc_Choice *chorusp; - static Fl_Menu_Item menu_chorusp1[]; - Fl_Osc_Dial *chorusp0; - Fl_Osc_Dial *chorusp2; - Fl_Osc_Dial *chorusp6; - Fl_Osc_Dial *chorusp7; - Fl_Osc_Dial *chorusp8; - Fl_Group* make_phaser_window(); - Fl_Group *effphaserwindow; - Fl_Osc_Choice *phaserp; - static Fl_Menu_Item menu_phaserp1[]; - Fl_Osc_Dial *phaserp0; - Fl_Osc_Dial *phaserp2; - Fl_Osc_Dial *phaserp5; - Fl_Osc_Dial *phaserp6; - Fl_Osc_Dial *phaserp7; - Fl_Osc_Counter *phaserp8; - Fl_Group* make_alienwah_window(); - Fl_Group *effalienwahwindow; - Fl_Osc_Choice *awp; - static Fl_Menu_Item menu_awp1[]; - Fl_Osc_Dial *awp0; - Fl_Osc_Dial *awp2; - Fl_Osc_Dial *awp6; - Fl_Osc_Counter *awp8; - Fl_Group* make_distorsion_window(); - Fl_Group *effdistorsionwindow; - Fl_Osc_Choice *distp; - static Fl_Menu_Item menu_distp1[]; - Fl_Osc_Dial *distp0; - Fl_Osc_Dial *distp3; - Fl_Osc_Dial *distp4; - Fl_Osc_Dial *distp7; - Fl_Osc_Choice *distp5; - static Fl_Menu_Item menu_distp51[]; - Fl_Group* make_eq_window(); - Fl_Group *effeqwindow; - Fl_Counter *bandcounter; -private: - void cb_bandcounter1_i(Fl_Counter*, void*); - static void cb_bandcounter1(Fl_Counter*, void*); -public: - Fl_Group *bandgroup; - Fl_Osc_Dial *freqdial; -private: - void cb_freqdial1_i(Fl_Osc_Dial*, void*); - static void cb_freqdial1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *gaindial; -private: - void cb_gaindial1_i(Fl_Osc_Dial*, void*); - static void cb_gaindial1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *qdial; -private: - void cb_qdial1_i(Fl_Osc_Dial*, void*); - static void cb_qdial1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Counter *stagescounter; -private: - void cb_stagescounter1_i(Fl_Osc_Counter*, void*); - static void cb_stagescounter1(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Choice *typechoice; -private: - void cb_typechoice1_i(Fl_Osc_Choice*, void*); - static void cb_typechoice1(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_typechoice1[]; -public: - Fl_EQGraph *eqgraph; - Fl_Group* make_dynamicfilter_window(); - Fl_Group *effdynamicfilterwindow; - Fl_Osc_Choice *dfp; - static Fl_Menu_Item menu_dfp1[]; - Fl_Osc_Dial *dfp0; - Fl_Osc_Dial *dfp2; - Fl_Osc_Dial *dfp6; - Fl_Osc_Dial *dfp7; - Fl_Osc_Dial *dfp9; - void init(bool ins_); - void refresh(); -private: - int eqband; -public: - bool insertion; - int efftype; -}; -#endif diff --git a/zynaddsubfx/UI/EnvelopeUI.cpp b/zynaddsubfx/UI/EnvelopeUI.cpp deleted file mode 100644 index 8bda54b..0000000 --- a/zynaddsubfx/UI/EnvelopeUI.cpp +++ /dev/null @@ -1,1352 +0,0 @@ -// 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(); -} diff --git a/zynaddsubfx/UI/EnvelopeUI.h b/zynaddsubfx/UI/EnvelopeUI.h deleted file mode 100644 index 3a15f54..0000000 --- a/zynaddsubfx/UI/EnvelopeUI.h +++ /dev/null @@ -1,256 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef EnvelopeUI_h -#define EnvelopeUI_h -#include -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Button.H" -#include "Fl_Osc_Counter.H" -#include "Fl_Osc_Pane.H" -#include -#include -#include "../globals.h" -#include -#include "../Params/EnvelopeParams.h" -#include -#include -#include -#include "PresetsUI.h" -#include "common.H" -#include "EnvelopeFreeEdit.h" - -class PointButton : public Fl_Button, public Fl_Osc_Widget { -public: - PointButton(int x,int y, int w, int h, const char *label=0); - void rebase(std::string new_base); - void init(std::string path_); -}; -#include -#include - -class EnvelopeUI : public Fl_Osc_Group,PresetsUI_ { -public: - EnvelopeUI(int x,int y, int w, int h, const char *label=0); - ~EnvelopeUI(); - Fl_Osc_Window* make_freemode_edit_window(); - Fl_Osc_Window *freemodeeditwindow; -private: - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - PointButton *addpoint; -private: - void cb_addpoint_i(PointButton*, void*); - static void cb_addpoint(PointButton*, void*); -public: - EnvelopeFreeEdit *freeedit; -private: - void cb_freeedit_i(EnvelopeFreeEdit*, void*); - static void cb_freeedit(EnvelopeFreeEdit*, void*); -public: - PointButton *deletepoint; -private: - void cb_deletepoint_i(PointButton*, void*); - static void cb_deletepoint(PointButton*, void*); -public: - Fl_Osc_Check *forcedreleasecheck; - Fl_Osc_Dial *envstretchdial; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); -public: - Fl_Osc_Check *linearenvelopecheck; - Fl_Osc_Counter *sustaincounter; -private: - void cb_sustaincounter_i(Fl_Osc_Counter*, void*); - static void cb_sustaincounter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Check *freemodehack; -private: - void cb_freemodehack_i(Fl_Osc_Check*, void*); - static void cb_freemodehack(Fl_Osc_Check*, void*); - void cb_Cancel_i(Fl_Osc_Button*, void*); - static void cb_Cancel(Fl_Osc_Button*, void*); -public: - Fl_Osc_Group* make_ADSR_window(); - Fl_Osc_Group *envADSR; -private: - void cb_C1_i(Fl_Button*, void*); - static void cb_C1(Fl_Button*, void*); - void cb_P1_i(Fl_Button*, void*); - static void cb_P1(Fl_Button*, void*); -public: - Fl_Osc_Dial *e1adt; -private: - void cb_e1adt_i(Fl_Osc_Dial*, void*); - static void cb_e1adt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e1ddt; -private: - void cb_e1ddt_i(Fl_Osc_Dial*, void*); - static void cb_e1ddt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e1rdt; -private: - void cb_e1rdt_i(Fl_Osc_Dial*, void*); - static void cb_e1rdt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e1sval; -private: - void cb_e1sval_i(Fl_Osc_Dial*, void*); - static void cb_e1sval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Check *e1forcedrelease; - Fl_Osc_Dial *e1envstretch; -private: - void cb_E_i(Fl_Osc_Button*, void*); - static void cb_E(Fl_Osc_Button*, void*); -public: - Fl_Osc_Check *e1linearenvelope; - Fl_Osc_Group* make_ASR_window(); - Fl_Osc_Group *envASR; -private: - void cb_C2_i(Fl_Button*, void*); - static void cb_C2(Fl_Button*, void*); - void cb_P2_i(Fl_Button*, void*); - static void cb_P2(Fl_Button*, void*); -public: - Fl_Osc_Dial *e2aval; -private: - void cb_e2aval_i(Fl_Osc_Dial*, void*); - static void cb_e2aval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e2adt; -private: - void cb_e2adt_i(Fl_Osc_Dial*, void*); - static void cb_e2adt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e2rval; -private: - void cb_e2rval_i(Fl_Osc_Dial*, void*); - static void cb_e2rval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e2rdt; -private: - void cb_e2rdt_i(Fl_Osc_Dial*, void*); - static void cb_e2rdt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e2envstretch; - Fl_Osc_Check *e2forcedrelease; -private: - void cb_E1_i(Fl_Osc_Button*, void*); - static void cb_E1(Fl_Osc_Button*, void*); -public: - Fl_Osc_Group* make_ADSRfilter_window(); - Fl_Osc_Group *envADSRfilter; -private: - void cb_C3_i(Fl_Button*, void*); - static void cb_C3(Fl_Button*, void*); - void cb_P3_i(Fl_Button*, void*); - static void cb_P3(Fl_Button*, void*); -public: - Fl_Osc_Dial *e3aval; -private: - void cb_e3aval_i(Fl_Osc_Dial*, void*); - static void cb_e3aval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e3adt; -private: - void cb_e3adt_i(Fl_Osc_Dial*, void*); - static void cb_e3adt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e3dval; -private: - void cb_e3dval_i(Fl_Osc_Dial*, void*); - static void cb_e3dval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e3ddt; -private: - void cb_e3ddt_i(Fl_Osc_Dial*, void*); - static void cb_e3ddt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e3rdt; -private: - void cb_e3rdt_i(Fl_Osc_Dial*, void*); - static void cb_e3rdt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e3rval; -private: - void cb_e3rval_i(Fl_Osc_Dial*, void*); - static void cb_e3rval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e3envstretch; - Fl_Osc_Check *e3forcedrelease; -private: - void cb_E2_i(Fl_Osc_Button*, void*); - static void cb_E2(Fl_Osc_Button*, void*); -public: - Fl_Osc_Group* make_ASRbw_window(); - Fl_Osc_Group *envASRbw; -private: - void cb_C4_i(Fl_Button*, void*); - static void cb_C4(Fl_Button*, void*); - void cb_P4_i(Fl_Button*, void*); - static void cb_P4(Fl_Button*, void*); -public: - Fl_Osc_Dial *e4aval; -private: - void cb_e4aval_i(Fl_Osc_Dial*, void*); - static void cb_e4aval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e4adt; -private: - void cb_e4adt_i(Fl_Osc_Dial*, void*); - static void cb_e4adt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e4rval; -private: - void cb_e4rval_i(Fl_Osc_Dial*, void*); - static void cb_e4rval(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e4rdt; -private: - void cb_e4rdt_i(Fl_Osc_Dial*, void*); - static void cb_e4rdt(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *e4envstretch; - Fl_Osc_Check *e4forcedrelease; -private: - void cb_E3_i(Fl_Osc_Button*, void*); - static void cb_E3(Fl_Osc_Button*, void*); -public: - Fl_Osc_Group* make_free_window(); - Fl_Osc_Group *envfree; - Fl_Group *envfreegroup; -private: - void cb_E4_i(Fl_Osc_Button*, void*); - static void cb_E4(Fl_Osc_Button*, void*); -public: - EnvelopeFreeEdit *freeeditsmall; -private: - void cb_freeeditsmall_i(EnvelopeFreeEdit*, void*); - static void cb_freeeditsmall(EnvelopeFreeEdit*, void*); - void cb_C5_i(Fl_Button*, void*); - static void cb_C5(Fl_Button*, void*); - void cb_P5_i(Fl_Button*, void*); - static void cb_P5(Fl_Button*, void*); -public: - void open_as_freemode(); - void init(int env_type, Fl_Osc_Interface *osc_, std::string base_, std::string ext_); - void rebase(std::string new_base); - void disable_freemode(); - void refresh(); - void refresh_display(); -private: - int Envmode; - int Penvsustain; - int Penvpoints; - int Penvstretch; - int Pforcedrelease; - int Plinearenvelope; - Fl_Group *envwindow; -}; -#endif diff --git a/zynaddsubfx/UI/FilterUI.cpp b/zynaddsubfx/UI/FilterUI.cpp deleted file mode 100644 index 9babfd8..0000000 --- a/zynaddsubfx/UI/FilterUI.cpp +++ /dev/null @@ -1,905 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/FilterUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later -#include -#include -#include - -void FilterUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste(filterui->loc(),this); -} -void FilterUI::cb_P(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_P_i(o,v); -} - -Fl_Menu_Item FilterUI::menu_analogfiltertypechoice[] = { - {"LPF1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HPF1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LPF2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HPF2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"BPF2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"NF2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"PkF2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LSh2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HSh2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item FilterUI::menu_svfiltertypechoice[] = { - {"1LPF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"1HPF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"1BPF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"1NF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void FilterUI::cb_filtertype_i(Fl_Osc_Choice*, void*) { - refresh(); -} -void FilterUI::cb_filtertype(Fl_Osc_Choice* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_filtertype_i(o,v); -} - -Fl_Menu_Item FilterUI::menu_filtertype[] = { - {"Analog", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Formant", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"StVarF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void FilterUI::cb_qdial_i(Fl_Osc_Dial*, void*) { - formantfiltergraph->redraw(); -} -void FilterUI::cb_qdial(Fl_Osc_Dial* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_qdial_i(o,v); -} - -void FilterUI::cb_gaindial_i(Fl_Osc_Dial*, void*) { - formantfiltergraph->redraw(); -} -void FilterUI::cb_gaindial(Fl_Osc_Dial* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_gaindial_i(o,v); -} - -void FilterUI::cb_stcounter_i(Fl_Osc_Choice*, void*) { - formantfiltergraph->redraw(); -} -void FilterUI::cb_stcounter(Fl_Osc_Choice* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_stcounter_i(o,v); -} - -void FilterUI::cb_editbutton_i(Fl_Button*, void*) { - formantparswindow->show(); -} -void FilterUI::cb_editbutton(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_editbutton_i(o,v); -} - -void FilterUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy(filterui->loc()); -} -void FilterUI::cb_C(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_C_i(o,v); -} - -void FilterUI::cb_P1_i(Fl_Button*, void*) { - presetsui->paste(filterui->loc(),this); -} -void FilterUI::cb_P1(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_P1_i(o,v); -} - -void FilterUI::cb_P2_i(Fl_Button*, void*) { - presetsui->paste(filterui->loc(),this,nvowel); -} -void FilterUI::cb_P2(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_P2_i(o,v); -} - -void FilterUI::cb_Formant_i(Fl_Counter* o, void*) { - nformant=(int) o->value(); - formantparsgroup->reext("Pvowels"+to_s(nvowel)+"/Pformants"+to_s(nformant)+"/"); -update_formant_window(); -formantfiltergraph->redraw(); -} -void FilterUI::cb_Formant(Fl_Counter* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_Formant_i(o,v); -} - -void FilterUI::cb_Vowel_i(Fl_Counter* o, void*) { - nvowel=(int) o->value(); - formantparsgroup->reext("Pvowels"+to_s(nvowel)+"/Pformants"+to_s(nformant)+"/"); -update_formant_window(); -formantfiltergraph->redraw(); -} -void FilterUI::cb_Vowel(Fl_Counter* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_Vowel_i(o,v); -} - -void FilterUI::cb_formant_freq_dial_i(Fl_Osc_Dial*, void*) { - formantfiltergraph->update(); -} -void FilterUI::cb_formant_freq_dial(Fl_Osc_Dial* o, void* v) { - ((FilterUI*)(o->parent()->parent()->parent()->user_data()))->cb_formant_freq_dial_i(o,v); -} - -void FilterUI::cb_formant_q_dial_i(Fl_Osc_Dial*, void*) { - formantfiltergraph->update(); -} -void FilterUI::cb_formant_q_dial(Fl_Osc_Dial* o, void* v) { - ((FilterUI*)(o->parent()->parent()->parent()->user_data()))->cb_formant_q_dial_i(o,v); -} - -void FilterUI::cb_formant_amp_dial_i(Fl_Osc_Dial*, void*) { - formantfiltergraph->update(); -} -void FilterUI::cb_formant_amp_dial(Fl_Osc_Dial* o, void* v) { - ((FilterUI*)(o->parent()->parent()->parent()->user_data()))->cb_formant_amp_dial_i(o,v); -} - -void FilterUI::cb_sequencesize_i(Fl_Osc_Counter*, void*) { - update_formant_window(); -} -void FilterUI::cb_sequencesize(Fl_Osc_Counter* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_sequencesize_i(o,v); -} - -void FilterUI::cb_S_i(Fl_Counter* o, void*) { - nseqpos = o->value();update_formant_window();vowel_counter->oscMove("vowel_seq"+to_s(nseqpos)); -} -void FilterUI::cb_S(Fl_Counter* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_S_i(o,v); -} - -void FilterUI::cb_vowel_counter_i(Fl_Osc_Counter* o, void*) { - (void)o;//pars->Psequence[nseqpos].nvowel=(int) o->value(); pars->changed=true; -} -void FilterUI::cb_vowel_counter(Fl_Osc_Counter* o, void* v) { - ((FilterUI*)(o->parent()->parent()->user_data()))->cb_vowel_counter_i(o,v); -} - -void FilterUI::cb_numformants_i(Fl_Osc_Counter*, void*) { - update_formant_window(); -formantfiltergraph->redraw(); -} -void FilterUI::cb_numformants(Fl_Osc_Counter* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_numformants_i(o,v); -} - -void FilterUI::cb_centerfreqvo_i(Fl_Osc_Output* o, void*) { - o->value(o->newvalue()/1000.0); -} -void FilterUI::cb_centerfreqvo(Fl_Osc_Output* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_centerfreqvo_i(o,v); -} - -void FilterUI::cb_octavesfreqvo_i(Fl_Osc_Output* o, void*) { - o->value(o->newvalue()); -} -void FilterUI::cb_octavesfreqvo(Fl_Osc_Output* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_octavesfreqvo_i(o,v); -} - -void FilterUI::cb_cfknob_i(Fl_Osc_Slider*, void*) { - centerfreqvo->update(); -} -void FilterUI::cb_cfknob(Fl_Osc_Slider* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_cfknob_i(o,v); -} - -void FilterUI::cb_octknob_i(Fl_Osc_Slider*, void*) { - octavesfreqvo->update(); -} -void FilterUI::cb_octknob(Fl_Osc_Slider* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_octknob_i(o,v); -} - -void FilterUI::cb_Close_i(Fl_Button*, void*) { - formantparswindow->hide(); -} -void FilterUI::cb_Close(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void FilterUI::cb_C1_i(Fl_Button*, void*) { - presetsui->copy(filterui->loc(),nvowel); -} -void FilterUI::cb_C1(Fl_Button* o, void* v) { - ((FilterUI*)(o->parent()->user_data()))->cb_C1_i(o,v); -} - -FilterUI::FilterUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h) { - nvowel=0;nformant=0;nseqpos=0; -} - -FilterUI::~FilterUI() { - filterui->hide(); - formantparswindow->hide(); - hide(); - //delete (filterui); - delete (formantparswindow); -} - -Fl_Osc_Group* FilterUI::make_window() { - { filterui = new Fl_Osc_Group(0, 0, 275, 70); - filterui->box(FL_FLAT_BOX); - filterui->color(FL_LIGHT1); - filterui->selection_color(FL_BACKGROUND_COLOR); - filterui->labeltype(FL_NO_LABEL); - filterui->labelfont(1); - filterui->labelsize(14); - filterui->labelcolor(FL_FOREGROUND_COLOR); - filterui->user_data((void*)(this)); - filterui->align(Fl_Align(FL_ALIGN_TOP)); - filterui->when(FL_WHEN_RELEASE); - { Fl_Button* o = new Fl_Button(203, 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_P); - } // Fl_Button* o - { Fl_Group* o = filterparamswindow = new Fl_Group(0, 0, 275, 75, "Filter Parameters"); - filterparamswindow->box(FL_UP_FRAME); - filterparamswindow->color((Fl_Color)183); - filterparamswindow->labeltype(FL_ENGRAVED_LABEL); - filterparamswindow->labelsize(10); - filterparamswindow->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - { Fl_Osc_Choice* o = analogfiltertypechoice = new Fl_Osc_Choice(10, 50, 50, 15, "FilterType"); - analogfiltertypechoice->tooltip("The Filter type"); - analogfiltertypechoice->box(FL_UP_BOX); - analogfiltertypechoice->down_box(FL_BORDER_BOX); - analogfiltertypechoice->color(FL_BACKGROUND_COLOR); - analogfiltertypechoice->selection_color(FL_SELECTION_COLOR); - analogfiltertypechoice->labeltype(FL_NORMAL_LABEL); - analogfiltertypechoice->labelfont(0); - analogfiltertypechoice->labelsize(10); - analogfiltertypechoice->labelcolor(FL_FOREGROUND_COLOR); - analogfiltertypechoice->textsize(10); - analogfiltertypechoice->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - analogfiltertypechoice->when(FL_WHEN_RELEASE); - analogfiltertypechoice->menu(menu_analogfiltertypechoice); - o->init("Ptype"); - } // Fl_Osc_Choice* analogfiltertypechoice - { Fl_Osc_Choice* o = svfiltertypechoice = new Fl_Osc_Choice(10, 50, 50, 15, "FilterType"); - svfiltertypechoice->tooltip("The Filter type"); - svfiltertypechoice->box(FL_UP_BOX); - svfiltertypechoice->down_box(FL_BORDER_BOX); - svfiltertypechoice->color(FL_BACKGROUND_COLOR); - svfiltertypechoice->selection_color(FL_SELECTION_COLOR); - svfiltertypechoice->labeltype(FL_NORMAL_LABEL); - svfiltertypechoice->labelfont(0); - svfiltertypechoice->labelsize(10); - svfiltertypechoice->labelcolor(FL_FOREGROUND_COLOR); - svfiltertypechoice->textsize(10); - svfiltertypechoice->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - svfiltertypechoice->when(FL_WHEN_RELEASE); - svfiltertypechoice->menu(menu_svfiltertypechoice); - o->init("Ptype"); - } // Fl_Osc_Choice* svfiltertypechoice - { Fl_Osc_Choice* o = filtertype = new Fl_Osc_Choice(10, 20, 60, 15, "Category"); - filtertype->tooltip("The Category of the Filter (Analog/Formantic/etc.)"); - filtertype->box(FL_UP_BOX); - filtertype->down_box(FL_BORDER_BOX); - filtertype->color(FL_BACKGROUND_COLOR); - filtertype->selection_color(FL_SELECTION_COLOR); - filtertype->labeltype(FL_NORMAL_LABEL); - filtertype->labelfont(0); - filtertype->labelsize(10); - filtertype->labelcolor(FL_FOREGROUND_COLOR); - filtertype->textsize(10); - filtertype->callback((Fl_Callback*)cb_filtertype); - filtertype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - filtertype->when(FL_WHEN_RELEASE); - filtertype->menu(menu_filtertype); - o->init("Pcategory"); - } // Fl_Osc_Choice* filtertype - { Fl_Osc_Dial* o = cfreqdial = new Fl_Osc_Dial(75, 25, 30, 30, "C.Freq"); - cfreqdial->tooltip("Center Frequency of the Filter or the base position in the vowel\'s sequence"); - cfreqdial->box(FL_ROUND_UP_BOX); - cfreqdial->color(FL_BACKGROUND_COLOR); - cfreqdial->selection_color(FL_INACTIVE_COLOR); - cfreqdial->labeltype(FL_NORMAL_LABEL); - cfreqdial->labelfont(0); - cfreqdial->labelsize(10); - cfreqdial->labelcolor(FL_FOREGROUND_COLOR); - cfreqdial->maximum(127); - cfreqdial->step(1); - cfreqdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - cfreqdial->when(FL_WHEN_CHANGED); - o->init("Pfreq"); - } // Fl_Osc_Dial* cfreqdial - { Fl_Osc_Dial* o = qdial = new Fl_Osc_Dial(110, 25, 30, 30, "Q"); - qdial->tooltip("Filter resonance or bandwidth"); - qdial->box(FL_ROUND_UP_BOX); - qdial->color(FL_BACKGROUND_COLOR); - qdial->selection_color(FL_INACTIVE_COLOR); - qdial->labeltype(FL_NORMAL_LABEL); - qdial->labelfont(0); - qdial->labelsize(10); - qdial->labelcolor(FL_FOREGROUND_COLOR); - qdial->maximum(127); - qdial->step(1); - qdial->callback((Fl_Callback*)cb_qdial); - qdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - qdial->when(FL_WHEN_CHANGED); - o->init("Pq"); - } // Fl_Osc_Dial* qdial - { Fl_Osc_Dial* o = freqtrdial = new Fl_Osc_Dial(215, 25, 30, 30, "freq.tr."); - freqtrdial->tooltip("Filter frequency tracking (left is negative, middle is 0, and right is positi\ -ve)"); - freqtrdial->box(FL_ROUND_UP_BOX); - freqtrdial->color(FL_BACKGROUND_COLOR); - freqtrdial->selection_color(FL_INACTIVE_COLOR); - freqtrdial->labeltype(FL_NORMAL_LABEL); - freqtrdial->labelfont(0); - freqtrdial->labelsize(10); - freqtrdial->labelcolor(FL_FOREGROUND_COLOR); - freqtrdial->maximum(127); - freqtrdial->step(1); - freqtrdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - freqtrdial->when(FL_WHEN_CHANGED); - o->init("Pfreqtrack"); - } // Fl_Osc_Dial* freqtrdial - { Fl_Osc_Dial* o = vsnsadial = new Fl_Osc_Dial(145, 25, 30, 30, "V.SnsA."); - vsnsadial->tooltip("Velocity sensing amount of the Filter"); - vsnsadial->box(FL_ROUND_UP_BOX); - vsnsadial->color(FL_BACKGROUND_COLOR); - vsnsadial->selection_color(FL_INACTIVE_COLOR); - vsnsadial->labeltype(FL_NORMAL_LABEL); - vsnsadial->labelfont(0); - vsnsadial->labelsize(10); - vsnsadial->labelcolor(FL_FOREGROUND_COLOR); - vsnsadial->maximum(127); - vsnsadial->step(1); - vsnsadial->align(Fl_Align(FL_ALIGN_BOTTOM)); - vsnsadial->when(FL_WHEN_CHANGED); - if(!alt_root.empty()) o->alt_init(alt_root, "VelocityScale"); - else {o->deactivate(); o->value(127);o->mark_dead();} - } // Fl_Osc_Dial* vsnsadial - { Fl_Osc_Dial* o = vsnsdial = new Fl_Osc_Dial(180, 25, 30, 30, "V.Sns."); - vsnsdial->tooltip("Velocity Sensing Function of the Filter"); - vsnsdial->box(FL_ROUND_UP_BOX); - vsnsdial->color(FL_BACKGROUND_COLOR); - vsnsdial->selection_color(FL_INACTIVE_COLOR); - vsnsdial->labeltype(FL_NORMAL_LABEL); - vsnsdial->labelfont(0); - vsnsdial->labelsize(10); - vsnsdial->labelcolor(FL_FOREGROUND_COLOR); - vsnsdial->maximum(127); - vsnsdial->step(1); - vsnsdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - vsnsdial->when(FL_WHEN_CHANGED); - if(!alt_root.empty()) o->alt_init(alt_root, "VelocityScaleFunction"); - else {o->deactivate(); o->value(127);o->mark_dead();} - } // Fl_Osc_Dial* vsnsdial - { Fl_Osc_Dial* o = gaindial = new Fl_Osc_Dial(250, 35, 20, 20, "gain"); - gaindial->tooltip("Filter output gain/damp"); - gaindial->box(FL_ROUND_UP_BOX); - gaindial->color(FL_BACKGROUND_COLOR); - gaindial->selection_color(FL_INACTIVE_COLOR); - gaindial->labeltype(FL_NORMAL_LABEL); - gaindial->labelfont(0); - gaindial->labelsize(10); - gaindial->labelcolor(FL_FOREGROUND_COLOR); - gaindial->maximum(127); - gaindial->step(1); - gaindial->callback((Fl_Callback*)cb_gaindial); - gaindial->align(Fl_Align(FL_ALIGN_BOTTOM)); - gaindial->when(FL_WHEN_CHANGED); - o->init("Pgain"); - } // Fl_Osc_Dial* gaindial - { Fl_Osc_Choice* o = stcounter = new Fl_Osc_Choice(235, 5, 35, 15, "St"); - stcounter->tooltip("Filter stages (in order to increase dB/oct. value and the order of the filter\ -)"); - stcounter->box(FL_UP_BOX); - stcounter->down_box(FL_BORDER_BOX); - stcounter->color(FL_BACKGROUND_COLOR); - stcounter->selection_color(FL_SELECTION_COLOR); - stcounter->labeltype(FL_NORMAL_LABEL); - stcounter->labelfont(0); - stcounter->labelsize(10); - stcounter->labelcolor(FL_FOREGROUND_COLOR); - stcounter->textfont(1); - stcounter->textsize(10); - stcounter->callback((Fl_Callback*)cb_stcounter); - stcounter->align(Fl_Align(FL_ALIGN_LEFT)); - stcounter->when(FL_WHEN_RELEASE); - for (int i=0;iadd(tmp);}; - o->init("Pstages"); - } // Fl_Osc_Choice* stcounter - set_module_parameters( o ); - filterparamswindow->end(); - } // Fl_Group* filterparamswindow - { editbutton = new Fl_Button(15, 40, 50, 25, "Edit"); - editbutton->labelfont(1); - editbutton->labelsize(11); - editbutton->callback((Fl_Callback*)cb_editbutton); - } // Fl_Button* editbutton - { Fl_Button* o = new Fl_Button(186, 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_C); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(203, 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 - filterui->end(); - } // Fl_Osc_Group* filterui - return filterui; -} - -Fl_Osc_Window* FilterUI::make_formant_window() { - { formantparswindow = new Fl_Osc_Window(700, 205, "Formant Filter Parameters"); - formantparswindow->box(FL_FLAT_BOX); - formantparswindow->color(FL_BACKGROUND_COLOR); - formantparswindow->selection_color(FL_BACKGROUND_COLOR); - formantparswindow->labeltype(FL_NO_LABEL); - formantparswindow->labelfont(0); - formantparswindow->labelsize(14); - formantparswindow->labelcolor(FL_FOREGROUND_COLOR); - formantparswindow->user_data((void*)(this)); - formantparswindow->align(Fl_Align(FL_ALIGN_TOP)); - formantparswindow->when(FL_WHEN_RELEASE); - { Fl_Button* o = new Fl_Button(665, 25, 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_P2); - formantparswindow->osc = osc; - formantparswindow->base = loc(); - } // Fl_Button* o - { Fl_Osc_Group* o = new Fl_Osc_Group(485, 47, 105, 113); - 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(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->align(Fl_Align(FL_ALIGN_TOP)); - o->when(FL_WHEN_RELEASE); - { Fl_Counter* o = new Fl_Counter(545, 80, 40, 15, "Formant "); - o->type(1); - o->labelfont(1); - o->labelsize(10); - o->minimum(0); - o->maximum(127); - o->step(1); - o->textsize(10); - o->callback((Fl_Callback*)cb_Formant); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->bounds(0,FF_MAX_FORMANTS-1); - o->value(nformant); - } // Fl_Counter* o - { Fl_Counter* o = new Fl_Counter(545, 55, 40, 20, "Vowel no."); - o->type(1); - o->labelfont(1); - o->labelsize(10); - o->minimum(0); - o->maximum(127); - o->step(1); - o->textfont(1); - o->textsize(11); - o->callback((Fl_Callback*)cb_Vowel); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->bounds(0,FF_MAX_VOWELS-1); - o->value(nvowel); - } // Fl_Counter* o - { formantparsgroup = new Fl_Osc_Group(490, 105, 95, 50); - formantparsgroup->box(FL_ENGRAVED_FRAME); - formantparsgroup->color(FL_BACKGROUND_COLOR); - formantparsgroup->selection_color(FL_BACKGROUND_COLOR); - formantparsgroup->labeltype(FL_NORMAL_LABEL); - formantparsgroup->labelfont(0); - formantparsgroup->labelsize(14); - formantparsgroup->labelcolor(FL_FOREGROUND_COLOR); - formantparsgroup->align(Fl_Align(FL_ALIGN_TOP)); - formantparsgroup->when(FL_WHEN_RELEASE); - { Fl_Box* o = new Fl_Box(515, 130, 35, 16, "dummy"); - o->hide(); - o->deactivate(); - formantparsgroup->ext = "Pvowels0/Pformants0/"; - } // Fl_Box* o - { Fl_Osc_Dial* o = formant_freq_dial = new Fl_Osc_Dial(495, 115, 25, 25, "freq"); - formant_freq_dial->tooltip("Formant frequency"); - formant_freq_dial->box(FL_ROUND_UP_BOX); - formant_freq_dial->color(FL_BACKGROUND_COLOR); - formant_freq_dial->selection_color(FL_INACTIVE_COLOR); - formant_freq_dial->labeltype(FL_NORMAL_LABEL); - formant_freq_dial->labelfont(0); - formant_freq_dial->labelsize(10); - formant_freq_dial->labelcolor(FL_FOREGROUND_COLOR); - formant_freq_dial->maximum(127); - formant_freq_dial->step(1); - formant_freq_dial->callback((Fl_Callback*)cb_formant_freq_dial); - formant_freq_dial->align(Fl_Align(FL_ALIGN_BOTTOM)); - formant_freq_dial->when(FL_WHEN_CHANGED); - //TODO get widget renaming working here!!! - o->init("freq"); - } // Fl_Osc_Dial* formant_freq_dial - { Fl_Osc_Dial* o = formant_q_dial = new Fl_Osc_Dial(525, 115, 24, 25, "Q"); - formant_q_dial->tooltip("Formant\'s Q"); - formant_q_dial->box(FL_ROUND_UP_BOX); - formant_q_dial->color(FL_BACKGROUND_COLOR); - formant_q_dial->selection_color(FL_INACTIVE_COLOR); - formant_q_dial->labeltype(FL_NORMAL_LABEL); - formant_q_dial->labelfont(0); - formant_q_dial->labelsize(10); - formant_q_dial->labelcolor(FL_FOREGROUND_COLOR); - formant_q_dial->maximum(127); - formant_q_dial->step(1); - formant_q_dial->callback((Fl_Callback*)cb_formant_q_dial); - formant_q_dial->align(Fl_Align(FL_ALIGN_BOTTOM)); - formant_q_dial->when(FL_WHEN_CHANGED); - o->init("q"); - } // Fl_Osc_Dial* formant_q_dial - { Fl_Osc_Dial* o = formant_amp_dial = new Fl_Osc_Dial(555, 115, 24, 25, "amp"); - formant_amp_dial->tooltip("Formant amplitude"); - formant_amp_dial->box(FL_ROUND_UP_BOX); - formant_amp_dial->color(FL_BACKGROUND_COLOR); - formant_amp_dial->selection_color(FL_INACTIVE_COLOR); - formant_amp_dial->labeltype(FL_NORMAL_LABEL); - formant_amp_dial->labelfont(0); - formant_amp_dial->labelsize(10); - formant_amp_dial->labelcolor(FL_FOREGROUND_COLOR); - formant_amp_dial->maximum(127); - formant_amp_dial->step(1); - formant_amp_dial->callback((Fl_Callback*)cb_formant_amp_dial); - formant_amp_dial->align(Fl_Align(FL_ALIGN_BOTTOM)); - formant_amp_dial->when(FL_WHEN_CHANGED); - o->init("amp"); - } // Fl_Osc_Dial* formant_amp_dial - formantparsgroup->end(); - } // Fl_Osc_Group* formantparsgroup - o->end(); - } // Fl_Osc_Group* o - { Fl_Osc_Group* o = new Fl_Osc_Group(590, 47, 100, 113); - 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(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->align(Fl_Align(FL_ALIGN_TOP)); - o->when(FL_WHEN_RELEASE); - { Fl_Osc_Counter* o = sequencesize = new Fl_Osc_Counter(595, 62, 55, 20, "Seq.Size"); - sequencesize->type(1); - sequencesize->box(FL_UP_BOX); - sequencesize->color(FL_BACKGROUND_COLOR); - sequencesize->selection_color(FL_INACTIVE_COLOR); - sequencesize->labeltype(FL_NORMAL_LABEL); - sequencesize->labelfont(1); - sequencesize->labelsize(10); - sequencesize->labelcolor(FL_FOREGROUND_COLOR); - sequencesize->minimum(0); - sequencesize->maximum(127); - sequencesize->step(1); - sequencesize->textfont(1); - sequencesize->textsize(11); - sequencesize->callback((Fl_Callback*)cb_sequencesize); - sequencesize->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - sequencesize->when(FL_WHEN_CHANGED); - o->bounds(1,FF_MAX_SEQUENCE-1); - o->init("Psequencesize"); - } // Fl_Osc_Counter* sequencesize - { Fl_Counter* o = new Fl_Counter(595, 97, 40, 15, "S.Pos."); - o->tooltip("Current position from the sequence"); - o->type(1); - o->labelfont(1); - o->labelsize(10); - o->minimum(0); - o->maximum(127); - o->step(1); - o->textsize(10); - o->callback((Fl_Callback*)cb_S); - o->align(Fl_Align(FL_ALIGN_TOP_RIGHT)); - o->bounds(0,FF_MAX_SEQUENCE-2); - o->value(nseqpos); - } // Fl_Counter* o - { Fl_Osc_Counter* o = vowel_counter = new Fl_Osc_Counter(640, 97, 40, 15, "Vowel"); - vowel_counter->type(1); - vowel_counter->box(FL_UP_BOX); - vowel_counter->color(FL_BACKGROUND_COLOR); - vowel_counter->selection_color(FL_INACTIVE_COLOR); - vowel_counter->labeltype(FL_NORMAL_LABEL); - vowel_counter->labelfont(0); - vowel_counter->labelsize(10); - vowel_counter->labelcolor(FL_FOREGROUND_COLOR); - vowel_counter->minimum(0); - vowel_counter->maximum(127); - vowel_counter->step(1); - vowel_counter->textsize(10); - vowel_counter->callback((Fl_Callback*)cb_vowel_counter); - vowel_counter->align(Fl_Align(FL_ALIGN_TOP)); - vowel_counter->when(FL_WHEN_CHANGED); - o->bounds(0,FF_MAX_VOWELS-1); - o->init("vowel_seq0"); - } // Fl_Osc_Counter* vowel_counter - { Fl_Osc_Check* o = new Fl_Osc_Check(625, 132, 60, 20, "Neg.Input"); - o->tooltip("Negate the input from LFO/envelopes/etc."); - 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(0); - 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("Psequencereversed"); - } // Fl_Osc_Check* o - { Fl_Osc_Dial* o = strchdial = new Fl_Osc_Dial(595, 130, 25, 25, "Strch"); - strchdial->tooltip("Sequence Stretch"); - strchdial->box(FL_ROUND_UP_BOX); - strchdial->color(FL_BACKGROUND_COLOR); - strchdial->selection_color(FL_INACTIVE_COLOR); - strchdial->labeltype(FL_NORMAL_LABEL); - strchdial->labelfont(0); - strchdial->labelsize(10); - strchdial->labelcolor(FL_FOREGROUND_COLOR); - strchdial->maximum(127); - strchdial->step(1); - strchdial->align(Fl_Align(FL_ALIGN_TOP)); - strchdial->when(FL_WHEN_CHANGED); - o->init("Psequencestretch"); - } // Fl_Osc_Dial* strchdial - o->end(); - } // Fl_Osc_Group* o - { Fl_Osc_Counter* o = numformants = new Fl_Osc_Counter(485, 15, 65, 20, "Num.Formants"); - numformants->type(1); - numformants->box(FL_UP_BOX); - numformants->color(FL_BACKGROUND_COLOR); - numformants->selection_color(FL_INACTIVE_COLOR); - numformants->labeltype(FL_NORMAL_LABEL); - numformants->labelfont(0); - numformants->labelsize(10); - numformants->labelcolor(FL_FOREGROUND_COLOR); - numformants->minimum(0); - numformants->maximum(127); - numformants->step(1); - numformants->callback((Fl_Callback*)cb_numformants); - numformants->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - numformants->when(FL_WHEN_CHANGED); - o->bounds(1,FF_MAX_FORMANTS); - o->init("Pnumformants"); - } // Fl_Osc_Counter* numformants - { Fl_Osc_Dial* o = frsldial = new Fl_Osc_Dial(565, 15, 25, 25, "Fr.Sl."); - frsldial->tooltip("Formant\'s Slowness (Morphing)"); - frsldial->box(FL_ROUND_UP_BOX); - frsldial->color(FL_BACKGROUND_COLOR); - frsldial->selection_color(FL_INACTIVE_COLOR); - frsldial->labeltype(FL_NORMAL_LABEL); - frsldial->labelfont(0); - frsldial->labelsize(10); - frsldial->labelcolor(FL_FOREGROUND_COLOR); - frsldial->maximum(127); - frsldial->step(1); - frsldial->align(Fl_Align(FL_ALIGN_TOP)); - frsldial->when(FL_WHEN_CHANGED); - o->init("Pformantslowness"); - } // Fl_Osc_Dial* frsldial - { Fl_Osc_Output* o = centerfreqvo = new Fl_Osc_Output(511, 164, 40, 18, "C.f."); - centerfreqvo->tooltip("Center Frequency (kHz)"); - centerfreqvo->box(FL_NO_BOX); - centerfreqvo->color(FL_BACKGROUND_COLOR); - centerfreqvo->selection_color(FL_BACKGROUND_COLOR); - centerfreqvo->labeltype(FL_NORMAL_LABEL); - centerfreqvo->labelfont(0); - centerfreqvo->labelsize(13); - centerfreqvo->labelcolor(FL_FOREGROUND_COLOR); - centerfreqvo->minimum(1); - centerfreqvo->maximum(10); - centerfreqvo->step(0.01); - centerfreqvo->value(1); - centerfreqvo->textfont(1); - centerfreqvo->textsize(11); - centerfreqvo->callback((Fl_Callback*)cb_centerfreqvo); - centerfreqvo->align(Fl_Align(FL_ALIGN_LEFT)); - centerfreqvo->when(3); - o->init("centerfreq"); - } // Fl_Osc_Output* centerfreqvo - { Fl_Osc_Output* o = octavesfreqvo = new Fl_Osc_Output(511, 182, 40, 18, "Oct."); - octavesfreqvo->tooltip("No. of octaves"); - octavesfreqvo->box(FL_NO_BOX); - octavesfreqvo->color(FL_BACKGROUND_COLOR); - octavesfreqvo->selection_color(FL_BACKGROUND_COLOR); - octavesfreqvo->labeltype(FL_NORMAL_LABEL); - octavesfreqvo->labelfont(0); - octavesfreqvo->labelsize(13); - octavesfreqvo->labelcolor(FL_FOREGROUND_COLOR); - octavesfreqvo->minimum(1); - octavesfreqvo->maximum(127); - octavesfreqvo->step(0.01); - octavesfreqvo->value(5); - octavesfreqvo->textfont(1); - octavesfreqvo->textsize(11); - octavesfreqvo->callback((Fl_Callback*)cb_octavesfreqvo); - octavesfreqvo->align(Fl_Align(FL_ALIGN_LEFT)); - octavesfreqvo->when(3); - o->init("octavesfreq"); - } // Fl_Osc_Output* octavesfreqvo - { Fl_Osc_Slider* o = cfknob = new Fl_Osc_Slider(555, 167, 84, 15); - cfknob->type(5); - cfknob->box(FL_FLAT_BOX); - cfknob->color(FL_BACKGROUND_COLOR); - cfknob->selection_color(FL_BACKGROUND_COLOR); - cfknob->labeltype(FL_NORMAL_LABEL); - cfknob->labelfont(0); - cfknob->labelsize(14); - cfknob->labelcolor(FL_FOREGROUND_COLOR); - cfknob->maximum(127); - cfknob->callback((Fl_Callback*)cb_cfknob); - cfknob->align(Fl_Align(FL_ALIGN_BOTTOM)); - cfknob->when(FL_WHEN_CHANGED); - o->init("Pcenterfreq", 'i'); - } // Fl_Osc_Slider* cfknob - { Fl_Osc_Slider* o = octknob = new Fl_Osc_Slider(555, 185, 84, 15); - octknob->type(5); - octknob->box(FL_FLAT_BOX); - octknob->color(FL_BACKGROUND_COLOR); - octknob->selection_color(FL_BACKGROUND_COLOR); - octknob->labeltype(FL_NORMAL_LABEL); - octknob->labelfont(0); - octknob->labelsize(14); - octknob->labelcolor(FL_FOREGROUND_COLOR); - octknob->maximum(127); - octknob->callback((Fl_Callback*)cb_octknob); - octknob->align(Fl_Align(FL_ALIGN_BOTTOM)); - octknob->when(FL_WHEN_CHANGED); - o->init("Poctavesfreq", 'i'); - } // Fl_Osc_Slider* octknob - { FormantFilterGraph* o = formantfiltergraph = new FormantFilterGraph(5, 5, 475, 195); - formantfiltergraph->box(FL_BORDER_BOX); - formantfiltergraph->color(FL_BACKGROUND_COLOR); - formantfiltergraph->selection_color(FL_BACKGROUND_COLOR); - formantfiltergraph->labeltype(FL_NORMAL_LABEL); - formantfiltergraph->labelfont(0); - formantfiltergraph->labelsize(14); - formantfiltergraph->labelcolor(FL_FOREGROUND_COLOR); - formantfiltergraph->align(Fl_Align(FL_ALIGN_CENTER)); - formantfiltergraph->when(FL_WHEN_RELEASE); - o->init(&nvowel,&nformant); - } // FormantFilterGraph* formantfiltergraph - { Fl_Osc_Dial* o = wvknob = new Fl_Osc_Dial(600, 15, 25, 25, "Vw.Cl."); - wvknob->tooltip("Vowel \"clearness\" (how the mixed vowels are avoided)"); - wvknob->box(FL_ROUND_UP_BOX); - wvknob->color(FL_BACKGROUND_COLOR); - wvknob->selection_color(FL_INACTIVE_COLOR); - wvknob->labeltype(FL_NORMAL_LABEL); - wvknob->labelfont(0); - wvknob->labelsize(10); - wvknob->labelcolor(FL_FOREGROUND_COLOR); - wvknob->maximum(127); - wvknob->step(1); - wvknob->align(Fl_Align(FL_ALIGN_TOP)); - wvknob->when(FL_WHEN_CHANGED); - o->init("Pvowelclearness"); - } // Fl_Osc_Dial* wvknob - { Fl_Button* o = new Fl_Button(645, 180, 50, 25, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(635, 25, 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_Box* o = new Fl_Box(635, 6, 55, 15, "Vowel"); - o->labelfont(1); - } // Fl_Box* o - formantparswindow->end(); - } // Fl_Osc_Window* formantparswindow - return formantparswindow; -} - -void FilterUI::update_formant_window() { - //formant_freq_dial->value(pars->Pvowels[nvowel].formants[nformant].freq); - //formant_q_dial->value(pars->Pvowels[nvowel].formants[nformant].q); - //formant_amp_dial->value(pars->Pvowels[nvowel].formants[nformant].amp); - if (nformantvalue()) formantparsgroup->activate(); - else formantparsgroup->deactivate(); - - if (nseqposvalue()) vowel_counter->activate(); - else vowel_counter->deactivate(); - - - //vowel_counter->value(pars->Psequence[nseqpos].nvowel); -} - -void FilterUI::refresh() { - update_formant_window(); - formantfiltergraph->redraw(); - const int Pcategory = filtertype->value(); - const int Ptype = analogfiltertypechoice->value(); - - if (Pcategory==2) svfiltertypechoice->value(Ptype); - if (Pcategory==0) analogfiltertypechoice->value(Ptype); - - const int categ=Pcategory; - if ((categ==0)||(categ==2)) { - if (categ==0) { - analogfiltertypechoice->show(); - svfiltertypechoice->hide(); - } else { - svfiltertypechoice->show(); - analogfiltertypechoice->hide(); - }; - editbutton->hide(); - formantparswindow->hide(); - cfreqdial->label("C.freq"); - } else { - analogfiltertypechoice->hide(); - svfiltertypechoice->hide(); - editbutton->show(); - cfreqdial->label("BS.pos"); - }; - - filterparamswindow->redraw(); -} - -void FilterUI::rebase(std::string new_base) { - formantparswindow->rebase(new_base+"VoiceFilter/"); - Fl_Osc_Group::rebase(new_base); -} - -void FilterUI::init(std::string alt_root_, Fl_Osc_Interface *osc_, std::string base_, std::string ext_) { - alt_root = alt_root_; - osc = osc_; - base = base_; - ext = ext_; - - assert(osc); - - make_window(); - end(); - make_formant_window(); - - - filterui->resize(this->x(),this->y(),this->w(),this->h()); - - switchcategory(0); - - formantparswindow->label(this->label()); - - update_formant_window(); -} - -void FilterUI::switchcategory(int newcat) { - //TODO update Pgain & filter type on switch Pgain=64; - (void) newcat; - refresh(); -} - -void FilterUI::use_for_dynamic_filter() { - freqtrdial->deactivate(); - gaindial->when(0); - - cfknob->when(FL_WHEN_RELEASE); - octknob->when(FL_WHEN_RELEASE); - - frsldial->when(0); - wvknob->when(0); - formant_freq_dial->when(0); - formant_q_dial->when(0); - formant_amp_dial->when(0); - strchdial->when(0); -} diff --git a/zynaddsubfx/UI/FilterUI.h b/zynaddsubfx/UI/FilterUI.h deleted file mode 100644 index bbbcae0..0000000 --- a/zynaddsubfx/UI/FilterUI.h +++ /dev/null @@ -1,161 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef FilterUI_h -#define FilterUI_h -#include -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Choice.H" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Counter.H" -#include "Fl_Osc_Output.H" -#include "Fl_Osc_Slider.H" -#include "Fl_Osc_Pane.H" -#include "../globals.h" -#include "../Misc/Util.h" -#include -#include "../Params/FilterParams.h" -#include -#include -#include -#include "PresetsUI.h" -#include "common.H" -#include "FormantFilterGraph.H" -using namespace zyncarla; -#include -#include -#include -#include - -class FilterUI : public Fl_Osc_Group,PresetsUI_ { -public: - FilterUI(int x,int y, int w, int h, const char *label=0); - ~FilterUI(); - Fl_Osc_Group* make_window(); - Fl_Osc_Group *filterui; -private: - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Group *filterparamswindow; - Fl_Osc_Choice *analogfiltertypechoice; - static Fl_Menu_Item menu_analogfiltertypechoice[]; - Fl_Osc_Choice *svfiltertypechoice; - static Fl_Menu_Item menu_svfiltertypechoice[]; - Fl_Osc_Choice *filtertype; -private: - void cb_filtertype_i(Fl_Osc_Choice*, void*); - static void cb_filtertype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_filtertype[]; -public: - Fl_Osc_Dial *cfreqdial; - Fl_Osc_Dial *qdial; -private: - void cb_qdial_i(Fl_Osc_Dial*, void*); - static void cb_qdial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *freqtrdial; - Fl_Osc_Dial *vsnsadial; - Fl_Osc_Dial *vsnsdial; - Fl_Osc_Dial *gaindial; -private: - void cb_gaindial_i(Fl_Osc_Dial*, void*); - static void cb_gaindial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Choice *stcounter; -private: - void cb_stcounter_i(Fl_Osc_Choice*, void*); - static void cb_stcounter(Fl_Osc_Choice*, void*); -public: - Fl_Button *editbutton; -private: - void cb_editbutton_i(Fl_Button*, void*); - static void cb_editbutton(Fl_Button*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P1_i(Fl_Button*, void*); - static void cb_P1(Fl_Button*, void*); -public: - Fl_Osc_Window* make_formant_window(); - Fl_Osc_Window *formantparswindow; -private: - void cb_P2_i(Fl_Button*, void*); - static void cb_P2(Fl_Button*, void*); - void cb_Formant_i(Fl_Counter*, void*); - static void cb_Formant(Fl_Counter*, void*); - void cb_Vowel_i(Fl_Counter*, void*); - static void cb_Vowel(Fl_Counter*, void*); -public: - Fl_Osc_Group *formantparsgroup; - Fl_Osc_Dial *formant_freq_dial; -private: - void cb_formant_freq_dial_i(Fl_Osc_Dial*, void*); - static void cb_formant_freq_dial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *formant_q_dial; -private: - void cb_formant_q_dial_i(Fl_Osc_Dial*, void*); - static void cb_formant_q_dial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *formant_amp_dial; -private: - void cb_formant_amp_dial_i(Fl_Osc_Dial*, void*); - static void cb_formant_amp_dial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Counter *sequencesize; -private: - void cb_sequencesize_i(Fl_Osc_Counter*, void*); - static void cb_sequencesize(Fl_Osc_Counter*, void*); - void cb_S_i(Fl_Counter*, void*); - static void cb_S(Fl_Counter*, void*); -public: - Fl_Osc_Counter *vowel_counter; -private: - void cb_vowel_counter_i(Fl_Osc_Counter*, void*); - static void cb_vowel_counter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Dial *strchdial; - Fl_Osc_Counter *numformants; -private: - void cb_numformants_i(Fl_Osc_Counter*, void*); - static void cb_numformants(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Dial *frsldial; - Fl_Osc_Output *centerfreqvo; -private: - void cb_centerfreqvo_i(Fl_Osc_Output*, void*); - static void cb_centerfreqvo(Fl_Osc_Output*, void*); -public: - Fl_Osc_Output *octavesfreqvo; -private: - void cb_octavesfreqvo_i(Fl_Osc_Output*, void*); - static void cb_octavesfreqvo(Fl_Osc_Output*, void*); -public: - Fl_Osc_Slider *cfknob; -private: - void cb_cfknob_i(Fl_Osc_Slider*, void*); - static void cb_cfknob(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Slider *octknob; -private: - void cb_octknob_i(Fl_Osc_Slider*, void*); - static void cb_octknob(Fl_Osc_Slider*, void*); -public: - FormantFilterGraph *formantfiltergraph; - Fl_Osc_Dial *wvknob; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_C1_i(Fl_Button*, void*); - static void cb_C1(Fl_Button*, void*); -public: - void update_formant_window(); - void refresh(); - void rebase(std::string new_base); - void init(std::string alt_root_, Fl_Osc_Interface *osc_, std::string base_, std::string ext_); - void switchcategory(int newcat); - void use_for_dynamic_filter(); -private: - std::string alt_root; - int nvowel,nformant,nseqpos; -}; -#endif diff --git a/zynaddsubfx/UI/LFOUI.cpp b/zynaddsubfx/UI/LFOUI.cpp deleted file mode 100644 index 8d1b973..0000000 --- a/zynaddsubfx/UI/LFOUI.cpp +++ /dev/null @@ -1,251 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/LFOUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later -#include "../globals.h" -#include -#include -#include - -Fl_Menu_Item LFOUI::menu_LFOtype[] = { - {"SINE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"TRI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"SQR", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"R.up", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"R.dn", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"E1dn", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"E2dn", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"RND", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void LFOUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy(lfoparamswindow->loc()); -} -void LFOUI::cb_C(Fl_Button* o, void* v) { - ((LFOUI*)(o->parent()->parent()->user_data()))->cb_C_i(o,v); -} - -void LFOUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste(lfoparamswindow->loc(),this); -} -void LFOUI::cb_P(Fl_Button* o, void* v) { - ((LFOUI*)(o->parent()->parent()->user_data()))->cb_P_i(o,v); -} - -LFOUI::LFOUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h) { - cached_label = label; -} - -LFOUI::~LFOUI() { - lfoui->hide(); - hide(); -} - -Fl_Group* LFOUI::make_window() { - { lfoui = new Fl_Group(0, 0, 230, 70); - lfoui->box(FL_FLAT_BOX); - lfoui->color(FL_LIGHT1); - lfoui->selection_color(FL_BACKGROUND_COLOR); - lfoui->labeltype(FL_NO_LABEL); - lfoui->labelfont(1); - lfoui->labelsize(14); - lfoui->labelcolor(FL_FOREGROUND_COLOR); - lfoui->user_data((void*)(this)); - lfoui->align(Fl_Align(FL_ALIGN_TOP)); - lfoui->when(FL_WHEN_RELEASE); - { Fl_Osc_Group* o = lfoparamswindow = new Fl_Osc_Group(0, 0, 230, 70, "LFO"); - lfoparamswindow->box(FL_UP_BOX); - lfoparamswindow->color(FL_CYAN); - lfoparamswindow->selection_color(FL_BACKGROUND_COLOR); - lfoparamswindow->labeltype(FL_ENGRAVED_LABEL); - lfoparamswindow->labelfont(0); - lfoparamswindow->labelsize(10); - lfoparamswindow->labelcolor(FL_FOREGROUND_COLOR); - lfoparamswindow->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - lfoparamswindow->when(FL_WHEN_RELEASE); - { Fl_Osc_DialF* o = freq = new Fl_Osc_DialF(5, 20, 30, 30, "Freq."); - freq->tooltip("LFO Frequency"); - freq->box(FL_ROUND_UP_BOX); - freq->color(FL_BACKGROUND_COLOR); - freq->selection_color(FL_INACTIVE_COLOR); - freq->labeltype(FL_NORMAL_LABEL); - freq->labelfont(0); - freq->labelsize(10); - freq->labelcolor(FL_FOREGROUND_COLOR); - freq->step(1e-05); - freq->align(Fl_Align(FL_ALIGN_BOTTOM)); - freq->when(FL_WHEN_CHANGED); - o->init("Pfreq"); - } // Fl_Osc_DialF* freq - { Fl_Osc_Dial* o = intensity = new Fl_Osc_Dial(40, 20, 30, 30, "Depth"); - intensity->tooltip("LFO Amount"); - intensity->box(FL_ROUND_UP_BOX); - intensity->color(FL_BACKGROUND_COLOR); - intensity->selection_color(FL_INACTIVE_COLOR); - intensity->labeltype(FL_NORMAL_LABEL); - intensity->labelfont(0); - intensity->labelsize(10); - intensity->labelcolor(FL_FOREGROUND_COLOR); - intensity->maximum(127); - intensity->step(1); - intensity->align(Fl_Align(FL_ALIGN_BOTTOM)); - intensity->when(FL_WHEN_CHANGED); - o->init("Pintensity"); - } // Fl_Osc_Dial* intensity - { Fl_Osc_Dial* o = delay = new Fl_Osc_Dial(110, 20, 30, 30, "Delay"); - delay->tooltip("LFO delay"); - delay->box(FL_ROUND_UP_BOX); - delay->color(FL_BACKGROUND_COLOR); - delay->selection_color(FL_INACTIVE_COLOR); - delay->labeltype(FL_NORMAL_LABEL); - delay->labelfont(0); - delay->labelsize(10); - delay->labelcolor(FL_FOREGROUND_COLOR); - delay->maximum(127); - delay->step(1); - delay->align(Fl_Align(FL_ALIGN_BOTTOM)); - delay->when(FL_WHEN_CHANGED); - o->init("Pdelay"); - } // Fl_Osc_Dial* delay - { Fl_Osc_Dial* o = startphase = new Fl_Osc_Dial(75, 20, 30, 30, "Start"); - startphase->tooltip("LFO Startphase (leftmost is Random)"); - startphase->box(FL_ROUND_UP_BOX); - startphase->color(FL_BACKGROUND_COLOR); - startphase->selection_color(FL_INACTIVE_COLOR); - startphase->labeltype(FL_NORMAL_LABEL); - startphase->labelfont(0); - startphase->labelsize(10); - startphase->labelcolor(FL_FOREGROUND_COLOR); - startphase->maximum(127); - startphase->step(1); - startphase->align(Fl_Align(FL_ALIGN_BOTTOM)); - startphase->when(FL_WHEN_CHANGED); - o->init("Pstartphase"); - } // Fl_Osc_Dial* startphase - { Fl_Osc_Dial* o = randomness = new Fl_Osc_Dial(180, 7, 20, 20, "A.R."); - randomness->tooltip("LFO Amplitude Randomness"); - randomness->box(FL_ROUND_UP_BOX); - randomness->color(FL_BACKGROUND_COLOR); - randomness->selection_color(FL_INACTIVE_COLOR); - randomness->labeltype(FL_NORMAL_LABEL); - randomness->labelfont(0); - randomness->labelsize(10); - randomness->labelcolor(FL_FOREGROUND_COLOR); - randomness->maximum(127); - randomness->step(1); - randomness->align(Fl_Align(FL_ALIGN_BOTTOM)); - randomness->when(FL_WHEN_CHANGED); - o->init("Prandomness"); - } // Fl_Osc_Dial* randomness - { Fl_Osc_Choice* o = LFOtype = new Fl_Osc_Choice(180, 40, 45, 15, "Type"); - LFOtype->tooltip("LFO function"); - LFOtype->box(FL_UP_BOX); - LFOtype->down_box(FL_BORDER_BOX); - LFOtype->color(FL_BACKGROUND_COLOR); - LFOtype->selection_color(FL_SELECTION_COLOR); - LFOtype->labeltype(FL_NORMAL_LABEL); - LFOtype->labelfont(0); - LFOtype->labelsize(10); - LFOtype->labelcolor(FL_FOREGROUND_COLOR); - LFOtype->textsize(8); - LFOtype->align(Fl_Align(FL_ALIGN_BOTTOM)); - LFOtype->when(FL_WHEN_RELEASE); - LFOtype->menu(menu_LFOtype); - o->init("PLFOtype"); - } // Fl_Osc_Choice* LFOtype - { Fl_Osc_Check* o = continous = new Fl_Osc_Check(165, 35, 15, 15, "C."); - continous->tooltip("Continuous LFO"); - continous->box(FL_NO_BOX); - continous->down_box(FL_DOWN_BOX); - continous->color(FL_BACKGROUND_COLOR); - continous->selection_color(FL_FOREGROUND_COLOR); - continous->labeltype(FL_NORMAL_LABEL); - continous->labelfont(0); - continous->labelsize(10); - continous->labelcolor(FL_FOREGROUND_COLOR); - continous->align(Fl_Align(FL_ALIGN_BOTTOM)); - continous->when(FL_WHEN_RELEASE); - o->init("Pcontinous"); - } // Fl_Osc_Check* continous - { Fl_Osc_Dial* o = freqrand = new Fl_Osc_Dial(205, 7, 20, 20, "F.R."); - freqrand->tooltip("LFO Frequency Randomness"); - freqrand->box(FL_ROUND_UP_BOX); - freqrand->color(FL_BACKGROUND_COLOR); - freqrand->selection_color(FL_INACTIVE_COLOR); - freqrand->labeltype(FL_NORMAL_LABEL); - freqrand->labelfont(0); - freqrand->labelsize(10); - freqrand->labelcolor(FL_FOREGROUND_COLOR); - freqrand->maximum(127); - freqrand->step(1); - freqrand->align(Fl_Align(FL_ALIGN_BOTTOM)); - freqrand->when(FL_WHEN_CHANGED); - o->init("Pfreqrand"); - } // Fl_Osc_Dial* freqrand - { Fl_Osc_Dial* o = stretch = new Fl_Osc_Dial(144, 30, 20, 20, "Str."); - stretch->tooltip("LFO stretch"); - stretch->box(FL_ROUND_UP_BOX); - stretch->color(FL_BACKGROUND_COLOR); - stretch->selection_color(FL_INACTIVE_COLOR); - stretch->labeltype(FL_NORMAL_LABEL); - stretch->labelfont(0); - stretch->labelsize(10); - stretch->labelcolor(FL_FOREGROUND_COLOR); - stretch->maximum(127); - stretch->step(1); - stretch->align(Fl_Align(FL_ALIGN_BOTTOM)); - stretch->when(FL_WHEN_CHANGED); - o->init("Pstretch"); - } // Fl_Osc_Dial* stretch - { Fl_Button* o = new Fl_Button(145, 10, 15, 15, "C"); - o->box(FL_THIN_UP_BOX); - o->color((Fl_Color)179); - o->labelfont(1); - o->labelsize(10); - o->labelcolor((Fl_Color)55); - o->callback((Fl_Callback*)cb_C); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(162, 10, 15, 15, "P"); - o->box(FL_THIN_UP_BOX); - o->color((Fl_Color)179); - o->labelfont(1); - o->labelsize(10); - o->labelcolor((Fl_Color)55); - o->callback((Fl_Callback*)cb_P); - } // Fl_Button* o - set_module_parameters(o); - lfoparamswindow->end(); - } // Fl_Osc_Group* lfoparamswindow - lfoui->end(); - } // Fl_Group* lfoui - return lfoui; -} - -void LFOUI::refresh() { - freq->update(); - intensity->update(); - startphase->update(); - delay->update(); - continous->update(); - stretch->update(); - randomness->update(); - freqrand->update(); - LFOtype->update(); -} - -void LFOUI::init(Fl_Osc_Interface *osc_, std::string base_, std::string ext_) { - base = base_; - ext = ext_; - osc = osc_; - - make_window(); - end(); - - refresh(); - - lfoui->resize(this->x(),this->y(),this->w(),this->h()); - - lfoparamswindow->label(cached_label); -} diff --git a/zynaddsubfx/UI/LFOUI.h b/zynaddsubfx/UI/LFOUI.h deleted file mode 100644 index a5c767f..0000000 --- a/zynaddsubfx/UI/LFOUI.h +++ /dev/null @@ -1,44 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef LFOUI_h -#define LFOUI_h -#include -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_DialF.H" -#include "Fl_Osc_Choice.H" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Pane.H" -#include -#include "PresetsUI.h" -#include "common.H" -#include - -class LFOUI : public Fl_Osc_Group, PresetsUI_ { -public: - LFOUI(int x,int y, int w, int h, const char *label=0); - ~LFOUI(); - Fl_Group* make_window(); - Fl_Group *lfoui; - Fl_Osc_Group *lfoparamswindow; - Fl_Osc_DialF *freq; - Fl_Osc_Dial *intensity; - Fl_Osc_Dial *delay; - Fl_Osc_Dial *startphase; - Fl_Osc_Dial *randomness; - Fl_Osc_Choice *LFOtype; - static Fl_Menu_Item menu_LFOtype[]; - Fl_Osc_Check *continous; - Fl_Osc_Dial *freqrand; - Fl_Osc_Dial *stretch; -private: - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - void refresh(); - void init(Fl_Osc_Interface *osc_, std::string base_, std::string ext_); -private: - const char *cached_label; -}; -#endif diff --git a/zynaddsubfx/UI/MasterUI.cpp b/zynaddsubfx/UI/MasterUI.cpp deleted file mode 100644 index da3a43d..0000000 --- a/zynaddsubfx/UI/MasterUI.cpp +++ /dev/null @@ -1,2547 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/MasterUI.h" -//Copyright (c) 2002-2009 Nasca Octavian Paul - (c) 2009-2017 Mark McCurry -//License: GNU GPL version 2 or later -#if ! defined(PLUGINVERSION) && HAS_X11 -#include "zynaddsubfx.xpm" -#endif -#include "Fl_Osc_Dial.H" -#include "Osc_DataModel.h" -#include "Fl_Osc_TSlider.H" - -SysEffSend::SysEffSend(int x,int y, int w, int h, const char *label):Fl_Osc_Dial(x,y,w,h,label) { -} - -void SysEffSend::init(int neff1,int neff2) { - //TODO figure out if this extra class is even needed - minimum(0); - maximum(127); - step(1); - labelfont(1); - labelsize(10); - align(FL_ALIGN_TOP); - - Fl_Osc_Dial::init("part"+to_s(neff1)+"/sysefxsend"+to_s(neff2)); - char tmp[20];snprintf(tmp,20,"%d->%d",neff1+1,neff2+1); - this->copy_label(tmp); -} - -SysEffSend::~SysEffSend() { - hide(); -} - -void Panellistitem::cb_partname_i(PartNameButton*, void*) { - if ((int)bankui->cbwig->value()!=(npart+1)){ - bankui->cbwig->value(npart+1); - bankui->cbwig->do_callback(); -}; -bankui->show(); -} -void Panellistitem::cb_partname(PartNameButton* o, void* v) { - ((Panellistitem*)(o->parent()->parent()->user_data()))->cb_partname_i(o,v); -} - -void Panellistitem::cb_edit_i(Fl_Button*, void*) { - if ((int)bankui->cbwig->value()!=(npart+1)){ - bankui->cbwig->value(npart+1); - bankui->cbwig->do_callback(); - } - if (Fl::event_shift()) - partui->instrumenteditwindow->show(); - else if (Fl::event_ctrl()) - partui->instrumentkitlist->show(); -} -void Panellistitem::cb_edit(Fl_Button* o, void* v) { - ((Panellistitem*)(o->parent()->parent()->user_data()))->cb_edit_i(o,v); -} - -void Panellistitem::cb_partenabled_i(Fl_Osc_Check* o, void*) { - if ((int) o->value()==0) panellistitemgroup->deactivate(); - else { - panellistitemgroup->activate(); - }; - - o->redraw(); -} -void Panellistitem::cb_partenabled(Fl_Osc_Check* o, void* v) { - ((Panellistitem*)(o->parent()->user_data()))->cb_partenabled_i(o,v); -} - -Fl_Group* Panellistitem::make_window() { - { panellistitem = new Fl_Group(0, 0, 100, 260); - panellistitem->box(FL_NO_BOX); - panellistitem->color(FL_BACKGROUND_COLOR); - panellistitem->selection_color(FL_BACKGROUND_COLOR); - panellistitem->labeltype(FL_NO_LABEL); - panellistitem->labelfont(0); - panellistitem->labelsize(14); - panellistitem->labelcolor(FL_FOREGROUND_COLOR); - panellistitem->user_data((void*)(this)); - panellistitem->align(Fl_Align(FL_ALIGN_TOP)); - panellistitem->when(FL_WHEN_RELEASE); - { Fl_Group* o = panellistitemgroup = new Fl_Group(0, 20, 70, 240); - panellistitemgroup->box(FL_UP_FRAME); - { Fl_Group* o = new Fl_Group(45, 65, 15, 110); - o->box(FL_ENGRAVED_FRAME); - { partvu = new VuPartMeter(45, 65, 15, 110, "V U"); - partvu->box(FL_FLAT_BOX); - partvu->color(FL_FOREGROUND_COLOR); - partvu->selection_color((Fl_Color)75); - partvu->labeltype(FL_NORMAL_LABEL); - partvu->labelfont(0); - partvu->labelsize(14); - partvu->labelcolor((Fl_Color)55); - partvu->align(Fl_Align(FL_ALIGN_WRAP)); - partvu->when(FL_WHEN_RELEASE); - } // VuPartMeter* partvu - o->end(); - } // Fl_Group* o - { PartNameButton* o = partname = new PartNameButton(5, 27, 60, 30, " "); - partname->box(FL_THIN_DOWN_BOX); - partname->down_box(FL_FLAT_BOX); - partname->color(FL_BACKGROUND_COLOR); - partname->selection_color(FL_BACKGROUND_COLOR); - partname->labeltype(FL_NORMAL_LABEL); - partname->labelfont(1); - partname->labelsize(10); - partname->labelcolor(FL_FOREGROUND_COLOR); - partname->callback((Fl_Callback*)cb_partname); - partname->align(Fl_Align(192|FL_ALIGN_INSIDE)); - partname->when(FL_WHEN_RELEASE); - o->ext = "Pname";o->oscRegister("Pname"); - } // PartNameButton* partname - { Fl_Osc_TSlider* o = partvolume = new Fl_Osc_TSlider(10, 65, 30, 110); - partvolume->type(4); - partvolume->box(FL_NO_BOX); - partvolume->color(FL_BACKGROUND_COLOR); - partvolume->selection_color(FL_BACKGROUND_COLOR); - partvolume->labeltype(FL_NORMAL_LABEL); - partvolume->labelfont(0); - partvolume->labelsize(14); - partvolume->labelcolor(FL_FOREGROUND_COLOR); - partvolume->minimum(127); - partvolume->maximum(0); - partvolume->step(1); - partvolume->value(127); - partvolume->align(Fl_Align(FL_ALIGN_BOTTOM)); - partvolume->when(FL_WHEN_CHANGED); - o->init("Pvolume", 'i');o->reset_value=96; - } // Fl_Osc_TSlider* partvolume - { Fl_Osc_Dial* o = partpanning = new Fl_Osc_Dial(20, 180, 30, 30); - partpanning->box(FL_NO_BOX); - partpanning->color(FL_BACKGROUND_COLOR); - partpanning->selection_color(FL_INACTIVE_COLOR); - partpanning->labeltype(FL_NORMAL_LABEL); - partpanning->labelfont(0); - partpanning->labelsize(14); - partpanning->labelcolor(FL_FOREGROUND_COLOR); - partpanning->maximum(127); - partpanning->step(1); - partpanning->align(Fl_Align(FL_ALIGN_BOTTOM)); - partpanning->when(FL_WHEN_CHANGED); - o->init("Ppanning");o->reset_value=64; - } // Fl_Osc_Dial* partpanning - { Fl_Button* o = new Fl_Button(15, 235, 40, 20, "edit"); - o->labelsize(10); - o->callback((Fl_Callback*)cb_edit); - } // Fl_Button* o - { Fl_Osc_Choice* o = partrcv = new Fl_Osc_Choice(10, 213, 50, 15); - partrcv->tooltip("receive from Midi channel"); - partrcv->box(FL_UP_BOX); - partrcv->down_box(FL_BORDER_BOX); - partrcv->color(FL_BACKGROUND_COLOR); - partrcv->selection_color(FL_SELECTION_COLOR); - partrcv->labeltype(FL_NORMAL_LABEL); - partrcv->labelfont(0); - partrcv->labelsize(10); - partrcv->labelcolor(FL_FOREGROUND_COLOR); - partrcv->textfont(1); - partrcv->textsize(10); - partrcv->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - partrcv->when(FL_WHEN_RELEASE); - char nrstr[10]; for(int i=0;iadd(nrstr); else o->add("Dr10");}; - o->init("Prcvchn"); - } // Fl_Osc_Choice* partrcv - /*if (master->part[npart]->Penabled==0) o->deactivate();*/ - set_module_parameters( o ); - panellistitemgroup->end(); - } // Fl_Group* panellistitemgroup - { Fl_Osc_Check* o = partenabled = new Fl_Osc_Check(5, 0, 45, 20, "01"); - partenabled->box(FL_NO_BOX); - partenabled->down_box(FL_DOWN_BOX); - partenabled->color(FL_BACKGROUND_COLOR); - partenabled->selection_color(FL_FOREGROUND_COLOR); - partenabled->labeltype(FL_EMBOSSED_LABEL); - partenabled->labelfont(1); - partenabled->labelsize(13); - partenabled->labelcolor(FL_FOREGROUND_COLOR); - partenabled->callback((Fl_Callback*)cb_partenabled); - partenabled->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); - partenabled->when(FL_WHEN_RELEASE); - char tmp[10];snprintf(tmp,10,"%d",npart+1);o->copy_label(tmp); - o->init("Penabled"); - } // Fl_Osc_Check* partenabled - panellistitem->end(); - } // Fl_Group* panellistitem - return panellistitem; -} - -Panellistitem::Panellistitem(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) { - npart=0; - bankui=NULL; -} - -void Panellistitem::init(int npart_,BankUI *bankui_, PartUI *partui_) { - npart=npart_; - bankui=bankui_; - partui=partui_; - ext = "part"+to_s(npart)+"/"; - - make_window(); - panellistitem->show(); - end(); -} - -void Panellistitem::refresh() { - partenabled->update(); - partrcv->update(); - partpanning->update(); - partvolume->update(); - partname->update(); - - if ((int)bankui->cbwig->value()!=(npart+1)) - panellistitemgroup->color(fl_rgb_color(160,160,160)); - else - panellistitemgroup->color(fl_rgb_color(50,190,240)); - - panellistitemgroup->redraw(); -} - -Panellistitem::~Panellistitem() { -} - -void MasterUI::cb_masterwindow_i(Fl_Osc_Window*, void*) { - if ((isPlugin -#if USE_NSM - || (nsm && nsm->is_active()) -#endif - || fl_choice("Exit and leave the unsaved data?","No","Yes",NULL))) { - close(); -}; -} -void MasterUI::cb_masterwindow(Fl_Osc_Window* o, void* v) { - ((MasterUI*)(o->user_data()))->cb_masterwindow_i(o,v); -} - -void MasterUI::cb_New_i(Fl_Menu_*, void*) { - do_new_master(); -} -void MasterUI::cb_New(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_New_i(o,v); -} - -void MasterUI::cb_Revert_i(Fl_Menu_*, void*) { - do_revert_changes(); -} -void MasterUI::cb_Revert(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Revert_i(o,v); -} - -void MasterUI::cb_Open_i(Fl_Menu_*, void*) { - #if USE_NSM - if ( nsm && nsm->is_active() ) - { - do_load_master(); - do_save_master( nsm->project_filename ); - } - else -#endif - { - do_load_master(); - }; -} -void MasterUI::cb_Open(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Open_i(o,v); -} - -void MasterUI::cb_Save_i(Fl_Menu_*, void*) { - #if USE_NSM - if ( nsm && nsm->is_active() ) - { - do_save_master( nsm->project_filename ); - } - else -#endif - { - do_save_master(); - }; -} -void MasterUI::cb_Save(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Save_i(o,v); -} - -void MasterUI::cb_Load_i(Fl_Menu_*, void*) { - char *filename; -filename=fl_file_chooser("Open:","({*.xlz})",NULL,0); -if (filename==NULL) return; - -osc->write("/load_xlz", "s", filename); -} -void MasterUI::cb_Load(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Load_i(o,v); -} - -void MasterUI::cb_Clear_i(Fl_Menu_*, void*) { - osc->write("/clear_xlz", ""); -} -void MasterUI::cb_Clear(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Clear_i(o,v); -} - -void MasterUI::cb_Save1_i(Fl_Menu_*, void*) { - char *filename; -int result; -filename=fl_file_chooser("Save:","({*.xlz})",NULL,0); -if (filename==NULL) return; -filename=fl_filename_setext(filename,".xlz"); - -result=fileexists(filename); -if (result) { - result=0; - if (!fl_choice("The file exists. \nOverwrite it?","No","Yes",NULL)) return; -}; - -osc->write("/save_xlz", "s", filename); -} -void MasterUI::cb_Save1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Save1_i(o,v); -} - -void MasterUI::cb_Load1_i(Fl_Menu_*, void*) { - char *filename; -filename=fl_file_chooser("Open:","({*.xsz})",NULL,0); -if (filename==NULL) return; - -osc->write("/load_xsz", "s", filename); -} -void MasterUI::cb_Load1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Load1_i(o,v); -} - -void MasterUI::cb_Save2_i(Fl_Menu_*, void*) { - char *filename; -int result=0; - -filename=fl_file_chooser("Save:","({*.xsz})",NULL,0); -if (filename==NULL) return; -filename=fl_filename_setext(filename,".xsz"); - -result=fileexists(filename); -if (result) { - result=0; - if (!fl_choice("The file exists. \nOverwrite it?","No","Yes",NULL)) return; - -}; - - -osc->write("/save_xsz", "s", filename); -} -void MasterUI::cb_Save2(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Save2_i(o,v); -} - -void MasterUI::cb_Show_i(Fl_Menu_*, void*) { - microtonalui->show(); -} -void MasterUI::cb_Show(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Show_i(o,v); -} - -void MasterUI::cb_Settings_i(Fl_Menu_*, void*) { - configui->show(); -} -void MasterUI::cb_Settings(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Settings_i(o,v); -} - -void MasterUI::cb_N_i(Fl_Menu_*, void*) { - nioui.refresh(); -nioui.show(); -} -void MasterUI::cb_N(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_N_i(o,v); -} - -void MasterUI::cb_Copyright_i(Fl_Menu_*, void*) { - aboutwindow->show(); -} -void MasterUI::cb_Copyright(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Copyright_i(o,v); -} - -void MasterUI::cb_E_i(Fl_Menu_*, void*) { - masterwindow->do_callback(); -} -void MasterUI::cb_E(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_E_i(o,v); -} - -void MasterUI::cb_Clear1_i(Fl_Menu_*, void*) { - if (fl_choice("Clear instrument's parameters ?","No","Yes",NULL)){ -// int npart=(int)npartcounter->value()-1; - osc->write("/part"+to_s(npart)+"/clear"); -}; - -updatepanel(); -} -void MasterUI::cb_Clear1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Clear1_i(o,v); -} - -void MasterUI::cb_Open1_i(Fl_Menu_*, void*) { - const char *filename; -filename=fl_file_chooser("Load:","({*.xiz})",NULL,0); -if (filename==NULL) return; - - -osc->write("/load_xiz", "is", npart, filename); -npartcounter->do_callback(); -updatepanel(); - -/* -if (result==-10) fl_alert("Error: Could not load the file\nbecause it is not an instrument file."); - else if (result<0) fl_alert("Error: Could not load the file.");*/; -} -void MasterUI::cb_Open1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Open1_i(o,v); -} - -void MasterUI::cb_Save3_i(Fl_Menu_*, void*) { - char *filename; - -filename=fl_file_chooser("Save:","({*.xiz})",NULL,0); -if (filename==NULL) return; -filename=fl_filename_setext(filename,".xiz"); - -int result=fileexists(filename); -if (result) { - result=0; - if (!fl_choice("The file exists. \nOverwrite it?","No","Yes",NULL)) return; - -}; - -osc->write("/save_xiz", "is", npart, filename); -/*if (result<0) fl_alert("Error: Could not save the file.");*/; -} -void MasterUI::cb_Save3(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Save3_i(o,v); -} - -void MasterUI::cb_Show1_i(Fl_Menu_*, void*) { - bankui->show(); -} -void MasterUI::cb_Show1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Show1_i(o,v); -} - -void MasterUI::cb_Virtual_i(Fl_Menu_*, void*) { - virkeyboard->show(); -} -void MasterUI::cb_Virtual(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Virtual_i(o,v); -} - -void MasterUI::cb_Choose_i(Fl_Menu_*, void*) { - char *filename; -recordbutton->deactivate(); -pausebutton->deactivate(); -pauselabel->deactivate(); -stopbutton->deactivate(); -filename=fl_file_chooser("Record to audio file:","(*.wav)",NULL,0); -if (filename==NULL) return; -fl_filename_setext(filename,".wav"); - -//TODO TODO Test if a file exists -if (fl_choice("The file *might* exist. \nOverwrite it?","No","Yes",NULL)) { - osc->write("/HDDRecorder/preparefile", "s", filename); - recordbutton->activate();//TODO make this button osc controlled -} - -/*if (result!=0) fl_alert("Error: Could not save the file.");*/; -} -void MasterUI::cb_Choose(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Choose_i(o,v); -} - -void MasterUI::cb_Switch_i(Fl_Menu_*, void*) { - if (fl_choice("Switch the User Interface to Beginner mode ?","No","Yes",NULL)){ - masterwindow->hide(); - refresh_master_ui(); - simplemasterwindow->show(); - osc->write("/cfg.UserInterfaceMode", "i", 2); -}; -} -void MasterUI::cb_Switch(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Switch_i(o,v); -} - -Fl_Menu_Item MasterUI::menu_mastermenu[] = { - {"&File", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"&New (erase all)...", 0, (Fl_Callback*)MasterUI::cb_New, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Revert changes...", 0, (Fl_Callback*)MasterUI::cb_Revert, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Open Parameters...", 0, (Fl_Callback*)MasterUI::cb_Open, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Save All Parameters...", 0, (Fl_Callback*)MasterUI::cb_Save, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Load Midi Learn...", 0, (Fl_Callback*)MasterUI::cb_Load, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"Clear Midi Learn...", 0, (Fl_Callback*)MasterUI::cb_Clear, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"Save Midi Learn...", 0, (Fl_Callback*)MasterUI::cb_Save1, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Load Scale Settings...", 0, (Fl_Callback*)MasterUI::cb_Load1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"Save Sc&ale Settings ..", 0, (Fl_Callback*)MasterUI::cb_Save2, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"Show Scale Settings...", 0, (Fl_Callback*)MasterUI::cb_Show, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Settings...", 0, (Fl_Callback*)MasterUI::cb_Settings, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"N&io Settings", 0, (Fl_Callback*)MasterUI::cb_N, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Copyright...", 0, (Fl_Callback*)MasterUI::cb_Copyright, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"E&xit", 0, (Fl_Callback*)MasterUI::cb_E, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {"&Instrument", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Clear Instrument...", 0, (Fl_Callback*)MasterUI::cb_Clear1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Open Instrument...", 0, (Fl_Callback*)MasterUI::cb_Open1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Save Instrument ...", 0, (Fl_Callback*)MasterUI::cb_Save3, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"Show Instrument &Bank...", 0, (Fl_Callback*)MasterUI::cb_Show1, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Virtual Keyboard...", 0, (Fl_Callback*)MasterUI::cb_Virtual, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {"&Record", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Choose WAV file...", 0, (Fl_Callback*)MasterUI::cb_Choose, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {"Misc", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"Switch User Interface Mode", 0, (Fl_Callback*)MasterUI::cb_Switch, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0} -}; -Fl_Menu_Item* MasterUI::recordmenu = MasterUI::menu_mastermenu + 23; - -void MasterUI::cb_Panic_i(Fl_Osc_Button* o, void*) { - virkeyboard->releaseallkeys(); - o->oscWrite("Panic"); -} -void MasterUI::cb_Panic(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Panic_i(o,v); -} - -void MasterUI::cb_syseffnocounter_i(Fl_Counter* o, void*) { - nsyseff=(int) o->value()-1; - syseffectuigroup->reext("sysefx"+to_s(nsyseff)+"/"); - sysefftype->oscMove("sysefx"+to_s(nsyseff)+"/efftype"); -syseffectui->refresh(); -} -void MasterUI::cb_syseffnocounter(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_syseffnocounter_i(o,v); -} - -void MasterUI::cb_sysefftype_i(Fl_Osc_Choice* o, void*) { - syseffectui->efftype = o->value(); -syseffectui->refresh(); -} -void MasterUI::cb_sysefftype(Fl_Osc_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_sysefftype_i(o,v); -} - -Fl_Menu_Item MasterUI::menu_sysefftype[] = { - {"No Effect", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Reverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AlienWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Distortion", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"EQ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"DynFilter", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void MasterUI::cb_Send_i(Fl_Button*, void*) { - syseffsendwindow->show(); -} -void MasterUI::cb_Send(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Send_i(o,v); -} - -void MasterUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy("/sysefx"+to_s(nsyseff)+"/"); -} -void MasterUI::cb_C(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_C_i(o,v); -} - -void MasterUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste("/sysefx"+to_s(nsyseff)+"/",syseffectui); -} -void MasterUI::cb_P(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_P_i(o,v); -} - -void MasterUI::cb_inseffnocounter_i(Fl_Counter* o, void*) { - ninseff=(int) o->value()-1; - insefftype->oscMove("insefx"+to_s(ninseff)+"/efftype"); - inseffectuigroup->reext("insefx"+to_s(ninseff)+"/"); - inseffpart->oscMove("Pinsparts"+to_s(ninseff)); - - /* -insefftype->value(master->insefx[ninseff]->geteffect()); -inseffpart->value(master->Pinsparts[ninseff]+2); -inseffectui->refresh(); - -if (master->Pinsparts[ninseff]!=-1) { - insefftype->activate(); - inseffectui->activate(); - inseffectuigroup->activate(); -} else { - insefftype->deactivate(); - inseffectui->deactivate(); - inseffectuigroup->deactivate(); -};*/; -} -void MasterUI::cb_inseffnocounter(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_inseffnocounter_i(o,v); -} - -void MasterUI::cb_insefftype_i(Fl_Osc_Choice* o, void*) { - /*pthread_mutex_lock(&master->mutex); -master->insefx[ninseff]->changeeffect((int) o->value()); -pthread_mutex_unlock(&master->mutex);*/ -inseffectui->efftype = o->value(); -inseffectui->refresh(); -inseffectui->show(); -} -void MasterUI::cb_insefftype(Fl_Osc_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_insefftype_i(o,v); -} - -Fl_Menu_Item MasterUI::menu_insefftype[] = { - {"No Effect", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Reverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AlienWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Distortion", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"EQ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"DynFilter", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void MasterUI::cb_inseffpart_i(Fl_Osc_Choice* o, void*) { - /*master->Pinsparts[ninseff]=(int) o->value()-2;*/ -if ((int) o->value()==1){ - inseffectuigroup->deactivate(); - insefftype->deactivate(); - inseffectui->deactivate(); -} else { - inseffectuigroup->activate(); - insefftype->activate(); - inseffectui->activate(); -}; -/*master->insefx[ninseff]->cleanup();*/; -} -void MasterUI::cb_inseffpart(Fl_Osc_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_inseffpart_i(o,v); -} - -void MasterUI::cb_C1_i(Fl_Button*, void*) { - presetsui->copy(inseffectuigroup->loc()); -} -void MasterUI::cb_C1(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_C1_i(o,v); -} - -void MasterUI::cb_P1_i(Fl_Button*, void*) { - presetsui->paste(inseffectuigroup->loc(),inseffectui); -} -void MasterUI::cb_P1(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_P1_i(o,v); -} - -void MasterUI::cb_Scales_i(Fl_Button*, void*) { - microtonalui->show(); -} -void MasterUI::cb_Scales(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Scales_i(o,v); -} - -void MasterUI::cb_recordbutton_i(Fl_Osc_Button* o, void*) { - o->deactivate(); -recordmenu->deactivate(); -recordmenu->label("&Record(*)"); -stopbutton->activate(); -pausebutton->activate(); -pauselabel->activate(); -o->oscWrite("HDDRecorder/start"); -o->oscWrite("reset-vu"); -mastermenu->redraw(); -} -void MasterUI::cb_recordbutton(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->user_data()))->cb_recordbutton_i(o,v); -} - -void MasterUI::cb_stopbutton_i(Fl_Osc_Button* o, void*) { - o->deactivate(); - o->oscWrite("HDDRecorder/stop"); -recordbutton->deactivate(); -pausebutton->deactivate(); -pauselabel->deactivate(); -recordmenu->activate(); -recordmenu->label("&Record"); -mastermenu->redraw(); -} -void MasterUI::cb_stopbutton(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->user_data()))->cb_stopbutton_i(o,v); -} - -void MasterUI::cb_pausebutton_i(Fl_Osc_Button* o, void*) { - o->deactivate(); -o->oscWrite("HDDRecorder/pause"); -recordbutton->activate(); -mastermenu->redraw(); -} -void MasterUI::cb_pausebutton(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->user_data()))->cb_pausebutton_i(o,v); -} - -void MasterUI::cb_npartcounter_i(Fl_Counter* o, void*) { - int nval=(int) o->value()-1; -/*partuigroup->remove(partui); -delete partui; -partui=new PartUI(0,0,765,525); -partuigroup->add(partui); -char buffer[1024]; -snprintf(buffer, 1024, "/part%d/", nval); -partui->init(master->part[nval], buffer, master, nval, bankui, "/part"+to_s(nval)+"/", osc); -partui->redraw(); -o->redraw(); -*/ -npart=nval; -partui->rebase("/part"+to_s(npart)+"/"); - -updatepanel(); -simplenpartcounter->value(nval+1); -simplenpartcounter->do_callback(); -} -void MasterUI::cb_npartcounter(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_npartcounter_i(o,v); -} - -void MasterUI::cb_vK_i(Fl_Button*, void*) { - virkeyboard->show(); -} -void MasterUI::cb_vK(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_vK_i(o,v); -} - -void MasterUI::cb_Reset_i(Fl_Button*, void*) { - globalfinedetuneslider->value(64.0); -globalfinedetuneslider->do_callback(); -} -void MasterUI::cb_Reset(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->user_data()))->cb_Reset_i(o,v); -} - -void MasterUI::cb_Panel_i(Fl_Button*, void*) { - updatepanel(); -panelwindow->show(); -} -void MasterUI::cb_Panel(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_Panel_i(o,v); -} - -void MasterUI::cb_Close_i(Fl_Button*, void*) { - aboutwindow->hide(); -} -void MasterUI::cb_Close(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void MasterUI::cb_Close1_i(Fl_Button*, void*) { - syseffsendwindow->hide(); -} -void MasterUI::cb_Close1(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Close1_i(o,v); -} - -void MasterUI::cb_Close2_i(Fl_Button*, void*) { - panelwindow->hide(); -updatepanel(); -} -void MasterUI::cb_Close2(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Close2_i(o,v); -} - -void MasterUI::cb_Refresh_i(Fl_Button*, void*) { - updatepanel(); -} -void MasterUI::cb_Refresh(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Refresh_i(o,v); -} - -void MasterUI::cb_simplemasterwindow_i(Fl_Osc_Window*, void*) { - if (isPlugin || fl_choice("Exit and leave the unsaved data?","No","Yes",NULL)) -{ - *exitprogram=1; -}; -} -void MasterUI::cb_simplemasterwindow(Fl_Osc_Window* o, void* v) { - ((MasterUI*)(o->user_data()))->cb_simplemasterwindow_i(o,v); -} - -void MasterUI::cb_New1_i(Fl_Menu_*, void*) { - do_new_master(); -} -void MasterUI::cb_New1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_New1_i(o,v); -} - -void MasterUI::cb_Revert1_i(Fl_Menu_*, void*) { - do_revert_changes(); -} -void MasterUI::cb_Revert1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Revert1_i(o,v); -} - -void MasterUI::cb_Open2_i(Fl_Menu_*, void*) { - do_load_master(); -} -void MasterUI::cb_Open2(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Open2_i(o,v); -} - -void MasterUI::cb_Save4_i(Fl_Menu_*, void*) { - #if USE_NSM - if ( nsm && nsm->is_active() ) - { - do_save_master( nsm->project_filename ); - } - else -#endif - { - do_save_master(); - }; -} -void MasterUI::cb_Save4(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Save4_i(o,v); -} - -void MasterUI::cb_Settings1_i(Fl_Menu_*, void*) { - configui->show(); -} -void MasterUI::cb_Settings1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Settings1_i(o,v); -} - -void MasterUI::cb_Copyright1_i(Fl_Menu_*, void*) { - aboutwindow->show(); -} -void MasterUI::cb_Copyright1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Copyright1_i(o,v); -} - -void MasterUI::cb_E1_i(Fl_Menu_*, void*) { - masterwindow->do_callback(); -} -void MasterUI::cb_E1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_E1_i(o,v); -} - -void MasterUI::cb_Open3_i(Fl_Menu_*, void*) { - const char *filename; -filename=fl_file_chooser("Load:","({*.xiz})",NULL,0); -if (filename==NULL) return; - - -osc->write("/load_xiz", "si", filename, npart); -simplenpartcounter->do_callback(); -/* -if (result==-10) fl_alert("Error: Could not load the file\nbecause it is not an instrument file."); - else if (result<0) fl_alert("Error: Could not load the file.");*/; -} -void MasterUI::cb_Open3(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Open3_i(o,v); -} - -void MasterUI::cb_Show2_i(Fl_Menu_*, void*) { - bankui->show(); -} -void MasterUI::cb_Show2(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Show2_i(o,v); -} - -void MasterUI::cb_Switch1_i(Fl_Menu_*, void*) { - if (fl_choice("Switch the User Interface to Advanced mode ?","No","Yes",NULL)){ - simplemasterwindow->hide(); - refresh_master_ui(); - masterwindow->show(); - osc->write("/cfg.UserInterfaceMode", "i", 1); -}; -} -void MasterUI::cb_Switch1(Fl_Menu_* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Switch1_i(o,v); -} - -Fl_Menu_Item MasterUI::menu_simplemastermenu[] = { - {"&File", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"&New (erase all)...", 0, (Fl_Callback*)MasterUI::cb_New1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Revert changes...", 0, (Fl_Callback*)MasterUI::cb_Revert1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Open Parameters...", 0, (Fl_Callback*)MasterUI::cb_Open2, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Save All Parameters...", 0, (Fl_Callback*)MasterUI::cb_Save4, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Settings...", 0, (Fl_Callback*)MasterUI::cb_Settings1, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Copyright...", 0, (Fl_Callback*)MasterUI::cb_Copyright1, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {"E&xit", 0, (Fl_Callback*)MasterUI::cb_E1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {"&Instrument", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"&Open Instrument...", 0, (Fl_Callback*)MasterUI::cb_Open3, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {"Show Instrument &Bank...", 0, (Fl_Callback*)MasterUI::cb_Show2, 0, 128, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {"Misc", 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0}, - {"Switch User Interface Mode", 0, (Fl_Callback*)MasterUI::cb_Switch1, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, - {0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0} -}; - -void MasterUI::cb_partname1_i(PartNameButton*, void*) { - if ((int)bankui->cbwig->value()!=(npart+1)){ - bankui->cbwig->value(npart+1); - bankui->cbwig->do_callback(); -}; -bankui->show(); -} -void MasterUI::cb_partname1(PartNameButton* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_partname1_i(o,v); -} - -void MasterUI::cb_partrcv_i(Fl_Osc_Choice* o, void*) { - virkeys->releaseallkeys(0); -virkeys->midich=(int) o->value(); -} -void MasterUI::cb_partrcv(Fl_Osc_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_partrcv_i(o,v); -} - -void MasterUI::cb_simpleminkcounter_i(Fl_Osc_Counter* o, void*) { - if (simpleminkcounter->value()>simplemaxkcounter->value()) o->textcolor(FL_RED); - else o->textcolor(FL_BLACK); -} -void MasterUI::cb_simpleminkcounter(Fl_Osc_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_simpleminkcounter_i(o,v); -} - -void MasterUI::cb_simplemaxkcounter_i(Fl_Osc_Counter* o, void*) { - if (simpleminkcounter->value()>simplemaxkcounter->value()) o->textcolor(FL_RED); - else o->textcolor(FL_BLACK); -} -void MasterUI::cb_simplemaxkcounter(Fl_Osc_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_simplemaxkcounter_i(o,v); -} - -void MasterUI::cb_m_i(Fl_Osc_Button* o, void*) { - o->oscWrite("grabMinNote"); -} -void MasterUI::cb_m(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_m_i(o,v); -} - -void MasterUI::cb_M_i(Fl_Osc_Button* o, void*) { - o->oscWrite("grabMaxNote"); -} -void MasterUI::cb_M(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_M_i(o,v); -} - -void MasterUI::cb_R_i(Fl_Button*, void*) { - simpleminkcounter->value(0); -simpleminkcounter->do_callback(); -simplemaxkcounter->value(127); -simplemaxkcounter->do_callback(); -} -void MasterUI::cb_R(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->user_data()))->cb_R_i(o,v); -} - -void MasterUI::cb_partenabled1_i(Fl_Osc_Check* o, void*) { - if ((int) o->value()==0) simplelistitemgroup->deactivate(); - else { - simplelistitemgroup->activate(); - if ((int)bankui->cbwig->value()!=(npart+1)){ - bankui->cbwig->value(npart+1); - bankui->cbwig->do_callback(); - }; -}; - -o->redraw(); -} -void MasterUI::cb_partenabled1(Fl_Osc_Check* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_partenabled1_i(o,v); -} - -void MasterUI::cb_simplesyseffnocounter_i(Fl_Counter* o, void*) { - nsyseff=(int) o->value()-1; -/*simplesysefftype->value(master->sysefx[nsyseff]->geteffect());*/ -simplesyseffectui->refresh(); -simplesysefftype->oscMove("sysefx"+to_s(nsyseff)+"/efftype"); -simplesyseffectuigroup->reext("sysefx"+to_s(nsyseff)+"/"); -simplesyseffsend->oscMove("Psysefxvol"+to_s(nsyseff)+"/part"+to_s(npart)); -simplerefresh(); -} -void MasterUI::cb_simplesyseffnocounter(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_simplesyseffnocounter_i(o,v); -} - -void MasterUI::cb_simplesysefftype_i(Fl_Osc_Choice* o, void*) { - simplesyseffectui->efftype = o->value(); -simplesyseffectui->refresh(); -} -void MasterUI::cb_simplesysefftype(Fl_Osc_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_simplesysefftype_i(o,v); -} - -Fl_Menu_Item MasterUI::menu_simplesysefftype[] = { - {"No Effect", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Reverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AlienWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Distortion", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"EQ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"DynFilter", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void MasterUI::cb_Send1_i(Fl_Button*, void*) { - syseffsendwindow->show(); -} -void MasterUI::cb_Send1(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Send1_i(o,v); -} - -void MasterUI::cb_P2_i(Fl_Button*, void*) { - /*pthread_mutex_lock(&master->mutex); -presetsui->paste(master->sysefx[nsyseff],simplesyseffectui); -pthread_mutex_unlock(&master->mutex);*/; -} -void MasterUI::cb_P2(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_P2_i(o,v); -} - -void MasterUI::cb_simpleinseffnocounter_i(Fl_Counter* o, void*) { - ninseff=(int) o->value()-1; -/*simpleinsefftype->value(master->insefx[ninseff]->geteffect()); -simpleinseffpart->value(master->Pinsparts[ninseff]+2);*/ -simpleinseffectuigroup->reext("insefx"+to_s(ninseff)+"/"); -simpleinsefftype->oscMove("insefx"+to_s(ninseff)+"/efftype"); -simpleinseffectui->refresh(); - -/* -if (master->Pinsparts[ninseff]!=-1) { - simpleinsefftype->activate(); - simpleinseffectui->activate(); - simpleinseffectuigroup->activate(); -} else { - simpleinsefftype->deactivate(); - simpleinseffectui->deactivate(); - simpleinseffectuigroup->deactivate(); -};*/; -} -void MasterUI::cb_simpleinseffnocounter(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_simpleinseffnocounter_i(o,v); -} - -void MasterUI::cb_simpleinsefftype_i(Fl_Osc_Choice* o, void*) { - /*pthread_mutex_lock(&master->mutex); -master->insefx[ninseff]->changeeffect((int) o->value()); -pthread_mutex_unlock(&master->mutex);*/ -simpleinseffectui->efftype = o->value(); -simpleinseffectui->refresh(); -simpleinseffectui->show(); -} -void MasterUI::cb_simpleinsefftype(Fl_Osc_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_simpleinsefftype_i(o,v); -} - -Fl_Menu_Item MasterUI::menu_simpleinsefftype[] = { - {"No Effect", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Reverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AlienWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Distortion", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"EQ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"DynFilter", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void MasterUI::cb_simpleinseffpart_i(Fl_Choice* o, void*) { - /*master->Pinsparts[ninseff]=(int) o->value()-2;*/ -if ((int) o->value()==1){ - simpleinseffectuigroup->deactivate(); - simpleinsefftype->deactivate(); - simpleinseffectui->deactivate(); -} else { - simpleinseffectuigroup->activate(); - simpleinsefftype->activate(); - simpleinseffectui->activate(); -}; -/*master->insefx[ninseff]->cleanup();*/; -} -void MasterUI::cb_simpleinseffpart(Fl_Choice* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_simpleinseffpart_i(o,v); -} - -void MasterUI::cb_P3_i(Fl_Button*, void*) { - /*pthread_mutex_lock(&master->mutex); -presetsui->paste(master->insefx[ninseff],simpleinseffectui); -pthread_mutex_unlock(&master->mutex);*/; -} -void MasterUI::cb_P3(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_P3_i(o,v); -} - -void MasterUI::cb_Stop_i(Fl_Osc_Button* o, void*) { - virkeyboard->releaseallkeys(); - o->oscWrite("Panic"); -} -void MasterUI::cb_Stop(Fl_Osc_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Stop_i(o,v); -} - -void MasterUI::cb_Reset1_i(Fl_Button*, void*) { - simpleglobalfinedetuneslider->value(64.0); -simpleglobalfinedetuneslider->do_callback(); -} -void MasterUI::cb_Reset1(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Reset1_i(o,v); -} - -void MasterUI::cb_simplenpartcounter_i(Fl_Counter* o, void*) { - virkeys->releaseallkeys(0); -npartcounter->value(o->value()); -npart=(int) o->value()-1; - -simplelistitemgroup->reext("part"+to_s(npart)+"/"); -partenabled->oscMove("part"+to_s(npart)+"/Penabled"); -simplerefresh(); -} -void MasterUI::cb_simplenpartcounter(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_simplenpartcounter_i(o,v); -} - -void MasterUI::cb_Keyb_i(Fl_Counter* o, void*) { - virkeys->releaseallkeys(0); -virkeys->midioct=(int) o->value(); -virkeys->take_focus(); -} -void MasterUI::cb_Keyb(Fl_Counter* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Keyb_i(o,v); -} - -void MasterUI::cb_selectuiwindow_i(Fl_Osc_Window*, void*) { - *exitprogram=1; -} -void MasterUI::cb_selectuiwindow(Fl_Osc_Window* o, void* v) { - ((MasterUI*)(o->user_data()))->cb_selectuiwindow_i(o,v); -} - -void MasterUI::cb_Advanced_i(Fl_Button*, void*) { - osc->write("/config/cfg.UserInterfaceMode", "i", 1); -masterwindow->show(); -selectuiwindow->hide(); -} -void MasterUI::cb_Advanced(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Advanced_i(o,v); -} - -void MasterUI::cb_Beginner_i(Fl_Button*, void*) { - simplemasterwindow->show(); -selectuiwindow->hide(); -osc->write("/config/cfg.UserInterfaceMode", "i", 2); -} -void MasterUI::cb_Beginner(Fl_Button* o, void* v) { - ((MasterUI*)(o->parent()->user_data()))->cb_Beginner_i(o,v); -} - -Fl_Osc_Window* MasterUI::make_window() { - { masterwindow = new Fl_Osc_Window(390, 525, "zynaddsubfx"); - masterwindow->box(FL_FLAT_BOX); - masterwindow->color(FL_BACKGROUND_COLOR); - masterwindow->selection_color(FL_BACKGROUND_COLOR); - masterwindow->labeltype(FL_NO_LABEL); - masterwindow->labelfont(0); - masterwindow->labelsize(14); - masterwindow->labelcolor(FL_FOREGROUND_COLOR); - masterwindow->callback((Fl_Callback*)cb_masterwindow, (void*)(this)); - masterwindow->align(Fl_Align(FL_ALIGN_TOP)); - masterwindow->when(FL_WHEN_RELEASE); - { dummy_again = new Fl_Box(25, 25, 25, 25); - masterwindow->init(osc, ""); - } // Fl_Box* dummy_again - { win_root = new Fl_Osc_Group(0, 0, 390, 525); - win_root->box(FL_NO_BOX); - win_root->color(FL_BACKGROUND_COLOR); - win_root->selection_color(FL_BACKGROUND_COLOR); - win_root->labeltype(FL_NORMAL_LABEL); - win_root->labelfont(0); - win_root->labelsize(14); - win_root->labelcolor(FL_FOREGROUND_COLOR); - win_root->align(Fl_Align(FL_ALIGN_TOP)); - win_root->when(FL_WHEN_RELEASE); - { mastermenu = new Fl_Menu_Bar(0, 0, 390, 25); - mastermenu->menu(menu_mastermenu); - } // Fl_Menu_Bar* mastermenu - { dummy = new Fl_Box(25, 25, 25, 25); - win_root->osc = osc; - win_root->base = "/"; - } // Fl_Box* dummy - { Fl_Osc_Dial* o = mastervolumedial = new Fl_Osc_Dial(15, 32, 55, 55, "Master Volume"); - mastervolumedial->tooltip("Master Volume"); - mastervolumedial->box(FL_ROUND_UP_BOX); - mastervolumedial->color(FL_BACKGROUND_COLOR); - mastervolumedial->selection_color(FL_INACTIVE_COLOR); - mastervolumedial->labeltype(FL_NORMAL_LABEL); - mastervolumedial->labelfont(0); - mastervolumedial->labelsize(9); - mastervolumedial->labelcolor(FL_FOREGROUND_COLOR); - mastervolumedial->maximum(127); - mastervolumedial->step(1); - mastervolumedial->align(Fl_Align(130)); - mastervolumedial->when(FL_WHEN_CHANGED); - o->init("volume"); o->selection_color(FL_RED); o->reset_value=80; - } // Fl_Osc_Dial* mastervolumedial - { Fl_Osc_Counter* o = masterkeyshiftcounter = new Fl_Osc_Counter(150, 97, 120, 23, "Master KeyShift"); - masterkeyshiftcounter->type(1); - masterkeyshiftcounter->box(FL_UP_BOX); - masterkeyshiftcounter->color(FL_BACKGROUND_COLOR); - masterkeyshiftcounter->selection_color(FL_INACTIVE_COLOR); - masterkeyshiftcounter->labeltype(FL_NORMAL_LABEL); - masterkeyshiftcounter->labelfont(0); - masterkeyshiftcounter->labelsize(9); - masterkeyshiftcounter->labelcolor(FL_FOREGROUND_COLOR); - masterkeyshiftcounter->minimum(-64); - masterkeyshiftcounter->maximum(64); - masterkeyshiftcounter->step(1); - masterkeyshiftcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - masterkeyshiftcounter->when(FL_WHEN_CHANGED); - o->lstep(12); - o->init("Pkeyshift",'i',-64); - } // Fl_Osc_Counter* masterkeyshiftcounter - { Fl_Osc_Button* o = new Fl_Osc_Button(280, 29, 105, 53, "Panic!"); - o->box(FL_UP_BOX); - o->color((Fl_Color)90); - o->selection_color(FL_BACKGROUND_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(1); - o->labelsize(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Panic); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { partuigroup = new Fl_Group(0, 310, 390, 205); - { PartUI* o = partui = new PartUI(0, 310, 383, 175); - partui->box(FL_NO_BOX); - partui->color(FL_BACKGROUND_COLOR); - partui->selection_color(FL_BACKGROUND_COLOR); - partui->labeltype(FL_NORMAL_LABEL); - partui->labelfont(0); - partui->labelsize(14); - partui->labelcolor(FL_FOREGROUND_COLOR); - partui->align(Fl_Align(FL_ALIGN_TOP)); - partui->when(FL_WHEN_RELEASE); - o->init("/part0/", 0,bankui,"/part0/", osc); - o->show(); - partui->end(); - } // PartUI* partui - partuigroup->end(); - } // Fl_Group* partuigroup - { Fl_Tabs* o = new Fl_Tabs(0, 145, 390, 165); - o->box(FL_UP_FRAME); - { Fl_Group* o = new Fl_Group(0, 162, 390, 145, "System Effects"); - o->labelsize(15); - o->align(Fl_Align(FL_ALIGN_TOP_RIGHT)); - { Fl_Counter* o = syseffnocounter = new Fl_Counter(5, 181, 80, 22, "Sys.Effect No."); - syseffnocounter->type(1); - syseffnocounter->labelfont(1); - syseffnocounter->labelsize(10); - syseffnocounter->minimum(0); - syseffnocounter->maximum(127); - syseffnocounter->step(1); - syseffnocounter->value(1); - syseffnocounter->textfont(1); - syseffnocounter->callback((Fl_Callback*)cb_syseffnocounter); - syseffnocounter->align(Fl_Align(FL_ALIGN_TOP)); - o->bounds(1,NUM_SYS_EFX); - o->value(nsyseff+1); - } // Fl_Counter* syseffnocounter - { Fl_Osc_Choice* o = sysefftype = new Fl_Osc_Choice(285, 176, 100, 22, "EffType"); - sysefftype->box(FL_UP_BOX); - sysefftype->down_box(FL_BORDER_BOX); - sysefftype->color(FL_BACKGROUND_COLOR); - sysefftype->selection_color(FL_SELECTION_COLOR); - sysefftype->labeltype(FL_NORMAL_LABEL); - sysefftype->labelfont(0); - sysefftype->labelsize(10); - sysefftype->labelcolor(FL_FOREGROUND_COLOR); - sysefftype->callback((Fl_Callback*)cb_sysefftype); - sysefftype->align(Fl_Align(FL_ALIGN_LEFT)); - sysefftype->when(FL_WHEN_RELEASE); - sysefftype->menu(menu_sysefftype); - o->init("sysefx"+to_s(nsyseff)+"/efftype"); - } // Fl_Osc_Choice* sysefftype - { syseffectuigroup = new Fl_Osc_Group(5, 203, 380, 95); - syseffectuigroup->box(FL_NO_BOX); - syseffectuigroup->color((Fl_Color)48); - syseffectuigroup->selection_color(FL_BACKGROUND_COLOR); - syseffectuigroup->labeltype(FL_NORMAL_LABEL); - syseffectuigroup->labelfont(0); - syseffectuigroup->labelsize(14); - syseffectuigroup->labelcolor(FL_FOREGROUND_COLOR); - syseffectuigroup->align(Fl_Align(FL_ALIGN_TOP)); - syseffectuigroup->when(FL_WHEN_RELEASE); - { new Fl_Box(5, 203, 0, 0); - syseffectuigroup->ext = "sysefx0/"; - } // Fl_Box* o - { EffUI* o = syseffectui = new EffUI(5, 203, 380, 95); - syseffectui->box(FL_NO_BOX); - syseffectui->color(FL_BACKGROUND_COLOR); - syseffectui->selection_color(FL_BACKGROUND_COLOR); - syseffectui->labeltype(FL_NORMAL_LABEL); - syseffectui->labelfont(0); - syseffectui->labelsize(14); - syseffectui->labelcolor(FL_FOREGROUND_COLOR); - syseffectui->align(Fl_Align(FL_ALIGN_TOP)); - syseffectui->when(FL_WHEN_RELEASE); - o->init(false); - syseffectui->end(); - } // EffUI* syseffectui - syseffectuigroup->end(); - } // Fl_Osc_Group* syseffectuigroup - { Fl_Button* o = new Fl_Button(90, 181, 85, 22, "Send to..."); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Send); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(180, 187, 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(210, 187, 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 - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(0, 165, 390, 145, "Insertion Effects"); - o->labelsize(15); - o->align(Fl_Align(FL_ALIGN_TOP_RIGHT)); - o->hide(); - { Fl_Counter* o = inseffnocounter = new Fl_Counter(5, 183, 80, 22, "Ins.Effect No."); - inseffnocounter->type(1); - inseffnocounter->labelfont(1); - inseffnocounter->labelsize(10); - inseffnocounter->minimum(0); - inseffnocounter->maximum(127); - inseffnocounter->step(1); - inseffnocounter->value(1); - inseffnocounter->textfont(1); - inseffnocounter->callback((Fl_Callback*)cb_inseffnocounter); - inseffnocounter->align(Fl_Align(FL_ALIGN_TOP)); - o->bounds(1,NUM_INS_EFX); - o->value(ninseff+1); - } // Fl_Counter* inseffnocounter - { Fl_Osc_Choice* o = insefftype = new Fl_Osc_Choice(285, 173, 100, 22, "EffType"); - insefftype->box(FL_UP_BOX); - insefftype->down_box(FL_BORDER_BOX); - insefftype->color(FL_BACKGROUND_COLOR); - insefftype->selection_color(FL_SELECTION_COLOR); - insefftype->labeltype(FL_NORMAL_LABEL); - insefftype->labelfont(0); - insefftype->labelsize(10); - insefftype->labelcolor(FL_FOREGROUND_COLOR); - insefftype->callback((Fl_Callback*)cb_insefftype); - insefftype->align(Fl_Align(FL_ALIGN_LEFT)); - insefftype->when(FL_WHEN_RELEASE); - insefftype->menu(menu_insefftype); - /*o->value(master->insefx[ninseff]->geteffect());*/ - /*if (master->Pinsparts[ninseff]== -1) o->deactivate();*/ - o->init("insefx"+to_s(ninseff)+"/efftype"); - } // Fl_Osc_Choice* insefftype - { inseffectuigroup = new Fl_Osc_Group(5, 205, 380, 95); - inseffectuigroup->box(FL_FLAT_BOX); - inseffectuigroup->color((Fl_Color)48); - inseffectuigroup->selection_color(FL_BACKGROUND_COLOR); - inseffectuigroup->labeltype(FL_NORMAL_LABEL); - inseffectuigroup->labelfont(0); - inseffectuigroup->labelsize(14); - inseffectuigroup->labelcolor(FL_FOREGROUND_COLOR); - inseffectuigroup->align(Fl_Align(FL_ALIGN_TOP)); - inseffectuigroup->when(FL_WHEN_RELEASE); - { new Fl_Box(5, 205, 0, 0); - inseffectuigroup->ext = "insefx0/"; - } // Fl_Box* o - { EffUI* o = inseffectui = new EffUI(5, 205, 380, 90); - inseffectui->box(FL_UP_FRAME); - inseffectui->color(FL_BACKGROUND_COLOR); - inseffectui->selection_color(FL_BACKGROUND_COLOR); - inseffectui->labeltype(FL_NORMAL_LABEL); - inseffectui->labelfont(0); - inseffectui->labelsize(14); - inseffectui->labelcolor(FL_FOREGROUND_COLOR); - inseffectui->align(Fl_Align(FL_ALIGN_TOP)); - inseffectui->when(FL_WHEN_RELEASE); - o->init(true); - inseffectui->end(); - } // EffUI* inseffectui - inseffectuigroup->end(); - } // Fl_Osc_Group* inseffectuigroup - { Fl_Osc_Choice* o = inseffpart = new Fl_Osc_Choice(95, 183, 80, 22, "Insert To."); - inseffpart->box(FL_UP_BOX); - inseffpart->down_box(FL_BORDER_BOX); - inseffpart->color(FL_BACKGROUND_COLOR); - inseffpart->selection_color(FL_SELECTION_COLOR); - inseffpart->labeltype(FL_NORMAL_LABEL); - inseffpart->labelfont(1); - inseffpart->labelsize(10); - inseffpart->labelcolor(FL_FOREGROUND_COLOR); - inseffpart->textsize(10); - inseffpart->callback((Fl_Callback*)cb_inseffpart); - inseffpart->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - inseffpart->when(FL_WHEN_RELEASE); - o->add("Master Out");o->add("Off"); - char tmp[50]; for (int i=0;iadd(tmp);}; - o->init("Pinsparts"+to_s(ninseff),-2); - } // Fl_Osc_Choice* inseffpart - { Fl_Button* o = new Fl_Button(180, 185, 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(210, 185, 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 - o->end(); - } // Fl_Group* o - o->end(); - } // Fl_Tabs* o - { Fl_Button* o = new Fl_Button(320, 87, 65, 23, "Scales"); - o->color((Fl_Color)51); - o->labelfont(1); - o->callback((Fl_Callback*)cb_Scales); - } // Fl_Button* o - { Fl_Group* o = new Fl_Group(150, 40, 117, 45); - o->box(FL_UP_FRAME); - { recordbutton = new Fl_Osc_Button(159, 46, 21, 21, "Rec."); - recordbutton->tooltip("Start Recording"); - recordbutton->box(FL_ROUND_UP_BOX); - recordbutton->color(FL_RED); - recordbutton->selection_color(FL_BACKGROUND_COLOR); - recordbutton->labeltype(FL_NORMAL_LABEL); - recordbutton->labelfont(1); - recordbutton->labelsize(10); - recordbutton->labelcolor(FL_FOREGROUND_COLOR); - recordbutton->callback((Fl_Callback*)cb_recordbutton); - recordbutton->align(Fl_Align(FL_ALIGN_BOTTOM)); - recordbutton->when(FL_WHEN_RELEASE); - recordbutton->deactivate(); - } // Fl_Osc_Button* recordbutton - { stopbutton = new Fl_Osc_Button(237, 46, 21, 21, "Stop"); - stopbutton->tooltip("Stop Recording and close the audio file"); - stopbutton->box(FL_THIN_UP_BOX); - stopbutton->color((Fl_Color)4); - stopbutton->selection_color(FL_BACKGROUND_COLOR); - stopbutton->labeltype(FL_NORMAL_LABEL); - stopbutton->labelfont(1); - stopbutton->labelsize(10); - stopbutton->labelcolor(FL_FOREGROUND_COLOR); - stopbutton->callback((Fl_Callback*)cb_stopbutton); - stopbutton->align(Fl_Align(FL_ALIGN_BOTTOM)); - stopbutton->when(FL_WHEN_RELEASE); - stopbutton->deactivate(); - } // Fl_Osc_Button* stopbutton - { pausebutton = new Fl_Osc_Button(198, 46, 21, 21, "| |"); - pausebutton->tooltip("Pause Recording"); - pausebutton->box(FL_THIN_UP_BOX); - pausebutton->color((Fl_Color)4); - pausebutton->selection_color((Fl_Color)4); - pausebutton->labeltype(FL_NORMAL_LABEL); - pausebutton->labelfont(1); - pausebutton->labelsize(14); - pausebutton->labelcolor((Fl_Color)3); - pausebutton->callback((Fl_Callback*)cb_pausebutton); - pausebutton->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE)); - pausebutton->when(FL_WHEN_RELEASE); - pausebutton->deactivate(); - } // Fl_Osc_Button* pausebutton - { pauselabel = new Fl_Box(192, 66, 30, 15, "Pause"); - pauselabel->labelfont(1); - pauselabel->labelsize(10); - pauselabel->deactivate(); - } // Fl_Box* pauselabel - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(1, 490, 389, 55); - { VuMasterMeter* o = mastervu = new VuMasterMeter(5, 490, 380, 30, "VU-Meter"); - mastervu->box(FL_FLAT_BOX); - mastervu->color((Fl_Color)48); - mastervu->selection_color((Fl_Color)75); - mastervu->labeltype(FL_NORMAL_LABEL); - mastervu->labelfont(0); - mastervu->labelsize(14); - mastervu->labelcolor(FL_FOREGROUND_COLOR); - mastervu->align(Fl_Align(FL_ALIGN_CENTER)); - mastervu->when(FL_WHEN_RELEASE); - o->init(osc); - } // VuMasterMeter* mastervu - o->end(); - } // Fl_Group* o - { Fl_Osc_Check* o = nrpnbutton = new Fl_Osc_Check(10, 115, 60, 25, "NRPN"); - nrpnbutton->tooltip("Receive NRPNs"); - nrpnbutton->box(FL_NO_BOX); - nrpnbutton->down_box(FL_DOWN_BOX); - nrpnbutton->color(FL_BACKGROUND_COLOR); - nrpnbutton->selection_color(FL_FOREGROUND_COLOR); - nrpnbutton->labeltype(FL_NORMAL_LABEL); - nrpnbutton->labelfont(0); - nrpnbutton->labelsize(12); - nrpnbutton->labelcolor(FL_FOREGROUND_COLOR); - nrpnbutton->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - nrpnbutton->when(FL_WHEN_RELEASE); - o->init("ctl/NRPN.receive"); - } // Fl_Osc_Check* nrpnbutton - { Fl_Counter* o = npartcounter = new Fl_Counter(5, 312, 50, 18); - npartcounter->tooltip("The part number"); - npartcounter->type(1); - npartcounter->labelfont(1); - npartcounter->minimum(0); - npartcounter->maximum(127); - npartcounter->step(1); - npartcounter->value(1); - npartcounter->textfont(1); - npartcounter->callback((Fl_Callback*)cb_npartcounter); - o->bounds(1,NUM_MIDI_PARTS); - bankui->init(o); - } // Fl_Counter* npartcounter - { Fl_Button* o = new Fl_Button(280, 87, 40, 23, "vK"); - o->tooltip("Virtual Keyboard"); - o->color((Fl_Color)51); - o->labelfont(1); - o->callback((Fl_Callback*)cb_vK); - } // Fl_Button* o - { Fl_Group* o = new Fl_Group(85, 32, 55, 110); - o->box(FL_UP_FRAME); - { Fl_Button* o = new Fl_Button(90, 37, 45, 23, "Reset"); - o->tooltip("Master fine detune reset"); - o->box(FL_THIN_UP_BOX); - o->labelsize(10); - o->callback((Fl_Callback*)cb_Reset); - } // Fl_Button* o - { Fl_Osc_Dial* o = globalfinedetuneslider = new Fl_Osc_Dial(90, 68, 45, 45, "Fine Detune"); - globalfinedetuneslider->tooltip("global fine detune"); - globalfinedetuneslider->box(FL_ROUND_UP_BOX); - globalfinedetuneslider->color(FL_BACKGROUND_COLOR); - globalfinedetuneslider->selection_color(FL_INACTIVE_COLOR); - globalfinedetuneslider->labeltype(FL_NORMAL_LABEL); - globalfinedetuneslider->labelfont(0); - globalfinedetuneslider->labelsize(9); - globalfinedetuneslider->labelcolor(FL_FOREGROUND_COLOR); - globalfinedetuneslider->maximum(127); - globalfinedetuneslider->step(1); - globalfinedetuneslider->value(64); - globalfinedetuneslider->align(Fl_Align(130)); - globalfinedetuneslider->when(FL_WHEN_CHANGED); - o->init("microtonal/Pglobalfinedetune");o->reset_value=64; - } // Fl_Osc_Dial* globalfinedetuneslider - o->end(); - } // Fl_Group* o - { Fl_Button* o = new Fl_Button(280, 112, 105, 23, "Panel Window"); - o->tooltip("Panel Window"); - o->color((Fl_Color)51); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_Panel); - } // Fl_Button* o - { sm_indicator1 = new Fl_Button(350, 5, 35, 15, "SM"); - sm_indicator1->box(FL_ROUNDED_BOX); - sm_indicator1->down_box(FL_ROUNDED_BOX); - sm_indicator1->color(FL_DARK2); - sm_indicator1->selection_color((Fl_Color)93); - sm_indicator1->labelfont(3); - sm_indicator1->labelcolor(FL_DARK3); - sm_indicator1->deactivate(); - } // Fl_Button* sm_indicator1 - win_root->end(); - } // Fl_Osc_Group* win_root - masterwindow->xclass("zynaddsubfx"); - masterwindow->end(); - } // Fl_Osc_Window* masterwindow - { aboutwindow = new Fl_Double_Window(365, 280, "Copyright..."); - aboutwindow->user_data((void*)(this)); - { Fl_Box* o = new Fl_Box(15, 35, 335, 55, "Copyright (c) 2002-2009 Nasca O. PAUL, 2009-2016 Mark McCurry, and others. Pl\ -ease read AUTHORS.txt"); - o->labeltype(FL_EMBOSSED_LABEL); - o->labelsize(15); - o->align(Fl_Align(192|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(15, 90, 335, 145, "This is free software; you may redistribute it and/or modify it under the ter\ -ms of the \nversion 2 (or any later version) of the GNU General Public License\ - as published by the Free Software Fundation.\n This program comes with\n ABS\ -OLUTELY NO WARRANTY. \n See the version 2 (or any later version) of the \nGNU \ -General Public License for details."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Button* o = new Fl_Button(80, 245, 190, 25, "Close this window"); - o->box(FL_THIN_UP_BOX); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(15, 5, 335, 30, "ZynAddSubFX"); - o->labeltype(FL_EMBOSSED_LABEL); - o->labelfont(1); - o->labelsize(20); - o->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE)); - } // Fl_Box* o - aboutwindow->end(); - } // Fl_Double_Window* aboutwindow - { syseffsendwindow = new Fl_Osc_Window(120, 250, "System Effects Send"); - syseffsendwindow->box(FL_FLAT_BOX); - syseffsendwindow->color(FL_BACKGROUND_COLOR); - syseffsendwindow->selection_color(FL_BACKGROUND_COLOR); - syseffsendwindow->labeltype(FL_NO_LABEL); - syseffsendwindow->labelfont(0); - syseffsendwindow->labelsize(14); - syseffsendwindow->labelcolor(FL_FOREGROUND_COLOR); - syseffsendwindow->user_data((void*)(this)); - syseffsendwindow->align(Fl_Align(FL_ALIGN_TOP)); - syseffsendwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - syseffsendwindow->init(osc,""); - } // Fl_Box* o - { Fl_Scroll* o = syseffscroll = new Fl_Scroll(0, 45, 120, 170); - syseffscroll->box(FL_FLAT_BOX); - syseffsendwindow->begin();for (int neff1=0;neff1x()+(neff2-1)*35,o->y()+15+neff1*50,30,30);syseffsend[neff1][neff2]->label(strdup((to_s(neff1) + "->" + to_s(neff2)).c_str()));syseffsend[neff1][neff2]->init("/sysefxfrom"+to_s(neff1)+"/to"+to_s(neff2));};syseffsendwindow->end(); - syseffscroll->end(); - Fl_Group::current()->resizable(syseffscroll); - } // Fl_Scroll* syseffscroll - { Fl_Button* o = new Fl_Button(25, 220, 80, 25, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close1); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(5, 5, 110, 35, "Send system effect\'s output to other system effects"); - o->labelsize(10); - o->align(Fl_Align(192)); - } // Fl_Box* o - syseffsendwindow->end(); - } // Fl_Osc_Window* syseffsendwindow - { panelwindow = new Fl_Osc_Window(630, 635, "ZynAddSubFX Panel"); - panelwindow->box(FL_FLAT_BOX); - panelwindow->color(FL_BACKGROUND_COLOR); - panelwindow->selection_color(FL_BACKGROUND_COLOR); - panelwindow->labeltype(FL_NO_LABEL); - panelwindow->labelfont(0); - panelwindow->labelsize(14); - panelwindow->labelcolor(FL_FOREGROUND_COLOR); - panelwindow->user_data((void*)(this)); - panelwindow->align(Fl_Align(FL_ALIGN_TOP)); - panelwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - panelwindow->init(osc,"/"); - } // Fl_Box* o - { Fl_Scroll* o = new Fl_Scroll(0, 5, 570, 310); - o->type(1); - o->box(FL_THIN_UP_BOX); - { Fl_Pack* o = new Fl_Pack(5, 10, 560, 285); - o->type(1); - for (int i=0;iinit(i,bankui,partui);} - o->end(); - } // Fl_Pack* o - o->end(); - } // Fl_Scroll* o - { Fl_Scroll* o = new Fl_Scroll(0, 320, 570, 310); - o->type(1); - o->box(FL_THIN_UP_BOX); - { Fl_Pack* o = new Fl_Pack(5, 325, 560, 285); - o->type(1); - for (int i=NUM_MIDI_PARTS/2;iinit(i,bankui,partui);} - o->end(); - } // Fl_Pack* o - o->end(); - } // Fl_Scroll* o - { Fl_Button* o = new Fl_Button(575, 605, 50, 25, "Close"); - o->box(FL_THIN_UP_BOX); - o->labelsize(13); - o->callback((Fl_Callback*)cb_Close2); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(575, 570, 55, 25, "Refresh"); - o->box(FL_THIN_UP_BOX); - o->labelsize(13); - o->callback((Fl_Callback*)cb_Refresh); - } // Fl_Button* o - panelwindow->end(); - } // Fl_Osc_Window* panelwindow - { simplemasterwindow = new Fl_Osc_Window(600, 335, "ZynAddSubFX"); - simplemasterwindow->box(FL_FLAT_BOX); - simplemasterwindow->color(FL_BACKGROUND_COLOR); - simplemasterwindow->selection_color(FL_BACKGROUND_COLOR); - simplemasterwindow->labeltype(FL_NO_LABEL); - simplemasterwindow->labelfont(0); - simplemasterwindow->labelsize(14); - simplemasterwindow->labelcolor(FL_FOREGROUND_COLOR); - simplemasterwindow->callback((Fl_Callback*)cb_simplemasterwindow, (void*)(this)); - simplemasterwindow->align(Fl_Align(FL_ALIGN_TOP)); - simplemasterwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - simplemasterwindow->init(osc, "/"); - } // Fl_Box* o - { simplemastermenu = new Fl_Menu_Bar(0, 0, 600, 25); - simplemastermenu->menu(menu_simplemastermenu); - } // Fl_Menu_Bar* simplemastermenu - { simplelistitemgroup = new Fl_Osc_Group(125, 65, 215, 145); - simplelistitemgroup->box(FL_UP_FRAME); - simplelistitemgroup->color(FL_BACKGROUND_COLOR); - simplelistitemgroup->selection_color(FL_BACKGROUND_COLOR); - simplelistitemgroup->labeltype(FL_NORMAL_LABEL); - simplelistitemgroup->labelfont(0); - simplelistitemgroup->labelsize(14); - simplelistitemgroup->labelcolor(FL_FOREGROUND_COLOR); - simplelistitemgroup->align(Fl_Align(FL_ALIGN_TOP)); - simplelistitemgroup->when(FL_WHEN_RELEASE); - { new Fl_Box(125, 65, 0, 0); - simplelistitemgroup->ext = "part0/"; - } // Fl_Box* o - { PartNameButton* o = partname = new PartNameButton(130, 72, 205, 18); - partname->box(FL_THIN_DOWN_BOX); - partname->down_box(FL_FLAT_BOX); - partname->color(FL_LIGHT1); - partname->selection_color(FL_BACKGROUND_COLOR); - partname->labeltype(FL_NORMAL_LABEL); - partname->labelfont(1); - partname->labelsize(11); - partname->labelcolor(FL_FOREGROUND_COLOR); - partname->callback((Fl_Callback*)cb_partname1); - partname->align(Fl_Align(192|FL_ALIGN_INSIDE)); - partname->when(FL_WHEN_RELEASE); - o->ext = "Pname";o->oscRegister("Pname"); - } // PartNameButton* partname - { Fl_Osc_TSlider* o = partpanning = new Fl_Osc_TSlider(185, 95, 145, 15, "Pan"); - partpanning->type(5); - partpanning->box(FL_NO_BOX); - partpanning->color(FL_BACKGROUND_COLOR); - partpanning->selection_color(FL_BACKGROUND_COLOR); - partpanning->labeltype(FL_NORMAL_LABEL); - partpanning->labelfont(0); - partpanning->labelsize(11); - partpanning->labelcolor(FL_FOREGROUND_COLOR); - partpanning->maximum(127); - partpanning->step(1); - partpanning->value(64); - partpanning->align(Fl_Align(FL_ALIGN_BOTTOM)); - partpanning->when(FL_WHEN_CHANGED); - o->init("Ppanning",'i'); o->reset_value=64; - } // Fl_Osc_TSlider* partpanning - { Fl_Osc_Choice* o = partrcv = new Fl_Osc_Choice(140, 157, 65, 18, "Midi Channel Receive"); - partrcv->tooltip("receive from Midi channel"); - partrcv->box(FL_UP_BOX); - partrcv->down_box(FL_BORDER_BOX); - partrcv->color(FL_BACKGROUND_COLOR); - partrcv->selection_color(FL_SELECTION_COLOR); - partrcv->labeltype(FL_NORMAL_LABEL); - partrcv->labelfont(0); - partrcv->labelsize(10); - partrcv->labelcolor(FL_FOREGROUND_COLOR); - partrcv->textfont(1); - partrcv->callback((Fl_Callback*)cb_partrcv); - partrcv->align(Fl_Align(130)); - partrcv->when(FL_WHEN_RELEASE); - char nrstr[10]; for(int i=0;iadd(nrstr); else o->add("Dr10");}; - o->init("Prcvchn"); - } // Fl_Osc_Choice* partrcv - { Fl_Osc_Dial* o = partvolume = new Fl_Osc_Dial(135, 95, 45, 40); - partvolume->box(FL_NO_BOX); - partvolume->color(FL_BACKGROUND_COLOR); - partvolume->selection_color(FL_INACTIVE_COLOR); - partvolume->labeltype(FL_NORMAL_LABEL); - partvolume->labelfont(0); - partvolume->labelsize(9); - partvolume->labelcolor(FL_FOREGROUND_COLOR); - partvolume->maximum(127); - partvolume->step(1); - partvolume->align(Fl_Align(FL_ALIGN_BOTTOM)); - partvolume->when(FL_WHEN_CHANGED); - o->init("Pvolume"); o->reset_value=96; - } // Fl_Osc_Dial* partvolume - { Fl_Box* o = new Fl_Box(130, 130, 55, 20, "Volume"); - o->labelsize(10); - } // Fl_Box* o - { Fl_Osc_Check* o = simplepartportamento = new Fl_Osc_Check(193, 127, 79, 23, "Portamento"); - simplepartportamento->tooltip("Enable/Disable the portamento"); - simplepartportamento->box(FL_NO_BOX); - simplepartportamento->down_box(FL_DOWN_BOX); - simplepartportamento->color(FL_BACKGROUND_COLOR); - simplepartportamento->selection_color(FL_FOREGROUND_COLOR); - simplepartportamento->labeltype(FL_NORMAL_LABEL); - simplepartportamento->labelfont(0); - simplepartportamento->labelsize(9); - simplepartportamento->labelcolor(FL_FOREGROUND_COLOR); - simplepartportamento->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - simplepartportamento->when(FL_WHEN_RELEASE); - o->init("ctl/portamento.portamento"); - } // Fl_Osc_Check* simplepartportamento - { Fl_Osc_Counter* o = simpleminkcounter = new Fl_Osc_Counter(210, 158, 40, 15, "Min.key"); - simpleminkcounter->tooltip("Minimum key (that the part receives NoteOn messages)"); - simpleminkcounter->type(1); - simpleminkcounter->box(FL_UP_BOX); - simpleminkcounter->color(FL_BACKGROUND_COLOR); - simpleminkcounter->selection_color(FL_INACTIVE_COLOR); - simpleminkcounter->labeltype(FL_NORMAL_LABEL); - simpleminkcounter->labelfont(0); - simpleminkcounter->labelsize(10); - simpleminkcounter->labelcolor(FL_FOREGROUND_COLOR); - simpleminkcounter->minimum(0); - simpleminkcounter->maximum(127); - simpleminkcounter->step(1); - simpleminkcounter->textsize(10); - simpleminkcounter->callback((Fl_Callback*)cb_simpleminkcounter); - simpleminkcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - simpleminkcounter->when(FL_WHEN_CHANGED); - o->init("Pminkey"); - } // Fl_Osc_Counter* simpleminkcounter - { Fl_Osc_Counter* o = simplemaxkcounter = new Fl_Osc_Counter(255, 158, 40, 15, "Max.key"); - simplemaxkcounter->tooltip("Maximum key (that the part receives NoteOn messages)"); - simplemaxkcounter->type(1); - simplemaxkcounter->box(FL_UP_BOX); - simplemaxkcounter->color(FL_BACKGROUND_COLOR); - simplemaxkcounter->selection_color(FL_INACTIVE_COLOR); - simplemaxkcounter->labeltype(FL_NORMAL_LABEL); - simplemaxkcounter->labelfont(0); - simplemaxkcounter->labelsize(10); - simplemaxkcounter->labelcolor(FL_FOREGROUND_COLOR); - simplemaxkcounter->minimum(0); - simplemaxkcounter->maximum(127); - simplemaxkcounter->step(1); - simplemaxkcounter->textsize(10); - simplemaxkcounter->callback((Fl_Callback*)cb_simplemaxkcounter); - simplemaxkcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - simplemaxkcounter->when(FL_WHEN_CHANGED); - o->init("Pmaxkey"); - } // Fl_Osc_Counter* simplemaxkcounter - { Fl_Osc_Button* o = new Fl_Osc_Button(230, 188, 15, 12, "m"); - o->tooltip("set the minimum key to the last pressed key"); - 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(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_m); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(260, 188, 15, 12, "M"); - o->tooltip("set the maximum key to the last pressed key"); - 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(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_M); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Button* o = new Fl_Button(245, 188, 15, 12, "R"); - o->tooltip("reset the minimum key to 0 and maximum key to 127"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_R); - } // Fl_Button* o - { Fl_Osc_Counter* o = simplepartkeyshiftcounter = new Fl_Osc_Counter(280, 120, 50, 20, "KeyShift"); - simplepartkeyshiftcounter->type(1); - simplepartkeyshiftcounter->box(FL_UP_BOX); - simplepartkeyshiftcounter->color(FL_BACKGROUND_COLOR); - simplepartkeyshiftcounter->selection_color(FL_INACTIVE_COLOR); - simplepartkeyshiftcounter->labeltype(FL_NORMAL_LABEL); - simplepartkeyshiftcounter->labelfont(0); - simplepartkeyshiftcounter->labelsize(11); - simplepartkeyshiftcounter->labelcolor(FL_FOREGROUND_COLOR); - simplepartkeyshiftcounter->minimum(-64); - simplepartkeyshiftcounter->maximum(64); - simplepartkeyshiftcounter->step(1); - simplepartkeyshiftcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - simplepartkeyshiftcounter->when(FL_WHEN_CHANGED); - o->lstep(12); - o->init("Pkeyshift", 'i', -64); - } // Fl_Osc_Counter* simplepartkeyshiftcounter - { Fl_Osc_Dial* o = simplesyseffsend = new Fl_Osc_Dial(300, 160, 30, 30); - simplesyseffsend->box(FL_NO_BOX); - simplesyseffsend->color(FL_BACKGROUND_COLOR); - simplesyseffsend->selection_color(FL_INACTIVE_COLOR); - simplesyseffsend->labeltype(FL_NORMAL_LABEL); - simplesyseffsend->labelfont(0); - simplesyseffsend->labelsize(14); - simplesyseffsend->labelcolor(FL_FOREGROUND_COLOR); - simplesyseffsend->maximum(127); - simplesyseffsend->step(1); - simplesyseffsend->align(Fl_Align(FL_ALIGN_BOTTOM)); - simplesyseffsend->when(FL_WHEN_CHANGED); - o->alt_init("/","Psysefxvol"+to_s(nsyseff)+"/part"+to_s(npart)); - } // Fl_Osc_Dial* simplesyseffsend - { Fl_Box* o = new Fl_Box(295, 190, 40, 15, "Effect"); - o->labelsize(10); - } // Fl_Box* o - simplelistitemgroup->end(); - } // Fl_Osc_Group* simplelistitemgroup - { Fl_Osc_Check* o = partenabled = new Fl_Osc_Check(250, 40, 85, 20, "Enabled"); - partenabled->box(FL_NO_BOX); - partenabled->down_box(FL_DOWN_BOX); - partenabled->color(FL_BACKGROUND_COLOR); - partenabled->selection_color(FL_FOREGROUND_COLOR); - partenabled->labeltype(FL_EMBOSSED_LABEL); - partenabled->labelfont(1); - partenabled->labelsize(13); - partenabled->labelcolor(FL_FOREGROUND_COLOR); - partenabled->callback((Fl_Callback*)cb_partenabled1); - partenabled->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); - partenabled->when(FL_WHEN_RELEASE); - //char tmp[10];snprintf(tmp,10,"%d",npart+1);o->copy_label(tmp); - o->init("part0/Penabled"); - } // Fl_Osc_Check* partenabled - { VirKeys* o = virkeys = new VirKeys(5, 215, 590, 80, "Keyboard"); - virkeys->box(FL_BORDER_BOX); - virkeys->color((Fl_Color)17); - virkeys->selection_color(FL_BACKGROUND_COLOR); - virkeys->labeltype(FL_NORMAL_LABEL); - virkeys->labelfont(0); - virkeys->labelsize(14); - virkeys->labelcolor(FL_FOREGROUND_COLOR); - virkeys->align(Fl_Align(FL_ALIGN_CENTER)); - virkeys->when(FL_WHEN_RELEASE); - o->init(osc, "/"); - } // VirKeys* virkeys - { Fl_Group* o = new Fl_Group(340, 30, 255, 185); - { Fl_Tabs* o = new Fl_Tabs(345, 35, 245, 175); - o->box(FL_UP_FRAME); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - { Fl_Group* o = new Fl_Group(345, 55, 245, 155, "System Effects"); - o->box(FL_UP_FRAME); - o->labelfont(1); - o->labelsize(12); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - { Fl_Counter* o = simplesyseffnocounter = new Fl_Counter(350, 75, 80, 20, "Sys.Effect No."); - simplesyseffnocounter->type(1); - simplesyseffnocounter->labelfont(1); - simplesyseffnocounter->labelsize(10); - simplesyseffnocounter->minimum(0); - simplesyseffnocounter->maximum(127); - simplesyseffnocounter->step(1); - simplesyseffnocounter->value(1); - simplesyseffnocounter->textfont(1); - simplesyseffnocounter->callback((Fl_Callback*)cb_simplesyseffnocounter); - simplesyseffnocounter->align(Fl_Align(FL_ALIGN_TOP)); - o->bounds(1,NUM_SYS_EFX); - o->value(nsyseff+1); - } // Fl_Counter* simplesyseffnocounter - { Fl_Osc_Choice* o = simplesysefftype = new Fl_Osc_Choice(515, 80, 70, 15, "EffType"); - simplesysefftype->box(FL_UP_BOX); - simplesysefftype->down_box(FL_BORDER_BOX); - simplesysefftype->color(FL_BACKGROUND_COLOR); - simplesysefftype->selection_color(FL_SELECTION_COLOR); - simplesysefftype->labeltype(FL_NORMAL_LABEL); - simplesysefftype->labelfont(0); - simplesysefftype->labelsize(10); - simplesysefftype->labelcolor(FL_FOREGROUND_COLOR); - simplesysefftype->callback((Fl_Callback*)cb_simplesysefftype); - simplesysefftype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - simplesysefftype->when(FL_WHEN_RELEASE); - simplesysefftype->menu(menu_simplesysefftype); - o->init("sysefx"+to_s(nsyseff)+"/efftype"); - } // Fl_Osc_Choice* simplesysefftype - { simplesyseffectuigroup = new Fl_Osc_Group(350, 95, 235, 95); - simplesyseffectuigroup->box(FL_NO_BOX); - simplesyseffectuigroup->color((Fl_Color)48); - simplesyseffectuigroup->selection_color(FL_BACKGROUND_COLOR); - simplesyseffectuigroup->labeltype(FL_NORMAL_LABEL); - simplesyseffectuigroup->labelfont(0); - simplesyseffectuigroup->labelsize(14); - simplesyseffectuigroup->labelcolor(FL_FOREGROUND_COLOR); - simplesyseffectuigroup->align(Fl_Align(FL_ALIGN_TOP)); - simplesyseffectuigroup->when(FL_WHEN_RELEASE); - { new Fl_Box(350, 95, 0, 0); - simplesyseffectuigroup->ext = "sysefx0/"; - } // Fl_Box* o - { SimpleEffUI* o = simplesyseffectui = new SimpleEffUI(350, 95, 234, 95); - simplesyseffectui->box(FL_NO_BOX); - simplesyseffectui->color(FL_BACKGROUND_COLOR); - simplesyseffectui->selection_color(FL_BACKGROUND_COLOR); - simplesyseffectui->labeltype(FL_NORMAL_LABEL); - simplesyseffectui->labelfont(0); - simplesyseffectui->labelsize(14); - simplesyseffectui->labelcolor(FL_FOREGROUND_COLOR); - simplesyseffectui->align(Fl_Align(FL_ALIGN_TOP)); - simplesyseffectui->when(FL_WHEN_RELEASE); - o->init(false); - o->refresh(); - simplesyseffectui->end(); - } // SimpleEffUI* simplesyseffectui - simplesyseffectuigroup->end(); - } // Fl_Osc_Group* simplesyseffectuigroup - { Fl_Button* o = new Fl_Button(435, 75, 75, 20, "Send to..."); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Send1); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(560, 65, 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_P2); - } // Fl_Button* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(345, 55, 245, 155, "Insertion Effects"); - o->box(FL_UP_FRAME); - o->labelfont(1); - o->labelsize(12); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - o->hide(); - { Fl_Counter* o = simpleinseffnocounter = new Fl_Counter(350, 75, 80, 20, "Ins.Effect No."); - simpleinseffnocounter->type(1); - simpleinseffnocounter->labelfont(1); - simpleinseffnocounter->labelsize(10); - simpleinseffnocounter->minimum(0); - simpleinseffnocounter->maximum(127); - simpleinseffnocounter->step(1); - simpleinseffnocounter->value(1); - simpleinseffnocounter->textfont(1); - simpleinseffnocounter->callback((Fl_Callback*)cb_simpleinseffnocounter); - simpleinseffnocounter->align(Fl_Align(FL_ALIGN_TOP)); - o->bounds(1,NUM_INS_EFX); - o->value(ninseff+1); - } // Fl_Counter* simpleinseffnocounter - { Fl_Osc_Choice* o = simpleinsefftype = new Fl_Osc_Choice(515, 80, 70, 15, "EffType"); - simpleinsefftype->box(FL_UP_BOX); - simpleinsefftype->down_box(FL_BORDER_BOX); - simpleinsefftype->color(FL_BACKGROUND_COLOR); - simpleinsefftype->selection_color(FL_SELECTION_COLOR); - simpleinsefftype->labeltype(FL_NORMAL_LABEL); - simpleinsefftype->labelfont(0); - simpleinsefftype->labelsize(10); - simpleinsefftype->labelcolor(FL_FOREGROUND_COLOR); - simpleinsefftype->callback((Fl_Callback*)cb_simpleinsefftype); - simpleinsefftype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - simpleinsefftype->when(FL_WHEN_RELEASE); - simpleinsefftype->menu(menu_simpleinsefftype); - /*o->value(master->insefx[ninseff]->geteffect());*/ - /*if (master->Pinsparts[ninseff]== -1) o->deactivate();*/ - o->init("insefx"+to_s(ninseff)+"/efftype"); - } // Fl_Osc_Choice* simpleinsefftype - { simpleinseffectuigroup = new Fl_Osc_Group(350, 95, 234, 95); - simpleinseffectuigroup->box(FL_FLAT_BOX); - simpleinseffectuigroup->color((Fl_Color)48); - simpleinseffectuigroup->selection_color(FL_BACKGROUND_COLOR); - simpleinseffectuigroup->labeltype(FL_NORMAL_LABEL); - simpleinseffectuigroup->labelfont(0); - simpleinseffectuigroup->labelsize(14); - simpleinseffectuigroup->labelcolor(FL_FOREGROUND_COLOR); - simpleinseffectuigroup->align(Fl_Align(FL_ALIGN_TOP)); - simpleinseffectuigroup->when(FL_WHEN_RELEASE); - { new Fl_Box(350, 95, 0, 0); - simpleinseffectuigroup->ext = "insefx0/"; - } // Fl_Box* o - { SimpleEffUI* o = simpleinseffectui = new SimpleEffUI(350, 95, 234, 95); - simpleinseffectui->box(FL_NO_BOX); - simpleinseffectui->color(FL_BACKGROUND_COLOR); - simpleinseffectui->selection_color(FL_BACKGROUND_COLOR); - simpleinseffectui->labeltype(FL_NORMAL_LABEL); - simpleinseffectui->labelfont(0); - simpleinseffectui->labelsize(14); - simpleinseffectui->labelcolor(FL_FOREGROUND_COLOR); - simpleinseffectui->align(Fl_Align(FL_ALIGN_TOP)); - simpleinseffectui->when(FL_WHEN_RELEASE); - o->init(true); - simpleinseffectui->end(); - } // SimpleEffUI* simpleinseffectui - simpleinseffectuigroup->end(); - } // Fl_Osc_Group* simpleinseffectuigroup - { Fl_Choice* o = simpleinseffpart = new Fl_Choice(435, 75, 80, 20, "Insert To."); - simpleinseffpart->down_box(FL_BORDER_BOX); - simpleinseffpart->labelfont(1); - simpleinseffpart->labelsize(10); - simpleinseffpart->textsize(10); - simpleinseffpart->callback((Fl_Callback*)cb_simpleinseffpart); - simpleinseffpart->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->add("Master Out");o->add("Off"); - char tmp[50]; for (int i=0;iadd(tmp);}; - /*o->value(master->Pinsparts[ninseff]+2);*/ - } // Fl_Choice* simpleinseffpart - { Fl_Button* o = new Fl_Button(560, 65, 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_P3); - } // Fl_Button* o - o->end(); - } // Fl_Group* o - o->end(); - } // Fl_Tabs* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(5, 300, 590, 30); - o->box(FL_ENGRAVED_FRAME); - { VuMasterMeter* o = simplemastervu = new VuMasterMeter(5, 300, 590, 30, "VU-Meter"); - simplemastervu->box(FL_FLAT_BOX); - simplemastervu->color((Fl_Color)41); - simplemastervu->selection_color((Fl_Color)75); - simplemastervu->labeltype(FL_NORMAL_LABEL); - simplemastervu->labelfont(0); - simplemastervu->labelsize(14); - simplemastervu->labelcolor(FL_FOREGROUND_COLOR); - simplemastervu->align(Fl_Align(FL_ALIGN_CENTER)); - simplemastervu->when(FL_WHEN_RELEASE); - o->init(osc); - } // VuMasterMeter* simplemastervu - o->end(); - } // Fl_Group* o - { Fl_Osc_Dial* o = simplemastervolumedial = new Fl_Osc_Dial(10, 35, 40, 40, "Master Volume"); - simplemastervolumedial->tooltip("Master Volume"); - simplemastervolumedial->box(FL_ROUND_UP_BOX); - simplemastervolumedial->color(FL_BACKGROUND_COLOR); - simplemastervolumedial->selection_color(FL_INACTIVE_COLOR); - simplemastervolumedial->labeltype(FL_NORMAL_LABEL); - simplemastervolumedial->labelfont(1); - simplemastervolumedial->labelsize(11); - simplemastervolumedial->labelcolor(FL_FOREGROUND_COLOR); - simplemastervolumedial->maximum(127); - simplemastervolumedial->step(1); - simplemastervolumedial->align(Fl_Align(130)); - simplemastervolumedial->when(FL_WHEN_CHANGED); - o->init("Pvolume");o->reset_value=80; - } // Fl_Osc_Dial* simplemastervolumedial - { Fl_Osc_Counter* o = simplemasterkeyshiftcounter = new Fl_Osc_Counter(15, 110, 90, 20, "Master KeyShift"); - simplemasterkeyshiftcounter->box(FL_UP_BOX); - simplemasterkeyshiftcounter->color(FL_BACKGROUND_COLOR); - simplemasterkeyshiftcounter->selection_color(FL_INACTIVE_COLOR); - simplemasterkeyshiftcounter->labeltype(FL_NORMAL_LABEL); - simplemasterkeyshiftcounter->labelfont(0); - simplemasterkeyshiftcounter->labelsize(11); - simplemasterkeyshiftcounter->labelcolor(FL_FOREGROUND_COLOR); - simplemasterkeyshiftcounter->minimum(-64); - simplemasterkeyshiftcounter->maximum(64); - simplemasterkeyshiftcounter->step(1); - simplemasterkeyshiftcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - simplemasterkeyshiftcounter->when(FL_WHEN_CHANGED); - o->lstep(12); - o->init("Pkeyshift",'i',-64); - } // Fl_Osc_Counter* simplemasterkeyshiftcounter - { Fl_Osc_Button* o = new Fl_Osc_Button(5, 149, 115, 31, "Stop ALL sounds!"); - o->box(FL_UP_BOX); - o->color((Fl_Color)90); - 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_Stop); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Button* o = new Fl_Button(70, 30, 50, 17, "Reset"); - o->tooltip("Master fine detune reset"); - o->box(FL_THIN_UP_BOX); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Reset1); - o->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* o - { Fl_Osc_Dial* o = simpleglobalfinedetuneslider = new Fl_Osc_Dial(80, 50, 30, 30, "Fine Detune"); - simpleglobalfinedetuneslider->tooltip("global fine detune"); - simpleglobalfinedetuneslider->box(FL_ROUND_UP_BOX); - simpleglobalfinedetuneslider->color(FL_BACKGROUND_COLOR); - simpleglobalfinedetuneslider->selection_color(FL_INACTIVE_COLOR); - simpleglobalfinedetuneslider->labeltype(FL_NORMAL_LABEL); - simpleglobalfinedetuneslider->labelfont(0); - simpleglobalfinedetuneslider->labelsize(11); - simpleglobalfinedetuneslider->labelcolor(FL_FOREGROUND_COLOR); - simpleglobalfinedetuneslider->maximum(127); - simpleglobalfinedetuneslider->step(1); - simpleglobalfinedetuneslider->value(64); - simpleglobalfinedetuneslider->align(Fl_Align(130)); - simpleglobalfinedetuneslider->when(FL_WHEN_CHANGED); - o->init("microtonal/Pglobalfinedetune");o->reset_value=64; - } // Fl_Osc_Dial* simpleglobalfinedetuneslider - { Fl_Counter* o = simplenpartcounter = new Fl_Counter(170, 40, 70, 20, "Part"); - simplenpartcounter->tooltip("The part number"); - simplenpartcounter->type(1); - simplenpartcounter->labelfont(1); - simplenpartcounter->minimum(0); - simplenpartcounter->maximum(127); - simplenpartcounter->step(1); - simplenpartcounter->value(1); - simplenpartcounter->textfont(1); - simplenpartcounter->callback((Fl_Callback*)cb_simplenpartcounter); - simplenpartcounter->align(Fl_Align(FL_ALIGN_LEFT)); - o->bounds(1,NUM_MIDI_PARTS); - } // Fl_Counter* simplenpartcounter - { Fl_Counter* o = new Fl_Counter(5, 190, 55, 20, "Keyb.Oct."); - o->tooltip("Midi Octave"); - o->type(1); - o->labelsize(11); - o->minimum(0); - o->maximum(5); - o->step(1); - o->textfont(1); - o->textsize(11); - o->callback((Fl_Callback*)cb_Keyb); - o->align(Fl_Align(FL_ALIGN_RIGHT)); - o->when(FL_WHEN_RELEASE_ALWAYS); - o->value(virkeys->midioct); - } // Fl_Counter* o - { sm_indicator2 = new Fl_Button(560, 5, 35, 15, "SM"); - sm_indicator2->box(FL_ROUNDED_BOX); - sm_indicator2->down_box(FL_ROUNDED_BOX); - sm_indicator2->color(FL_DARK2); - sm_indicator2->selection_color((Fl_Color)93); - sm_indicator2->labelfont(3); - sm_indicator2->labelcolor(FL_DARK3); - sm_indicator2->deactivate(); - } // Fl_Button* sm_indicator2 - simplemasterwindow->end(); - } // Fl_Osc_Window* simplemasterwindow - { selectuiwindow = new Fl_Osc_Window(430, 250, "User Interface mode"); - selectuiwindow->box(FL_FLAT_BOX); - selectuiwindow->color(FL_BACKGROUND_COLOR); - selectuiwindow->selection_color(FL_BACKGROUND_COLOR); - selectuiwindow->labeltype(FL_NO_LABEL); - selectuiwindow->labelfont(0); - selectuiwindow->labelsize(14); - selectuiwindow->labelcolor(FL_FOREGROUND_COLOR); - selectuiwindow->callback((Fl_Callback*)cb_selectuiwindow, (void*)(this)); - selectuiwindow->align(Fl_Align(FL_ALIGN_TOP)); - selectuiwindow->when(FL_WHEN_RELEASE); - { Fl_Box* o = new Fl_Box(5, 5, 425, 40, "Welcome to ZynAddSubFX"); - o->labeltype(FL_SHADOW_LABEL); - o->labelfont(1); - o->labelsize(26); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(10, 50, 265, 25, "Please choose the interface mode:"); - o->labelfont(1); - o->labelsize(13); - } // Fl_Box* o - { Fl_Button* o = new Fl_Button(10, 165, 100, 35, "Advanced"); - o->color((Fl_Color)229); - o->labelfont(1); - o->labelsize(16); - o->callback((Fl_Callback*)cb_Advanced); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(110, 165, 310, 35, ".. if you have used ZynAddSubFX before, or you like to have full control to a\ -ll parameters."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Button* o = new Fl_Button(10, 80, 100, 65, "Beginner"); - o->color((Fl_Color)238); - o->labelfont(1); - o->labelsize(16); - o->callback((Fl_Callback*)cb_Beginner); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(110, 75, 320, 75, "..if you are a beginner, you prefer using presets or you prefer to use simple\ -r user interfaces. Most functionality of ZynAddSubFX will be hidden in this mo\ -de to make simple the learning/using it."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(30, 215, 360, 25, "You can switch the interface modes anytime you want."); - o->box(FL_BORDER_BOX); - o->color((Fl_Color)51); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE)); - } // Fl_Box* o - selectuiwindow->set_non_modal(); - selectuiwindow->end(); - } // Fl_Osc_Window* selectuiwindow - return selectuiwindow; -} - -void MasterUI::updatesendwindow() { - /*for (int neff1=0;neff1value(master->Psysefxsend[neff1][neff2]);*/ -} - -void MasterUI::updatepanel() { - for (int npart=0;npartrefresh(); - }; -} - -void MasterUI::setfilelabel(const char *filename) { - if (filename!=NULL) snprintf(&masterwindowlabel[0],100,"%s - ZynAddSubFX",fl_filename_name(filename)); - else snprintf(&masterwindowlabel[0],100,"%s","ZynAddSubFX"); - masterwindowlabel[99]='\0'; - masterwindow->label(&masterwindowlabel[0]); - simplemasterwindow->label(&masterwindowlabel[0]); - masterwindow->update_title(); - simplemasterwindow->update_title(); -} - -MasterUI::MasterUI(int *exitprogram_, class Fl_Osc_Interface *osc_):nioui(osc_) { - exitprogram=exitprogram_; - osc=osc_; - ninseff=0; - nsyseff=0; - npart=0; - last_loaded[0]=0; - loading_next[0]=0; - last_xmz = new Osc_DataModel(osc); - last_xmz->callback = [this](std::string filestr) { - const char *filename = filestr.c_str(); - if (filename[0] != 0) - strncpy(last_loaded, filename, XMZ_PATH_MAX); - else if (loading_next[0] != 0) { - strncpy(last_loaded, loading_next, XMZ_PATH_MAX); - loading_next[0] = 0; - } else - last_loaded[0] = 0; - last_loaded[XMZ_PATH_MAX - 1] = 0; - char *label = NULL; - if(last_loaded[0] != 0) { - label = strrchr(last_loaded, '/'); - if(label && *label) - label = label+1; - else - label = last_loaded; - } - - setfilelabel(label); - }; - last_xmz->doUpdate("/last_xmz"); - - for (int i=0;iicon((char *)p); - #endif - assert(osc); - presetsui=new PresetsUI(osc); - setfilelabel(NULL); - swapefftype=0; - simplerefresh(); -} - -MasterUI::~MasterUI() { - masterwindow->hide(); - delete masterwindow; - simplemasterwindow->hide(); - delete simplemasterwindow; - aboutwindow->hide(); - delete aboutwindow; - syseffsendwindow->hide(); - delete syseffsendwindow; - - delete virkeyboard; - delete microtonalui; - delete bankui; - delete configui; - - delete presetsui; - delete panelwindow; - delete selectuiwindow; -} - -void MasterUI::showUI(int UIMode) { - switch (UIMode){ - case 0:selectuiwindow->show(); - break; - case 1:masterwindow->show(); - break; - case 2:simplemasterwindow->show(); - break; - }; -} - -void MasterUI::simplerefresh() { - /* - if (master->part[npart]->Pname[0]!=0) partname->label((char *)master->part[npart]->Pname); - else partname->label("Click here to load a instrument"); - */ - - simplelistitemgroup->redraw(); -} - -void MasterUI::do_new_master_unconditional() { - delete microtonalui; - microtonalui=new MicrotonalUI(osc, "/microtonal/"); - - osc->write("/reset_master"); - osc->write("/last_xmz"); - npartcounter->value(1); - refresh_master_ui(); - updatepanel(); -} - -void MasterUI::do_new_master() { - if (fl_choice("Clear *ALL* the parameters ?","No","Yes",NULL)){ - do_new_master_unconditional(); - } -} - -int MasterUI::do_revert_changes_unconditional() { - strncpy(loading_next, last_loaded, XMZ_PATH_MAX); - osc->write("/load_xmz", "s", last_loaded); - osc->write("/last_xmz"); - refresh_master_ui(); - updatepanel(); - - return 1; -} - -void MasterUI::do_revert_changes() { - if (last_loaded[0] == 0) - do_new_master(); - else - if (fl_choice("Revert *ALL* the parameters ?","No","Yes",NULL)){ - do_revert_changes_unconditional(); - } -} - -int MasterUI::do_load_master_unconditional(const char *filename, const char *display_name) { - strncpy(loading_next, filename, XMZ_PATH_MAX); - osc->write("/load_xmz", "s", filename); - osc->write("/last_xmz"); - refresh_master_ui(); - updatepanel(); - - setfilelabel(display_name); - - return 1; -} - -void MasterUI::do_load_master(const char* file ) { - const char *filename; - if (file == NULL) { - filename=fl_file_chooser("Open:","({*.xmz})",NULL,0); - if (filename==NULL) return; - } - else { - filename = file; - } - - int result = do_load_master_unconditional( filename, filename ); - - if (result==-10) fl_alert("Error: Could not load the file\nbecause it is not a zynaddsubfx parameters file."); - else if (result<0) fl_alert("Error: Could not load the file."); -} - -void MasterUI::do_save_master(const char* file ) { - const char *filename; - char *tmp; - int result=0; - if (file == NULL) { - tmp=fl_file_chooser("Save:","({*.xmz})",NULL,0); - if (tmp==NULL) return; - tmp=fl_filename_setext(tmp,".xmz"); - filename=tmp; - result=fileexists(tmp); - if (result) { - result=0; - if (!fl_choice("The file exists. Overwrite it?","No","Yes",NULL)) return; - - } - } - else { - filename = file; - } - - - osc->write("/save_xmz", "s", filename); - if (result<0) fl_alert("Error: Could not save the file."); - else - { - osc->write("/last_xmz", "s", filename); - #if USE_NSM - if ( nsm && nsm->is_active() ) - setfilelabel( nsm->display_name ); - else - #endif - setfilelabel(filename); - } - updatepanel(); -} - -void MasterUI::refresh_master_ui() { - ninseff=0; - nsyseff=0; - npart=0; - - //the Master UI - npartcounter->do_callback(); - syseffnocounter->do_callback(); - inseffnocounter->do_callback(); - delete microtonalui; - microtonalui=new MicrotonalUI(osc, "/microtonal/"); - updatesendwindow(); - updatepanel(); - - //the simle MasterUI - simplenpartcounter->value(1); - simplesyseffnocounter->value(1); - simpleinseffnocounter->value(1); - simplenpartcounter->do_callback(); - simplesyseffnocounter->do_callback(); - simpleinseffnocounter->do_callback(); - - simplerefresh(); - bankui->hide(); -} - -void MasterUI::close() { - *exitprogram=1; -} diff --git a/zynaddsubfx/UI/MasterUI.h b/zynaddsubfx/UI/MasterUI.h deleted file mode 100644 index 5b88239..0000000 --- a/zynaddsubfx/UI/MasterUI.h +++ /dev/null @@ -1,417 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef MasterUI_h -#define MasterUI_h -#include -#include -#include -#include -#include "WidgetPDial.h" -#include "ADnoteUI.h" -#include "SUBnoteUI.h" -#include "EffUI.h" -#include "VirKeyboard.h" -#include "ConfigUI.h" -#include "BankUI.h" -#include "PartUI.h" -#include "MicrotonalUI.h" -#include "PresetsUI.h" -#include "NioUI.h" -#include "VuPartMeter.h" -#include "VuMasterMeter.h" -#include "PartNameButton.h" -#include "common.H" -#if USE_NSM -#include "NSM.H" -extern NSM_Client *nsm; -#endif -#if !defined(PLUGINVERSION) && HAS_X11 -#include -#endif -#include "../globals.h" - -class SysEffSend : public Fl_Osc_Dial { -public: - SysEffSend(int x,int y, int w, int h, const char *label=0); - void init(int neff1,int neff2); - ~SysEffSend(); -}; -#include -#include - -class Panellistitem : public Fl_Osc_Group { - Fl_Group* make_window(); - Fl_Group *panellistitem; - Fl_Group *panellistitemgroup; -public: - VuPartMeter *partvu; - PartNameButton *partname; -private: - void cb_partname_i(PartNameButton*, void*); - static void cb_partname(PartNameButton*, void*); -public: - Fl_Osc_TSlider *partvolume; - Fl_Osc_Dial *partpanning; -private: - void cb_edit_i(Fl_Button*, void*); - static void cb_edit(Fl_Button*, void*); -public: - Fl_Osc_Choice *partrcv; -private: - Fl_Osc_Check *partenabled; - void cb_partenabled_i(Fl_Osc_Check*, void*); - static void cb_partenabled(Fl_Osc_Check*, void*); -public: - Panellistitem(int x,int y, int w, int h, const char *label=0); - void init(int npart_,BankUI *bankui_, PartUI *partui_); - void refresh(); - ~Panellistitem(); -private: - int npart; - BankUI *bankui; - PartUI *partui; -}; -#include -#include -#include -#include -#include -#include -#include -#include - -class MasterUI { -public: - Fl_Osc_Window* make_window(); - Fl_Osc_Window *masterwindow; -private: - void cb_masterwindow_i(Fl_Osc_Window*, void*); - static void cb_masterwindow(Fl_Osc_Window*, void*); -public: - Fl_Box *dummy_again; - Fl_Osc_Group *win_root; - Fl_Menu_Bar *mastermenu; - static Fl_Menu_Item menu_mastermenu[]; -private: - void cb_New_i(Fl_Menu_*, void*); - static void cb_New(Fl_Menu_*, void*); - void cb_Revert_i(Fl_Menu_*, void*); - static void cb_Revert(Fl_Menu_*, void*); - void cb_Open_i(Fl_Menu_*, void*); - static void cb_Open(Fl_Menu_*, void*); - void cb_Save_i(Fl_Menu_*, void*); - static void cb_Save(Fl_Menu_*, void*); - void cb_Load_i(Fl_Menu_*, void*); - static void cb_Load(Fl_Menu_*, void*); - void cb_Clear_i(Fl_Menu_*, void*); - static void cb_Clear(Fl_Menu_*, void*); - void cb_Save1_i(Fl_Menu_*, void*); - static void cb_Save1(Fl_Menu_*, void*); - void cb_Load1_i(Fl_Menu_*, void*); - static void cb_Load1(Fl_Menu_*, void*); - void cb_Save2_i(Fl_Menu_*, void*); - static void cb_Save2(Fl_Menu_*, void*); - void cb_Show_i(Fl_Menu_*, void*); - static void cb_Show(Fl_Menu_*, void*); - void cb_Settings_i(Fl_Menu_*, void*); - static void cb_Settings(Fl_Menu_*, void*); - void cb_N_i(Fl_Menu_*, void*); - static void cb_N(Fl_Menu_*, void*); - void cb_Copyright_i(Fl_Menu_*, void*); - static void cb_Copyright(Fl_Menu_*, void*); - void cb_E_i(Fl_Menu_*, void*); - static void cb_E(Fl_Menu_*, void*); - void cb_Clear1_i(Fl_Menu_*, void*); - static void cb_Clear1(Fl_Menu_*, void*); - void cb_Open1_i(Fl_Menu_*, void*); - static void cb_Open1(Fl_Menu_*, void*); - void cb_Save3_i(Fl_Menu_*, void*); - static void cb_Save3(Fl_Menu_*, void*); - void cb_Show1_i(Fl_Menu_*, void*); - static void cb_Show1(Fl_Menu_*, void*); - void cb_Virtual_i(Fl_Menu_*, void*); - static void cb_Virtual(Fl_Menu_*, void*); -public: - static Fl_Menu_Item *recordmenu; -private: - void cb_Choose_i(Fl_Menu_*, void*); - static void cb_Choose(Fl_Menu_*, void*); - void cb_Switch_i(Fl_Menu_*, void*); - static void cb_Switch(Fl_Menu_*, void*); -public: - Fl_Box *dummy; - Fl_Osc_Dial *mastervolumedial; - Fl_Osc_Counter *masterkeyshiftcounter; -private: - void cb_Panic_i(Fl_Osc_Button*, void*); - static void cb_Panic(Fl_Osc_Button*, void*); -public: - Fl_Group *partuigroup; - PartUI *partui; - Fl_Counter *syseffnocounter; -private: - void cb_syseffnocounter_i(Fl_Counter*, void*); - static void cb_syseffnocounter(Fl_Counter*, void*); -public: - Fl_Osc_Choice *sysefftype; -private: - void cb_sysefftype_i(Fl_Osc_Choice*, void*); - static void cb_sysefftype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_sysefftype[]; -public: - Fl_Osc_Group *syseffectuigroup; - EffUI *syseffectui; -private: - void cb_Send_i(Fl_Button*, void*); - static void cb_Send(Fl_Button*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Counter *inseffnocounter; -private: - void cb_inseffnocounter_i(Fl_Counter*, void*); - static void cb_inseffnocounter(Fl_Counter*, void*); -public: - Fl_Osc_Choice *insefftype; -private: - void cb_insefftype_i(Fl_Osc_Choice*, void*); - static void cb_insefftype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_insefftype[]; -public: - Fl_Osc_Group *inseffectuigroup; - EffUI *inseffectui; - Fl_Osc_Choice *inseffpart; -private: - void cb_inseffpart_i(Fl_Osc_Choice*, void*); - static void cb_inseffpart(Fl_Osc_Choice*, void*); - void cb_C1_i(Fl_Button*, void*); - static void cb_C1(Fl_Button*, void*); - void cb_P1_i(Fl_Button*, void*); - static void cb_P1(Fl_Button*, void*); - void cb_Scales_i(Fl_Button*, void*); - static void cb_Scales(Fl_Button*, void*); -public: - Fl_Osc_Button *recordbutton; -private: - void cb_recordbutton_i(Fl_Osc_Button*, void*); - static void cb_recordbutton(Fl_Osc_Button*, void*); -public: - Fl_Osc_Button *stopbutton; -private: - void cb_stopbutton_i(Fl_Osc_Button*, void*); - static void cb_stopbutton(Fl_Osc_Button*, void*); -public: - Fl_Osc_Button *pausebutton; -private: - void cb_pausebutton_i(Fl_Osc_Button*, void*); - static void cb_pausebutton(Fl_Osc_Button*, void*); -public: - Fl_Box *pauselabel; - VuMasterMeter *mastervu; - Fl_Osc_Check *nrpnbutton; - Fl_Counter *npartcounter; -private: - void cb_npartcounter_i(Fl_Counter*, void*); - static void cb_npartcounter(Fl_Counter*, void*); - void cb_vK_i(Fl_Button*, void*); - static void cb_vK(Fl_Button*, void*); - void cb_Reset_i(Fl_Button*, void*); - static void cb_Reset(Fl_Button*, void*); -public: - Fl_Osc_Dial *globalfinedetuneslider; -private: - void cb_Panel_i(Fl_Button*, void*); - static void cb_Panel(Fl_Button*, void*); -public: - Fl_Button *sm_indicator1; - Fl_Double_Window *aboutwindow; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); -public: - Fl_Osc_Window *syseffsendwindow; - Fl_Scroll *syseffscroll; -private: - void cb_Close1_i(Fl_Button*, void*); - static void cb_Close1(Fl_Button*, void*); -public: - Fl_Osc_Window *panelwindow; -private: - void cb_Close2_i(Fl_Button*, void*); - static void cb_Close2(Fl_Button*, void*); - void cb_Refresh_i(Fl_Button*, void*); - static void cb_Refresh(Fl_Button*, void*); -public: - Fl_Osc_Window *simplemasterwindow; -private: - void cb_simplemasterwindow_i(Fl_Osc_Window*, void*); - static void cb_simplemasterwindow(Fl_Osc_Window*, void*); -public: - Fl_Menu_Bar *simplemastermenu; - static Fl_Menu_Item menu_simplemastermenu[]; -private: - void cb_New1_i(Fl_Menu_*, void*); - static void cb_New1(Fl_Menu_*, void*); - void cb_Revert1_i(Fl_Menu_*, void*); - static void cb_Revert1(Fl_Menu_*, void*); - void cb_Open2_i(Fl_Menu_*, void*); - static void cb_Open2(Fl_Menu_*, void*); - void cb_Save4_i(Fl_Menu_*, void*); - static void cb_Save4(Fl_Menu_*, void*); - void cb_Settings1_i(Fl_Menu_*, void*); - static void cb_Settings1(Fl_Menu_*, void*); - void cb_Copyright1_i(Fl_Menu_*, void*); - static void cb_Copyright1(Fl_Menu_*, void*); - void cb_E1_i(Fl_Menu_*, void*); - static void cb_E1(Fl_Menu_*, void*); - void cb_Open3_i(Fl_Menu_*, void*); - static void cb_Open3(Fl_Menu_*, void*); - void cb_Show2_i(Fl_Menu_*, void*); - static void cb_Show2(Fl_Menu_*, void*); - void cb_Switch1_i(Fl_Menu_*, void*); - static void cb_Switch1(Fl_Menu_*, void*); - Fl_Osc_Group *simplelistitemgroup; -public: - PartNameButton *partname; -private: - void cb_partname1_i(PartNameButton*, void*); - static void cb_partname1(PartNameButton*, void*); -public: - Fl_Osc_TSlider *partpanning; - Fl_Osc_Choice *partrcv; -private: - void cb_partrcv_i(Fl_Osc_Choice*, void*); - static void cb_partrcv(Fl_Osc_Choice*, void*); -public: - Fl_Osc_Dial *partvolume; - Fl_Osc_Check *simplepartportamento; - Fl_Osc_Counter *simpleminkcounter; -private: - void cb_simpleminkcounter_i(Fl_Osc_Counter*, void*); - static void cb_simpleminkcounter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Counter *simplemaxkcounter; -private: - void cb_simplemaxkcounter_i(Fl_Osc_Counter*, void*); - static void cb_simplemaxkcounter(Fl_Osc_Counter*, void*); - void cb_m_i(Fl_Osc_Button*, void*); - static void cb_m(Fl_Osc_Button*, void*); - void cb_M_i(Fl_Osc_Button*, void*); - static void cb_M(Fl_Osc_Button*, void*); - void cb_R_i(Fl_Button*, void*); - static void cb_R(Fl_Button*, void*); -public: - Fl_Osc_Counter *simplepartkeyshiftcounter; - Fl_Osc_Dial *simplesyseffsend; -private: - Fl_Osc_Check *partenabled; - void cb_partenabled1_i(Fl_Osc_Check*, void*); - static void cb_partenabled1(Fl_Osc_Check*, void*); -public: - VirKeys *virkeys; - Fl_Counter *simplesyseffnocounter; -private: - void cb_simplesyseffnocounter_i(Fl_Counter*, void*); - static void cb_simplesyseffnocounter(Fl_Counter*, void*); -public: - Fl_Osc_Choice *simplesysefftype; -private: - void cb_simplesysefftype_i(Fl_Osc_Choice*, void*); - static void cb_simplesysefftype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_simplesysefftype[]; -public: - Fl_Osc_Group *simplesyseffectuigroup; - SimpleEffUI *simplesyseffectui; -private: - void cb_Send1_i(Fl_Button*, void*); - static void cb_Send1(Fl_Button*, void*); - void cb_P2_i(Fl_Button*, void*); - static void cb_P2(Fl_Button*, void*); -public: - Fl_Counter *simpleinseffnocounter; -private: - void cb_simpleinseffnocounter_i(Fl_Counter*, void*); - static void cb_simpleinseffnocounter(Fl_Counter*, void*); -public: - Fl_Osc_Choice *simpleinsefftype; -private: - void cb_simpleinsefftype_i(Fl_Osc_Choice*, void*); - static void cb_simpleinsefftype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_simpleinsefftype[]; -public: - Fl_Osc_Group *simpleinseffectuigroup; - SimpleEffUI *simpleinseffectui; - Fl_Choice *simpleinseffpart; -private: - void cb_simpleinseffpart_i(Fl_Choice*, void*); - static void cb_simpleinseffpart(Fl_Choice*, void*); - void cb_P3_i(Fl_Button*, void*); - static void cb_P3(Fl_Button*, void*); -public: - VuMasterMeter *simplemastervu; - Fl_Osc_Dial *simplemastervolumedial; - Fl_Osc_Counter *simplemasterkeyshiftcounter; -private: - void cb_Stop_i(Fl_Osc_Button*, void*); - static void cb_Stop(Fl_Osc_Button*, void*); - void cb_Reset1_i(Fl_Button*, void*); - static void cb_Reset1(Fl_Button*, void*); -public: - Fl_Osc_Dial *simpleglobalfinedetuneslider; - Fl_Counter *simplenpartcounter; -private: - void cb_simplenpartcounter_i(Fl_Counter*, void*); - static void cb_simplenpartcounter(Fl_Counter*, void*); - void cb_Keyb_i(Fl_Counter*, void*); - static void cb_Keyb(Fl_Counter*, void*); -public: - Fl_Button *sm_indicator2; - Fl_Osc_Window *selectuiwindow; -private: - void cb_selectuiwindow_i(Fl_Osc_Window*, void*); - static void cb_selectuiwindow(Fl_Osc_Window*, void*); - void cb_Advanced_i(Fl_Button*, void*); - static void cb_Advanced(Fl_Button*, void*); - void cb_Beginner_i(Fl_Button*, void*); - static void cb_Beginner(Fl_Button*, void*); -public: - void updatesendwindow(); - void updatepanel(); - void setfilelabel(const char *filename); - MasterUI(int *exitprogram_, class Fl_Osc_Interface *osc_); - ~MasterUI(); - void showUI(int UIMode); - void simplerefresh(); - void do_new_master_unconditional(); - void do_new_master(); - int do_revert_changes_unconditional(); - void do_revert_changes(); - int do_load_master_unconditional(const char *filename, const char *display_name); - void do_load_master(const char* file = NULL); - void do_save_master(const char* file = NULL); - void refresh_master_ui(); - class Osc_DataModel *last_xmz; -private: - MicrotonalUI *microtonalui; - BankUI *bankui; - int ninseff,npart; - int nsyseff; - int *exitprogram; - Fl_Osc_Dial *syseffsend[NUM_SYS_EFX][NUM_SYS_EFX]; - VirKeyboard *virkeyboard; - ConfigUI *configui; - int swapefftype; - char masterwindowlabel[100]; -public: - Panellistitem *panellistitem[NUM_MIDI_PARTS]; -private: - NioUI nioui; -public: - class Fl_Osc_Interface *osc; - char last_loaded[XMZ_PATH_MAX]; - char loading_next[XMZ_PATH_MAX]; - void close(); -}; -#endif diff --git a/zynaddsubfx/UI/MicrotonalUI.cpp b/zynaddsubfx/UI/MicrotonalUI.cpp deleted file mode 100644 index b1869ae..0000000 --- a/zynaddsubfx/UI/MicrotonalUI.cpp +++ /dev/null @@ -1,449 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/MicrotonalUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later - -void MicrotonalUI::cb_Invert_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) centerinvertcounter->deactivate(); - else centerinvertcounter->activate(); -} -void MicrotonalUI::cb_Invert(Fl_Osc_Check* o, void* v) { - ((MicrotonalUI*)(o->parent()->parent()->user_data()))->cb_Invert_i(o,v); -} - -void MicrotonalUI::cb_applybutton_i(Fl_Button*, void*) { - apply(); -} -void MicrotonalUI::cb_applybutton(Fl_Button* o, void* v) { - ((MicrotonalUI*)(o->parent()->parent()->user_data()))->cb_applybutton_i(o,v); -} - -void MicrotonalUI::cb_Import_i(Fl_Button*, void*) { - const char *filename; -filename=fl_file_chooser("Open:","(*.scl)",NULL,0); -if (filename==NULL) return; -osc->write("/load_scl", "s", filename); -if (true) { - updateTuningsInput(); - nameinput->update(); - commentinput->update(); - tuningsinput->position(0); - octavesizeoutput->update(); - }; -} -void MicrotonalUI::cb_Import(Fl_Button* o, void* v) { - ((MicrotonalUI*)(o->parent()->parent()->user_data()))->cb_Import_i(o,v); -} - -void MicrotonalUI::cb_mappingenabledbutton_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) keymappinggroup->deactivate(); - else keymappinggroup->activate(); -o->show(); -} -void MicrotonalUI::cb_mappingenabledbutton(Fl_Osc_Check* o, void* v) { - ((MicrotonalUI*)(o->parent()->parent()->user_data()))->cb_mappingenabledbutton_i(o,v); -} - -void MicrotonalUI::cb_Import1_i(Fl_Button*, void*) { - const char *filename; -filename=fl_file_chooser("Open:","(*.kbm)",NULL,0); -if (filename==NULL) return; -osc->write("/load_kbm", "s", filename); -if (true) { - updateMappingInput(); - mappinginput->position(0); - mapsizeoutput->update(); - firstnotecounter->update(); - lastnotecounter->update(); - middlenotecounter->update(); - mappingenabledbutton->update(); - afreqinput->update(); - anotecounter->update(); - }; -} -void MicrotonalUI::cb_Import1(Fl_Button* o, void* v) { - ((MicrotonalUI*)(o->parent()->parent()->user_data()))->cb_Import1_i(o,v); -} - -void MicrotonalUI::cb_anotecounter_i(Fl_Osc_Counter* o, void*) { - /*if (microtonal->getnotefreq(o->value(),0)<0.0) o->textcolor(FL_RED); - else o->textcolor(FL_BLACK);*/ - -o->redraw(); -} -void MicrotonalUI::cb_anotecounter(Fl_Osc_Counter* o, void* v) { - ((MicrotonalUI*)(o->parent()->parent()->user_data()))->cb_anotecounter_i(o,v); -} - -void MicrotonalUI::cb_Close_i(Fl_Button*, void*) { - microtonaluiwindow->hide(); -} -void MicrotonalUI::cb_Close(Fl_Button* o, void* v) { - ((MicrotonalUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void MicrotonalUI::cb_Enable_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) microtonalgroup->deactivate(); - else microtonalgroup->activate(); -} -void MicrotonalUI::cb_Enable(Fl_Osc_Check* o, void* v) { - ((MicrotonalUI*)(o->parent()->user_data()))->cb_Enable_i(o,v); -} - -Fl_Osc_Window* MicrotonalUI::make_window(Fl_Osc_Interface *osc, std::string base) { - { microtonaluiwindow = new Fl_Osc_Window(405, 450, "Scales"); - microtonaluiwindow->box(FL_FLAT_BOX); - microtonaluiwindow->color(FL_BACKGROUND_COLOR); - microtonaluiwindow->selection_color(FL_BACKGROUND_COLOR); - microtonaluiwindow->labeltype(FL_NO_LABEL); - microtonaluiwindow->labelfont(0); - microtonaluiwindow->labelsize(14); - microtonaluiwindow->labelcolor(FL_FOREGROUND_COLOR); - microtonaluiwindow->user_data((void*)(this)); - microtonaluiwindow->align(Fl_Align(FL_ALIGN_TOP)); - microtonaluiwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - microtonaluiwindow->init(osc, base); - } // Fl_Box* o - { Fl_Group* o = new Fl_Group(249, 2, 155, 45); - o->tooltip("Center where the note\'s freqs. are turned upside-down"); - o->box(FL_ENGRAVED_FRAME); - { Fl_Osc_Check* o = new Fl_Osc_Check(254, 13, 55, 30, "Invert keys"); - o->tooltip("Turn upside-down the note frequencies"); - 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_Invert); - o->align(Fl_Align(132|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("Pinvertupdown"); - } // Fl_Osc_Check* o - { Fl_Osc_Counter* o = centerinvertcounter = new Fl_Osc_Counter(319, 13, 80, 20, "Center"); - centerinvertcounter->box(FL_UP_BOX); - centerinvertcounter->color(FL_BACKGROUND_COLOR); - centerinvertcounter->selection_color(FL_INACTIVE_COLOR); - centerinvertcounter->labeltype(FL_NORMAL_LABEL); - centerinvertcounter->labelfont(1); - centerinvertcounter->labelsize(11); - centerinvertcounter->labelcolor(FL_FOREGROUND_COLOR); - centerinvertcounter->minimum(0); - centerinvertcounter->maximum(127); - centerinvertcounter->step(1); - centerinvertcounter->textfont(1); - centerinvertcounter->align(Fl_Align(130)); - centerinvertcounter->when(FL_WHEN_CHANGED); - o->lstep(12/*microtonal->getoctavesize()*/); - o->init("Pinvertupdowncenter"); - } // Fl_Osc_Counter* centerinvertcounter - o->end(); - } // Fl_Group* o - { microtonalgroup = new Fl_Group(3, 49, 402, 398); - microtonalgroup->box(FL_ENGRAVED_FRAME); - { applybutton = new Fl_Button(8, 413, 107, 28, "Retune"); - applybutton->tooltip("Retune the synth accorging to the inputs from \"Tunnings\" and \"Keyboard Map\ -pings\""); - applybutton->box(FL_THIN_UP_BOX); - applybutton->labeltype(FL_EMBOSSED_LABEL); - applybutton->labelfont(1); - applybutton->labelsize(13); - applybutton->callback((Fl_Callback*)cb_applybutton); - } // Fl_Button* applybutton - { Fl_Osc_Output* o = octavesizeoutput = new Fl_Osc_Output(150, 423, 35, 17, "nts./oct."); - octavesizeoutput->tooltip("Notes/Octave"); - octavesizeoutput->box(FL_NO_BOX); - octavesizeoutput->color(FL_BACKGROUND_COLOR); - octavesizeoutput->selection_color(FL_BACKGROUND_COLOR); - octavesizeoutput->labeltype(FL_NORMAL_LABEL); - octavesizeoutput->labelfont(0); - octavesizeoutput->labelsize(10); - octavesizeoutput->labelcolor(FL_FOREGROUND_COLOR); - octavesizeoutput->maximum(500); - octavesizeoutput->step(1); - octavesizeoutput->value(12); - octavesizeoutput->textfont(1); - octavesizeoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - octavesizeoutput->when(FL_WHEN_CHANGED); - o->init("octavesize"); - } // Fl_Osc_Output* octavesizeoutput - { Fl_Osc_Input* o = nameinput = new Fl_Osc_Input(8, 64, 285, 25, "Name:"); - nameinput->box(FL_DOWN_BOX); - nameinput->color(FL_BACKGROUND2_COLOR); - nameinput->selection_color(FL_SELECTION_COLOR); - nameinput->labeltype(FL_NORMAL_LABEL); - nameinput->labelfont(1); - nameinput->labelsize(11); - nameinput->labelcolor(FL_FOREGROUND_COLOR); - nameinput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - nameinput->when(FL_WHEN_RELEASE); - o->maximum_size(MICROTONAL_MAX_NAME_LEN); - o->init("Pname"); - } // Fl_Osc_Input* nameinput - { Fl_Osc_Input* o = tuningsinput = new Fl_Osc_Input(8, 144, 182, 264, "Tunings:"); - tuningsinput->type(4); - tuningsinput->box(FL_DOWN_BOX); - tuningsinput->color(FL_BACKGROUND2_COLOR); - tuningsinput->selection_color(FL_SELECTION_COLOR); - tuningsinput->labeltype(FL_NORMAL_LABEL); - tuningsinput->labelfont(1); - tuningsinput->labelsize(11); - tuningsinput->labelcolor(FL_FOREGROUND_COLOR); - tuningsinput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - tuningsinput->when(FL_WHEN_NEVER); - o->init("tunings"); - } // Fl_Osc_Input* tuningsinput - { Fl_Osc_Input* o = commentinput = new Fl_Osc_Input(8, 104, 391, 25, "Comment:"); - commentinput->box(FL_DOWN_BOX); - commentinput->color(FL_BACKGROUND2_COLOR); - commentinput->selection_color(FL_SELECTION_COLOR); - commentinput->labeltype(FL_NORMAL_LABEL); - commentinput->labelfont(1); - commentinput->labelsize(11); - commentinput->labelcolor(FL_FOREGROUND_COLOR); - commentinput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - commentinput->when(FL_WHEN_RELEASE); - o->maximum_size(MICROTONAL_MAX_NAME_LEN); - o->init("Pcomment"); - } // Fl_Osc_Input* commentinput - { Fl_Osc_Counter* o = new Fl_Osc_Counter(313, 69, 70, 20, "Shift"); - 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(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->minimum(-64); - o->maximum(63); - o->step(1); - o->textfont(1); - o->align(Fl_Align(FL_ALIGN_TOP)); - o->when(FL_WHEN_CHANGED); - o->init("Pscaleshift"); - } // Fl_Osc_Counter* o - { Fl_Button* o = new Fl_Button(243, 411, 84, 15, "Import .SCL file"); - o->tooltip("Inport Scala .scl file (tunnings)"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_Import); - } // Fl_Button* o - { keymappinggroup = new Fl_Group(193, 144, 206, 264, "Keyboard Mapping"); - keymappinggroup->box(FL_ENGRAVED_BOX); - keymappinggroup->labelfont(1); - keymappinggroup->labelsize(11); - { Fl_Osc_Input* o = mappinginput = new Fl_Osc_Input(250, 147, 146, 258); - mappinginput->type(4); - mappinginput->box(FL_DOWN_BOX); - mappinginput->color(FL_BACKGROUND2_COLOR); - mappinginput->selection_color(FL_SELECTION_COLOR); - mappinginput->labeltype(FL_NORMAL_LABEL); - mappinginput->labelfont(1); - mappinginput->labelsize(11); - mappinginput->labelcolor(FL_FOREGROUND_COLOR); - mappinginput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - mappinginput->when(FL_WHEN_NEVER); - o->init("mapping"); - } // Fl_Osc_Input* mappinginput - { Fl_Osc_Counter* o = firstnotecounter = new Fl_Osc_Counter(199, 195, 42, 18, "First note"); - firstnotecounter->tooltip("First MIDI note number"); - firstnotecounter->type(1); - firstnotecounter->box(FL_UP_BOX); - firstnotecounter->color(FL_BACKGROUND_COLOR); - firstnotecounter->selection_color(FL_INACTIVE_COLOR); - firstnotecounter->labeltype(FL_NORMAL_LABEL); - firstnotecounter->labelfont(0); - firstnotecounter->labelsize(10); - firstnotecounter->labelcolor(FL_FOREGROUND_COLOR); - firstnotecounter->minimum(0); - firstnotecounter->maximum(127); - firstnotecounter->step(1); - firstnotecounter->textfont(1); - firstnotecounter->textsize(11); - firstnotecounter->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - firstnotecounter->when(FL_WHEN_CHANGED); - o->init("Pfirstkey"); - } // Fl_Osc_Counter* firstnotecounter - { Fl_Osc_Counter* o = lastnotecounter = new Fl_Osc_Counter(199, 225, 42, 18, "Last note"); - lastnotecounter->tooltip("Last MIDI note number"); - lastnotecounter->type(1); - lastnotecounter->box(FL_UP_BOX); - lastnotecounter->color(FL_BACKGROUND_COLOR); - lastnotecounter->selection_color(FL_INACTIVE_COLOR); - lastnotecounter->labeltype(FL_NORMAL_LABEL); - lastnotecounter->labelfont(0); - lastnotecounter->labelsize(10); - lastnotecounter->labelcolor(FL_FOREGROUND_COLOR); - lastnotecounter->minimum(0); - lastnotecounter->maximum(127); - lastnotecounter->step(1); - lastnotecounter->value(127); - lastnotecounter->textfont(1); - lastnotecounter->textsize(11); - lastnotecounter->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - lastnotecounter->when(FL_WHEN_CHANGED); - o->init("Plastkey"); - } // Fl_Osc_Counter* lastnotecounter - { Fl_Osc_Counter* o = middlenotecounter = new Fl_Osc_Counter(199, 267, 42, 18, "Midle note"); - middlenotecounter->tooltip("Midle note (where scale degree 0 is mapped to)"); - middlenotecounter->type(1); - middlenotecounter->box(FL_UP_BOX); - middlenotecounter->color(FL_BACKGROUND_COLOR); - middlenotecounter->selection_color(FL_INACTIVE_COLOR); - middlenotecounter->labeltype(FL_NORMAL_LABEL); - middlenotecounter->labelfont(0); - middlenotecounter->labelsize(10); - middlenotecounter->labelcolor(FL_FOREGROUND_COLOR); - middlenotecounter->minimum(0); - middlenotecounter->maximum(127); - middlenotecounter->step(1); - middlenotecounter->value(60); - middlenotecounter->textfont(1); - middlenotecounter->textsize(11); - middlenotecounter->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - middlenotecounter->when(FL_WHEN_CHANGED); - o->init("Pmiddlenote"); - } // Fl_Osc_Counter* middlenotecounter - { Fl_Osc_Output* o = mapsizeoutput = new Fl_Osc_Output(201, 382, 44, 20, "Map Size"); - mapsizeoutput->box(FL_NO_BOX); - mapsizeoutput->color(FL_BACKGROUND_COLOR); - mapsizeoutput->selection_color(FL_BACKGROUND_COLOR); - mapsizeoutput->labeltype(FL_NORMAL_LABEL); - mapsizeoutput->labelfont(0); - mapsizeoutput->labelsize(10); - mapsizeoutput->labelcolor(FL_FOREGROUND_COLOR); - mapsizeoutput->maximum(500); - mapsizeoutput->step(1); - mapsizeoutput->value(12); - mapsizeoutput->textfont(1); - mapsizeoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - mapsizeoutput->when(FL_WHEN_CHANGED); - o->init("Pmapsize"); - } // Fl_Osc_Output* mapsizeoutput - keymappinggroup->end(); - } // Fl_Group* keymappinggroup - { Fl_Osc_Check* o = mappingenabledbutton = new Fl_Osc_Check(198, 150, 48, 21, "ON"); - mappingenabledbutton->tooltip("Enable the Mapping (otherwise the mapping is linear)"); - mappingenabledbutton->box(FL_FLAT_BOX); - mappingenabledbutton->down_box(FL_DOWN_BOX); - mappingenabledbutton->color(FL_BACKGROUND_COLOR); - mappingenabledbutton->selection_color(FL_FOREGROUND_COLOR); - mappingenabledbutton->labeltype(FL_NORMAL_LABEL); - mappingenabledbutton->labelfont(1); - mappingenabledbutton->labelsize(14); - mappingenabledbutton->labelcolor(FL_FOREGROUND_COLOR); - mappingenabledbutton->callback((Fl_Callback*)cb_mappingenabledbutton); - mappingenabledbutton->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - mappingenabledbutton->when(FL_WHEN_RELEASE); - o->init("Pmappingenabled"); - } // Fl_Osc_Check* mappingenabledbutton - { Fl_Button* o = new Fl_Button(243, 428, 84, 16, "Import .kbm file"); - o->tooltip("Inport Scala .kbm file (keyboard mapping)"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_Import1); - } // Fl_Button* o - microtonalgroup->end(); - } // Fl_Group* microtonalgroup - { Fl_Group* o = new Fl_Group(108, 2, 140, 45); - o->box(FL_ENGRAVED_FRAME); - { Fl_Osc_Counter* o = anotecounter = new Fl_Osc_Counter(173, 17, 65, 20, "\"A\" Note"); - anotecounter->tooltip("The \"A\" note (the reference note for which freq. (\"A\" freq) is given)"); - anotecounter->box(FL_UP_BOX); - anotecounter->color(FL_BACKGROUND_COLOR); - anotecounter->selection_color(FL_INACTIVE_COLOR); - anotecounter->labeltype(FL_NORMAL_LABEL); - anotecounter->labelfont(1); - anotecounter->labelsize(10); - anotecounter->labelcolor(FL_FOREGROUND_COLOR); - anotecounter->minimum(0); - anotecounter->maximum(127); - anotecounter->step(1); - anotecounter->value(69); - anotecounter->textfont(1); - anotecounter->textsize(10); - anotecounter->callback((Fl_Callback*)cb_anotecounter); - anotecounter->align(Fl_Align(129)); - anotecounter->when(FL_WHEN_CHANGED); - o->lstep(12); - o->init("PAnote"); - } // Fl_Osc_Counter* anotecounter - { Fl_Osc_Value* o = afreqinput = new Fl_Osc_Value(118, 17, 45, 20, "\"A\" Freq."); - afreqinput->tooltip("The freq. of \"A\" note (default=440.0)"); - afreqinput->box(FL_DOWN_BOX); - afreqinput->color(FL_BACKGROUND2_COLOR); - afreqinput->selection_color(FL_SELECTION_COLOR); - afreqinput->labeltype(FL_NORMAL_LABEL); - afreqinput->labelfont(1); - afreqinput->labelsize(10); - afreqinput->labelcolor(FL_FOREGROUND_COLOR); - afreqinput->minimum(1); - afreqinput->maximum(20000); - afreqinput->step(0.001); - afreqinput->value(440); - afreqinput->textfont(1); - afreqinput->textsize(10); - afreqinput->align(Fl_Align(FL_ALIGN_TOP)); - afreqinput->when(FL_WHEN_CHANGED); - o->init("PAfreq"); - } // Fl_Osc_Value* afreqinput - o->end(); - } // Fl_Group* o - { Fl_Button* o = new Fl_Button(333, 413, 67, 28, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Osc_Check* o = new Fl_Osc_Check(3, 3, 102, 45, "Enable Microtonal"); - o->box(FL_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->callback((Fl_Callback*)cb_Enable); - o->align(Fl_Align(132|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("Penabled"); - } // Fl_Osc_Check* o - microtonaluiwindow->end(); - } // Fl_Osc_Window* microtonaluiwindow - return microtonaluiwindow; -} - -void MicrotonalUI::updateTuningsInput() { - tuningsinput->update(); -} - -void MicrotonalUI::updateMappingInput() { - mappinginput->update(); -} - -MicrotonalUI::MicrotonalUI(Fl_Osc_Interface *osc_, std::string base) { - osc=osc_;make_window(osc, base); -} - -MicrotonalUI::~MicrotonalUI() { - microtonaluiwindow->hide(); - delete(microtonaluiwindow); -} - -void MicrotonalUI::show() { - microtonaluiwindow->show(); -} - -void MicrotonalUI::apply() { - osc->write("/microtonal/tunings", "s", tuningsinput->value()); - osc->write("/microtonal/mapping", "s", mappinginput->value()); - octavesizeoutput->update(); - mapsizeoutput->update(); - anotecounter->update(); -} diff --git a/zynaddsubfx/UI/MicrotonalUI.h b/zynaddsubfx/UI/MicrotonalUI.h deleted file mode 100644 index ab76e98..0000000 --- a/zynaddsubfx/UI/MicrotonalUI.h +++ /dev/null @@ -1,79 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef MicrotonalUI_h -#define MicrotonalUI_h -#include -#include -#include -#include -#include -#include -#include "Fl_Osc_Pane.H" -#include "Fl_Osc_Value.H" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Counter.H" -#include "Fl_Osc_Input.H" -#include "Fl_Osc_Output.H" -#include "../Misc/Microtonal.h" -#include -#include -#include - -class MicrotonalUI { -public: - Fl_Osc_Window* make_window(Fl_Osc_Interface *osc, std::string base); - Fl_Osc_Window *microtonaluiwindow; -private: - void cb_Invert_i(Fl_Osc_Check*, void*); - static void cb_Invert(Fl_Osc_Check*, void*); -public: - Fl_Osc_Counter *centerinvertcounter; - Fl_Group *microtonalgroup; - Fl_Button *applybutton; -private: - void cb_applybutton_i(Fl_Button*, void*); - static void cb_applybutton(Fl_Button*, void*); -public: - Fl_Osc_Output *octavesizeoutput; - Fl_Osc_Input *nameinput; - Fl_Osc_Input *tuningsinput; - Fl_Osc_Input *commentinput; -private: - void cb_Import_i(Fl_Button*, void*); - static void cb_Import(Fl_Button*, void*); -public: - Fl_Group *keymappinggroup; - Fl_Osc_Input *mappinginput; - Fl_Osc_Counter *firstnotecounter; - Fl_Osc_Counter *lastnotecounter; - Fl_Osc_Counter *middlenotecounter; - Fl_Osc_Output *mapsizeoutput; - Fl_Osc_Check *mappingenabledbutton; -private: - void cb_mappingenabledbutton_i(Fl_Osc_Check*, void*); - static void cb_mappingenabledbutton(Fl_Osc_Check*, void*); - void cb_Import1_i(Fl_Button*, void*); - static void cb_Import1(Fl_Button*, void*); -public: - Fl_Osc_Counter *anotecounter; -private: - void cb_anotecounter_i(Fl_Osc_Counter*, void*); - static void cb_anotecounter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Value *afreqinput; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_Enable_i(Fl_Osc_Check*, void*); - static void cb_Enable(Fl_Osc_Check*, void*); -public: - void updateTuningsInput(); - void updateMappingInput(); - MicrotonalUI(Fl_Osc_Interface *osc_, std::string base); - ~MicrotonalUI(); - void show(); - void apply(); -private: - Fl_Osc_Interface *osc; -}; -#endif diff --git a/zynaddsubfx/UI/OscilGenUI.cpp b/zynaddsubfx/UI/OscilGenUI.cpp deleted file mode 100644 index 74ccff5..0000000 --- a/zynaddsubfx/UI/OscilGenUI.cpp +++ /dev/null @@ -1,1336 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/OscilGenUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later -#include -#include -#include -#include - -OGSlider::OGSlider(int x,int y, int w, int h, const char *label) - :Fl_Osc_TSlider(x,y,w,h,label) { - phase=false; -} - -void OGSlider::OSC_value(char c) { - value(phase ? c : 127-c); - selection_color(value() == reset_value ? 0 : 222); - redraw(); -} - -void OGSlider::cb(void) { - selection_color(value() == reset_value ? 0 : 222); - if(cb_data.first) cb_data.first(this, cb_data.second); -} - -void OGSlider::update(void) { -} - -OGWaveChoice::OGWaveChoice(int x,int y, int w, int h, const char *label) - :Fl_Osc_Choice(x,y,w,h,label) { -} - -void OGWaveChoice::OSC_value(int i) { - value(i == 127 ? size()-2 : i); - ogui->setbfmodstatus(i); -} - -void OGWaveChoice::cb(void) { - int v = Fl_Osc_Choice::value(); - if (value() < size()-2) - oscWrite(ext, "i", v); - else - oscWrite(ext); - if(cb_data.first) - cb_data.first(this, cb_data.second); -} - -void Oscilharmonic::cb_mag_i(OGSlider* o, void*) { - int x=127-(int)o->value(); -//if (x==64) o->selection_color(0); -// else o->selection_color(222); - - o->osc->writeValue(o->loc+"magnitude"+to_s(n), (char)x); - if (x==64) { - o->osc->writeValue(o->loc+"phase"+to_s(n), (char)64); - phase->value(64); - phase->selection_color(0); - } - o->osc->requestValue(o->loc+"prepare"); - o->osc->requestValue(o->loc+"spectrum"); - o->osc->requestValue(o->loc+"waveform"); - -display->redraw(); -} -void Oscilharmonic::cb_mag(OGSlider* o, void* v) { - ((Oscilharmonic*)(o->parent()->user_data()))->cb_mag_i(o,v); -} - -void Oscilharmonic::cb_phase_i(OGSlider* o, void*) { - o->osc->writeValue(o->loc+"phase"+to_s(n), (char) o->value()); -o->osc->requestValue(o->loc+"prepare"); -o->osc->requestValue(o->loc+"spectrum"); -o->osc->requestValue(o->loc+"waveform"); - -display->redraw(); -} -void Oscilharmonic::cb_phase(OGSlider* o, void* v) { - ((Oscilharmonic*)(o->parent()->user_data()))->cb_phase_i(o,v); -} - -Fl_Osc_Group* Oscilharmonic::make_window() { - { harmonic = new Fl_Osc_Group(0, 0, 100, 225); - harmonic->box(FL_NO_BOX); - harmonic->color(FL_BACKGROUND_COLOR); - harmonic->selection_color(FL_BACKGROUND_COLOR); - harmonic->labeltype(FL_NO_LABEL); - harmonic->labelfont(0); - harmonic->labelsize(14); - harmonic->labelcolor(FL_FOREGROUND_COLOR); - harmonic->user_data((void*)(this)); - harmonic->align(Fl_Align(FL_ALIGN_TOP)); - harmonic->when(FL_WHEN_RELEASE); - { OGSlider* o = mag = new OGSlider(0, 15, 15, 115); - mag->type(4); - mag->box(FL_NO_BOX); - mag->color(FL_BACKGROUND_COLOR); - mag->selection_color((Fl_Color)222); - mag->labeltype(FL_NORMAL_LABEL); - mag->labelfont(0); - mag->labelsize(14); - mag->labelcolor(FL_FOREGROUND_COLOR); - mag->maximum(127); - mag->step(1); - mag->value(64); - mag->callback((Fl_Callback*)cb_mag); - mag->align(Fl_Align(FL_ALIGN_BOTTOM)); - mag->when(FL_WHEN_CHANGED); - o->phase=false;o->ext = "magnitude"+to_s(n);//o->value(127-oscil->Phmag[n]); - //if (oscil->Phmag[n]==64) o->selection_color(0); - } // OGSlider* mag - { OGSlider* o = phase = new OGSlider(0, 135, 15, 75); - phase->type(4); - phase->box(FL_NO_BOX); - phase->color(FL_BACKGROUND_COLOR); - phase->selection_color((Fl_Color)222); - phase->labeltype(FL_NORMAL_LABEL); - phase->labelfont(0); - phase->labelsize(14); - phase->labelcolor(FL_FOREGROUND_COLOR); - phase->maximum(127); - phase->step(1); - phase->value(64); - phase->callback((Fl_Callback*)cb_phase); - phase->align(Fl_Align(FL_ALIGN_BOTTOM)); - phase->when(FL_WHEN_CHANGED); - o->phase=true;o->ext = "phase"+to_s(n);//o->value(oscil->Phphase[n]); - } // OGSlider* phase - { Fl_Box* o = new Fl_Box(15, 70, 5, 5); - o->box(FL_FLAT_BOX); - o->color(FL_DARK2); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(15, 170, 5, 5); - o->box(FL_FLAT_BOX); - o->color(FL_DARK2); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(0, 210, 20, 15, "01"); - o->labelfont(1); - o->labelsize(9); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(0, 0, 20, 15, "01"); - o->labelfont(1); - o->labelsize(9); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp)); - } // Fl_Box* o - harmonic->end(); - } // Fl_Osc_Group* harmonic - return harmonic; -} - -Oscilharmonic::Oscilharmonic(int x,int y, int w, int h, const char *label):Fl_Group(x,y,w,h,label) { - n=0; - display=NULL; -} - -void Oscilharmonic::init(int n_,Fl_Group *display_, std::string loc_, Fl_Osc_Interface *osc_) { - assert(osc_); - assert(!loc_.empty()); - - n=n_; - display=display_; - osc = osc_; - loc = loc_; - make_window(); - mag->osc = osc; - mag->loc = loc; - mag->reset_value = 63; - mag->set_transform([](float x){return 63.0f - x;}); - phase->osc = osc; - phase->loc = loc; - phase->reset_value = 64; - phase->set_rounding(1); - phase->set_transform([](float x){return 180*(1 - x/64.0f);}); - - osc->createLink(loc+"magnitude"+to_s(n), mag); - osc->createLink(loc+"phase"+to_s(n), phase); - osc->requestValue(loc+"magnitude"+to_s(n)); - osc->requestValue(loc+"phase"+to_s(n)); - end(); - harmonic->show(); -} - -void Oscilharmonic::refresh() { - osc->requestValue(loc+"magnitude"+to_s(n));//mag->value(127-oscil->Phmag[n]); - osc->requestValue(loc+"phase"+to_s(n));//phase->value(oscil->Phphase[n]); -} - -Oscilharmonic::~Oscilharmonic() { - osc->removeLink(loc+"magnitude"+to_s(n), mag); - osc->removeLink(loc+"phase"+to_s(n), phase); - - harmonic->hide(); - delete harmonic; -} - -void OscilEditor::cb_applybutton_i(Fl_Button*, void*) { - dummy->osc->requestValue(loc+"../prepare"); -} -void OscilEditor::cb_applybutton(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_applybutton_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_hrndtype[] = { - {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sin", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_magtype_i(Fl_Osc_Choice*, void*) { - redrawoscil(); -} -void OscilEditor::cb_magtype(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_magtype_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_magtype[] = { - {"Linear", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-40dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-60dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-80dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-100dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_bfpar_i(Fl_Osc_Dial* o, void*) { - redrawoscil(); if(bfparval){bfparval->value(o->value());}; -} -void OscilEditor::cb_bfpar(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_bfpar_i(o,v); -} - -void OscilEditor::cb_bftype_i(OGWaveChoice* o, void*) { - basefuncdisplaygroup->redraw(); -redrawoscil(); - -if(!basefuncmodulation) return; -setbfmodstatus(o->value()); -} -void OscilEditor::cb_bftype(OGWaveChoice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_bftype_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_bftype[] = { - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Triangle", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Pulse", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Saw", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Power", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Gauss", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Diode", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"AbsSine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"PulseSine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"StrchSine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Chirp", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"AbsStrSine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Chebyshev", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Sqr", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Spike", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Circle", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"User", 0, 0, 0, 16, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_bfmodtype_i(Fl_Osc_Choice*, void*) { - basefuncdisplaygroup->redraw(); -redrawoscil(); -} -void OscilEditor::cb_bfmodtype(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_bfmodtype_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_bfmodtype[] = { - {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Rev", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chop", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_bfmodpar1_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_bfmodpar1(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_bfmodpar1_i(o,v); -} - -void OscilEditor::cb_bfmodpar2_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_bfmodpar2(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_bfmodpar2_i(o,v); -} - -void OscilEditor::cb_bfmodpar3_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_bfmodpar3(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_bfmodpar3_i(o,v); -} - -void OscilEditor::cb_Use_i(Fl_Button*, void*) { - osc->requestValue(loc+"use-as-base"); -if (autoclearbutton->value()){ - for (int i=1;i<(MAX_AD_HARMONICS - 1);i++){ - h[i]->mag->value(63); - h[i]->mag->do_callback(); - h[i]->phase->value(64); - h[i]->phase->do_callback(); - }; - - harmonicshiftcounter->value(0); - - h[0]->mag->value(0); - h[0]->mag->do_callback(); - h[0]->phase->value(64); - h[0]->phase->do_callback(); - wshbutton->value(0); - wshbutton->do_callback(); - fltbutton->value(0); - fltbutton->do_callback(); - sabutton->value(0); - sabutton->do_callback(); - bfmodtype->value(0); - bfmodtype->do_callback(); -}; - - osc->requestValue(loc+"prepare"); - bftype->update(); - -basefuncdisplaygroup->redraw(); -redrawoscil(); -} -void OscilEditor::cb_Use(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_Use_i(o,v); -} - -void OscilEditor::cb_Close_i(Fl_Button*, void*) { - osceditUI->hide(); -} -void OscilEditor::cb_Close(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_Close_i(o,v); -} - -void OscilEditor::cb_Clear_i(Fl_Button*, void*) { - if (!fl_choice("Clear the harmonics settings?","No","Yes",NULL)) return; - -for (int i=1;i<(MAX_AD_HARMONICS - 1);i++){ - h[i]->mag->value(63); - h[i]->mag->do_callback(); - h[i]->phase->value(64); - h[i]->phase->do_callback(); -}; -h[0]->mag->value(0); -h[0]->mag->do_callback(); -h[0]->phase->value(64); -h[0]->phase->do_callback(); - -//harmonics->redraw(); -osc->requestValue(loc+"prepare"); -redrawoscil(); -} -void OscilEditor::cb_Clear(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_Clear_i(o,v); -} - -void OscilEditor::cb_wshbutton_i(Fl_Osc_Choice*, void*) { - basefuncdisplaygroup->redraw(); -redrawoscil(); -} -void OscilEditor::cb_wshbutton(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_wshbutton_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_wshbutton[] = { - {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Atan", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Asym1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Qnts", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Zigzg", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LmtU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LmtL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"ILmt", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Clip", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Asym2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sgm", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_wshpar_i(Fl_Osc_Dial* o, void*) { - redrawoscil();if(wsparval){wsparval->value(o->value());}; -} -void OscilEditor::cb_wshpar(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_wshpar_i(o,v); -} - -void OscilEditor::cb_fltbutton_i(Fl_Osc_Choice*, void*) { - redrawoscil(); -} -void OscilEditor::cb_fltbutton(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_fltbutton_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_fltbutton[] = { - {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LP1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HP1a", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HP1b", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"BP1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"BS1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LP2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"HP2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"BP2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"BS2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Cos", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sin", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"LSh", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"S", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_filtervalue1_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_filtervalue1(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_filtervalue1_i(o,v); -} - -void OscilEditor::cb_filterpref_i(Fl_Check_Button*, void*) { - redrawoscil(); -} -void OscilEditor::cb_filterpref(Fl_Check_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_filterpref_i(o,v); -} - -void OscilEditor::cb_filtervalue2_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_filtervalue2(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_filtervalue2_i(o,v); -} - -void OscilEditor::cb_sabutton_i(Fl_Osc_Choice*, void*) { - redrawoscil(); -} -void OscilEditor::cb_sabutton(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_sabutton_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_sabutton[] = { - {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"ThrsD", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"ThrsU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_sadjpar_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_sadjpar(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_sadjpar_i(o,v); -} - -void OscilEditor::cb_harmonicshiftcounter_i(Fl_Osc_Counter*, void*) { - redrawoscil(); -} -void OscilEditor::cb_harmonicshiftcounter(Fl_Osc_Counter* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_harmonicshiftcounter_i(o,v); -} - -void OscilEditor::cb_harmonicshiftpre_i(Fl_Osc_Check*, void*) { - redrawoscil(); -} -void OscilEditor::cb_harmonicshiftpre(Fl_Osc_Check* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_harmonicshiftpre_i(o,v); -} - -void OscilEditor::cb_R_i(Fl_Button*, void*) { - //oscil->Pharmonicshift=0; -harmonicshiftcounter->value(0); -redrawoscil(); -} -void OscilEditor::cb_R(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_R_i(o,v); -} - -void OscilEditor::cb_adhrtype_i(Fl_Osc_Choice*, void*) { - redrawoscil(); -} -void OscilEditor::cb_adhrtype(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_adhrtype_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_adhrtype[] = { - {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"ON", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Square", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"2xSub", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"2xAdd", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"3xSub", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"3xAdd", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"4xSub", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"4xAdd", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_adhrpow_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_adhrpow(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_adhrpow_i(o,v); -} - -void OscilEditor::cb_adhrbf_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_adhrbf(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_adhrbf_i(o,v); -} - -void OscilEditor::cb_adhrpar_i(Fl_Osc_TSlider*, void*) { - redrawoscil(); -} -void OscilEditor::cb_adhrpar(Fl_Osc_TSlider* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_adhrpar_i(o,v); -} - -void OscilEditor::cb_modtype_i(Fl_Osc_Choice*, void*) { - redrawoscil(); -} -void OscilEditor::cb_modtype(Fl_Osc_Choice* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_modtype_i(o,v); -} - -Fl_Menu_Item OscilEditor::menu_modtype[] = { - {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Rev", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Pow", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void OscilEditor::cb_modpar1_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_modpar1(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_modpar1_i(o,v); -} - -void OscilEditor::cb_modpar2_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_modpar2(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_modpar2_i(o,v); -} - -void OscilEditor::cb_modpar3_i(Fl_Osc_Dial*, void*) { - redrawoscil(); -} -void OscilEditor::cb_modpar3(Fl_Osc_Dial* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->parent()->user_data()))->cb_modpar3_i(o,v); -} - -void OscilEditor::cb_Sine_i(Fl_Button*, void*) { - if (!fl_choice("Convert to SINE?","No","Yes",NULL)) return; - -osc->requestValue(loc+"convert2sine"); -bftype->update(); -bfpar->value(0); -bfpar->do_callback(); - -redrawoscil(); -refresh(); -} -void OscilEditor::cb_Sine(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_Sine_i(o,v); -} - -void OscilEditor::cb_C_i(Fl_Button*, void*) { - presetsui->copy(dummy->loc()); -} -void OscilEditor::cb_C(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_C_i(o,v); -} - -void OscilEditor::cb_P_i(Fl_Button*, void*) { - presetsui->paste(dummy->loc(), this); -} -void OscilEditor::cb_P(Fl_Button* o, void* v) { - ((OscilEditor*)(o->parent()->parent()->user_data()))->cb_P_i(o,v); -} - -Fl_Double_Window* OscilEditor::make_window() { - { Fl_Double_Window* o = osceditUI = new Fl_Double_Window(735, 595, "ADsynth Oscillator Editor"); - osceditUI->user_data((void*)(this)); - { dummy = new Fl_Osc_Group(0, 0, 735, 595); - dummy->box(FL_FLAT_BOX); - dummy->color(FL_BACKGROUND_COLOR); - dummy->selection_color(FL_BACKGROUND_COLOR); - dummy->labeltype(FL_NORMAL_LABEL); - dummy->labelfont(0); - dummy->labelsize(14); - dummy->labelcolor(FL_FOREGROUND_COLOR); - dummy->align(Fl_Align(FL_ALIGN_TOP)); - dummy->when(FL_WHEN_RELEASE); - { Fl_Button* o = applybutton = new Fl_Button(305, 285, 60, 20, "Apply"); - applybutton->box(FL_THIN_UP_BOX); - applybutton->labelfont(1); - applybutton->callback((Fl_Callback*)cb_applybutton); - if(adnotep) o->hide(); - dummy->base = loc; - dummy->osc = osc; - } // Fl_Button* applybutton - { oscildisplaygroup = new Fl_Group(10, 10, 360, 300); - oscildisplaygroup->box(FL_UP_FRAME); - { Fl_Group* o = new Fl_Group(15, 90, 350, 190); - o->box(FL_THIN_DOWN_BOX); - o->color(FL_GRAY0); - o->selection_color((Fl_Color)71); - o->labelcolor((Fl_Color)179); - oscilo=new Fl_Oscilloscope(o->x(),o->y(),o->w(),o->h(),""); - oscilo->parent(o);oscilo->init(false); - o->end(); - } // Fl_Group* o - { Fl_Box* o = new Fl_Box(125, 15, 110, 20, "Oscillator"); - o->labelfont(1); - } // Fl_Box* o - { Fl_Osc_VSlider* o = rndslider = new Fl_Osc_VSlider(145, 290, 100, 10, "rnd"); - rndslider->tooltip("Oscilator Phase Randomness: smaller than 0 is \"group\", larger than 0 is for\ - each harmonic"); - rndslider->type(5); - rndslider->box(FL_NO_BOX); - rndslider->color(FL_BACKGROUND_COLOR); - rndslider->selection_color(FL_BACKGROUND_COLOR); - rndslider->labeltype(FL_NORMAL_LABEL); - rndslider->labelfont(0); - rndslider->labelsize(10); - rndslider->labelcolor(FL_FOREGROUND_COLOR); - rndslider->minimum(-64); - rndslider->maximum(63); - rndslider->step(1); - rndslider->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - rndslider->when(FL_WHEN_CHANGED); - (void)o->init("Prand"); if (!adnotep) o->hide(); - } // Fl_Osc_VSlider* rndslider - { Fl_Group* o = new Fl_Group(15, 35, 350, 50); - o->box(FL_THIN_DOWN_BOX); - o->color(FL_GRAY0); - o->selection_color((Fl_Color)218); - o->labelcolor(FL_GREEN); - oscils=new Fl_OscilSpectrum(o->x(),o->y(),o->w(),o->h(),""); - oscils->parent(o);oscils->init(false); - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(251, 282, 115, 25); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = hrndtype = new Fl_Osc_Choice(286, 287, 50, 15, "H.rnd"); - hrndtype->tooltip("Harmonic Amplitude Randomness"); - hrndtype->box(FL_UP_BOX); - hrndtype->down_box(FL_BORDER_BOX); - hrndtype->color(FL_BACKGROUND_COLOR); - hrndtype->selection_color(FL_SELECTION_COLOR); - hrndtype->labeltype(FL_NORMAL_LABEL); - hrndtype->labelfont(0); - hrndtype->labelsize(10); - hrndtype->labelcolor(FL_FOREGROUND_COLOR); - hrndtype->textsize(10); - hrndtype->align(Fl_Align(FL_ALIGN_LEFT)); - hrndtype->when(FL_WHEN_RELEASE); - hrndtype->menu(menu_hrndtype); - o->init("Pamprandtype"); - } // Fl_Osc_Choice* hrndtype - { Fl_Osc_Dial* o = hrnddial = new Fl_Osc_Dial(345, 285, 18, 18); - hrnddial->tooltip("Oscillator\'s spectrum adjust parameter"); - hrnddial->box(FL_NO_BOX); - hrnddial->color(FL_BACKGROUND_COLOR); - hrnddial->selection_color(FL_INACTIVE_COLOR); - hrnddial->labeltype(FL_NORMAL_LABEL); - hrnddial->labelfont(0); - hrnddial->labelsize(14); - hrnddial->labelcolor(FL_FOREGROUND_COLOR); - hrnddial->maximum(127); - hrnddial->step(1); - hrnddial->align(Fl_Align(FL_ALIGN_BOTTOM)); - hrnddial->when(FL_WHEN_CHANGED); - o->init("Pamprandpower");o->reset_value=64; - } // Fl_Osc_Dial* hrnddial - if (!adnotep) o->hide(); - o->end(); - } // Fl_Group* o - { Fl_Osc_Choice* o = magtype = new Fl_Osc_Choice(75, 285, 65, 20, "Mag.Type"); - magtype->box(FL_UP_BOX); - magtype->down_box(FL_BORDER_BOX); - magtype->color(FL_BACKGROUND_COLOR); - magtype->selection_color(FL_SELECTION_COLOR); - magtype->labeltype(FL_NORMAL_LABEL); - magtype->labelfont(0); - magtype->labelsize(11); - magtype->labelcolor(FL_FOREGROUND_COLOR); - magtype->textsize(11); - magtype->callback((Fl_Callback*)cb_magtype); - magtype->align(Fl_Align(FL_ALIGN_LEFT)); - magtype->when(FL_WHEN_CHANGED); - magtype->menu(menu_magtype); - o->init("Phmagtype"); - } // Fl_Osc_Choice* magtype - oscildisplaygroup->end(); - } // Fl_Group* oscildisplaygroup - { Fl_Osc_Group* o = basefuncdisplaygroup = new Fl_Osc_Group(370, 10, 360, 300); - basefuncdisplaygroup->box(FL_UP_FRAME); - basefuncdisplaygroup->color(FL_BACKGROUND_COLOR); - basefuncdisplaygroup->selection_color(FL_BACKGROUND_COLOR); - basefuncdisplaygroup->labeltype(FL_NORMAL_LABEL); - basefuncdisplaygroup->labelfont(0); - basefuncdisplaygroup->labelsize(14); - basefuncdisplaygroup->labelcolor(FL_FOREGROUND_COLOR); - basefuncdisplaygroup->align(Fl_Align(FL_ALIGN_TOP)); - basefuncdisplaygroup->when(FL_WHEN_RELEASE); - { Fl_Group* o = new Fl_Group(375, 90, 350, 190); - o->box(FL_THIN_DOWN_BOX); - o->color(FL_GRAY0); - o->selection_color((Fl_Color)71); - o->labelcolor((Fl_Color)179); - oscilo_base=new Fl_Oscilloscope(o->x(),o->y(),o->w(),o->h(),""); - oscilo_base->parent(o);oscilo_base->init(true); - o->end(); - } // Fl_Group* o - { Fl_Osc_Dial* o = bfpar = new Fl_Osc_Dial(525, 285, 20, 20); - bfpar->tooltip("Base Function Parameter"); - bfpar->box(FL_NO_BOX); - bfpar->color(FL_BACKGROUND_COLOR); - bfpar->selection_color(FL_INACTIVE_COLOR); - bfpar->labeltype(FL_NORMAL_LABEL); - bfpar->labelfont(0); - bfpar->labelsize(14); - bfpar->labelcolor(FL_FOREGROUND_COLOR); - bfpar->minimum(-64); - bfpar->maximum(63); - bfpar->step(1); - bfpar->callback((Fl_Callback*)cb_bfpar); - bfpar->align(Fl_Align(FL_ALIGN_BOTTOM)); - bfpar->when(FL_WHEN_CHANGED); - o->init("Pbasefuncpar"); - } // Fl_Osc_Dial* bfpar - { bftype = new OGWaveChoice(375, 290, 90, 15, "Base.F.."); - bftype->box(FL_UP_BOX); - bftype->down_box(FL_BORDER_BOX); - bftype->color(FL_BACKGROUND_COLOR); - bftype->selection_color(FL_SELECTION_COLOR); - bftype->labeltype(FL_NORMAL_LABEL); - bftype->labelfont(0); - bftype->labelsize(10); - bftype->labelcolor(FL_FOREGROUND_COLOR); - bftype->textsize(11); - bftype->callback((Fl_Callback*)cb_bftype); - bftype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - bftype->when(FL_WHEN_CHANGED); - bftype->menu(menu_bftype); - } // OGWaveChoice* bftype - { Fl_Box* o = new Fl_Box(485, 15, 110, 20, "Base Func."); - o->labelfont(1); - } // Fl_Box* o - { Fl_Group* o = new Fl_Group(375, 35, 350, 50); - o->box(FL_THIN_DOWN_BOX); - o->color(FL_GRAY0); - o->selection_color((Fl_Color)218); - o->labelcolor(FL_GREEN); - oscils_base=new Fl_OscilSpectrum (o->x(),o->y(),o->w(),o->h(),""); - oscils_base->parent(o);oscils_base->init(true); - o->end(); - } // Fl_Group* o - { Fl_Value_Output* o = bfparval = new Fl_Value_Output(495, 290, 25, 15, "Par."); - bfparval->labelsize(12); - bfparval->minimum(-63); - bfparval->maximum(63); - bfparval->step(1); - o->value(bfpar->value()); - } // Fl_Value_Output* bfparval - { basefuncmodulation = new Fl_Group(555, 281, 169, 25); - basefuncmodulation->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = bfmodtype = new Fl_Osc_Choice(604, 286, 50, 15, "B.F.Mod."); - bfmodtype->tooltip("Base function modulation"); - bfmodtype->box(FL_UP_BOX); - bfmodtype->down_box(FL_BORDER_BOX); - bfmodtype->color(FL_BACKGROUND_COLOR); - bfmodtype->selection_color(FL_SELECTION_COLOR); - bfmodtype->labeltype(FL_NORMAL_LABEL); - bfmodtype->labelfont(0); - bfmodtype->labelsize(10); - bfmodtype->labelcolor(FL_FOREGROUND_COLOR); - bfmodtype->textsize(10); - bfmodtype->callback((Fl_Callback*)cb_bfmodtype); - bfmodtype->align(Fl_Align(FL_ALIGN_LEFT)); - bfmodtype->when(FL_WHEN_CHANGED); - bfmodtype->menu(menu_bfmodtype); - o->init("Pbasefuncmodulation"); - } // Fl_Osc_Choice* bfmodtype - { Fl_Osc_Dial* o = bfmodpar1 = new Fl_Osc_Dial(664, 286, 15, 15); - bfmodpar1->tooltip("Oscillator\'s modulation parameter 1"); - bfmodpar1->box(FL_NO_BOX); - bfmodpar1->color(FL_BACKGROUND_COLOR); - bfmodpar1->selection_color(FL_INACTIVE_COLOR); - bfmodpar1->labeltype(FL_NORMAL_LABEL); - bfmodpar1->labelfont(0); - bfmodpar1->labelsize(14); - bfmodpar1->labelcolor(FL_FOREGROUND_COLOR); - bfmodpar1->maximum(127); - bfmodpar1->step(1); - bfmodpar1->callback((Fl_Callback*)cb_bfmodpar1); - bfmodpar1->align(Fl_Align(FL_ALIGN_BOTTOM)); - bfmodpar1->when(FL_WHEN_CHANGED); - o->init("Pbasefuncmodulationpar1");o->reset_value=64; - } // Fl_Osc_Dial* bfmodpar1 - { Fl_Osc_Dial* o = bfmodpar2 = new Fl_Osc_Dial(684, 286, 15, 15); - bfmodpar2->tooltip("Oscillator\'s modulation parameter 2"); - bfmodpar2->box(FL_NO_BOX); - bfmodpar2->color(FL_BACKGROUND_COLOR); - bfmodpar2->selection_color(FL_INACTIVE_COLOR); - bfmodpar2->labeltype(FL_NORMAL_LABEL); - bfmodpar2->labelfont(0); - bfmodpar2->labelsize(14); - bfmodpar2->labelcolor(FL_FOREGROUND_COLOR); - bfmodpar2->maximum(127); - bfmodpar2->step(1); - bfmodpar2->callback((Fl_Callback*)cb_bfmodpar2); - bfmodpar2->align(Fl_Align(FL_ALIGN_BOTTOM)); - bfmodpar2->when(FL_WHEN_CHANGED); - o->init("Pbasefuncmodulationpar2");o->reset_value=64; - } // Fl_Osc_Dial* bfmodpar2 - { Fl_Osc_Dial* o = bfmodpar3 = new Fl_Osc_Dial(704, 286, 15, 15); - bfmodpar3->tooltip("Oscillator\'s modulation parameter 3"); - bfmodpar3->box(FL_NO_BOX); - bfmodpar3->color(FL_BACKGROUND_COLOR); - bfmodpar3->selection_color(FL_INACTIVE_COLOR); - bfmodpar3->labeltype(FL_NORMAL_LABEL); - bfmodpar3->labelfont(0); - bfmodpar3->labelsize(14); - bfmodpar3->labelcolor(FL_FOREGROUND_COLOR); - bfmodpar3->maximum(127); - bfmodpar3->step(1); - bfmodpar3->callback((Fl_Callback*)cb_bfmodpar3); - bfmodpar3->align(Fl_Align(FL_ALIGN_BOTTOM)); - bfmodpar3->when(FL_WHEN_CHANGED); - o->init("Pbasefuncmodulationpar3");o->reset_value=32; - } // Fl_Osc_Dial* bfmodpar3 - basefuncmodulation->end(); - } // Fl_Group* basefuncmodulation - o->base = loc; - o->osc = osc; bftype->ogui = this; - assert(osc); - basefuncdisplaygroup->end(); - } // Fl_Osc_Group* basefuncdisplaygroup - { Fl_Button* o = new Fl_Button(10, 318, 85, 20, "Use as base"); - o->tooltip("Use this Oscillator as base function"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Use); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(673, 570, 62, 25, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(675, 510, 55, 15, "Clear"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Clear); - } // Fl_Button* o - { Fl_Group* o = new Fl_Group(140, 313, 150, 30); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = wshbutton = new Fl_Osc_Choice(170, 320, 55, 20, "Wsh."); - wshbutton->tooltip("Waveshaping function"); - wshbutton->box(FL_UP_BOX); - wshbutton->down_box(FL_BORDER_BOX); - wshbutton->color(FL_BACKGROUND_COLOR); - wshbutton->selection_color(FL_SELECTION_COLOR); - wshbutton->labeltype(FL_NORMAL_LABEL); - wshbutton->labelfont(0); - wshbutton->labelsize(10); - wshbutton->labelcolor(FL_FOREGROUND_COLOR); - wshbutton->textsize(10); - wshbutton->callback((Fl_Callback*)cb_wshbutton); - wshbutton->align(Fl_Align(FL_ALIGN_LEFT)); - wshbutton->when(FL_WHEN_CHANGED); - wshbutton->menu(menu_wshbutton); - o->init("Pwaveshapingfunction"); - } // Fl_Osc_Choice* wshbutton - { Fl_Osc_Dial* o = wshpar = new Fl_Osc_Dial(265, 318, 20, 20); - wshpar->tooltip("Waveshaping Parameter"); - wshpar->box(FL_NO_BOX); - wshpar->color(FL_BACKGROUND_COLOR); - wshpar->selection_color(FL_INACTIVE_COLOR); - wshpar->labeltype(FL_NORMAL_LABEL); - wshpar->labelfont(0); - wshpar->labelsize(14); - wshpar->labelcolor(FL_FOREGROUND_COLOR); - wshpar->minimum(-64); - wshpar->maximum(63); - wshpar->step(1); - wshpar->callback((Fl_Callback*)cb_wshpar); - wshpar->align(Fl_Align(FL_ALIGN_BOTTOM)); - wshpar->when(FL_WHEN_CHANGED); - o->init("Pwaveshaping"); - } // Fl_Osc_Dial* wshpar - { Fl_Value_Output* o = wsparval = new Fl_Value_Output(233, 321, 25, 15); - wsparval->labelsize(12); - wsparval->minimum(-63); - wsparval->maximum(63); - wsparval->step(1); - o->value(wshpar->value()); - } // Fl_Value_Output* wsparval - o->end(); - } // Fl_Group* o - { autoclearbutton = new Fl_Check_Button(98, 318, 40, 20, "Clr."); - autoclearbutton->tooltip("Auto clear when using the oscillator as base function"); - autoclearbutton->box(FL_THIN_UP_BOX); - autoclearbutton->down_box(FL_DOWN_BOX); - autoclearbutton->value(1); - autoclearbutton->labelfont(1); - autoclearbutton->labelsize(10); - } // Fl_Check_Button* autoclearbutton - { Fl_Group* o = new Fl_Group(290, 313, 155, 30); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = fltbutton = new Fl_Osc_Choice(320, 318, 50, 20, "Filter"); - fltbutton->tooltip("Oscillator\'s filter type"); - fltbutton->box(FL_UP_BOX); - fltbutton->down_box(FL_BORDER_BOX); - fltbutton->color(FL_BACKGROUND_COLOR); - fltbutton->selection_color(FL_SELECTION_COLOR); - fltbutton->labeltype(FL_NORMAL_LABEL); - fltbutton->labelfont(0); - fltbutton->labelsize(10); - fltbutton->labelcolor(FL_FOREGROUND_COLOR); - fltbutton->textsize(10); - fltbutton->callback((Fl_Callback*)cb_fltbutton); - fltbutton->align(Fl_Align(FL_ALIGN_LEFT)); - fltbutton->when(FL_WHEN_CHANGED); - fltbutton->menu(menu_fltbutton); - o->init("Pfiltertype"); - } // Fl_Osc_Choice* fltbutton - { Fl_Osc_Dial* o = filtervalue1 = new Fl_Osc_Dial(372, 318, 20, 20); - filtervalue1->tooltip("Oscillator\'s filter parameter1"); - filtervalue1->box(FL_NO_BOX); - filtervalue1->color(FL_BACKGROUND_COLOR); - filtervalue1->selection_color(FL_INACTIVE_COLOR); - filtervalue1->labeltype(FL_NORMAL_LABEL); - filtervalue1->labelfont(0); - filtervalue1->labelsize(14); - filtervalue1->labelcolor(FL_FOREGROUND_COLOR); - filtervalue1->maximum(127); - filtervalue1->step(1); - filtervalue1->callback((Fl_Callback*)cb_filtervalue1); - filtervalue1->align(Fl_Align(FL_ALIGN_BOTTOM)); - filtervalue1->when(FL_WHEN_CHANGED); - o->init("Pfilterpar1");o->reset_value=64; - } // Fl_Osc_Dial* filtervalue1 - { filterpref = new Fl_Check_Button(420, 318, 20, 20, "p"); - filterpref->tooltip("Apply the filter before the waveshaping"); - filterpref->down_box(FL_DOWN_BOX); - filterpref->labelsize(10); - filterpref->callback((Fl_Callback*)cb_filterpref); - filterpref->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); - } // Fl_Check_Button* filterpref - { Fl_Osc_Dial* o = filtervalue2 = new Fl_Osc_Dial(395, 318, 20, 20); - filtervalue2->tooltip("Oscillator\'s filter parameter2"); - filtervalue2->box(FL_NO_BOX); - filtervalue2->color(FL_BACKGROUND_COLOR); - filtervalue2->selection_color(FL_INACTIVE_COLOR); - filtervalue2->labeltype(FL_NORMAL_LABEL); - filtervalue2->labelfont(0); - filtervalue2->labelsize(14); - filtervalue2->labelcolor(FL_FOREGROUND_COLOR); - filtervalue2->maximum(127); - filtervalue2->step(1); - filtervalue2->callback((Fl_Callback*)cb_filtervalue2); - filtervalue2->align(Fl_Align(FL_ALIGN_BOTTOM)); - filtervalue2->when(FL_WHEN_CHANGED); - o->init("Pfilterpar2");o->reset_value=64; - } // Fl_Osc_Dial* filtervalue2 - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(595, 313, 135, 30); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = sabutton = new Fl_Osc_Choice(635, 318, 60, 20, "Sp.adj."); - sabutton->tooltip("Oscillator\'s spectrum adjust"); - sabutton->box(FL_UP_BOX); - sabutton->down_box(FL_BORDER_BOX); - sabutton->color(FL_BACKGROUND_COLOR); - sabutton->selection_color(FL_SELECTION_COLOR); - sabutton->labeltype(FL_NORMAL_LABEL); - sabutton->labelfont(0); - sabutton->labelsize(10); - sabutton->labelcolor(FL_FOREGROUND_COLOR); - sabutton->textsize(10); - sabutton->callback((Fl_Callback*)cb_sabutton); - sabutton->align(Fl_Align(FL_ALIGN_LEFT)); - sabutton->when(FL_WHEN_CHANGED); - sabutton->menu(menu_sabutton); - o->init("Psatype"); - } // Fl_Osc_Choice* sabutton - { Fl_Osc_Dial* o = sadjpar = new Fl_Osc_Dial(700, 318, 20, 20); - sadjpar->tooltip("Oscillator\'s spectrum adjust parameter"); - sadjpar->box(FL_NO_BOX); - sadjpar->color(FL_BACKGROUND_COLOR); - sadjpar->selection_color(FL_INACTIVE_COLOR); - sadjpar->labeltype(FL_NORMAL_LABEL); - sadjpar->labelfont(0); - sadjpar->labelsize(14); - sadjpar->labelcolor(FL_FOREGROUND_COLOR); - sadjpar->maximum(127); - sadjpar->step(1); - sadjpar->callback((Fl_Callback*)cb_sadjpar); - sadjpar->align(Fl_Align(FL_ALIGN_BOTTOM)); - sadjpar->when(FL_WHEN_CHANGED); - o->init("Psapar");o->reset_value=64; - } // Fl_Osc_Dial* sadjpar - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(670, 345, 65, 65); - o->box(FL_UP_FRAME); - { Fl_Osc_Counter* o = harmonicshiftcounter = new Fl_Osc_Counter(675, 370, 55, 15, "Harmonic Shift"); - harmonicshiftcounter->type(1); - harmonicshiftcounter->box(FL_UP_BOX); - harmonicshiftcounter->color(FL_BACKGROUND_COLOR); - harmonicshiftcounter->selection_color(FL_INACTIVE_COLOR); - harmonicshiftcounter->labeltype(FL_NORMAL_LABEL); - harmonicshiftcounter->labelfont(0); - harmonicshiftcounter->labelsize(10); - harmonicshiftcounter->labelcolor(FL_FOREGROUND_COLOR); - harmonicshiftcounter->minimum(-64); - harmonicshiftcounter->maximum(64); - harmonicshiftcounter->step(1); - harmonicshiftcounter->textfont(1); - harmonicshiftcounter->textsize(10); - harmonicshiftcounter->callback((Fl_Callback*)cb_harmonicshiftcounter); - harmonicshiftcounter->align(Fl_Align(129)); - harmonicshiftcounter->when(FL_WHEN_CHANGED); - o->init("Pharmonicshift"); - } // Fl_Osc_Counter* harmonicshiftcounter - { Fl_Osc_Check* o = harmonicshiftpre = new Fl_Osc_Check(695, 390, 34, 15, "preH"); - harmonicshiftpre->tooltip("Apply the harmonic shift before the waveshaping and filtering"); - harmonicshiftpre->box(FL_NO_BOX); - harmonicshiftpre->down_box(FL_DOWN_BOX); - harmonicshiftpre->color(FL_BACKGROUND_COLOR); - harmonicshiftpre->selection_color(FL_FOREGROUND_COLOR); - harmonicshiftpre->labeltype(FL_NORMAL_LABEL); - harmonicshiftpre->labelfont(0); - harmonicshiftpre->labelsize(10); - harmonicshiftpre->labelcolor(FL_FOREGROUND_COLOR); - harmonicshiftpre->callback((Fl_Callback*)cb_harmonicshiftpre); - harmonicshiftpre->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); - harmonicshiftpre->when(FL_WHEN_RELEASE); - o->init("Pharmonicshiftfirst"); - } // Fl_Osc_Check* harmonicshiftpre - { Fl_Button* o = new Fl_Button(675, 390, 20, 15, "R"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_R); - } // Fl_Button* o - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(670, 415, 65, 90); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = adhrtype = new Fl_Osc_Choice(675, 430, 55, 15, "Adpt.Harm."); - adhrtype->tooltip("The type of the addaptive harmonics"); - adhrtype->box(FL_UP_BOX); - adhrtype->down_box(FL_BORDER_BOX); - adhrtype->color(FL_BACKGROUND_COLOR); - adhrtype->selection_color(FL_SELECTION_COLOR); - adhrtype->labeltype(FL_NORMAL_LABEL); - adhrtype->labelfont(0); - adhrtype->labelsize(10); - adhrtype->labelcolor(FL_FOREGROUND_COLOR); - adhrtype->textsize(10); - adhrtype->callback((Fl_Callback*)cb_adhrtype); - adhrtype->align(Fl_Align(129)); - adhrtype->when(3); - adhrtype->menu(menu_adhrtype); - o->init("Padaptiveharmonics"); - } // Fl_Osc_Choice* adhrtype - { Fl_Osc_Dial* o = adhrpow = new Fl_Osc_Dial(705, 465, 25, 25, "pow"); - adhrpow->tooltip("Adaptive harmonics power"); - adhrpow->box(FL_NO_BOX); - adhrpow->color(FL_BACKGROUND_COLOR); - adhrpow->selection_color(FL_INACTIVE_COLOR); - adhrpow->labeltype(FL_NORMAL_LABEL); - adhrpow->labelfont(0); - adhrpow->labelsize(10); - adhrpow->labelcolor(FL_FOREGROUND_COLOR); - adhrpow->maximum(200); - adhrpow->step(1); - adhrpow->callback((Fl_Callback*)cb_adhrpow); - adhrpow->align(Fl_Align(FL_ALIGN_BOTTOM)); - adhrpow->when(FL_WHEN_CHANGED); - o->init("Padaptiveharmonicspower");o->reset_value=100; - } // Fl_Osc_Dial* adhrpow - { Fl_Osc_Dial* o = adhrbf = new Fl_Osc_Dial(675, 465, 25, 25, "baseF"); - adhrbf->tooltip("Adaptive harmonics base frequency"); - adhrbf->box(FL_NO_BOX); - adhrbf->color(FL_BACKGROUND_COLOR); - adhrbf->selection_color(FL_INACTIVE_COLOR); - adhrbf->labeltype(FL_NORMAL_LABEL); - adhrbf->labelfont(0); - adhrbf->labelsize(10); - adhrbf->labelcolor(FL_FOREGROUND_COLOR); - adhrbf->maximum(255); - adhrbf->step(1); - adhrbf->callback((Fl_Callback*)cb_adhrbf); - adhrbf->align(Fl_Align(FL_ALIGN_BOTTOM)); - adhrbf->when(FL_WHEN_CHANGED); - o->init("Padaptiveharmonicsbasefreq");o->reset_value=128; - } // Fl_Osc_Dial* adhrbf - { Fl_Osc_TSlider* o = adhrpar = new Fl_Osc_TSlider(675, 450, 55, 10); - adhrpar->type(5); - adhrpar->box(FL_NO_BOX); - adhrpar->color(FL_BACKGROUND_COLOR); - adhrpar->selection_color(FL_BACKGROUND_COLOR); - adhrpar->labeltype(FL_NORMAL_LABEL); - adhrpar->labelfont(0); - adhrpar->labelsize(14); - adhrpar->labelcolor(FL_FOREGROUND_COLOR); - adhrpar->maximum(100); - adhrpar->step(1); - adhrpar->value(50); - adhrpar->callback((Fl_Callback*)cb_adhrpar); - adhrpar->align(Fl_Align(FL_ALIGN_BOTTOM)); - adhrpar->when(FL_WHEN_CHANGED); - o->init("Padaptiveharmonicspar", 'i');o->reset_value=50; - } // Fl_Osc_TSlider* adhrpar - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(445, 313, 150, 30); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = modtype = new Fl_Osc_Choice(475, 320, 50, 15, "Mod."); - modtype->tooltip("modulation"); - modtype->box(FL_UP_BOX); - modtype->down_box(FL_BORDER_BOX); - modtype->color(FL_BACKGROUND_COLOR); - modtype->selection_color(FL_SELECTION_COLOR); - modtype->labeltype(FL_NORMAL_LABEL); - modtype->labelfont(0); - modtype->labelsize(10); - modtype->labelcolor(FL_FOREGROUND_COLOR); - modtype->textsize(10); - modtype->callback((Fl_Callback*)cb_modtype); - modtype->align(Fl_Align(FL_ALIGN_LEFT)); - modtype->when(FL_WHEN_CHANGED); - modtype->menu(menu_modtype); - o->init("Pmodulation"); - } // Fl_Osc_Choice* modtype - { Fl_Osc_Dial* o = modpar1 = new Fl_Osc_Dial(535, 320, 15, 15); - modpar1->tooltip("Oscillator\'s modulation parameter 1"); - modpar1->box(FL_NO_BOX); - modpar1->color(FL_BACKGROUND_COLOR); - modpar1->selection_color(FL_INACTIVE_COLOR); - modpar1->labeltype(FL_NORMAL_LABEL); - modpar1->labelfont(0); - modpar1->labelsize(14); - modpar1->labelcolor(FL_FOREGROUND_COLOR); - modpar1->maximum(127); - modpar1->step(1); - modpar1->callback((Fl_Callback*)cb_modpar1); - modpar1->align(Fl_Align(FL_ALIGN_BOTTOM)); - modpar1->when(FL_WHEN_CHANGED); - o->init("Pmodulationpar1");o->reset_value=64; - } // Fl_Osc_Dial* modpar1 - { Fl_Osc_Dial* o = modpar2 = new Fl_Osc_Dial(555, 320, 15, 15); - modpar2->tooltip("Oscillator\'s modulation parameter 2"); - modpar2->box(FL_NO_BOX); - modpar2->color(FL_BACKGROUND_COLOR); - modpar2->selection_color(FL_INACTIVE_COLOR); - modpar2->labeltype(FL_NORMAL_LABEL); - modpar2->labelfont(0); - modpar2->labelsize(14); - modpar2->labelcolor(FL_FOREGROUND_COLOR); - modpar2->maximum(127); - modpar2->step(1); - modpar2->callback((Fl_Callback*)cb_modpar2); - modpar2->align(Fl_Align(FL_ALIGN_BOTTOM)); - modpar2->when(FL_WHEN_CHANGED); - o->init("Pmodulationpar2");o->reset_value=64; - } // Fl_Osc_Dial* modpar2 - { Fl_Osc_Dial* o = modpar3 = new Fl_Osc_Dial(575, 320, 15, 15); - modpar3->tooltip("Oscillator\'s modulation parameter 3"); - modpar3->box(FL_NO_BOX); - modpar3->color(FL_BACKGROUND_COLOR); - modpar3->selection_color(FL_INACTIVE_COLOR); - modpar3->labeltype(FL_NORMAL_LABEL); - modpar3->labelfont(0); - modpar3->labelsize(14); - modpar3->labelcolor(FL_FOREGROUND_COLOR); - modpar3->maximum(127); - modpar3->step(1); - modpar3->callback((Fl_Callback*)cb_modpar3); - modpar3->align(Fl_Align(FL_ALIGN_BOTTOM)); - modpar3->when(FL_WHEN_CHANGED); - o->init("Pmodulationpar3");o->reset_value=32; - } // Fl_Osc_Dial* modpar3 - o->end(); - } // Fl_Group* o - { Fl_Button* o = new Fl_Button(675, 530, 55, 15, "Sine"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Sine); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(675, 550, 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(705, 550, 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 - { _this_has_to_be_the_last = new Fl_Scroll(10, 345, 660, 250); - _this_has_to_be_the_last->type(1); - _this_has_to_be_the_last->box(FL_FLAT_BOX); - { Fl_Pack* o = harmonics = new Fl_Pack(15, 350, 650, 225); - harmonics->type(1); - for (int i=0;i<(MAX_AD_HARMONICS - 1);i++){h[i]=new Oscilharmonic(0,0,20,o->h(),"");h[i]->init(i,oscildisplaygroup,loc,osc);} - harmonics->end(); - } // Fl_Pack* harmonics - _this_has_to_be_the_last->end(); - } // Fl_Scroll* _this_has_to_be_the_last - dummy->end(); - } // Fl_Osc_Group* dummy - (void)o;//if (oscil->ADvsPAD) o->label("PADsynth Harmonic Content Editor"); - osceditUI->end(); - } // Fl_Double_Window* osceditUI - return osceditUI; -} - -OscilEditor::OscilEditor(bool adnotep_, std::string loc_, Fl_Osc_Interface *osc_) { - assert(osc_); - assert(!loc_.empty()); - - initialized = false; - - adnotep = adnotep_; - osc = osc_; - loc = loc_; - - oscilo = NULL; - oscilo_base = NULL; - oscils = NULL; - oscils_base = NULL; - - osceditUI = NULL; - dummy = NULL; - applybutton = NULL; - oscildisplaygroup = NULL; - rndslider = NULL; - hrndtype = NULL; - magtype = NULL; - basefuncdisplaygroup = NULL; - bfpar = NULL; - bftype = NULL; - make_window(); - bftype->init("Pcurrentbasefunc"); - initialized = true; - - refresh(); - osceditUI->show(); -} - -OscilEditor::~OscilEditor() { - osceditUI->hide(); - for (int i=0; i<(MAX_AD_HARMONICS - 1); ++i) - delete h[i]; - - delete oscilo; - delete oscilo_base; - delete oscils; - delete oscils_base; - delete osceditUI; -} - -void OscilEditor::refresh() { - magtype->update(); - - for (int i=0;i<(MAX_AD_HARMONICS - 1);i++) h[i]->refresh(); - - osc->requestValue(loc+"prepare"); - - basefuncdisplaygroup->redraw(); - redrawoscil(); -} - -void OscilEditor::redrawoscil() { - if(!initialized) //Must have been called during initialization - return; - //get data from backend - osc->requestValue(loc+"prepare"); - oscilo->update(); - oscils->update(); - oscilo_base->update(); - oscils_base->update(); -} - -void OscilEditor::setbfmodstatus(int menuentry) { - switch (menuentry){ - case 0: - bfpar->deactivate(); - bfparval->deactivate(); - basefuncmodulation->deactivate(); - break; - case 127: - bfpar->deactivate(); - bfparval->deactivate(); - basefuncmodulation->activate(); - break; - default: - bfpar->activate(); - bfparval->activate(); - basefuncmodulation->activate(); - } -} diff --git a/zynaddsubfx/UI/OscilGenUI.h b/zynaddsubfx/UI/OscilGenUI.h deleted file mode 100644 index 4e11950..0000000 --- a/zynaddsubfx/UI/OscilGenUI.h +++ /dev/null @@ -1,260 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef OscilGenUI_h -#define OscilGenUI_h -#include -#include "../Synth/OscilGen.h" -#include "../Misc/Util.h" -#include "ResonanceUI.h" -#include "Fl_Oscilloscope.h" -#include "Fl_OscilSpectrum.h" -#include "Fl_Osc_Interface.h" -#include -#include -#include -#include "Fl_Osc_Pane.H" -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Choice.H" -#include "Fl_Osc_Counter.H" -#include "Fl_Osc_TSlider.H" -#include "Fl_Osc_VSlider.H" -#include "PresetsUI.h" -#include -using namespace zyncarla; - -class OGSlider : public Fl_Osc_TSlider { -public: - OGSlider(int x,int y, int w, int h, const char *label=0) - ; - void OSC_value(char c); - void cb(void); - void update(void); - bool phase; -}; - -class OGWaveChoice : public Fl_Osc_Choice { -public: - OGWaveChoice(int x,int y, int w, int h, const char *label=0) - ; - void OSC_value(int i); - void cb(void); - class OscilEditor *ogui; -}; -#include - -class Oscilharmonic : public Fl_Group { - Fl_Osc_Group* make_window(); - Fl_Osc_Group *harmonic; -public: - OGSlider *mag; -private: - void cb_mag_i(OGSlider*, void*); - static void cb_mag(OGSlider*, void*); -public: - OGSlider *phase; -private: - void cb_phase_i(OGSlider*, void*); - static void cb_phase(OGSlider*, void*); -public: - Oscilharmonic(int x,int y, int w, int h, const char *label=0); - void init(int n_,Fl_Group *display_, std::string loc_, Fl_Osc_Interface *osc_); - void refresh(); - ~Oscilharmonic(); -private: - Fl_Group *display; - int n; - Fl_Osc_Interface *osc; - std::string loc; -}; -#include -#include -#include -#include -#include -#include -#include - -class OscilEditor : public PresetsUI_ { -public: - Fl_Double_Window* make_window(); - Fl_Double_Window *osceditUI; - Fl_Osc_Group *dummy; - Fl_Button *applybutton; -private: - void cb_applybutton_i(Fl_Button*, void*); - static void cb_applybutton(Fl_Button*, void*); -public: - Fl_Group *oscildisplaygroup; - Fl_Osc_VSlider *rndslider; - Fl_Osc_Choice *hrndtype; - static Fl_Menu_Item menu_hrndtype[]; - Fl_Osc_Dial *hrnddial; - Fl_Osc_Choice *magtype; -private: - void cb_magtype_i(Fl_Osc_Choice*, void*); - static void cb_magtype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_magtype[]; -public: - Fl_Osc_Group *basefuncdisplaygroup; - Fl_Osc_Dial *bfpar; -private: - void cb_bfpar_i(Fl_Osc_Dial*, void*); - static void cb_bfpar(Fl_Osc_Dial*, void*); -public: - OGWaveChoice *bftype; -private: - void cb_bftype_i(OGWaveChoice*, void*); - static void cb_bftype(OGWaveChoice*, void*); - static Fl_Menu_Item menu_bftype[]; -public: - Fl_Value_Output *bfparval; - Fl_Group *basefuncmodulation; - Fl_Osc_Choice *bfmodtype; -private: - void cb_bfmodtype_i(Fl_Osc_Choice*, void*); - static void cb_bfmodtype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_bfmodtype[]; -public: - Fl_Osc_Dial *bfmodpar1; -private: - void cb_bfmodpar1_i(Fl_Osc_Dial*, void*); - static void cb_bfmodpar1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *bfmodpar2; -private: - void cb_bfmodpar2_i(Fl_Osc_Dial*, void*); - static void cb_bfmodpar2(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *bfmodpar3; -private: - void cb_bfmodpar3_i(Fl_Osc_Dial*, void*); - static void cb_bfmodpar3(Fl_Osc_Dial*, void*); - void cb_Use_i(Fl_Button*, void*); - static void cb_Use(Fl_Button*, void*); - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_Clear_i(Fl_Button*, void*); - static void cb_Clear(Fl_Button*, void*); -public: - Fl_Osc_Choice *wshbutton; -private: - void cb_wshbutton_i(Fl_Osc_Choice*, void*); - static void cb_wshbutton(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_wshbutton[]; -public: - Fl_Osc_Dial *wshpar; -private: - void cb_wshpar_i(Fl_Osc_Dial*, void*); - static void cb_wshpar(Fl_Osc_Dial*, void*); -public: - Fl_Value_Output *wsparval; - Fl_Check_Button *autoclearbutton; - Fl_Osc_Choice *fltbutton; -private: - void cb_fltbutton_i(Fl_Osc_Choice*, void*); - static void cb_fltbutton(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_fltbutton[]; -public: - Fl_Osc_Dial *filtervalue1; -private: - void cb_filtervalue1_i(Fl_Osc_Dial*, void*); - static void cb_filtervalue1(Fl_Osc_Dial*, void*); -public: - Fl_Check_Button *filterpref; -private: - void cb_filterpref_i(Fl_Check_Button*, void*); - static void cb_filterpref(Fl_Check_Button*, void*); -public: - Fl_Osc_Dial *filtervalue2; -private: - void cb_filtervalue2_i(Fl_Osc_Dial*, void*); - static void cb_filtervalue2(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Choice *sabutton; -private: - void cb_sabutton_i(Fl_Osc_Choice*, void*); - static void cb_sabutton(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_sabutton[]; -public: - Fl_Osc_Dial *sadjpar; -private: - void cb_sadjpar_i(Fl_Osc_Dial*, void*); - static void cb_sadjpar(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Counter *harmonicshiftcounter; -private: - void cb_harmonicshiftcounter_i(Fl_Osc_Counter*, void*); - static void cb_harmonicshiftcounter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Check *harmonicshiftpre; -private: - void cb_harmonicshiftpre_i(Fl_Osc_Check*, void*); - static void cb_harmonicshiftpre(Fl_Osc_Check*, void*); - void cb_R_i(Fl_Button*, void*); - static void cb_R(Fl_Button*, void*); -public: - Fl_Osc_Choice *adhrtype; -private: - void cb_adhrtype_i(Fl_Osc_Choice*, void*); - static void cb_adhrtype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_adhrtype[]; -public: - Fl_Osc_Dial *adhrpow; -private: - void cb_adhrpow_i(Fl_Osc_Dial*, void*); - static void cb_adhrpow(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *adhrbf; -private: - void cb_adhrbf_i(Fl_Osc_Dial*, void*); - static void cb_adhrbf(Fl_Osc_Dial*, void*); -public: - Fl_Osc_TSlider *adhrpar; -private: - void cb_adhrpar_i(Fl_Osc_TSlider*, void*); - static void cb_adhrpar(Fl_Osc_TSlider*, void*); -public: - Fl_Osc_Choice *modtype; -private: - void cb_modtype_i(Fl_Osc_Choice*, void*); - static void cb_modtype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_modtype[]; -public: - Fl_Osc_Dial *modpar1; -private: - void cb_modpar1_i(Fl_Osc_Dial*, void*); - static void cb_modpar1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *modpar2; -private: - void cb_modpar2_i(Fl_Osc_Dial*, void*); - static void cb_modpar2(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *modpar3; -private: - void cb_modpar3_i(Fl_Osc_Dial*, void*); - static void cb_modpar3(Fl_Osc_Dial*, void*); - void cb_Sine_i(Fl_Button*, void*); - static void cb_Sine(Fl_Button*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Scroll *_this_has_to_be_the_last; - Fl_Pack *harmonics; - OscilEditor(bool adnotep_, std::string loc_, Fl_Osc_Interface *osc_); - ~OscilEditor(); - void refresh(); - void redrawoscil(); - void setbfmodstatus(int menuentry); -private: - Oscilharmonic *h[(MAX_AD_HARMONICS - 1)]; - std::string loc; - Fl_Osc_Interface *osc; - Fl_Oscilloscope *oscilo, *oscilo_base; - Fl_OscilSpectrum *oscils, *oscils_base; - bool adnotep; - bool initialized; -}; -#endif diff --git a/zynaddsubfx/UI/PADnoteUI.cpp b/zynaddsubfx/UI/PADnoteUI.cpp deleted file mode 100644 index a139c84..0000000 --- a/zynaddsubfx/UI/PADnoteUI.cpp +++ /dev/null @@ -1,1444 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/PADnoteUI.h" -#include -#include -#include -#include -#include "Osc_IntModel.h" - -void PADnoteUI::cb__i(Fl_Tabs* o, void*) { - if (o->value()!=harmonicstructuregroup) applybutton->hide(); - else applybutton->show(); -} -void PADnoteUI::cb_(Fl_Tabs* o, void* v) { - ((PADnoteUI*)(o->parent()->user_data()))->cb__i(o,v); -} - -void PADnoteUI::cb_hpbasepar1_i(Fl_Osc_Dial*, void*) { - if(hpui) hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpbasepar1(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpbasepar1_i(o,v); -} - -void PADnoteUI::cb_hpbasetype_i(Fl_Osc_Choice*, void*) { - if(initialized) {hprofile->redraw(); - hpui->update(); -cbwidget->do_callback();}; -} -void PADnoteUI::cb_hpbasetype(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpbasetype_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_hpbasetype[] = { - {"Gauss", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Square", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"DoubleExp", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_hpfreqmult_i(Fl_Osc_Dial*, void*) { - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpfreqmult(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpfreqmult_i(o,v); -} - -void PADnoteUI::cb_hpmpar1_i(Fl_Osc_Dial*, void*) { - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpmpar1(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpmpar1_i(o,v); -} - -void PADnoteUI::cb_hpmfreq_i(Fl_Osc_Dial*, void*) { - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpmfreq(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpmfreq_i(o,v); -} - -void PADnoteUI::cb_hpamptype_i(Fl_Osc_Choice*, void*) { - if(initialized) {hprofile->redraw(); - hpui->update(); -cbwidget->do_callback();}; -} -void PADnoteUI::cb_hpamptype(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_hpamptype_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_hpamptype[] = { - {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Gauss", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Flat", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_hpampmode_i(Fl_Osc_Choice*, void*) { - if(initialized) {hpui->update(); -cbwidget->do_callback();}; -} -void PADnoteUI::cb_hpampmode(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_hpampmode_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_hpampmode[] = { - {"Sum", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Mult", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Div1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Div2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_hpamppar1_i(Fl_Osc_Dial*, void*) { - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpamppar1(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_hpamppar1_i(o,v); -} - -void PADnoteUI::cb_hpamppar2_i(Fl_Osc_Dial*, void*) { - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpamppar2(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_hpamppar2_i(o,v); -} - -void PADnoteUI::cb_hpautoscale_i(Fl_Osc_Check*, void*) { - if(initialized) { - hpui->update(); - hprofile->redraw(); - cbwidget->do_callback();}; -} -void PADnoteUI::cb_hpautoscale(Fl_Osc_Check* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpautoscale_i(o,v); -} - -void PADnoteUI::cb_hponehalf_i(Fl_Osc_Choice*, void*) { - if(initialized) {hprofile->redraw(); -hpui->update(); -cbwidget->do_callback();}; -} -void PADnoteUI::cb_hponehalf(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hponehalf_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_hponehalf[] = { - {"Full", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Upper Half", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Lower Half", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_hpwidth_i(Fl_Osc_Dial*, void*) { - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hpwidth(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hpwidth_i(o,v); -} - -void PADnoteUI::cb_Change_i(Fl_Button*, void*) { - if (oscui!=NULL) delete (oscui); -oscui=new OscilEditor(false, location+"oscilgen/",osc_i); -} -void PADnoteUI::cb_Change(Fl_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_Change_i(o,v); -} - -void PADnoteUI::cb_cbwidget_i(Fl_Box*, void*) { - opui->update(); - if(applybutton) { - applybutton->color(FL_RED); - applybutton->redraw();}; -} -void PADnoteUI::cb_cbwidget(Fl_Box* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_cbwidget_i(o,v); -} - -void PADnoteUI::cb_Resonance_i(Fl_Button*, void*) { - resui->resonancewindow->redraw(); -resui->resonancewindow->show(); -resui->setcbwidget(cbwidget,applybutton); -} -void PADnoteUI::cb_Resonance(Fl_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_Resonance_i(o,v); -} - -void PADnoteUI::cb_bwdial_i(Fl_Osc_Dial* o, void*) { - o->oscWrite("bandwidthvalue");cbwidget->do_callback(); -} -void PADnoteUI::cb_bwdial(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_bwdial_i(o,v); -} - -void PADnoteUI::cb_hrpostype_i(Fl_Osc_Choice*, void*) { - if(initialized) {opui->update(); -cbwidget->do_callback();}; -} -void PADnoteUI::cb_hrpostype(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hrpostype_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_hrpostype[] = { - {"Harmonic", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"ShiftU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"ShiftL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"PowerU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"PowerL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Power", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Shift", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_hrpospar1_i(Fl_Osc_Dial*, void*) { - opui->update(); - hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hrpospar1(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hrpospar1_i(o,v); -} - -void PADnoteUI::cb_hrpospar2_i(Fl_Osc_Dial*, void*) { - opui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hrpospar2(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hrpospar2_i(o,v); -} - -void PADnoteUI::cb_hrpospar3_i(Fl_Osc_Dial*, void*) { - opui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_hrpospar3(Fl_Osc_Dial* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hrpospar3_i(o,v); -} - -void PADnoteUI::cb_bwscale_i(Fl_Osc_Choice*, void*) { - if(initialized) {cbwidget->do_callback();}; -} -void PADnoteUI::cb_bwscale(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_bwscale_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_bwscale[] = { - {"Normal", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"EqualHz", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Quater", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Half", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"75%", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"150%", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Double", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Inv.Half", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_qsamplesize_i(Fl_Osc_Choice*, void*) { - if(initialized) {cbwidget->do_callback();}; -} -void PADnoteUI::cb_qsamplesize(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_qsamplesize_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_qsamplesize[] = { - {"16k (Tiny)", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"32k", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"64k (Small)", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"128k", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"256k (Normal)", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"512k", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"1M (Big)", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_qsmpoct_i(Fl_Osc_Choice*, void*) { - if(initialized) cbwidget->do_callback(); -} -void PADnoteUI::cb_qsmpoct(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_qsmpoct_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_qsmpoct[] = { - {"0.5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"12", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_qoct_i(Fl_Osc_Choice*, void*) { - if(initialized) cbwidget->do_callback(); -} -void PADnoteUI::cb_qoct(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_qoct_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_qoct[] = { - {"1", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"7", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"8", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_qbasenote_i(Fl_Osc_Choice*, void*) { - if(initialized) cbwidget->do_callback(); -} -void PADnoteUI::cb_qbasenote(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_qbasenote_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_qbasenote[] = { - {"C-2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"G-2", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"C-3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"G-3", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"C-4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"G-4", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"C-5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"G-5", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {"G-6", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 14, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_spectrummode_i(Fl_Osc_Choice* o, void*) { - if (o->value()==0){ - bwprofilegroup->activate(); - bwdial->activate(); - bwcents->activate(); - hprofile->activate(); - hprofile->color(51); - bwscale->activate(); -} else { - bwprofilegroup->deactivate(); - bwdial->deactivate(); - bwcents->deactivate(); - hprofile->deactivate(); - hprofile->color(48); - bwscale->deactivate(); -}; - -hpui->update(); -cbwidget->do_callback(); -} -void PADnoteUI::cb_spectrummode(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->user_data()))->cb_spectrummode_i(o,v); -} - -Fl_Menu_Item PADnoteUI::menu_spectrummode[] = { - {"Bandwidth", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Discrete", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Continuous", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PADnoteUI::cb_detune_i(Fl_Osc_Slider* o, void*) { - o->oscWrite("detunevalue"); -} -void PADnoteUI::cb_detune(Fl_Osc_Slider* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_detune_i(o,v); -} - -void PADnoteUI::cb_detunetype_i(Fl_Osc_Choice* o, void*) { - o->oscWrite("detunevalue"); -} -void PADnoteUI::cb_detunetype(Fl_Osc_Choice* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_detunetype_i(o,v); -} - -void PADnoteUI::cb_hz440_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) fixedfreqetdial->deactivate(); - else fixedfreqetdial->activate(); -} -void PADnoteUI::cb_hz440(Fl_Osc_Check* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_hz440_i(o,v); -} - -void PADnoteUI::cb_stereo_i(Fl_Osc_Check*, void*) { - hprofile->redraw(); -} -void PADnoteUI::cb_stereo(Fl_Osc_Check* o, void* v) { - ((PADnoteUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_stereo_i(o,v); -} - -void PADnoteUI::cb_applybutton_i(Fl_Button* o, void*) { - osc_i->requestValue(location+"prepare"); -//MiddleWare::preparePadSynth(location.c_str(), pars); -o->color(FL_GRAY); -if (oscui!=NULL) { - oscui->applybutton->color(FL_GRAY); - oscui->applybutton->redraw(); -}; -if (resui!=NULL) { - resui->applybutton->color(FL_GRAY); - resui->applybutton->redraw(); -}; -} -void PADnoteUI::cb_applybutton(Fl_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->user_data()))->cb_applybutton_i(o,v); -} - -void PADnoteUI::cb_Close_i(Fl_Button*, void*) { - padnotewindow->hide(); -} -void PADnoteUI::cb_Close(Fl_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void PADnoteUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy(padnotewindow->loc()); -} -void PADnoteUI::cb_C(Fl_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->user_data()))->cb_C_i(o,v); -} - -void PADnoteUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste(padnotewindow->loc(),this); -} -void PADnoteUI::cb_P(Fl_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->user_data()))->cb_P_i(o,v); -} - -void PADnoteUI::cb_export_i(Fl_Osc_Button* o, void*) { - char *filename; -filename=fl_file_chooser("Export samples:","(*.wav)",NULL,0); -if (filename==NULL) return; -fl_filename_setext(filename,""); -o->oscWrite("export2wav", "s", filename); -} -void PADnoteUI::cb_export(Fl_Osc_Button* o, void* v) { - ((PADnoteUI*)(o->parent()->user_data()))->cb_export_i(o,v); -} - -PADnoteUI::PADnoteUI(std::string location_, Fl_Osc_Interface *osc_) { - assert(osc_); - assert(!location_.empty()); - - location=location_; - oscui=NULL; - osc_i = osc_; - resui=new ResonanceUI(osc_i, location+"resonance/"); - initialized = false; - applybutton = NULL; - make_window(); - apply_watcher = new Osc_IntModel(osc_i); - apply_watcher->callback=[this](int needsPrepare) { - if(needsPrepare) { - applybutton->color(FL_RED); - applybutton->redraw(); - if(oscui) { - oscui->applybutton->color(FL_RED); - oscui->applybutton->redraw(); - } - if(resui) { - resui->applybutton->color(FL_RED); - resui->applybutton->redraw(); - } - } else { - applybutton->color(FL_GRAY); - applybutton->redraw(); - if(oscui) { - oscui->applybutton->color(FL_GRAY); - oscui->applybutton->redraw(); - } - if(resui) { - resui->applybutton->color(FL_GRAY); - resui->applybutton->redraw(); - } - } - }; - apply_watcher->doUpdate(location+"needPrepare"); - initialized = true; -} - -Fl_Osc_Window* PADnoteUI::make_window() { - { padnotewindow = new Fl_Osc_Window(535, 430, "PAD synth Parameters"); - padnotewindow->box(FL_FLAT_BOX); - padnotewindow->color(FL_BACKGROUND_COLOR); - padnotewindow->selection_color(FL_BACKGROUND_COLOR); - padnotewindow->labeltype(FL_NO_LABEL); - padnotewindow->labelfont(0); - padnotewindow->labelsize(14); - padnotewindow->labelcolor(FL_FOREGROUND_COLOR); - padnotewindow->user_data((void*)(this)); - padnotewindow->align(Fl_Align(FL_ALIGN_TOP)); - padnotewindow->when(FL_WHEN_RELEASE); - { dummy = new Fl_Box(25, 25, 25, 25); - padnotewindow->init(osc_i, location); - } // Fl_Box* dummy - { Fl_Tabs* o = new Fl_Tabs(0, 0, 535, 395); - o->box(FL_UP_FRAME); - o->callback((Fl_Callback*)cb_); - { harmonicstructuregroup = new Fl_Osc_Group(0, 20, 535, 375, "Harmonic Structure"); - harmonicstructuregroup->box(FL_UP_FRAME); - harmonicstructuregroup->color(FL_BACKGROUND_COLOR); - harmonicstructuregroup->selection_color(FL_BACKGROUND_COLOR); - harmonicstructuregroup->labeltype(FL_NORMAL_LABEL); - harmonicstructuregroup->labelfont(0); - harmonicstructuregroup->labelsize(14); - harmonicstructuregroup->labelcolor(FL_FOREGROUND_COLOR); - harmonicstructuregroup->align(Fl_Align(FL_ALIGN_TOP)); - harmonicstructuregroup->when(FL_WHEN_RELEASE); - { bwprofilegroup = new Fl_Osc_Group(5, 30, 90, 260); - bwprofilegroup->box(FL_UP_FRAME); - bwprofilegroup->color(FL_BACKGROUND_COLOR); - bwprofilegroup->selection_color(FL_BACKGROUND_COLOR); - bwprofilegroup->labeltype(FL_NORMAL_LABEL); - bwprofilegroup->labelfont(0); - bwprofilegroup->labelsize(14); - bwprofilegroup->labelcolor(FL_FOREGROUND_COLOR); - bwprofilegroup->align(Fl_Align(FL_ALIGN_TOP)); - bwprofilegroup->when(FL_WHEN_RELEASE); - { Fl_Osc_Dial* o = hpbasepar1 = new Fl_Osc_Dial(20, 75, 25, 25, "Width"); - hpbasepar1->box(FL_ROUND_UP_BOX); - hpbasepar1->color(FL_BACKGROUND_COLOR); - hpbasepar1->selection_color(FL_INACTIVE_COLOR); - hpbasepar1->labeltype(FL_NORMAL_LABEL); - hpbasepar1->labelfont(0); - hpbasepar1->labelsize(10); - hpbasepar1->labelcolor(FL_FOREGROUND_COLOR); - hpbasepar1->maximum(127); - hpbasepar1->step(1); - hpbasepar1->callback((Fl_Callback*)cb_hpbasepar1); - hpbasepar1->align(Fl_Align(FL_ALIGN_TOP)); - hpbasepar1->when(FL_WHEN_CHANGED); - o->init("Php.base.par1");o->reset_value=80; - } // Fl_Osc_Dial* hpbasepar1 - { Fl_Osc_Choice* o = hpbasetype = new Fl_Osc_Choice(15, 45, 75, 15, "Base Type"); - hpbasetype->box(FL_UP_BOX); - hpbasetype->down_box(FL_BORDER_BOX); - hpbasetype->color(FL_BACKGROUND_COLOR); - hpbasetype->selection_color(FL_SELECTION_COLOR); - hpbasetype->labeltype(FL_NORMAL_LABEL); - hpbasetype->labelfont(0); - hpbasetype->labelsize(10); - hpbasetype->labelcolor(FL_FOREGROUND_COLOR); - hpbasetype->textsize(10); - hpbasetype->callback((Fl_Callback*)cb_hpbasetype); - hpbasetype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - hpbasetype->when(FL_WHEN_RELEASE); - hpbasetype->menu(menu_hpbasetype); - o->init("Php.base.type"); - } // Fl_Osc_Choice* hpbasetype - { Fl_Osc_Dial* o = hpfreqmult = new Fl_Osc_Dial(55, 75, 25, 25, "FreqMlt"); - hpfreqmult->box(FL_ROUND_UP_BOX); - hpfreqmult->color(FL_BACKGROUND_COLOR); - hpfreqmult->selection_color(FL_INACTIVE_COLOR); - hpfreqmult->labeltype(FL_NORMAL_LABEL); - hpfreqmult->labelfont(0); - hpfreqmult->labelsize(10); - hpfreqmult->labelcolor(FL_FOREGROUND_COLOR); - hpfreqmult->maximum(127); - hpfreqmult->step(1); - hpfreqmult->callback((Fl_Callback*)cb_hpfreqmult); - hpfreqmult->align(Fl_Align(FL_ALIGN_TOP)); - hpfreqmult->when(FL_WHEN_CHANGED); - o->init("Php.freqmult"); - } // Fl_Osc_Dial* hpfreqmult - { Fl_Osc_Dial* o = hpmpar1 = new Fl_Osc_Dial(15, 115, 20, 20, "Str"); - hpmpar1->box(FL_ROUND_UP_BOX); - hpmpar1->color(FL_BACKGROUND_COLOR); - hpmpar1->selection_color(FL_INACTIVE_COLOR); - hpmpar1->labeltype(FL_NORMAL_LABEL); - hpmpar1->labelfont(0); - hpmpar1->labelsize(10); - hpmpar1->labelcolor(FL_FOREGROUND_COLOR); - hpmpar1->maximum(127); - hpmpar1->step(1); - hpmpar1->callback((Fl_Callback*)cb_hpmpar1); - hpmpar1->align(Fl_Align(FL_ALIGN_TOP)); - hpmpar1->when(FL_WHEN_CHANGED); - o->init("Php.modulator.par1"); - } // Fl_Osc_Dial* hpmpar1 - { Fl_Osc_Dial* o = hpmfreq = new Fl_Osc_Dial(40, 115, 20, 20, "SFreq"); - hpmfreq->box(FL_ROUND_UP_BOX); - hpmfreq->color(FL_BACKGROUND_COLOR); - hpmfreq->selection_color(FL_INACTIVE_COLOR); - hpmfreq->labeltype(FL_NORMAL_LABEL); - hpmfreq->labelfont(0); - hpmfreq->labelsize(10); - hpmfreq->labelcolor(FL_FOREGROUND_COLOR); - hpmfreq->maximum(127); - hpmfreq->step(1); - hpmfreq->callback((Fl_Callback*)cb_hpmfreq); - hpmfreq->align(Fl_Align(FL_ALIGN_TOP)); - hpmfreq->when(FL_WHEN_CHANGED); - o->init("Php.modulator.freq");o->reset_value=30; - } // Fl_Osc_Dial* hpmfreq - { Fl_Group* o = new Fl_Group(10, 160, 80, 105); - o->box(FL_BORDER_BOX); - { Fl_Osc_Choice* o = hpamptype = new Fl_Osc_Choice(15, 175, 70, 15, "AmpMultiplier"); - hpamptype->box(FL_UP_BOX); - hpamptype->down_box(FL_BORDER_BOX); - hpamptype->color(FL_BACKGROUND_COLOR); - hpamptype->selection_color(FL_SELECTION_COLOR); - hpamptype->labeltype(FL_NORMAL_LABEL); - hpamptype->labelfont(0); - hpamptype->labelsize(10); - hpamptype->labelcolor(FL_FOREGROUND_COLOR); - hpamptype->textsize(10); - hpamptype->callback((Fl_Callback*)cb_hpamptype); - hpamptype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - hpamptype->when(FL_WHEN_RELEASE); - hpamptype->menu(menu_hpamptype); - o->init("Php.amp.type"); - } // Fl_Osc_Choice* hpamptype - { Fl_Osc_Choice* o = hpampmode = new Fl_Osc_Choice(15, 205, 70, 15, "AmpMode"); - hpampmode->box(FL_UP_BOX); - hpampmode->down_box(FL_BORDER_BOX); - hpampmode->color(FL_BACKGROUND_COLOR); - hpampmode->selection_color(FL_SELECTION_COLOR); - hpampmode->labeltype(FL_NORMAL_LABEL); - hpampmode->labelfont(0); - hpampmode->labelsize(10); - hpampmode->labelcolor(FL_FOREGROUND_COLOR); - hpampmode->textsize(10); - hpampmode->callback((Fl_Callback*)cb_hpampmode); - hpampmode->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - hpampmode->when(FL_WHEN_RELEASE); - hpampmode->menu(menu_hpampmode); - o->init("Php.amp.mode"); - } // Fl_Osc_Choice* hpampmode - { Fl_Osc_Dial* o = hpamppar1 = new Fl_Osc_Dial(15, 235, 25, 25, "Par1"); - hpamppar1->box(FL_ROUND_UP_BOX); - hpamppar1->color(FL_BACKGROUND_COLOR); - hpamppar1->selection_color(FL_INACTIVE_COLOR); - hpamppar1->labeltype(FL_NORMAL_LABEL); - hpamppar1->labelfont(0); - hpamppar1->labelsize(10); - hpamppar1->labelcolor(FL_FOREGROUND_COLOR); - hpamppar1->maximum(127); - hpamppar1->step(1); - hpamppar1->callback((Fl_Callback*)cb_hpamppar1); - hpamppar1->align(Fl_Align(FL_ALIGN_TOP)); - hpamppar1->when(FL_WHEN_CHANGED); - o->init("Php.amp.par1");o->reset_value=80; - } // Fl_Osc_Dial* hpamppar1 - { Fl_Osc_Dial* o = hpamppar2 = new Fl_Osc_Dial(55, 235, 25, 25, "Par2"); - hpamppar2->box(FL_ROUND_UP_BOX); - hpamppar2->color(FL_BACKGROUND_COLOR); - hpamppar2->selection_color(FL_INACTIVE_COLOR); - hpamppar2->labeltype(FL_NORMAL_LABEL); - hpamppar2->labelfont(0); - hpamppar2->labelsize(10); - hpamppar2->labelcolor(FL_FOREGROUND_COLOR); - hpamppar2->maximum(127); - hpamppar2->step(1); - hpamppar2->callback((Fl_Callback*)cb_hpamppar2); - hpamppar2->align(Fl_Align(FL_ALIGN_TOP)); - hpamppar2->when(FL_WHEN_CHANGED); - o->init("Php.amp.par2");o->reset_value=64; - } // Fl_Osc_Dial* hpamppar2 - o->end(); - } // Fl_Group* o - { Fl_Osc_Check* o = hpautoscale = new Fl_Osc_Check(10, 270, 60, 15, "autoscale"); - hpautoscale->box(FL_NO_BOX); - hpautoscale->down_box(FL_DOWN_BOX); - hpautoscale->color(FL_BACKGROUND_COLOR); - hpautoscale->selection_color(FL_FOREGROUND_COLOR); - hpautoscale->labeltype(FL_NORMAL_LABEL); - hpautoscale->labelfont(0); - hpautoscale->labelsize(10); - hpautoscale->labelcolor(FL_FOREGROUND_COLOR); - hpautoscale->callback((Fl_Callback*)cb_hpautoscale); - hpautoscale->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - hpautoscale->when(FL_WHEN_RELEASE); - o->init("Php.autoscale"); - } // Fl_Osc_Check* hpautoscale - { Fl_Osc_Choice* o = hponehalf = new Fl_Osc_Choice(10, 143, 80, 15); - hponehalf->box(FL_UP_BOX); - hponehalf->down_box(FL_BORDER_BOX); - hponehalf->color(FL_BACKGROUND_COLOR); - hponehalf->selection_color(FL_SELECTION_COLOR); - hponehalf->labeltype(FL_NORMAL_LABEL); - hponehalf->labelfont(0); - hponehalf->labelsize(10); - hponehalf->labelcolor(FL_FOREGROUND_COLOR); - hponehalf->textsize(10); - hponehalf->callback((Fl_Callback*)cb_hponehalf); - hponehalf->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - hponehalf->when(FL_WHEN_RELEASE); - hponehalf->menu(menu_hponehalf); - o->init("Php.onehalf"); - } // Fl_Osc_Choice* hponehalf - { Fl_Osc_Dial* o = hpwidth = new Fl_Osc_Dial(65, 115, 20, 20, "Size"); - hpwidth->box(FL_ROUND_UP_BOX); - hpwidth->color(FL_BACKGROUND_COLOR); - hpwidth->selection_color(FL_INACTIVE_COLOR); - hpwidth->labeltype(FL_NORMAL_LABEL); - hpwidth->labelfont(0); - hpwidth->labelsize(10); - hpwidth->labelcolor(FL_FOREGROUND_COLOR); - hpwidth->maximum(127); - hpwidth->step(1); - hpwidth->callback((Fl_Callback*)cb_hpwidth); - hpwidth->align(Fl_Align(FL_ALIGN_TOP)); - hpwidth->when(FL_WHEN_CHANGED); - o->init("Php.width");o->reset_value=127; - } // Fl_Osc_Dial* hpwidth - bwprofilegroup->end(); - } // Fl_Osc_Group* bwprofilegroup - { Fl_Osc_Group* o = oscilgroup = new Fl_Osc_Group(100, 155, 270, 135); - oscilgroup->box(FL_THIN_DOWN_BOX); - oscilgroup->color(FL_GRAY0); - oscilgroup->selection_color((Fl_Color)71); - oscilgroup->labeltype(FL_NORMAL_LABEL); - oscilgroup->labelfont(0); - oscilgroup->labelsize(14); - oscilgroup->labelcolor((Fl_Color)179); - oscilgroup->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT)); - oscilgroup->when(FL_WHEN_RELEASE); - oscilgroup->base = location; oscilgroup->ext="oscilgen/"; oscilgroup->osc = osc_i; - osc=new Fl_Oscilloscope(o->x(),o->y(),o->w(),o->h(),"");osc->init(false); - oscilgroup->end(); - } // Fl_Osc_Group* oscilgroup - { Fl_Button* o = new Fl_Button(375, 270, 60, 20, "Change"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Change); - } // Fl_Button* o - { cbwidget = new Fl_Box(125, 135, 205, 20, "Harmonic Content"); - cbwidget->callback((Fl_Callback*)cb_cbwidget); - cbwidget->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE)); - } // Fl_Box* cbwidget - { Fl_Button* o = new Fl_Button(375, 225, 80, 20, "Resonance"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Resonance); - } // Fl_Button* o - { Fl_Osc_Dial* o = bwdial = new Fl_Osc_Dial(15, 295, 35, 35, "BandWidth"); - bwdial->box(FL_ROUND_UP_BOX); - bwdial->color(FL_BACKGROUND_COLOR); - bwdial->selection_color(FL_INACTIVE_COLOR); - bwdial->labeltype(FL_NORMAL_LABEL); - bwdial->labelfont(0); - bwdial->labelsize(10); - bwdial->labelcolor(FL_FOREGROUND_COLOR); - bwdial->maximum(1000); - bwdial->step(1); - bwdial->callback((Fl_Callback*)cb_bwdial); - bwdial->align(Fl_Align(FL_ALIGN_BOTTOM)); - bwdial->when(FL_WHEN_CHANGED); - o->init("Pbandwidth");o->reset_value=500; - } // Fl_Osc_Dial* bwdial - { Fl_Osc_Output* o = bwcents = new Fl_Osc_Output(55, 305, 55, 15, "cents"); - bwcents->box(FL_NO_BOX); - bwcents->color(FL_BACKGROUND_COLOR); - bwcents->selection_color(FL_BACKGROUND_COLOR); - bwcents->labeltype(FL_NORMAL_LABEL); - bwcents->labelfont(0); - bwcents->labelsize(10); - bwcents->labelcolor(FL_FOREGROUND_COLOR); - bwcents->maximum(10000); - bwcents->step(0.1); - bwcents->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT)); - bwcents->when(FL_WHEN_CHANGED); - o->init("bandwidthvalue"); - } // Fl_Osc_Output* bwcents - { Fl_Group* o = new Fl_Group(315, 295, 215, 45); - o->box(FL_UP_FRAME); - { Fl_Osc_Choice* o = hrpostype = new Fl_Osc_Choice(325, 310, 80, 20, "OvertonesPosition"); - hrpostype->box(FL_UP_BOX); - hrpostype->down_box(FL_BORDER_BOX); - hrpostype->color(FL_BACKGROUND_COLOR); - hrpostype->selection_color(FL_SELECTION_COLOR); - hrpostype->labeltype(FL_NORMAL_LABEL); - hrpostype->labelfont(0); - hrpostype->labelsize(10); - hrpostype->labelcolor(FL_FOREGROUND_COLOR); - hrpostype->textsize(11); - hrpostype->callback((Fl_Callback*)cb_hrpostype); - hrpostype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - hrpostype->when(FL_WHEN_RELEASE); - hrpostype->menu(menu_hrpostype); - o->init("Phrpos.type"); - } // Fl_Osc_Choice* hrpostype - { Fl_Osc_Dial* o = hrpospar1 = new Fl_Osc_Dial(425, 310, 25, 25, "Par1"); - hrpospar1->box(FL_ROUND_UP_BOX); - hrpospar1->color(FL_BACKGROUND_COLOR); - hrpospar1->selection_color(FL_INACTIVE_COLOR); - hrpospar1->labeltype(FL_NORMAL_LABEL); - hrpospar1->labelfont(0); - hrpospar1->labelsize(10); - hrpospar1->labelcolor(FL_FOREGROUND_COLOR); - hrpospar1->maximum(255); - hrpospar1->step(1); - hrpospar1->callback((Fl_Callback*)cb_hrpospar1); - hrpospar1->align(Fl_Align(FL_ALIGN_TOP)); - hrpospar1->when(FL_WHEN_CHANGED); - o->init("Phrpos.par1");o->reset_value=64; - } // Fl_Osc_Dial* hrpospar1 - { Fl_Osc_Dial* o = hrpospar2 = new Fl_Osc_Dial(460, 310, 25, 25, "Par2"); - hrpospar2->box(FL_ROUND_UP_BOX); - hrpospar2->color(FL_BACKGROUND_COLOR); - hrpospar2->selection_color(FL_INACTIVE_COLOR); - hrpospar2->labeltype(FL_NORMAL_LABEL); - hrpospar2->labelfont(0); - hrpospar2->labelsize(10); - hrpospar2->labelcolor(FL_FOREGROUND_COLOR); - hrpospar2->maximum(255); - hrpospar2->step(1); - hrpospar2->callback((Fl_Callback*)cb_hrpospar2); - hrpospar2->align(Fl_Align(FL_ALIGN_TOP)); - hrpospar2->when(FL_WHEN_CHANGED); - o->init("Phrpos.par2");o->reset_value=64; - } // Fl_Osc_Dial* hrpospar2 - { Fl_Osc_Dial* o = hrpospar3 = new Fl_Osc_Dial(495, 310, 25, 25, "ForceH"); - hrpospar3->box(FL_ROUND_UP_BOX); - hrpospar3->color(FL_BACKGROUND_COLOR); - hrpospar3->selection_color(FL_INACTIVE_COLOR); - hrpospar3->labeltype(FL_NORMAL_LABEL); - hrpospar3->labelfont(0); - hrpospar3->labelsize(10); - hrpospar3->labelcolor(FL_FOREGROUND_COLOR); - hrpospar3->maximum(255); - hrpospar3->step(1); - hrpospar3->callback((Fl_Callback*)cb_hrpospar3); - hrpospar3->align(Fl_Align(FL_ALIGN_TOP)); - hrpospar3->when(FL_WHEN_CHANGED); - o->init("Phrpos.par3"); - } // Fl_Osc_Dial* hrpospar3 - o->end(); - } // Fl_Group* o - { Fl_Osc_Choice* o = bwscale = new Fl_Osc_Choice(120, 305, 80, 20, "Bandwidth Scale"); - bwscale->box(FL_UP_BOX); - bwscale->down_box(FL_BORDER_BOX); - bwscale->color(FL_BACKGROUND_COLOR); - bwscale->selection_color(FL_SELECTION_COLOR); - bwscale->labeltype(FL_NORMAL_LABEL); - bwscale->labelfont(0); - bwscale->labelsize(10); - bwscale->labelcolor(FL_FOREGROUND_COLOR); - bwscale->textsize(11); - bwscale->callback((Fl_Callback*)cb_bwscale); - bwscale->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - bwscale->when(FL_WHEN_RELEASE); - bwscale->menu(menu_bwscale); - o->init("Pbwscale"); - } // Fl_Osc_Choice* bwscale - { Fl_Group* o = overtonepos = new Fl_Group(5, 345, 525, 45); - overtonepos->box(FL_FLAT_BOX); - overtonepos->color((Fl_Color)51); - overtonepos->selection_color((Fl_Color)218); - overtonepos->labelcolor(FL_GREEN); - opui=new PADnoteOvertonePosition(o->x(),o->y(),o->w(),o->h(),""); - opui->init(); - overtonepos->end(); - } // Fl_Group* overtonepos - { Fl_Osc_Choice* o = qsamplesize = new Fl_Osc_Choice(375, 190, 115, 20, "Sample Size"); - qsamplesize->box(FL_UP_BOX); - qsamplesize->down_box(FL_BORDER_BOX); - qsamplesize->color(FL_BACKGROUND_COLOR); - qsamplesize->selection_color(FL_SELECTION_COLOR); - qsamplesize->labeltype(FL_NORMAL_LABEL); - qsamplesize->labelfont(0); - qsamplesize->labelsize(10); - qsamplesize->labelcolor(FL_FOREGROUND_COLOR); - qsamplesize->textsize(11); - qsamplesize->callback((Fl_Callback*)cb_qsamplesize); - qsamplesize->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - qsamplesize->when(FL_WHEN_RELEASE); - qsamplesize->menu(menu_qsamplesize); - o->init("Pquality.samplesize"); - } // Fl_Osc_Choice* qsamplesize - { Fl_Osc_Choice* o = qsmpoct = new Fl_Osc_Choice(430, 155, 45, 20, "smp/oct"); - qsmpoct->box(FL_UP_BOX); - qsmpoct->down_box(FL_BORDER_BOX); - qsmpoct->color(FL_BACKGROUND_COLOR); - qsmpoct->selection_color(FL_SELECTION_COLOR); - qsmpoct->labeltype(FL_NORMAL_LABEL); - qsmpoct->labelfont(0); - qsmpoct->labelsize(11); - qsmpoct->labelcolor(FL_FOREGROUND_COLOR); - qsmpoct->textsize(11); - qsmpoct->callback((Fl_Callback*)cb_qsmpoct); - qsmpoct->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - qsmpoct->when(FL_WHEN_RELEASE); - qsmpoct->menu(menu_qsmpoct); - o->init("Pquality.smpoct"); - } // Fl_Osc_Choice* qsmpoct - { Fl_Osc_Choice* o = qoct = new Fl_Osc_Choice(480, 155, 45, 20, "no.oct"); - qoct->box(FL_UP_BOX); - qoct->down_box(FL_BORDER_BOX); - qoct->color(FL_BACKGROUND_COLOR); - qoct->selection_color(FL_SELECTION_COLOR); - qoct->labeltype(FL_NORMAL_LABEL); - qoct->labelfont(0); - qoct->labelsize(11); - qoct->labelcolor(FL_FOREGROUND_COLOR); - qoct->textsize(11); - qoct->callback((Fl_Callback*)cb_qoct); - qoct->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - qoct->when(FL_WHEN_RELEASE); - qoct->menu(menu_qoct); - o->init("Pquality.oct"); - } // Fl_Osc_Choice* qoct - { Fl_Osc_Choice* o = qbasenote = new Fl_Osc_Choice(375, 155, 50, 20, "base"); - qbasenote->box(FL_UP_BOX); - qbasenote->down_box(FL_BORDER_BOX); - qbasenote->color(FL_BACKGROUND_COLOR); - qbasenote->selection_color(FL_SELECTION_COLOR); - qbasenote->labeltype(FL_NORMAL_LABEL); - qbasenote->labelfont(0); - qbasenote->labelsize(11); - qbasenote->labelcolor(FL_FOREGROUND_COLOR); - qbasenote->textsize(11); - qbasenote->callback((Fl_Callback*)cb_qbasenote); - qbasenote->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - qbasenote->when(FL_WHEN_RELEASE); - qbasenote->menu(menu_qbasenote); - o->init("Pquality.basenote"); - } // Fl_Osc_Choice* qbasenote - { Fl_Group* o = hprofile = new Fl_Group(100, 45, 430, 90); - hprofile->box(FL_FLAT_BOX); - hprofile->color((Fl_Color)51); - hprofile->selection_color((Fl_Color)218); - hprofile->labelcolor(FL_GREEN); - hpui=new PADnoteHarmonicProfile(o->x(),o->y(),o->w(),o->h(),""); - hpui->init(); - hprofile->end(); - } // Fl_Group* hprofile - { new Fl_Box(160, 25, 315, 20, "Profile of One Harmonic (Frequency Distribution)"); - } // Fl_Box* o - { Fl_Osc_Choice* o = spectrummode = new Fl_Osc_Choice(220, 305, 90, 20, "Spectrum Mode"); - spectrummode->box(FL_UP_BOX); - spectrummode->down_box(FL_BORDER_BOX); - spectrummode->color(FL_BACKGROUND_COLOR); - spectrummode->selection_color(FL_SELECTION_COLOR); - spectrummode->labeltype(FL_NORMAL_LABEL); - spectrummode->labelfont(1); - spectrummode->labelsize(10); - spectrummode->labelcolor(FL_FOREGROUND_COLOR); - spectrummode->textsize(11); - spectrummode->callback((Fl_Callback*)cb_spectrummode); - spectrummode->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - spectrummode->when(FL_WHEN_RELEASE); - spectrummode->menu(menu_spectrummode); - o->init("Pmode"); - } // Fl_Osc_Choice* spectrummode - harmonicstructuregroup->end(); - } // Fl_Osc_Group* harmonicstructuregroup - { Fl_Group* o = new Fl_Group(0, 20, 535, 375, "Envelopes&LFOs"); - o->box(FL_UP_FRAME); - o->hide(); - { Fl_Group* o = new Fl_Group(5, 275, 525, 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, 315, 205, 70, "PADSynth - 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_i, location, "FreqEnvelope/"); - freqenv->end(); - } // EnvelopeUI* freqenv - { Fl_Osc_Counter* o = octave = new Fl_Osc_Counter(470, 295, 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(455, 365, 70, 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(215, 315, 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_i, location, "FreqLfo/"); - freqlfo->end(); - } // LFOUI* freqlfo - { Fl_Osc_Slider* o = detune = new Fl_Osc_Slider(60, 296, 295, 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, 296, 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(450, 330, 75, 20, "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 = bendadjustdial = new Fl_Osc_Dial(60, 278, 15, 15, "Bend"); - bendadjustdial->tooltip("How the frequency varies according to the pitch wheel"); - bendadjustdial->box(FL_ROUND_UP_BOX); - bendadjustdial->color(FL_BACKGROUND_COLOR); - bendadjustdial->selection_color(FL_INACTIVE_COLOR); - bendadjustdial->labeltype(FL_NORMAL_LABEL); - bendadjustdial->labelfont(0); - bendadjustdial->labelsize(10); - bendadjustdial->labelcolor(FL_FOREGROUND_COLOR); - bendadjustdial->minimum(-64); - bendadjustdial->maximum(63); - bendadjustdial->step(1); - bendadjustdial->align(Fl_Align(FL_ALIGN_RIGHT)); - bendadjustdial->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* bendadjustdial - { Fl_Osc_Dial* o = offsethzdial = new Fl_Osc_Dial(110, 278, 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_Check* o = hz440 = new Fl_Osc_Check(365, 295, 50, 15, "440Hz"); - hz440->tooltip("set the base frequency to 440Hz"); - hz440->box(FL_NO_BOX); - hz440->down_box(FL_DOWN_BOX); - hz440->color(FL_BACKGROUND_COLOR); - hz440->selection_color(FL_FOREGROUND_COLOR); - hz440->labeltype(FL_NORMAL_LABEL); - hz440->labelfont(1); - hz440->labelsize(10); - hz440->labelcolor(FL_FOREGROUND_COLOR); - hz440->callback((Fl_Callback*)cb_hz440); - hz440->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - hz440->when(FL_WHEN_RELEASE); - o->init("Pfixedfreq"); - } // Fl_Osc_Check* hz440 - { Fl_Osc_Dial* o = fixedfreqetdial = new Fl_Osc_Dial(420, 295, 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 - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(5, 25, 240, 250, "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, 50, 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", 'i');o->reset_value=90; - } // Fl_Osc_VSlider* volume - { Fl_Osc_VSlider* o = vsns = new Fl_Osc_VSlider(10, 70, 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, 45, 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, 238, 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, 247, 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, 247, 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, 247, 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, 247, 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, 95, 205, 70, "PADSynth - 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_i, location, "AmpEnvelope/"); - ampenv->end(); - } // EnvelopeUI* ampenv - { LFOUI* o = amplfo = new LFOUI(10, 165, 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_i, location, "AmpLfo/"); - amplfo->end(); - } // LFOUI* amplfo - { Fl_Osc_Check* o = stereo = new Fl_Osc_Check(10, 245, 70, 25, "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(12); - stereo->labelcolor(FL_FOREGROUND_COLOR); - stereo->callback((Fl_Callback*)cb_stereo); - stereo->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - stereo->when(FL_WHEN_RELEASE); - o->init("PStereo"); - } // Fl_Osc_Check* stereo - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(245, 25, 285, 250, "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(250, 130, 275, 70, "PADSynth - 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_i, location, "FilterEnvelope/"); - filterenv->end(); - } // EnvelopeUI* filterenv - { LFOUI* o = filterlfo = new LFOUI(250, 200, 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_i, location, "FilterLfo/"); - filterlfo->end(); - } // LFOUI* filterlfo - { FilterUI* o = filterui = new FilterUI(250, 50, 275, 75, "PADsynth - 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(location + "PFilter", - osc_i, location, "GlobalFilter/"); - filterui->end(); - } // FilterUI* filterui - o->end(); - } // Fl_Group* o - o->end(); - } // Fl_Group* o - o->end(); - } // Fl_Tabs* o - { Fl_Button* o = applybutton = new Fl_Button(200, 400, 135, 25, "Apply Changes"); - applybutton->box(FL_THIN_UP_BOX); - applybutton->callback((Fl_Callback*)cb_applybutton); - o->color(FL_RED); - } // Fl_Button* applybutton - { Fl_Button* o = new Fl_Button(470, 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(400, 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(430, 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 - { Fl_Osc_Button* o = new Fl_Osc_Button(5, 400, 55, 25, "export"); - o->tooltip("export samples as wav file"); - o->box(FL_THIN_UP_BOX); - o->color((Fl_Color)51); - o->selection_color(FL_BACKGROUND_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(0); - o->labelsize(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_export); - o->align(Fl_Align(FL_ALIGN_WRAP)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - padnotewindow->end(); - } // Fl_Osc_Window* padnotewindow - return padnotewindow; -} - -void PADnoteUI::refresh() { - amplfo->refresh(); - freqlfo->refresh(); - filterlfo->refresh(); - - ampenv->refresh(); - freqenv->refresh(); - filterenv->refresh(); - filterui->refresh(); - - - /* harmonic structure parametrs */ - - resui->refresh(); - if (oscui) oscui->refresh(); - - if (spectrummode->value()==0){ - bwprofilegroup->activate(); - bwdial->activate(); - bwcents->activate(); - hprofile->activate(); - hprofile->color(51); - bwscale->activate(); - } else { - bwprofilegroup->deactivate(); - bwdial->deactivate(); - bwcents->deactivate(); - hprofile->deactivate(); - hprofile->color(48); - bwscale->activate(); - }; - - hprofile->redraw(); - opui->update(); - - osc->redraw(); - //MiddleWare::preparePadSynth(location.c_str(), pars); - applybutton->color(FL_GRAY); - applybutton->parent()->redraw(); -} - -PADnoteUI::~PADnoteUI() { - delete apply_watcher; - delete(oscui); - delete(resui); - - - padnotewindow->hide(); - delete padnotewindow; -} diff --git a/zynaddsubfx/UI/PADnoteUI.h b/zynaddsubfx/UI/PADnoteUI.h deleted file mode 100644 index e3e4baf..0000000 --- a/zynaddsubfx/UI/PADnoteUI.h +++ /dev/null @@ -1,247 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef PADnoteUI_h -#define PADnoteUI_h -#include -#include "../Params/PADnoteParameters.h" -#include "ResonanceUI.h" -#include -#include -#include -#include -#include "Fl_Osc_TSlider.H" -#include "Fl_Osc_VSlider.H" -#include "EnvelopeUI.h" -#include "LFOUI.h" -#include "FilterUI.h" -#include "OscilGenUI.h" -#include "Fl_PADnoteOvertonePosition.h" -#include "Fl_PADnoteHarmonicProfile.h" -#include "PresetsUI.h" -#include -#include -#include -#include - -class PADnoteUI : public PresetsUI_ { -public: - PADnoteUI(std::string location_, Fl_Osc_Interface *osc_); - Fl_Osc_Window* make_window(); - Fl_Osc_Window *padnotewindow; - Fl_Box *dummy; -private: - void cb__i(Fl_Tabs*, void*); - static void cb_(Fl_Tabs*, void*); -public: - Fl_Osc_Group *harmonicstructuregroup; - Fl_Osc_Group *bwprofilegroup; - Fl_Osc_Dial *hpbasepar1; -private: - void cb_hpbasepar1_i(Fl_Osc_Dial*, void*); - static void cb_hpbasepar1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Choice *hpbasetype; -private: - void cb_hpbasetype_i(Fl_Osc_Choice*, void*); - static void cb_hpbasetype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_hpbasetype[]; -public: - Fl_Osc_Dial *hpfreqmult; -private: - void cb_hpfreqmult_i(Fl_Osc_Dial*, void*); - static void cb_hpfreqmult(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *hpmpar1; -private: - void cb_hpmpar1_i(Fl_Osc_Dial*, void*); - static void cb_hpmpar1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *hpmfreq; -private: - void cb_hpmfreq_i(Fl_Osc_Dial*, void*); - static void cb_hpmfreq(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Choice *hpamptype; -private: - void cb_hpamptype_i(Fl_Osc_Choice*, void*); - static void cb_hpamptype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_hpamptype[]; -public: - Fl_Osc_Choice *hpampmode; -private: - void cb_hpampmode_i(Fl_Osc_Choice*, void*); - static void cb_hpampmode(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_hpampmode[]; -public: - Fl_Osc_Dial *hpamppar1; -private: - void cb_hpamppar1_i(Fl_Osc_Dial*, void*); - static void cb_hpamppar1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *hpamppar2; -private: - void cb_hpamppar2_i(Fl_Osc_Dial*, void*); - static void cb_hpamppar2(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Check *hpautoscale; -private: - void cb_hpautoscale_i(Fl_Osc_Check*, void*); - static void cb_hpautoscale(Fl_Osc_Check*, void*); -public: - Fl_Osc_Choice *hponehalf; -private: - void cb_hponehalf_i(Fl_Osc_Choice*, void*); - static void cb_hponehalf(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_hponehalf[]; -public: - Fl_Osc_Dial *hpwidth; -private: - void cb_hpwidth_i(Fl_Osc_Dial*, void*); - static void cb_hpwidth(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Group *oscilgroup; -private: - void cb_Change_i(Fl_Button*, void*); - static void cb_Change(Fl_Button*, void*); -public: - Fl_Box *cbwidget; -private: - void cb_cbwidget_i(Fl_Box*, void*); - static void cb_cbwidget(Fl_Box*, void*); - void cb_Resonance_i(Fl_Button*, void*); - static void cb_Resonance(Fl_Button*, void*); -public: - Fl_Osc_Dial *bwdial; -private: - void cb_bwdial_i(Fl_Osc_Dial*, void*); - static void cb_bwdial(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Output *bwcents; - Fl_Osc_Choice *hrpostype; -private: - void cb_hrpostype_i(Fl_Osc_Choice*, void*); - static void cb_hrpostype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_hrpostype[]; -public: - Fl_Osc_Dial *hrpospar1; -private: - void cb_hrpospar1_i(Fl_Osc_Dial*, void*); - static void cb_hrpospar1(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *hrpospar2; -private: - void cb_hrpospar2_i(Fl_Osc_Dial*, void*); - static void cb_hrpospar2(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Dial *hrpospar3; -private: - void cb_hrpospar3_i(Fl_Osc_Dial*, void*); - static void cb_hrpospar3(Fl_Osc_Dial*, void*); -public: - Fl_Osc_Choice *bwscale; -private: - void cb_bwscale_i(Fl_Osc_Choice*, void*); - static void cb_bwscale(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_bwscale[]; -public: - Fl_Group *overtonepos; - Fl_Osc_Choice *qsamplesize; -private: - void cb_qsamplesize_i(Fl_Osc_Choice*, void*); - static void cb_qsamplesize(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_qsamplesize[]; -public: - Fl_Osc_Choice *qsmpoct; -private: - void cb_qsmpoct_i(Fl_Osc_Choice*, void*); - static void cb_qsmpoct(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_qsmpoct[]; -public: - Fl_Osc_Choice *qoct; -private: - void cb_qoct_i(Fl_Osc_Choice*, void*); - static void cb_qoct(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_qoct[]; -public: - Fl_Osc_Choice *qbasenote; -private: - void cb_qbasenote_i(Fl_Osc_Choice*, void*); - static void cb_qbasenote(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_qbasenote[]; -public: - Fl_Group *hprofile; - Fl_Osc_Choice *spectrummode; -private: - void cb_spectrummode_i(Fl_Osc_Choice*, void*); - static void cb_spectrummode(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_spectrummode[]; -public: - EnvelopeUI *freqenv; - Fl_Osc_Counter *octave; - Fl_Osc_Counter *coarsedet; - LFOUI *freqlfo; - Fl_Osc_Slider *detune; -private: - void cb_detune_i(Fl_Osc_Slider*, void*); - static void cb_detune(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Output *detunevalueoutput; - Fl_Osc_Choice *detunetype; -private: - void cb_detunetype_i(Fl_Osc_Choice*, void*); - static void cb_detunetype(Fl_Osc_Choice*, void*); -public: - Fl_Osc_Dial *bendadjustdial; - Fl_Osc_Dial *offsethzdial; - Fl_Osc_Check *hz440; -private: - void cb_hz440_i(Fl_Osc_Check*, void*); - static void cb_hz440(Fl_Osc_Check*, void*); -public: - Fl_Osc_Dial *fixedfreqetdial; - Fl_Osc_VSlider *volume; - Fl_Osc_VSlider *vsns; - Fl_Osc_Dial *pan; - Fl_Osc_Dial *pstr; - Fl_Osc_Dial *pt; - Fl_Osc_Dial *pstc; - Fl_Osc_Dial *pvel; - EnvelopeUI *ampenv; - LFOUI *amplfo; - Fl_Osc_Check *stereo; -private: - void cb_stereo_i(Fl_Osc_Check*, void*); - static void cb_stereo(Fl_Osc_Check*, void*); -public: - EnvelopeUI *filterenv; - LFOUI *filterlfo; - FilterUI *filterui; - Fl_Button *applybutton; -private: - void cb_applybutton_i(Fl_Button*, void*); - static void cb_applybutton(Fl_Button*, void*); - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); - void cb_export_i(Fl_Osc_Button*, void*); - static void cb_export(Fl_Osc_Button*, void*); -public: - void refresh(); - ~PADnoteUI(); - OscilEditor *oscui; -private: - bool initialized; -public: - Fl_Oscilloscope *osc; - ResonanceUI *resui; -private: - std::string location; - Fl_Osc_Interface *osc_i; - PADnoteHarmonicProfile *hpui; - PADnoteOvertonePosition *opui; - class Osc_IntModel *apply_watcher; -}; -#endif diff --git a/zynaddsubfx/UI/PartUI.cpp b/zynaddsubfx/UI/PartUI.cpp deleted file mode 100644 index b6ddefb..0000000 --- a/zynaddsubfx/UI/PartUI.cpp +++ /dev/null @@ -1,2024 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/PartUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later - -Fl_Group* PartSysEffSend::make_window() { - { syseffsend = new Fl_Group(0, 0, 100, 100); - syseffsend->box(FL_NO_BOX); - syseffsend->color(FL_BACKGROUND_COLOR); - syseffsend->selection_color(FL_BACKGROUND_COLOR); - syseffsend->labeltype(FL_NO_LABEL); - syseffsend->labelfont(0); - syseffsend->labelsize(14); - syseffsend->labelcolor(FL_FOREGROUND_COLOR); - syseffsend->user_data((void*)(this)); - syseffsend->align(Fl_Align(FL_ALIGN_TOP)); - syseffsend->when(FL_WHEN_RELEASE); - { Fl_Osc_Dial* o = widget = new Fl_Osc_Dial(0, 0, 25, 25, "01"); - widget->box(FL_ROUND_UP_BOX); - widget->color(FL_BACKGROUND_COLOR); - widget->selection_color(FL_INACTIVE_COLOR); - widget->labeltype(FL_NORMAL_LABEL); - widget->labelfont(1); - widget->labelsize(10); - widget->labelcolor(FL_FOREGROUND_COLOR); - widget->maximum(127); - widget->step(1); - widget->align(Fl_Align(130)); - widget->when(FL_WHEN_CHANGED); - o->size(25,25); - o->alt_init("/","Psysefxvol"+to_s(neff)+"/part"+to_s(npart)); - o->mark_dead(); - char tmp[10];snprintf(tmp,10,"%d",neff+1);o->copy_label(tmp); - } // Fl_Osc_Dial* widget - syseffsend->end(); - } // Fl_Group* syseffsend - return syseffsend; -} - -PartSysEffSend::PartSysEffSend(int x,int y, int w, int h, const char *label):Fl_Group(x,y,w,h,label) { - neff=0; - npart=0; -} - -void PartSysEffSend::init(int npart_,int neff_) { - npart=npart_; - neff=neff_; - make_window(); - syseffsend->show(); - end(); -} - -void PartSysEffSend::rebase(int part) { - auto *osc = widget->osc; - std::string old = "Psysefxvol"+to_s(neff)+"/part"+to_s(npart); - std::string next = "Psysefxvol"+to_s(neff)+"/part"+to_s(part); - widget->ext = next; - osc->renameLink("/"+old, "/"+next, widget); - osc->requestValue("/"+next); - npart = part; -} - -PartSysEffSend::~PartSysEffSend() { - syseffsend->hide(); - //delete(syseffsend); -} - -void PartKitItem::cb_m_i(Fl_Osc_Button* o, void*) { - o->oscWrite("captureMin"); -minkcounter->update(); -maxkcounter->update(); -} -void PartKitItem::cb_m(Fl_Osc_Button* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_m_i(o,v); -} - -void PartKitItem::cb_M_i(Fl_Osc_Button* o, void*) { - o->oscWrite("captureMax"); -minkcounter->update(); -maxkcounter->update(); -} -void PartKitItem::cb_M(Fl_Osc_Button* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_M_i(o,v); -} - -void PartKitItem::cb_R_i(Fl_Button*, void*) { - minkcounter->value(0); -minkcounter->do_callback(); -maxkcounter->value(127); -maxkcounter->do_callback(); -} -void PartKitItem::cb_R(Fl_Button* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_R_i(o,v); -} - -void PartKitItem::cb_adeditbutton_i(Fl_Button*, void*) { - if (Fl::event_shift()) - partui->showvoiceparams(n, true); - else if (Fl::event_ctrl()) - partui->showvoiceparams(n, false); - else - partui->showparameters(n,0); -} -void PartKitItem::cb_adeditbutton(Fl_Button* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_adeditbutton_i(o,v); -} - -void PartKitItem::cb_subeditbutton_i(Fl_Button*, void*) { - partui->showparameters(n,1); -} -void PartKitItem::cb_subeditbutton(Fl_Button* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_subeditbutton_i(o,v); -} - -void PartKitItem::cb_labelbutton_i(Fl_Osc_Input* o, void*) { - o->oscWrite(o->ext, "s", o->value()); -} -void PartKitItem::cb_labelbutton(Fl_Osc_Input* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_labelbutton_i(o,v); -} - -void PartKitItem::cb_adcheck_i(Fl_Osc_Check* o, void*) { - if (o->value()!=0) adeditbutton->activate(); - else adeditbutton->deactivate(); -} -void PartKitItem::cb_adcheck(Fl_Osc_Check* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_adcheck_i(o,v); -} - -void PartKitItem::cb_subcheck_i(Fl_Osc_Check* o, void*) { - if(o->value()!=0) subeditbutton->activate(); - else subeditbutton->deactivate(); -} -void PartKitItem::cb_subcheck(Fl_Osc_Check* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_subcheck_i(o,v); -} - -void PartKitItem::cb_padeditbutton_i(Fl_Button*, void*) { - partui->showparameters(n,2); -} -void PartKitItem::cb_padeditbutton(Fl_Button* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_padeditbutton_i(o,v); -} - -void PartKitItem::cb_padcheck_i(Fl_Osc_Check* o, void*) { - if (o->value()!=0) padeditbutton->activate(); - else padeditbutton->deactivate(); -} -void PartKitItem::cb_padcheck(Fl_Osc_Check* o, void* v) { - ((PartKitItem*)(o->parent()->parent()->user_data()))->cb_padcheck_i(o,v); -} - -void PartKitItem::cb_enabledcheck_i(Fl_Osc_Check* o, void*) { - int answer=1; - //TODO special case -if (o->value()==0 && !o->is_osc) - answer=fl_choice("Delete the item?","No","Yes",NULL); -if(!answer) - o->value(true); - -if (o->value()==0) partkititemgroup->deactivate(); -else partkititemgroup->activate(); -o->redraw(); -partui->showparameters(n,-1);//use to delete the ui, if it is not to item 0; -} -void PartKitItem::cb_enabledcheck(Fl_Osc_Check* o, void* v) { - ((PartKitItem*)(o->parent()->user_data()))->cb_enabledcheck_i(o,v); -} - -Fl_Osc_Group* PartKitItem::make_window() { - { partkititem = new Fl_Osc_Group(0, 0, 670, 100); - partkititem->box(FL_NO_BOX); - partkititem->color(FL_BACKGROUND_COLOR); - partkititem->selection_color(FL_BACKGROUND_COLOR); - partkititem->labeltype(FL_NO_LABEL); - partkititem->labelfont(0); - partkititem->labelsize(14); - partkititem->labelcolor(FL_FOREGROUND_COLOR); - partkititem->user_data((void*)(this)); - partkititem->align(Fl_Align(FL_ALIGN_TOP)); - partkititem->when(FL_WHEN_RELEASE); - { partkititemgroup = new Fl_Osc_Group(55, 0, 605, 20); - partkititemgroup->box(FL_NO_BOX); - partkititemgroup->color(FL_BACKGROUND_COLOR); - partkititemgroup->selection_color(FL_BACKGROUND_COLOR); - partkititemgroup->labeltype(FL_NORMAL_LABEL); - partkititemgroup->labelfont(0); - partkititemgroup->labelsize(14); - partkititemgroup->labelcolor(FL_FOREGROUND_COLOR); - partkititemgroup->align(Fl_Align(FL_ALIGN_TOP)); - partkititemgroup->when(FL_WHEN_RELEASE); - { Fl_Osc_Counter* o = minkcounter = new Fl_Osc_Counter(225, 0, 55, 15); - minkcounter->type(1); - minkcounter->box(FL_UP_BOX); - minkcounter->color(FL_BACKGROUND_COLOR); - minkcounter->selection_color(FL_INACTIVE_COLOR); - minkcounter->labeltype(FL_NORMAL_LABEL); - minkcounter->labelfont(0); - minkcounter->labelsize(14); - minkcounter->labelcolor(FL_FOREGROUND_COLOR); - minkcounter->minimum(0); - minkcounter->maximum(128); - minkcounter->step(1); - minkcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - minkcounter->when(FL_WHEN_CHANGED); - o->init("Pminkey"); - } // Fl_Osc_Counter* minkcounter - { Fl_Osc_Button* o = new Fl_Osc_Button(285, 3, 15, 12, "m"); - o->tooltip("set the minimum key to the last pressed key"); - 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(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_m); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(315, 3, 15, 12, "M"); - o->tooltip("set the maximum key to the last pressed key"); - 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(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_M); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Button* o = new Fl_Button(300, 3, 15, 12, "R"); - o->tooltip("reset the minimum key to 0 and maximum key to 127"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->labelsize(10); - o->callback((Fl_Callback*)cb_R); - } // Fl_Button* o - { adeditbutton = new Fl_Button(420, 0, 40, 15, "edit"); - adeditbutton->box(FL_THIN_UP_BOX); - adeditbutton->labelsize(11); - adeditbutton->callback((Fl_Callback*)cb_adeditbutton); - } // Fl_Button* adeditbutton - { subeditbutton = new Fl_Button(490, 0, 40, 15, "edit"); - subeditbutton->box(FL_THIN_UP_BOX); - subeditbutton->labelsize(11); - subeditbutton->callback((Fl_Callback*)cb_subeditbutton); - } // Fl_Button* subeditbutton - { Fl_Osc_Check* o = mutedcheck = new Fl_Osc_Check(60, 0, 20, 15); - mutedcheck->box(FL_NO_BOX); - mutedcheck->down_box(FL_DOWN_BOX); - mutedcheck->color(FL_BACKGROUND_COLOR); - mutedcheck->selection_color(FL_FOREGROUND_COLOR); - mutedcheck->labeltype(FL_NORMAL_LABEL); - mutedcheck->labelfont(1); - mutedcheck->labelsize(11); - mutedcheck->labelcolor(FL_FOREGROUND_COLOR); - mutedcheck->align(Fl_Align(FL_ALIGN_LEFT)); - mutedcheck->when(FL_WHEN_RELEASE); - o->init("Pmuted"); - } // Fl_Osc_Check* mutedcheck - { Fl_Osc_Counter* o = maxkcounter = new Fl_Osc_Counter(335, 0, 55, 15); - maxkcounter->type(1); - maxkcounter->box(FL_UP_BOX); - maxkcounter->color(FL_BACKGROUND_COLOR); - maxkcounter->selection_color(FL_INACTIVE_COLOR); - maxkcounter->labeltype(FL_NORMAL_LABEL); - maxkcounter->labelfont(0); - maxkcounter->labelsize(14); - maxkcounter->labelcolor(FL_FOREGROUND_COLOR); - maxkcounter->minimum(0); - maxkcounter->maximum(128); - maxkcounter->step(1); - maxkcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - maxkcounter->when(FL_WHEN_CHANGED); - o->init("Pmaxkey"); - } // Fl_Osc_Counter* maxkcounter - { Fl_Osc_Input* o = labelbutton = new Fl_Osc_Input(90, 0, 130, 15, "Bass Drum"); - labelbutton->box(FL_THIN_DOWN_BOX); - labelbutton->color(FL_BACKGROUND2_COLOR); - labelbutton->selection_color(FL_SELECTION_COLOR); - labelbutton->labeltype(FL_NORMAL_LABEL); - labelbutton->labelfont(1); - labelbutton->labelsize(10); - labelbutton->labelcolor(FL_FOREGROUND_COLOR); - labelbutton->callback((Fl_Callback*)cb_labelbutton); - labelbutton->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - labelbutton->when(FL_WHEN_RELEASE); - o->init("Pname"); - } // Fl_Osc_Input* labelbutton - { Fl_Osc_Check* o = adcheck = new Fl_Osc_Check(400, 0, 20, 15); - adcheck->box(FL_NO_BOX); - adcheck->down_box(FL_DOWN_BOX); - adcheck->color(FL_BACKGROUND_COLOR); - adcheck->selection_color(FL_FOREGROUND_COLOR); - adcheck->labeltype(FL_NORMAL_LABEL); - adcheck->labelfont(1); - adcheck->labelsize(11); - adcheck->labelcolor(FL_FOREGROUND_COLOR); - adcheck->callback((Fl_Callback*)cb_adcheck); - adcheck->align(Fl_Align(FL_ALIGN_LEFT)); - adcheck->when(FL_WHEN_RELEASE); - o->init("Padenabled"); - } // Fl_Osc_Check* adcheck - { Fl_Osc_Check* o = subcheck = new Fl_Osc_Check(470, 0, 20, 15); - subcheck->box(FL_NO_BOX); - subcheck->down_box(FL_DOWN_BOX); - subcheck->color(FL_BACKGROUND_COLOR); - subcheck->selection_color(FL_FOREGROUND_COLOR); - subcheck->labeltype(FL_NORMAL_LABEL); - subcheck->labelfont(1); - subcheck->labelsize(11); - subcheck->labelcolor(FL_FOREGROUND_COLOR); - subcheck->callback((Fl_Callback*)cb_subcheck); - subcheck->align(Fl_Align(FL_ALIGN_LEFT)); - subcheck->when(FL_WHEN_RELEASE); - o->init("Psubenabled"); - } // Fl_Osc_Check* subcheck - { Fl_Osc_Choice* o = sendtoeffect = new Fl_Osc_Choice(615, 0, 45, 15); - sendtoeffect->box(FL_UP_BOX); - sendtoeffect->down_box(FL_BORDER_BOX); - sendtoeffect->color(FL_BACKGROUND_COLOR); - sendtoeffect->selection_color(FL_SELECTION_COLOR); - sendtoeffect->labeltype(FL_NORMAL_LABEL); - sendtoeffect->labelfont(0); - sendtoeffect->labelsize(10); - sendtoeffect->labelcolor(FL_FOREGROUND_COLOR); - sendtoeffect->textfont(1); - sendtoeffect->textsize(10); - sendtoeffect->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - sendtoeffect->when(FL_WHEN_RELEASE); - char nrstr[10]; for(int i=0;iadd(nrstr);};o->add("OFF"); - o->init("Psendtoparteffect");//TODO check semantics - } // Fl_Osc_Choice* sendtoeffect - { padeditbutton = new Fl_Button(560, 0, 40, 15, "edit"); - padeditbutton->box(FL_THIN_UP_BOX); - padeditbutton->labelsize(11); - padeditbutton->callback((Fl_Callback*)cb_padeditbutton); - } // Fl_Button* padeditbutton - { Fl_Osc_Check* o = padcheck = new Fl_Osc_Check(540, 0, 20, 15); - padcheck->box(FL_NO_BOX); - padcheck->down_box(FL_DOWN_BOX); - padcheck->color(FL_BACKGROUND_COLOR); - padcheck->selection_color(FL_FOREGROUND_COLOR); - padcheck->labeltype(FL_NORMAL_LABEL); - padcheck->labelfont(1); - padcheck->labelsize(11); - padcheck->labelcolor(FL_FOREGROUND_COLOR); - padcheck->callback((Fl_Callback*)cb_padcheck); - padcheck->align(Fl_Align(FL_ALIGN_LEFT)); - padcheck->when(FL_WHEN_RELEASE); - o->init("Ppadenabled"); - } // Fl_Osc_Check* padcheck - partkititemgroup->end(); - } // Fl_Osc_Group* partkititemgroup - { Fl_Osc_Check* o = enabledcheck = new Fl_Osc_Check(30, 0, 20, 15, "01"); - enabledcheck->box(FL_NO_BOX); - enabledcheck->down_box(FL_DOWN_BOX); - enabledcheck->color(FL_BACKGROUND_COLOR); - enabledcheck->selection_color(FL_FOREGROUND_COLOR); - enabledcheck->labeltype(FL_EMBOSSED_LABEL); - enabledcheck->labelfont(1); - enabledcheck->labelsize(13); - enabledcheck->labelcolor(FL_FOREGROUND_COLOR); - enabledcheck->callback((Fl_Callback*)cb_enabledcheck); - enabledcheck->align(Fl_Align(FL_ALIGN_LEFT)); - enabledcheck->when(FL_WHEN_RELEASE); - snprintf(label,10,"%d",n+1);o->label(label); - o->init("Penabled"); - if (n==0) o->deactivate(); - } // Fl_Osc_Check* enabledcheck - partkititem->end(); - } // Fl_Osc_Group* partkititem - return partkititem; -} - -PartKitItem::PartKitItem(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) { - n=0; -} - -void PartKitItem::refresh() { - this->redraw(); -} - -void PartKitItem::init(int n_,class PartUI *partui_) { - n=n_; - ext = "kit"+to_s(n)+"/"; - partui=partui_; - make_window(); - if (n == 0) - mutedcheck->deactivate(); - else - deactivate(); - - //partkititem->show(); - end(); -} - -PartKitItem::~PartKitItem() { -} - -void PartUI::cb_Grand_i(PartNameButton* o, void*) { - int event=Fl::event_button(); -if (event==FL_RIGHT_MOUSE){ - const char *tmp=fl_input("Instrument name:",o->label()); - if (tmp!=NULL) - o->oscWrite("Pname", "s", tmp); -} else { - if (event==FL_LEFT_MOUSE) bankui->show(); - else instrumenteditwindow->show(); -}; -} -void PartUI::cb_Grand(PartNameButton* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Grand_i(o,v); -} - -void PartUI::cb_minkcounter_i(Fl_Osc_Counter* o, void*) { - if (minkcounter->value() > maxkcounter->value()) o->textcolor(FL_RED); - else o->textcolor(FL_BLACK); -} -void PartUI::cb_minkcounter(Fl_Osc_Counter* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_minkcounter_i(o,v); -} - -void PartUI::cb_maxkcounter_i(Fl_Osc_Counter* o, void*) { - if (minkcounter->value() > maxkcounter->value()) o->textcolor(FL_RED); - else o->textcolor(FL_BLACK); -} -void PartUI::cb_maxkcounter(Fl_Osc_Counter* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_maxkcounter_i(o,v); -} - -void PartUI::cb_Controllers_i(Fl_Button*, void*) { - ctlwindow->show(); -} -void PartUI::cb_Controllers(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Controllers_i(o,v); -} - -void PartUI::cb_Edit_i(Fl_Button*, void*) { - if (Fl::event_shift() || Fl::event_ctrl()) - instrumentkitlist->show(); - else - instrumenteditwindow->show(); -} -void PartUI::cb_Edit(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Edit_i(o,v); -} - -void PartUI::cb_m1_i(Fl_Osc_Button* o, void*) { - o->oscWrite("captureMin"); - o->oscWrite("Pminkey"); - o->oscWrite("Pmaxkey"); -} -void PartUI::cb_m1(Fl_Osc_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_m1_i(o,v); -} - -void PartUI::cb_M1_i(Fl_Osc_Button* o, void*) { - o->oscWrite("captureMax"); - o->oscWrite("Pminkey"); - o->oscWrite("Pmaxkey"); -} -void PartUI::cb_M1(Fl_Osc_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_M1_i(o,v); -} - -void PartUI::cb_R1_i(Fl_Osc_Button* o, void*) { - o->oscWrite("Pminkey", "i", 0); - o->oscWrite("Pmaxkey", "i", 127); -} -void PartUI::cb_R1(Fl_Osc_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_R1_i(o,v); -} - -void PartUI::cb_partenablebutton_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) partgroupui->deactivate(); - else partgroupui->activate(); -} -void PartUI::cb_partenablebutton(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_partenablebutton_i(o,v); -} - -void PartUI::cb_benddir_i(Fl_Check_Button* o, void*) { - if (o->value()) {bendrng->oscMove("pitchwheel.bendrange_down");} -else {bendrng->oscMove("pitchwheel.bendrange");}; -} -void PartUI::cb_benddir(Fl_Check_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_benddir_i(o,v); -} - -void PartUI::cb_bendsplt_i(Fl_Osc_Check* o, void*) { - if(o->value()) {benddir->activate();} - else {benddir->deactivate(); benddir->value(0); benddir->do_callback();}; -} -void PartUI::cb_bendsplt(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_bendsplt_i(o,v); -} - -void PartUI::cb_Sustain_i(Fl_Osc_Check*, void*) { - //TODO - /*if (ctl.sustain.receive==0) { - ReleaseSustainedKeys(); - ctl.setsustain(0); - };*/; -} -void PartUI::cb_Sustain(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Sustain_i(o,v); -} - -void PartUI::cb_Close_i(Fl_Button*, void*) { - ctlwindow->hide(); -} -void PartUI::cb_Close(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void PartUI::cb_Reset_i(Fl_Osc_Button* o, void*) { - o->oscWrite("defaults");//part->SetController(C_resetallcontrollers,0); - ctlwindow->update(); -} -void PartUI::cb_Reset(Fl_Osc_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Reset_i(o,v); -} - -void PartUI::cb_Proprt_i(Fl_Osc_Check* o, void*) { - if(o->value()){propta->activate();proptb->activate();} -else {propta->deactivate();proptb->deactivate();}; -} -void PartUI::cb_Proprt(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Proprt_i(o,v); -} - -void PartUI::cb_inseffnocounter_i(Fl_Counter* o, void*) { - ninseff=(int) o->value()-1; - insefftype->oscMove("partefx"+to_s(ninseff)+"/efftype"); - inseffectuigroup->reext("partefx"+to_s(ninseff)+"/"); - bypasseff->oscMove("Pefxbypass"+to_s(ninseff)); - sendtochoice->oscMove("Pefxroute"+to_s(ninseff)); -/*insefftype->value(part->partefx[ninseff]->geteffect());*/ -//insefftype->do_callback(); -inseffectui->refresh(); -int x=127;/*part->Pefxroute[ninseff];*/ -if (x==127) x=1; - -sendtochoice->value(x); -} -void PartUI::cb_inseffnocounter(Fl_Counter* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_inseffnocounter_i(o,v); -} - -void PartUI::cb_insefftype_i(Fl_Osc_Choice* o, void*) { - inseffectui->efftype = o->value(); -inseffectui->refresh(); -} -void PartUI::cb_insefftype(Fl_Osc_Choice* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_insefftype_i(o,v); -} - -Fl_Menu_Item PartUI::menu_insefftype[] = { - {"No Effect", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Reverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Echo", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Chorus", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Phaser", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"AlienWah", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Distortion", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"EQ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"DynFilter", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PartUI::cb_Close1_i(Fl_Button*, void*) { - partfx->hide(); -} -void PartUI::cb_Close1(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Close1_i(o,v); -} - -void PartUI::cb_sendtochoice_i(Fl_Osc_Choice* o, void*) { - (void)o;/*int x=(int) o->value(); -part->Pefxroute[ninseff]=x; -if (x==2) part->partefx[ninseff]->setdryonly(true); - else part->partefx[ninseff]->setdryonly(false);*/; -} -void PartUI::cb_sendtochoice(Fl_Osc_Choice* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_sendtochoice_i(o,v); -} - -Fl_Menu_Item PartUI::menu_sendtochoice[] = { - {"Next Effect", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Part Out", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"Dry Out", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PartUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy(partfx->loc()+"partefx"+to_s(ninseff)+"/"); -} -void PartUI::cb_C(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_C_i(o,v); -} - -void PartUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste(partfx->loc()+"partefx"+to_s(ninseff)+"/",inseffectui); -} -void PartUI::cb_P(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_P_i(o,v); -} - -void PartUI::cb_Close2_i(Fl_Button*, void*) { - instrumentkitlist->hide(); -} -void PartUI::cb_Close2(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Close2_i(o,v); -} - -void PartUI::cb_Mode_i(Fl_Osc_Choice* o, void*) { - if (o->value()==0) { - for (int i=1;ideactivate(); - partkititem[0]->mutedcheck->deactivate(); - } else { - for (int i=1;iactivate(); - partkititem[0]->mutedcheck->activate(); }; -} -void PartUI::cb_Mode(Fl_Osc_Choice* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Mode_i(o,v); -} - -Fl_Menu_Item PartUI::menu_Mode[] = { - {"OFF", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"MULTI", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"SINGLE", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PartUI::cb_Comments_i(Fl_Button*, void*) { - instrumenteditwindow->show(); -} -void PartUI::cb_Comments(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Comments_i(o,v); -} - -void PartUI::cb_Effects_i(Fl_Button*, void*) { - partfx->show(); -} -void PartUI::cb_Effects(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Effects_i(o,v); -} - -void PartUI::cb_padeditbutton1_i(Fl_Button*, void*) { - showparameters(0,2); -} -void PartUI::cb_padeditbutton1(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->parent()->user_data()))->cb_padeditbutton1_i(o,v); -} - -void PartUI::cb_padsynenabledcheck_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) padeditbutton->deactivate(); - else padeditbutton->activate(); -} -void PartUI::cb_padsynenabledcheck(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->parent()->parent()->user_data()))->cb_padsynenabledcheck_i(o,v); -} - -void PartUI::cb_adsynenabledcheck_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) adeditbutton->deactivate(); - else adeditbutton->activate(); -} -void PartUI::cb_adsynenabledcheck(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->parent()->parent()->user_data()))->cb_adsynenabledcheck_i(o,v); -} - -void PartUI::cb_adeditbutton1_i(Fl_Button*, void*) { - if (Fl::event_shift()) { - showvoiceparams(0, true); - } else if (Fl::event_ctrl()) { - showvoiceparams(0, false); - } else - showparameters(0,0); -} -void PartUI::cb_adeditbutton1(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->parent()->user_data()))->cb_adeditbutton1_i(o,v); -} - -void PartUI::cb_subsynenabledcheck_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) subeditbutton->deactivate(); - else subeditbutton->activate(); -} -void PartUI::cb_subsynenabledcheck(Fl_Osc_Check* o, void* v) { - ((PartUI*)(o->parent()->parent()->parent()->user_data()))->cb_subsynenabledcheck_i(o,v); -} - -void PartUI::cb_subeditbutton1_i(Fl_Button*, void*) { - showparameters(0,1); -} -void PartUI::cb_subeditbutton1(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->parent()->user_data()))->cb_subeditbutton1_i(o,v); -} - -void PartUI::cb_Kit_i(Fl_Button*, void*) { - instrumentkitlist->show(); -} -void PartUI::cb_Kit(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Kit_i(o,v); -} - -void PartUI::cb_Effects1_i(Fl_Button*, void*) { - partfx->show(); -} -void PartUI::cb_Effects1(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Effects1_i(o,v); -} - -void PartUI::cb_Author_i(Fl_Osc_Input* o, void*) { - o->oscWrite(o->ext, "s", o->value()); -} -void PartUI::cb_Author(Fl_Osc_Input* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Author_i(o,v); -} - -void PartUI::cb_Comments1_i(Fl_Osc_Input* o, void*) { - o->oscWrite(o->ext, "s", o->value()); -} -void PartUI::cb_Comments1(Fl_Osc_Input* o, void* v) { - ((PartUI*)(o->parent()->parent()->user_data()))->cb_Comments1_i(o,v); -} - -Fl_Menu_Item PartUI::menu_Type[] = { - {"--------------------------", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Piano", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Chromatic Percussion", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Organ", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Guitar", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Bass", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Solo Strings", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Ensemble", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Brass", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Reed", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Pipe", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Synth Lead", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Synth Pad", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Synth Effects", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Ethnic", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Percussive", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Sound Effects", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void PartUI::cb_Close3_i(Fl_Button*, void*) { - instrumenteditwindow->hide(); -} -void PartUI::cb_Close3(Fl_Button* o, void* v) { - ((PartUI*)(o->parent()->user_data()))->cb_Close3_i(o,v); -} - -Fl_Group* PartUI::make_window() { - { partgroup = new Fl_Group(0, 0, 385, 180); - partgroup->box(FL_NO_BOX); - partgroup->color(FL_BACKGROUND_COLOR); - partgroup->selection_color(FL_BACKGROUND_COLOR); - partgroup->labeltype(FL_NO_LABEL); - partgroup->labelfont(0); - partgroup->labelsize(14); - partgroup->labelcolor(FL_FOREGROUND_COLOR); - partgroup->user_data((void*)(this)); - partgroup->align(Fl_Align(FL_ALIGN_TOP)); - partgroup->when(FL_WHEN_RELEASE); - { partgroupui = new Fl_Osc_Group(0, 0, 385, 180); - partgroupui->box(FL_NO_BOX); - partgroupui->color(FL_BACKGROUND_COLOR); - partgroupui->selection_color(FL_BACKGROUND_COLOR); - partgroupui->labeltype(FL_NORMAL_LABEL); - partgroupui->labelfont(0); - partgroupui->labelsize(14); - partgroupui->labelcolor(FL_FOREGROUND_COLOR); - partgroupui->align(Fl_Align(FL_ALIGN_TOP)); - partgroupui->when(FL_WHEN_RELEASE); - { Fl_Osc_Dial* o = new Fl_Osc_Dial(50, 40, 25, 25, "Pan"); - 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(11); - 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_Counter* o = new Fl_Osc_Counter(195, 45, 90, 20, "KeyShift"); - 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(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->minimum(-64); - o->maximum(64); - o->step(1); - o->align(Fl_Align(FL_ALIGN_TOP)); - o->when(FL_WHEN_CHANGED); - o->lstep(12); - o->init("Pkeyshift", 'i', -64); - } // Fl_Osc_Counter* o - { Fl_Scroll* o = new Fl_Scroll(166, 91, 125, 49); - o->box(FL_UP_BOX); - o->labelfont(1); - o->labelsize(10); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); - { Fl_Pack* o = new Fl_Pack(171, 96, 115, 35); - o->type(1); - o->spacing(5); - for (int i=0;iinit(npart,i);} - o->end(); - } // Fl_Pack* o - o->end(); - } // Fl_Scroll* o - { PartNameButton* o = new PartNameButton(195, 5, 185, 20, "Grand Piano"); - o->tooltip("left mousebutton - to choose/save/.. from/to bank or right mousebutton to cha\ -nge the name or middle button to change the instrument information"); - o->box(FL_UP_FRAME); - o->down_box(FL_DOWN_FRAME); - o->color(FL_BACKGROUND_COLOR); - o->selection_color(FL_BACKGROUND_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(1); - o->labelsize(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Grand); - o->align(Fl_Align(68|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - /*o->label((char *)part->Pname);*/ - o->ext = "Pname";o->oscRegister("Pname"); - } // PartNameButton* o - { Fl_Box* o = new Fl_Box(166, 81, 95, 10, "To Sys.Efx."); - o->labelfont(1); - o->labelsize(10); - } // Fl_Box* o - { Fl_Osc_Check* o = new Fl_Osc_Check(10, 155, 65, 20, "NoteOn"); - o->tooltip("set if the part receives NoteOn messages"); - 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->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("Pnoteon"); - } // Fl_Osc_Check* o - { Fl_Osc_Counter* o = minkcounter = new Fl_Osc_Counter(295, 125, 40, 15, "Min.k"); - minkcounter->tooltip("Minimum key (that the part receives NoteOn messages)"); - minkcounter->type(1); - minkcounter->box(FL_UP_BOX); - minkcounter->color(FL_BACKGROUND_COLOR); - minkcounter->selection_color(FL_INACTIVE_COLOR); - minkcounter->labeltype(FL_NORMAL_LABEL); - minkcounter->labelfont(1); - minkcounter->labelsize(10); - minkcounter->labelcolor(FL_FOREGROUND_COLOR); - minkcounter->minimum(0); - minkcounter->maximum(127); - minkcounter->step(1); - minkcounter->textsize(10); - minkcounter->callback((Fl_Callback*)cb_minkcounter); - minkcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - minkcounter->when(FL_WHEN_CHANGED); - o->init("Pminkey"); - } // Fl_Osc_Counter* minkcounter - { Fl_Osc_Counter* o = maxkcounter = new Fl_Osc_Counter(340, 125, 40, 15, "Max.k"); - maxkcounter->tooltip("Maximum key (that the part receives NoteOn messages)"); - maxkcounter->type(1); - maxkcounter->box(FL_UP_BOX); - maxkcounter->color(FL_BACKGROUND_COLOR); - maxkcounter->selection_color(FL_INACTIVE_COLOR); - maxkcounter->labeltype(FL_NORMAL_LABEL); - maxkcounter->labelfont(1); - maxkcounter->labelsize(10); - maxkcounter->labelcolor(FL_FOREGROUND_COLOR); - maxkcounter->minimum(0); - maxkcounter->maximum(127); - maxkcounter->step(1); - maxkcounter->textsize(10); - maxkcounter->callback((Fl_Callback*)cb_maxkcounter); - maxkcounter->align(Fl_Align(FL_ALIGN_BOTTOM)); - maxkcounter->when(FL_WHEN_CHANGED); - o->init("Pmaxkey"); - } // Fl_Osc_Counter* maxkcounter - { Fl_Osc_Dial* o = new Fl_Osc_Dial(10, 35, 30, 30, "Volume"); - o->tooltip("Part Volume"); - 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(11); - 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("Pvolume"); o->reset_value=96; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(135, 40, 25, 25, "Vel.Ofs."); - o->tooltip("Velocity Offset"); - 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("Pveloffs"); o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(95, 40, 25, 25, "Vel.Sns."); - o->tooltip("Velocity Sensing Function"); - 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("Pvelsns"); o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Button* o = new Fl_Button(295, 90, 85, 30, "Controllers"); - o->labelfont(1); - o->labelsize(11); - o->callback((Fl_Callback*)cb_Controllers); - } // Fl_Button* o - { Fl_Osc_Check* o = new Fl_Osc_Check(95, 155, 88, 20, "Portamento"); - o->tooltip("Enable/Disable the portamento"); - 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->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("ctl/portamento.portamento"); - } // Fl_Osc_Check* o - { Fl_Button* o = new Fl_Button(15, 90, 130, 30, "Edit instrument"); - o->color(FL_LIGHT2); - o->labelfont(1); - o->labelsize(13); - o->callback((Fl_Callback*)cb_Edit); - } // Fl_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(315, 155, 15, 12, "m"); - o->tooltip("set the minimum key to the last pressed key"); - 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(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_m1); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(345, 155, 15, 12, "M"); - o->tooltip("set the maximum key to the last pressed key"); - 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(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_M1); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(330, 155, 15, 12, "R"); - o->tooltip("reset the minimum key to 0 and maximum key to 127"); - o->box(FL_THIN_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_R1); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Choice* o = new Fl_Osc_Choice(310, 45, 70, 20, "MIDI Chn.Rcv."); - o->tooltip("receive from Midi channel"); - 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->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->when(FL_WHEN_RELEASE); - char nrstr[10]; for(int i=0;iadd(nrstr); else o->add("Drms10");}; - o->init("Prcvchn"); - } // Fl_Osc_Choice* o - { Fl_Osc_Counter* o = keylimitlist = new Fl_Osc_Counter(215, 155, 50, 20, "KLmt"); - keylimitlist->tooltip("Key Limit"); - keylimitlist->box(FL_UP_BOX); - keylimitlist->color(FL_BACKGROUND_COLOR); - keylimitlist->selection_color(FL_INACTIVE_COLOR); - keylimitlist->labeltype(FL_NORMAL_LABEL); - keylimitlist->labelfont(0); - keylimitlist->labelsize(10); - keylimitlist->labelcolor(FL_FOREGROUND_COLOR); - keylimitlist->textfont(1); - keylimitlist->textsize(10); - keylimitlist->align(Fl_Align(FL_ALIGN_RIGHT)); - keylimitlist->when(FL_WHEN_CHANGED); - o->init("Pkeylimit",'i'); - o->step(1.0,10.0); - o->range(0,127); - } // Fl_Osc_Counter* keylimitlist - { Fl_Osc_Choice* o = new Fl_Osc_Choice(80, 130, 64, 18, "Mode :"); - o->tooltip("Poly, Mono or Legato mode"); - 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(1); - o->labelsize(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->textfont(1); - o->textsize(10); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE); - o->add("Poly"); o->add("Mono"); o->add("Legato"); - o->init("polyType"); - } // Fl_Osc_Choice* o - partgroupui->end(); - } // Fl_Osc_Group* partgroupui - { Fl_Osc_Check* o = partenablebutton = new Fl_Osc_Check(90, 5, 75, 20, "Enabled"); - partenablebutton->box(FL_NO_BOX); - partenablebutton->down_box(FL_DOWN_BOX); - partenablebutton->color(FL_BACKGROUND_COLOR); - partenablebutton->selection_color(FL_FOREGROUND_COLOR); - partenablebutton->labeltype(FL_NORMAL_LABEL); - partenablebutton->labelfont(1); - partenablebutton->labelsize(11); - partenablebutton->labelcolor(FL_FOREGROUND_COLOR); - partenablebutton->callback((Fl_Callback*)cb_partenablebutton); - partenablebutton->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - partenablebutton->when(FL_WHEN_RELEASE); - o->init("Penabled"); - } // Fl_Osc_Check* partenablebutton - partgroup->end(); - } // Fl_Group* partgroup - { ctlwindow = new Fl_Osc_Window(500, 135, "Controllers"); - ctlwindow->box(FL_NO_BOX); - ctlwindow->color(FL_BACKGROUND_COLOR); - ctlwindow->selection_color(FL_BACKGROUND_COLOR); - ctlwindow->labeltype(FL_NO_LABEL); - ctlwindow->labelfont(0); - ctlwindow->labelsize(14); - ctlwindow->labelcolor(FL_FOREGROUND_COLOR); - ctlwindow->user_data((void*)(this)); - ctlwindow->align(Fl_Align(FL_ALIGN_TOP)); - ctlwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - ctlwindow->init(osc,"/part"+to_s(npart)+"/ctl/"); - } // Fl_Box* o - { Fl_Osc_Check* o = new Fl_Osc_Check(155, 58, 45, 20, "Expr"); - o->tooltip("Expression enable"); - 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(0); - 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("expression.receive"); - } // Fl_Osc_Check* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(10, 55, 30, 30, "PanDpth"); - o->tooltip("Panning Depth"); - 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("panning.depth");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(90, 55, 30, 30, "FltCut"); - o->tooltip("Filter Cutoff depth"); - 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("filtercutoff.depth");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(50, 55, 30, 30, "FltQ"); - o->tooltip("Filter Q depth"); - 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("filterq.depth");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(125, 10, 30, 30, "BwDpth"); - o->tooltip("BandWidth depth"); - 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("bandwidth.depth");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(50, 10, 30, 30, "ModWh"); - o->tooltip("Modulation Wheel depth"); - 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("modwheel.depth");o->reset_value=80; - } // Fl_Osc_Dial* o - { benddir = new Fl_Check_Button(205, 37, 69, 15, "Downward"); - benddir->down_box(FL_DOWN_BOX); - benddir->labelsize(10); - benddir->callback((Fl_Callback*)cb_benddir); - } // Fl_Check_Button* benddir - { Fl_Osc_Counter* o = bendrng = new Fl_Osc_Counter(165, 15, 110, 20, "PWheelB.Rng (cents)"); - bendrng->tooltip("Pitch Wheel Bend Range (cents)"); - bendrng->box(FL_UP_BOX); - bendrng->color(FL_BACKGROUND_COLOR); - bendrng->selection_color(FL_INACTIVE_COLOR); - bendrng->labeltype(FL_NORMAL_LABEL); - bendrng->labelfont(0); - bendrng->labelsize(10); - bendrng->labelcolor(FL_FOREGROUND_COLOR); - bendrng->minimum(-6400); - bendrng->maximum(6400); - bendrng->step(1); - bendrng->align(Fl_Align(FL_ALIGN_TOP)); - bendrng->when(FL_WHEN_CHANGED); - o->init("pitchwheel.bendrange", 'i'); - o->lstep(100); - } // Fl_Osc_Counter* bendrng - { Fl_Osc_Check* o = bendsplt = new Fl_Osc_Check(167, 37, 38, 15, "Split"); - bendsplt->box(FL_NO_BOX); - bendsplt->down_box(FL_DOWN_BOX); - bendsplt->color(FL_BACKGROUND_COLOR); - bendsplt->selection_color(FL_FOREGROUND_COLOR); - bendsplt->labeltype(FL_NORMAL_LABEL); - bendsplt->labelfont(0); - bendsplt->labelsize(10); - bendsplt->labelcolor(FL_FOREGROUND_COLOR); - bendsplt->callback((Fl_Callback*)cb_bendsplt); - bendsplt->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - bendsplt->when(FL_WHEN_RELEASE); - o->init("pitchwheel.is_split"); - } // Fl_Osc_Check* bendsplt - { Fl_Osc_Check* o = new Fl_Osc_Check(205, 58, 60, 20, "FMamp"); - o->tooltip("FM amplitude enable"); - 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(0); - 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("fmamp.receive"); - } // Fl_Osc_Check* o - { Fl_Osc_Check* o = new Fl_Osc_Check(155, 83, 45, 20, "Vol"); - o->tooltip("Volume enable"); - 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(0); - 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("volume.receive"); - } // Fl_Osc_Check* o - { Fl_Osc_Check* o = new Fl_Osc_Check(205, 83, 60, 20, "Sustain"); - o->tooltip("Sustain pedal enable"); - 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(0); - o->labelsize(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Sustain); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("sustain.receive"); - } // Fl_Osc_Check* o - { Fl_Button* o = new Fl_Button(400, 110, 95, 20, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(5, 110, 210, 20, "Reset all controllers"); - 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(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Reset); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Group* o = new Fl_Osc_Group(280, 15, 160, 90, "Portamento"); - o->box(FL_UP_FRAME); - 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->align(Fl_Align(FL_ALIGN_TOP)); - o->when(FL_WHEN_RELEASE); - { Fl_Osc_Check* o = new Fl_Osc_Check(285, 20, 40, 20, "Rcv"); - o->tooltip("Receive Portamento Controllers"); - 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(0); - 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("portamento.receive"); - } // Fl_Osc_Check* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(285, 60, 25, 25, "time"); - o->tooltip("Portamento time"); - 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("portamento.time");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Counter* o = new Fl_Osc_Counter(340, 20, 50, 20, "thresh"); - o->tooltip("Minimum or max. difference of the notes in order to do the portamento (x 100 \ -cents)"); - 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(0); - o->maximum(127); - o->step(1); - o->align(Fl_Align(FL_ALIGN_BOTTOM)); - o->when(FL_WHEN_CHANGED); - o->init("portamento.pitchthresh"); - } // Fl_Osc_Counter* o - { Fl_Osc_Check* o = new Fl_Osc_Check(365, 70, 15, 15, "th.type"); - o->tooltip("Threshold type (min/max)"); - 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(0); - o->labelsize(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->align(Fl_Align(FL_ALIGN_BOTTOM)); - o->when(FL_WHEN_RELEASE); - o->init("portamento.pitchthreshtype"); - } // Fl_Osc_Check* o - { Fl_Box* o = new Fl_Box(340, 50, 55, 15, "x100 cnt."); - o->labelsize(10); - o->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(315, 60, 25, 25, "t.dn/up"); - o->tooltip("Portamento time stretch (up/down)"); - 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("portamento.updowntimestretch");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = propta = new Fl_Osc_Dial(405, 20, 25, 25, "Prp.Rate"); - propta->tooltip("Distance required to double change from nonpropotinal portamento time"); - propta->box(FL_NO_BOX); - propta->color(FL_BACKGROUND_COLOR); - propta->selection_color(FL_INACTIVE_COLOR); - propta->labeltype(FL_NORMAL_LABEL); - propta->labelfont(0); - propta->labelsize(9); - propta->labelcolor(FL_FOREGROUND_COLOR); - propta->maximum(127); - propta->step(1); - propta->align(Fl_Align(FL_ALIGN_BOTTOM)); - propta->when(FL_WHEN_CHANGED); - o->init("portamento.propRate");o->reset_value=80; - } // Fl_Osc_Dial* propta - { Fl_Osc_Dial* o = proptb = new Fl_Osc_Dial(405, 60, 25, 25, "Prp.Dpth"); - proptb->tooltip("The difference from nonproportinal portamento"); - proptb->box(FL_NO_BOX); - proptb->color(FL_BACKGROUND_COLOR); - proptb->selection_color(FL_INACTIVE_COLOR); - proptb->labeltype(FL_NORMAL_LABEL); - proptb->labelfont(0); - proptb->labelsize(9); - proptb->labelcolor(FL_FOREGROUND_COLOR); - proptb->maximum(127); - proptb->step(1); - proptb->align(Fl_Align(FL_ALIGN_BOTTOM)); - proptb->when(FL_WHEN_CHANGED); - o->init("portamento.propDepth");o->reset_value=90; - } // Fl_Osc_Dial* proptb - { Fl_Osc_Check* o = new Fl_Osc_Check(285, 40, 50, 15, "Proprt."); - o->tooltip("Enable Proportinal Portamento (over fixed Portamento)"); - 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(0); - o->labelsize(9); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Proprt); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("portamento.proportional"); - } // Fl_Osc_Check* o - o->end(); - } // Fl_Osc_Group* o - { Fl_Osc_Group* o = new Fl_Osc_Group(445, 15, 50, 90, "Resonance"); - o->box(FL_UP_FRAME); - 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->align(Fl_Align(FL_ALIGN_TOP)); - o->when(FL_WHEN_RELEASE); - { Fl_Osc_Dial* o = new Fl_Osc_Dial(455, 60, 25, 25, "BWdpth"); - o->tooltip("BandWidth controller depth"); - 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("resonancebandwidth.depth");o->reset_value=64; - } // Fl_Osc_Dial* o - { Fl_Osc_Dial* o = new Fl_Osc_Dial(455, 20, 25, 25, "CFdpth"); - o->tooltip("Center Frequency controller Depth"); - 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("resonancecenter.depth");o->reset_value=64; - } // Fl_Osc_Dial* o - o->end(); - } // Fl_Osc_Group* o - { Fl_Osc_Check* o = new Fl_Osc_Check(10, 15, 40, 25, "Exp MWh"); - o->tooltip("Exponential modulation wheel"); - 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(0); - o->labelsize(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->align(Fl_Align(132|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("modwheel.exponential"); - } // Fl_Osc_Check* o - { Fl_Osc_Check* o = new Fl_Osc_Check(85, 15, 35, 25, "Exp BW"); - o->tooltip("Exponential BandWidth Controller"); - 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(0); - o->labelsize(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->align(Fl_Align(132|FL_ALIGN_INSIDE)); - o->when(FL_WHEN_RELEASE); - o->init("bandwidth.exponential"); - } // Fl_Osc_Check* o - ctlwindow->end(); - } // Fl_Osc_Window* ctlwindow - { partfx = new Fl_Osc_Window(390, 145, "Part\'s Insert Effects"); - partfx->box(FL_NO_BOX); - partfx->color(FL_BACKGROUND_COLOR); - partfx->selection_color(FL_BACKGROUND_COLOR); - partfx->labeltype(FL_NO_LABEL); - partfx->labelfont(0); - partfx->labelsize(14); - partfx->labelcolor(FL_FOREGROUND_COLOR); - partfx->user_data((void*)(this)); - partfx->align(Fl_Align(FL_ALIGN_TOP)); - partfx->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - partfx->init(osc, part_path); - } // Fl_Box* o - { Fl_Counter* o = inseffnocounter = new Fl_Counter(5, 110, 80, 20, "FX No."); - inseffnocounter->type(1); - inseffnocounter->labelfont(1); - inseffnocounter->minimum(1); - inseffnocounter->maximum(127); - inseffnocounter->step(1); - inseffnocounter->textfont(1); - inseffnocounter->callback((Fl_Callback*)cb_inseffnocounter); - inseffnocounter->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT)); - o->bounds(1,NUM_PART_EFX); - o->value(ninseff+1); - } // Fl_Counter* inseffnocounter - { Fl_Osc_Choice* o = insefftype = new Fl_Osc_Choice(155, 110, 70, 15, "EffType"); - insefftype->box(FL_UP_BOX); - insefftype->down_box(FL_BORDER_BOX); - insefftype->color(FL_BACKGROUND_COLOR); - insefftype->selection_color(FL_SELECTION_COLOR); - insefftype->labeltype(FL_NORMAL_LABEL); - insefftype->labelfont(0); - insefftype->labelsize(10); - insefftype->labelcolor(FL_FOREGROUND_COLOR); - insefftype->callback((Fl_Callback*)cb_insefftype); - insefftype->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT)); - insefftype->when(FL_WHEN_RELEASE); - insefftype->menu(menu_insefftype); - o->init(("partefx"+to_s(ninseff)+"/efftype").c_str()); - } // Fl_Osc_Choice* insefftype - { inseffectuigroup = new Fl_Osc_Group(5, 5, 380, 100); - inseffectuigroup->box(FL_FLAT_BOX); - inseffectuigroup->color((Fl_Color)48); - inseffectuigroup->selection_color(FL_BACKGROUND_COLOR); - inseffectuigroup->labeltype(FL_NORMAL_LABEL); - inseffectuigroup->labelfont(0); - inseffectuigroup->labelsize(14); - inseffectuigroup->labelcolor(FL_FOREGROUND_COLOR); - inseffectuigroup->align(Fl_Align(FL_ALIGN_TOP)); - inseffectuigroup->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - inseffectuigroup->ext = "partefx0/"; - } // Fl_Box* o - { EffUI* o = inseffectui = new EffUI(5, 5, 380, 95); - inseffectui->box(FL_NO_BOX); - inseffectui->color(FL_BACKGROUND_COLOR); - inseffectui->selection_color(FL_BACKGROUND_COLOR); - inseffectui->labeltype(FL_NORMAL_LABEL); - inseffectui->labelfont(0); - inseffectui->labelsize(14); - inseffectui->labelcolor(FL_FOREGROUND_COLOR); - inseffectui->align(Fl_Align(FL_ALIGN_TOP)); - inseffectui->when(FL_WHEN_RELEASE); - o->init(true); - inseffectui->end(); - } // EffUI* inseffectui - inseffectuigroup->end(); - } // Fl_Osc_Group* inseffectuigroup - { Fl_Button* o = new Fl_Button(325, 115, 60, 20, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close1); - } // Fl_Button* o - { Fl_Osc_Choice* o = sendtochoice = new Fl_Osc_Choice(235, 110, 80, 15, "Send To."); - sendtochoice->box(FL_UP_BOX); - sendtochoice->down_box(FL_BORDER_BOX); - sendtochoice->color(FL_BACKGROUND_COLOR); - sendtochoice->selection_color(FL_SELECTION_COLOR); - sendtochoice->labeltype(FL_NORMAL_LABEL); - sendtochoice->labelfont(0); - sendtochoice->labelsize(10); - sendtochoice->labelcolor(FL_FOREGROUND_COLOR); - sendtochoice->callback((Fl_Callback*)cb_sendtochoice); - sendtochoice->align(Fl_Align(FL_ALIGN_BOTTOM_LEFT)); - sendtochoice->when(FL_WHEN_RELEASE); - sendtochoice->menu(menu_sendtochoice); - /*int x=part->Pefxroute[ninseff]; if (x==127) x=1;*/ - o->init(("Pefxroute"+to_s(ninseff)).c_str()); - } // Fl_Osc_Choice* sendtochoice - { Fl_Osc_Check* o = bypasseff = new Fl_Osc_Check(90, 110, 60, 15, "bypass"); - bypasseff->tooltip("if the effect is not used (is bypassed)"); - bypasseff->box(FL_NO_BOX); - bypasseff->down_box(FL_DOWN_BOX); - bypasseff->color(FL_BACKGROUND_COLOR); - bypasseff->selection_color(FL_FOREGROUND_COLOR); - bypasseff->labeltype(FL_NORMAL_LABEL); - bypasseff->labelfont(0); - bypasseff->labelsize(11); - bypasseff->labelcolor(FL_FOREGROUND_COLOR); - bypasseff->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - bypasseff->when(FL_WHEN_RELEASE); - o->init("Pefxbypass"+to_s(ninseff)); - } // Fl_Osc_Check* bypasseff - { Fl_Button* o = new Fl_Button(90, 127, 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(120, 127, 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 - partfx->end(); - } // Fl_Osc_Window* partfx - { instrumentkitlist = new Fl_Osc_Window(670, 370, "Instrument Kit"); - instrumentkitlist->box(FL_NO_BOX); - instrumentkitlist->color(FL_BACKGROUND_COLOR); - instrumentkitlist->selection_color(FL_BACKGROUND_COLOR); - instrumentkitlist->labeltype(FL_NO_LABEL); - instrumentkitlist->labelfont(0); - instrumentkitlist->labelsize(14); - instrumentkitlist->labelcolor(FL_FOREGROUND_COLOR); - instrumentkitlist->user_data((void*)(this)); - instrumentkitlist->align(Fl_Align(FL_ALIGN_TOP)); - instrumentkitlist->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - instrumentkitlist->init(osc, "/part"+to_s(npart)+"/"); - } // Fl_Box* o - { Fl_Button* o = new Fl_Button(255, 350, 160, 20, "Close Window"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close2); - } // Fl_Button* o - { kitlist = new Fl_Scroll(0, 15, 670, 330); - kitlist->type(2); - kitlist->box(FL_UP_FRAME); - { Fl_Pack* o = new Fl_Pack(0, 20, 670, 320); - for (int i=0;iinit(i,this);} - o->end(); - } // Fl_Pack* o - kitlist->end(); - } // Fl_Scroll* kitlist - { Fl_Box* o = new Fl_Box(5, 0, 25, 15, "No."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(55, 0, 25, 15, "M."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(235, 0, 40, 15, "Min.k"); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(345, 0, 40, 15, "Max.k"); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(405, 0, 50, 15, "ADsynth"); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(470, 0, 60, 15, "SUBsynth"); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Osc_Choice* o = new Fl_Osc_Choice(35, 350, 70, 15, "Mode"); - 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(11); - o->callback((Fl_Callback*)cb_Mode); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE); - o->menu(menu_Mode); - o->init("Pkitmode"); - } // Fl_Osc_Choice* o - { Fl_Osc_Check* o = new Fl_Osc_Check(125, 350, 80, 15, "Drum mode"); - 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(0); - 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("Pdrummode"); - } // Fl_Osc_Check* o - { Fl_Button* o = new Fl_Button(481, 350, 106, 20, "Comments"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Comments); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(600, 350, 70, 20, "Effects"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Effects); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(620, 0, 30, 15, "FX.r."); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(540, 0, 60, 15, "PADsynth"); - o->labelfont(1); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE)); - } // Fl_Box* o - instrumentkitlist->end(); - } // Fl_Osc_Window* instrumentkitlist - { instrumenteditwindow = new Fl_Osc_Window(395, 360, "Instrument Edit"); - instrumenteditwindow->box(FL_NO_BOX); - instrumenteditwindow->color(FL_BACKGROUND_COLOR); - instrumenteditwindow->selection_color(FL_BACKGROUND_COLOR); - instrumenteditwindow->labeltype(FL_NO_LABEL); - instrumenteditwindow->labelfont(0); - instrumenteditwindow->labelsize(14); - instrumenteditwindow->labelcolor(FL_FOREGROUND_COLOR); - instrumenteditwindow->user_data((void*)(this)); - instrumenteditwindow->align(Fl_Align(FL_ALIGN_TOP)); - instrumenteditwindow->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 0, 0, 0); - instrumenteditwindow->init(osc, "/part"+to_s(npart)+"/"); - } // Fl_Box* o - { editgroup = new Fl_Osc_Group(0, 220, 395, 110); - editgroup->box(FL_UP_FRAME); - editgroup->color(FL_BACKGROUND_COLOR); - editgroup->selection_color(FL_BACKGROUND_COLOR); - editgroup->labeltype(FL_NORMAL_LABEL); - editgroup->labelfont(0); - editgroup->labelsize(14); - editgroup->labelcolor(FL_FOREGROUND_COLOR); - editgroup->align(Fl_Align(FL_ALIGN_TOP)); - editgroup->when(FL_WHEN_RELEASE); - { new Fl_Box(0, 220, 0, 0); - editgroup->ext = "kit0/"; - } // Fl_Box* o - { Fl_Group* o = new Fl_Group(205, 245, 100, 80, "PADsynth"); - o->box(FL_ENGRAVED_FRAME); - o->labelfont(1); - { padeditbutton = new Fl_Button(215, 280, 80, 35, "Edit"); - padeditbutton->color((Fl_Color)51); - padeditbutton->selection_color((Fl_Color)51); - padeditbutton->labelfont(1); - padeditbutton->labelsize(13); - padeditbutton->callback((Fl_Callback*)cb_padeditbutton1); - padeditbutton->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* padeditbutton - { Fl_Osc_Check* o = padsynenabledcheck = new Fl_Osc_Check(215, 255, 80, 20, "Enabled"); - padsynenabledcheck->tooltip("enable/disable PADsynth"); - padsynenabledcheck->box(FL_UP_BOX); - padsynenabledcheck->down_box(FL_DOWN_BOX); - padsynenabledcheck->color((Fl_Color)51); - padsynenabledcheck->selection_color(FL_FOREGROUND_COLOR); - padsynenabledcheck->labeltype(FL_NORMAL_LABEL); - padsynenabledcheck->labelfont(1); - padsynenabledcheck->labelsize(11); - padsynenabledcheck->labelcolor(FL_FOREGROUND_COLOR); - padsynenabledcheck->callback((Fl_Callback*)cb_padsynenabledcheck); - padsynenabledcheck->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - padsynenabledcheck->when(FL_WHEN_RELEASE); - o->init("Ppadenabled"); - } // Fl_Osc_Check* padsynenabledcheck - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(5, 245, 100, 80, "ADsynth"); - o->box(FL_ENGRAVED_FRAME); - o->labelfont(1); - { Fl_Osc_Check* o = adsynenabledcheck = new Fl_Osc_Check(15, 255, 80, 20, "Enabled"); - adsynenabledcheck->tooltip("enable/disable ADsynth"); - adsynenabledcheck->box(FL_UP_BOX); - adsynenabledcheck->down_box(FL_DOWN_BOX); - adsynenabledcheck->color((Fl_Color)51); - adsynenabledcheck->selection_color(FL_FOREGROUND_COLOR); - adsynenabledcheck->labeltype(FL_NORMAL_LABEL); - adsynenabledcheck->labelfont(1); - adsynenabledcheck->labelsize(11); - adsynenabledcheck->labelcolor(FL_FOREGROUND_COLOR); - adsynenabledcheck->callback((Fl_Callback*)cb_adsynenabledcheck); - adsynenabledcheck->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - adsynenabledcheck->when(FL_WHEN_RELEASE); - o->init("Padenabled"); - } // Fl_Osc_Check* adsynenabledcheck - { adeditbutton = new Fl_Button(15, 281, 80, 34, "Edit"); - adeditbutton->color((Fl_Color)51); - adeditbutton->selection_color((Fl_Color)51); - adeditbutton->labelfont(1); - adeditbutton->labelsize(13); - adeditbutton->callback((Fl_Callback*)cb_adeditbutton1); - adeditbutton->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* adeditbutton - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(105, 245, 100, 80, "SUBsynth"); - o->box(FL_ENGRAVED_FRAME); - o->labelfont(1); - { Fl_Osc_Check* o = subsynenabledcheck = new Fl_Osc_Check(115, 255, 80, 20, "Enabled"); - subsynenabledcheck->tooltip("enable/disable SUBsynth"); - subsynenabledcheck->box(FL_UP_BOX); - subsynenabledcheck->down_box(FL_DOWN_BOX); - subsynenabledcheck->color((Fl_Color)51); - subsynenabledcheck->selection_color(FL_FOREGROUND_COLOR); - subsynenabledcheck->labeltype(FL_NORMAL_LABEL); - subsynenabledcheck->labelfont(1); - subsynenabledcheck->labelsize(11); - subsynenabledcheck->labelcolor(FL_FOREGROUND_COLOR); - subsynenabledcheck->callback((Fl_Callback*)cb_subsynenabledcheck); - subsynenabledcheck->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - subsynenabledcheck->when(FL_WHEN_RELEASE); - o->init("Psubenabled"); - } // Fl_Osc_Check* subsynenabledcheck - { subeditbutton = new Fl_Button(115, 280, 80, 35, "Edit"); - subeditbutton->color((Fl_Color)51); - subeditbutton->selection_color((Fl_Color)51); - subeditbutton->labelfont(1); - subeditbutton->labelsize(13); - subeditbutton->callback((Fl_Callback*)cb_subeditbutton1); - subeditbutton->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* subeditbutton - o->end(); - } // Fl_Group* o - { Fl_Button* o = new Fl_Button(310, 245, 80, 35, "Kit Edit"); - o->color((Fl_Color)51); - o->selection_color((Fl_Color)51); - o->labelfont(1); - o->callback((Fl_Callback*)cb_Kit); - o->align(Fl_Align(FL_ALIGN_WRAP)); - } // Fl_Button* o - { Fl_Button* o = new Fl_Button(310, 290, 80, 35, "Effects"); - o->color((Fl_Color)51); - o->selection_color((Fl_Color)51); - o->labelfont(1); - o->labelsize(13); - o->callback((Fl_Callback*)cb_Effects1); - } // Fl_Button* o - editgroup->end(); - } // Fl_Osc_Group* editgroup - { Fl_Group* o = new Fl_Group(0, 5, 395, 215); - o->box(FL_UP_FRAME); - { Fl_Osc_Input* o = new Fl_Osc_Input(5, 60, 385, 50, "Author and Copyright"); - o->type(4); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)124); - o->selection_color(FL_SELECTION_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(0); - o->labelsize(10); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Author); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->when(FL_WHEN_RELEASE); - o->maximum_size(MAX_INFO_TEXT_SIZE); - o->init("info.Pauthor"); - } // Fl_Osc_Input* o - { Fl_Osc_Input* o = new Fl_Osc_Input(5, 125, 385, 90, "Comments"); - o->type(4); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)124); - o->selection_color(FL_SELECTION_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(0); - o->labelsize(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Comments1); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->when(FL_WHEN_RELEASE); - o->maximum_size(MAX_INFO_TEXT_SIZE); - o->init("info.Pcomments"); - } // Fl_Osc_Input* o - { Fl_Osc_Choice* o = new Fl_Osc_Choice(5, 25, 155, 20, "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(1); - o->labelsize(11); - o->labelcolor(FL_FOREGROUND_COLOR); - o->textsize(10); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->when(FL_WHEN_RELEASE); - o->menu(menu_Type); - o->init("info.Ptype"); - } // Fl_Osc_Choice* o - o->end(); - } // Fl_Group* o - { Fl_Button* o = new Fl_Button(150, 335, 95, 25, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close3); - } // Fl_Button* o - instrumenteditwindow->end(); - } // Fl_Osc_Window* instrumenteditwindow - return instrumenteditwindow; -} - -PartUI::PartUI(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) { - adnoteui=NULL; - subnoteui=NULL; - padnoteui=NULL; - lastkititem=-1; -} - -void PartUI::init(std::string part_path_, int npart_,BankUI *bankui_, std::string loc_, Fl_Osc_Interface *osc_) { - assert(osc_); - assert(!loc_.empty()); - - bankui=bankui_; - part_path = part_path_; - base = part_path; - npart=npart_; - ninseff=0; - osc=osc_; - loc=loc_; - - make_window(); - #ifdef NTK_GUI - adsynenabledcheck->selection_color(55); - subsynenabledcheck->selection_color(55); - padsynenabledcheck->selection_color(55); - #endif - partgroup->position(this->parent()->x()+2,this->parent()->y()+2); - partgroup->show(); - end(); - - - //if (config.ui.showinstrumentinfo!=0) instrumenteditwindow->show(); -} - -int PartUI::cleanuplastkit(int kititem) { - if (kititem==lastkititem) - return 0; - delete adnoteui; - delete subnoteui; - delete padnoteui; - adnoteui=NULL;subnoteui=NULL;padnoteui=NULL; - lastkititem=kititem; - - if(kititem>=NUM_KIT_ITEMS) return 1;//bad kit item - if(kititem<0) return 1; - return 0; -} - -void PartUI::showparameters(int kititem,int engine) { - if (engine==-1){//this is used if I want to clear the engine from the part - //if (kititem==lastkititem) kititem=-1; - //else kititem=lastkititem; - delete adnoteui; - delete subnoteui; - delete padnoteui; - adnoteui=NULL;subnoteui=NULL;padnoteui=NULL; - return; - } - - if (cleanuplastkit(kititem)) - return; - - if(!adnoteui && engine==0)//adsynenabledcheck->value()) - adnoteui=new ADnoteUI(loc+"kit"+to_s(kititem)+"/adpars/", osc); - - if(!subnoteui && engine==1)//subsynenabledcheck->value()) - subnoteui=new SUBnoteUI(osc, loc+"kit"+to_s(kititem)+"/subpars/"); - - if(!padnoteui && engine==2)//padsynenabledcheck->value()) - padnoteui=new PADnoteUI(loc+"kit"+to_s(kititem)+"/padpars/", osc); - - if (engine==0&&adnoteui) adnoteui->ADnoteGlobalParameters->show(); - if (engine==1&&subnoteui) subnoteui->SUBparameters->show(); - if (engine==2&&padnoteui) padnoteui->padnotewindow->show(); -} - -void PartUI::showvoiceparams(int kititem, bool voicelist) { - if (cleanuplastkit(kititem)) - return; - if(adnoteui || - (adnoteui=new ADnoteUI(loc+"kit"+to_s(kititem)+"/adpars/", osc))) { - if(voicelist) - adnoteui->ADnoteVoiceList->show(); - else { - if (adnoteui->advoice->mod_type->value() == 0) - adnoteui->advoice->voiceFMparametersgroup->deactivate(); - else - adnoteui->advoice->voiceFMparametersgroup->activate(); - adnoteui->ADnoteVoice->show(); - }} -} - -PartUI::~PartUI() { - delete adnoteui; - delete subnoteui; - delete padnoteui; - - partgroup->hide(); - //delete(partgroup); - - ctlwindow->hide(); - delete(ctlwindow); - - partfx->hide(); - delete(partfx); - - instrumentkitlist->hide(); - delete(instrumentkitlist); - - instrumenteditwindow->hide(); - delete(instrumenteditwindow); -} - -void PartUI::rebase(std::string new_loc) { - loc = new_loc; - partgroupui->rebase(new_loc); - ctlwindow->rebase(new_loc+"ctl/"); - partfx->rebase(new_loc); - instrumentkitlist->rebase(new_loc); - instrumenteditwindow->rebase(new_loc); - partenablebutton->rebase(new_loc); - int next_part = 0; - const char *tmp = new_loc.c_str(); - while(*tmp && !isdigit(*tmp)) tmp++; - next_part = atoi(tmp); - for (int i=0;irebase(next_part); -} diff --git a/zynaddsubfx/UI/PartUI.h b/zynaddsubfx/UI/PartUI.h deleted file mode 100644 index 02cbf4a..0000000 --- a/zynaddsubfx/UI/PartUI.h +++ /dev/null @@ -1,274 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef PartUI_h -#define PartUI_h -#include -#include -#include -#include -#include -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Input.H" -#include "PartNameButton.h" -#include "EffUI.h" -#include "BankUI.h" -#include "ADnoteUI.h" -#include "SUBnoteUI.h" -#include "PADnoteUI.h" -#include "../Misc/Config.h" -#include "../Misc/Master.h" -#include "../Misc/Part.h" - -class PartSysEffSend : public Fl_Group { - Fl_Group* make_window(); - Fl_Group *syseffsend; -public: - Fl_Osc_Dial *widget; - PartSysEffSend(int x,int y, int w, int h, const char *label=0); - void init(int npart_,int neff_); - void rebase(int part); - ~PartSysEffSend(); -private: - int neff; - int npart; -}; -#include - -class PartKitItem : public Fl_Osc_Group { - Fl_Osc_Group* make_window(); - Fl_Osc_Group *partkititem; - Fl_Osc_Group *partkititemgroup; -public: - Fl_Osc_Counter *minkcounter; -private: - void cb_m_i(Fl_Osc_Button*, void*); - static void cb_m(Fl_Osc_Button*, void*); - void cb_M_i(Fl_Osc_Button*, void*); - static void cb_M(Fl_Osc_Button*, void*); - void cb_R_i(Fl_Button*, void*); - static void cb_R(Fl_Button*, void*); -public: - Fl_Button *adeditbutton; -private: - void cb_adeditbutton_i(Fl_Button*, void*); - static void cb_adeditbutton(Fl_Button*, void*); -public: - Fl_Button *subeditbutton; -private: - void cb_subeditbutton_i(Fl_Button*, void*); - static void cb_subeditbutton(Fl_Button*, void*); -public: - Fl_Osc_Check *mutedcheck; - Fl_Osc_Counter *maxkcounter; - Fl_Osc_Input *labelbutton; -private: - void cb_labelbutton_i(Fl_Osc_Input*, void*); - static void cb_labelbutton(Fl_Osc_Input*, void*); - Fl_Osc_Check *adcheck; - void cb_adcheck_i(Fl_Osc_Check*, void*); - static void cb_adcheck(Fl_Osc_Check*, void*); - Fl_Osc_Check *subcheck; - void cb_subcheck_i(Fl_Osc_Check*, void*); - static void cb_subcheck(Fl_Osc_Check*, void*); -public: - Fl_Osc_Choice *sendtoeffect; - Fl_Button *padeditbutton; -private: - void cb_padeditbutton_i(Fl_Button*, void*); - static void cb_padeditbutton(Fl_Button*, void*); - Fl_Osc_Check *padcheck; - void cb_padcheck_i(Fl_Osc_Check*, void*); - static void cb_padcheck(Fl_Osc_Check*, void*); - Fl_Osc_Check *enabledcheck; - void cb_enabledcheck_i(Fl_Osc_Check*, void*); - static void cb_enabledcheck(Fl_Osc_Check*, void*); -public: - PartKitItem(int x,int y, int w, int h, const char *label=0); - void refresh(); - void init(int n_,class PartUI *partui_); - ~PartKitItem(); -private: - int n; - char label[10]; - class PartUI *partui; -}; -#include -#include -#include -#include -#include -#include - -class PartUI : public Fl_Osc_Group { - Fl_Group* make_window(); - Fl_Group *partgroup; -public: - Fl_Osc_Group *partgroupui; -private: - void cb_Grand_i(PartNameButton*, void*); - static void cb_Grand(PartNameButton*, void*); -public: - Fl_Osc_Counter *minkcounter; -private: - void cb_minkcounter_i(Fl_Osc_Counter*, void*); - static void cb_minkcounter(Fl_Osc_Counter*, void*); -public: - Fl_Osc_Counter *maxkcounter; -private: - void cb_maxkcounter_i(Fl_Osc_Counter*, void*); - static void cb_maxkcounter(Fl_Osc_Counter*, void*); - void cb_Controllers_i(Fl_Button*, void*); - static void cb_Controllers(Fl_Button*, void*); - void cb_Edit_i(Fl_Button*, void*); - static void cb_Edit(Fl_Button*, void*); - void cb_m1_i(Fl_Osc_Button*, void*); - static void cb_m1(Fl_Osc_Button*, void*); - void cb_M1_i(Fl_Osc_Button*, void*); - static void cb_M1(Fl_Osc_Button*, void*); - void cb_R1_i(Fl_Osc_Button*, void*); - static void cb_R1(Fl_Osc_Button*, void*); -public: - Fl_Osc_Counter *keylimitlist; - Fl_Osc_Check *partenablebutton; -private: - void cb_partenablebutton_i(Fl_Osc_Check*, void*); - static void cb_partenablebutton(Fl_Osc_Check*, void*); - Fl_Osc_Window *ctlwindow; -public: - Fl_Check_Button *benddir; -private: - void cb_benddir_i(Fl_Check_Button*, void*); - static void cb_benddir(Fl_Check_Button*, void*); -public: - Fl_Osc_Counter *bendrng; - Fl_Osc_Check *bendsplt; -private: - void cb_bendsplt_i(Fl_Osc_Check*, void*); - static void cb_bendsplt(Fl_Osc_Check*, void*); - void cb_Sustain_i(Fl_Osc_Check*, void*); - static void cb_Sustain(Fl_Osc_Check*, void*); - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_Reset_i(Fl_Osc_Button*, void*); - static void cb_Reset(Fl_Osc_Button*, void*); -public: - Fl_Osc_Dial *propta; - Fl_Osc_Dial *proptb; -private: - void cb_Proprt_i(Fl_Osc_Check*, void*); - static void cb_Proprt(Fl_Osc_Check*, void*); - Fl_Osc_Window *partfx; -public: - Fl_Counter *inseffnocounter; -private: - void cb_inseffnocounter_i(Fl_Counter*, void*); - static void cb_inseffnocounter(Fl_Counter*, void*); -public: - Fl_Osc_Choice *insefftype; -private: - void cb_insefftype_i(Fl_Osc_Choice*, void*); - static void cb_insefftype(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_insefftype[]; -public: - Fl_Osc_Group *inseffectuigroup; - EffUI *inseffectui; -private: - void cb_Close1_i(Fl_Button*, void*); - static void cb_Close1(Fl_Button*, void*); -public: - Fl_Osc_Choice *sendtochoice; -private: - void cb_sendtochoice_i(Fl_Osc_Choice*, void*); - static void cb_sendtochoice(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_sendtochoice[]; -public: - Fl_Osc_Check *bypasseff; -private: - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Osc_Window *instrumentkitlist; -private: - void cb_Close2_i(Fl_Button*, void*); - static void cb_Close2(Fl_Button*, void*); -public: - Fl_Scroll *kitlist; -private: - void cb_Mode_i(Fl_Osc_Choice*, void*); - static void cb_Mode(Fl_Osc_Choice*, void*); - static Fl_Menu_Item menu_Mode[]; - void cb_Comments_i(Fl_Button*, void*); - static void cb_Comments(Fl_Button*, void*); - void cb_Effects_i(Fl_Button*, void*); - static void cb_Effects(Fl_Button*, void*); -public: - Fl_Osc_Window *instrumenteditwindow; - Fl_Osc_Group *editgroup; - Fl_Button *padeditbutton; -private: - void cb_padeditbutton1_i(Fl_Button*, void*); - static void cb_padeditbutton1(Fl_Button*, void*); -public: - Fl_Osc_Check *padsynenabledcheck; -private: - void cb_padsynenabledcheck_i(Fl_Osc_Check*, void*); - static void cb_padsynenabledcheck(Fl_Osc_Check*, void*); -public: - Fl_Osc_Check *adsynenabledcheck; -private: - void cb_adsynenabledcheck_i(Fl_Osc_Check*, void*); - static void cb_adsynenabledcheck(Fl_Osc_Check*, void*); -public: - Fl_Button *adeditbutton; -private: - void cb_adeditbutton1_i(Fl_Button*, void*); - static void cb_adeditbutton1(Fl_Button*, void*); -public: - Fl_Osc_Check *subsynenabledcheck; -private: - void cb_subsynenabledcheck_i(Fl_Osc_Check*, void*); - static void cb_subsynenabledcheck(Fl_Osc_Check*, void*); -public: - Fl_Button *subeditbutton; -private: - void cb_subeditbutton1_i(Fl_Button*, void*); - static void cb_subeditbutton1(Fl_Button*, void*); - void cb_Kit_i(Fl_Button*, void*); - static void cb_Kit(Fl_Button*, void*); - void cb_Effects1_i(Fl_Button*, void*); - static void cb_Effects1(Fl_Button*, void*); - void cb_Author_i(Fl_Osc_Input*, void*); - static void cb_Author(Fl_Osc_Input*, void*); - void cb_Comments1_i(Fl_Osc_Input*, void*); - static void cb_Comments1(Fl_Osc_Input*, void*); - static Fl_Menu_Item menu_Type[]; - void cb_Close3_i(Fl_Button*, void*); - static void cb_Close3(Fl_Button*, void*); -public: - PartUI(int x,int y, int w, int h, const char *label=0); - void init(std::string part_path_, int npart_,BankUI *bankui_, std::string loc_, Fl_Osc_Interface *osc_); - int cleanuplastkit(int kititem); - void showparameters(int kititem,int engine); - void showvoiceparams(int kititem, bool voicelist); - ~PartUI(); -private: - BankUI *bankui; -public: - ADnoteUI *adnoteui; -private: - SUBnoteUI *subnoteui; - PADnoteUI *padnoteui; - PartSysEffSend *psyef[NUM_SYS_EFX]; - int npart; - int ninseff; - int lastkititem; - PartKitItem *partkititem[NUM_KIT_ITEMS]; - std::string part_path; - std::string loc; - Fl_Osc_Interface *osc; -public: - void rebase(std::string new_loc); -}; -#endif diff --git a/zynaddsubfx/UI/PresetsUI.cpp b/zynaddsubfx/UI/PresetsUI.cpp deleted file mode 100644 index 4e9155b..0000000 --- a/zynaddsubfx/UI/PresetsUI.cpp +++ /dev/null @@ -1,331 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/PresetsUI.h" - -void PresetsUI_::refresh() { - ; -} - -PresetsUI_::~PresetsUI_() { - ; -} - -void PresetsUI::cb_copybrowse_i(Fl_Browser* o, void*) { - int val=o->value(); - if (val!=0){ - presetname->cut(0,presetname->maximum_size()); - presetname->insert(o->text(val)); - }; -} -void PresetsUI::cb_copybrowse(Fl_Browser* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_copybrowse_i(o,v); -} - -void PresetsUI::cb_copypbutton_i(Fl_Button*, void*) { - const char *tmp=presetname->value(); - if (tmp!=NULL) { - if (strlen(tmp)>0){ - if(arraymode) - osc->write("/presets/copy", "ssi", url.c_str(), tmp, arrayidx); - else - osc->write("/presets/copy", "ss", url.c_str(), tmp); - copywin->hide(); - }; - }; -} -void PresetsUI::cb_copypbutton(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_copypbutton_i(o,v); -} - -void PresetsUI::cb_copybutton_i(Fl_Button*, void*) { - if(arraymode) - osc->write("/presets/copy", "si", url.c_str(), arrayidx); - else - osc->write("/presets/copy", "s", url.c_str()); - copywin->hide(); -} -void PresetsUI::cb_copybutton(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_copybutton_i(o,v); -} - -void PresetsUI::cb_Cancel_i(Fl_Button*, void*) { - copywin->hide(); -} -void PresetsUI::cb_Cancel(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_Cancel_i(o,v); -} - -void PresetsUI::cb_presetname_i(Fl_Input* o, void*) { - const char *tmp=o->value(); - if (tmp==NULL) tmp=""; - if (strlen(tmp)>0) { - copybutton->deactivate(); - copypbutton->activate(); - } else { - copybutton->activate(); - copypbutton->deactivate(); - }; -} -void PresetsUI::cb_presetname(Fl_Input* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_presetname_i(o,v); -} - -void PresetsUI::cb_pastebrowse_i(Fl_Browser* o, void*) { - if (o->value()==0) { - pastepbutton->deactivate(); - deletepbutton->deactivate(); - }else{ - pastepbutton->activate(); - deletepbutton->activate(); - }; -} -void PresetsUI::cb_pastebrowse(Fl_Browser* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_pastebrowse_i(o,v); -} - -void PresetsUI::cb_pastepbutton_i(Fl_Button*, void*) { - int n=pastebrowse->value()-1; - if (n>=0){ - if(arraymode) - osc->write("/presets/paste", "ssi", url.c_str(), files[n].c_str(), arrayidx); - else - osc->write("/presets/paste", "ss", url.c_str(), files[n].c_str()); - } - pastewin->hide(); - pui->refresh(); -} -void PresetsUI::cb_pastepbutton(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_pastepbutton_i(o,v); -} - -void PresetsUI::cb_pastebutton_i(Fl_Button*, void*) { - if(arraymode) - osc->write("/presets/paste", "si", url.c_str(), arrayidx); - else - osc->write("/presets/paste", "s", url.c_str()); - pastewin->hide(); - pui->refresh(); -} -void PresetsUI::cb_pastebutton(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_pastebutton_i(o,v); -} - -void PresetsUI::cb_Cancel1_i(Fl_Button*, void*) { - pastewin->hide(); -} -void PresetsUI::cb_Cancel1(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_Cancel1_i(o,v); -} - -void PresetsUI::cb_deletepbutton_i(Fl_Button*, void*) { - int n=pastebrowse->value()-1; - - if (n>=0) { - osc->write("/presets/delete", "s", files[n].c_str()); - } - rescan(url); -} -void PresetsUI::cb_deletepbutton(Fl_Button* o, void* v) { - ((PresetsUI*)(o->parent()->user_data()))->cb_deletepbutton_i(o,v); -} - -PresetsUI::PresetsUI(Fl_Osc_Interface *osc_):listmodel(osc_), datamodel(osc_) { - osc = osc_; - arraymode = false; - make_window(); - listmodel.callback = [this](Osc_ListModel::list_t list) { - copybrowse->clear(); - pastebrowse->clear(); - files.clear(); - printf("adding entries<%s>...\n", datamodel.value.c_str()); - if(datamodel.value.empty()) - return; - for(unsigned i=0;i(list[i]); - std::string comp = datamodel.value.substr(1); - if(arraymode) - comp += "n"; - bool same = comp == type; - same |= strstr(type.c_str(), "Plfo") && strstr(comp.c_str(), "Plfo"); - if(!same) - continue; - files.push_back(std::get<0>(list[i])); - copybrowse->add(std::get<1>(list[i]).c_str()); - pastebrowse->add(std::get<1>(list[i]).c_str()); - }}; - datamodel.callback = [this](Osc_DataModel::value_t val) { - printf("Value = %s\n", val.c_str()); - copytypetext->label(val.c_str()); - pastetypetext->label(val.c_str()); - listmodel.doUpdate("/presets/scan-for-presets"); - }; -} - -PresetsUI::~PresetsUI() { - copywin->hide();delete(copywin); - pastewin->hide();delete(pastewin); -} - -Fl_Double_Window* PresetsUI::make_window() { - { copywin = new Fl_Double_Window(265, 430, "Copy to Clipboard/Preset"); - copywin->box(FL_THIN_UP_BOX); - copywin->color((Fl_Color)238); - copywin->user_data((void*)(this)); - { copybrowse = new Fl_Browser(10, 25, 245, 320); - copybrowse->type(1); - copybrowse->callback((Fl_Callback*)cb_copybrowse); - } // Fl_Browser* copybrowse - { copypbutton = new Fl_Button(145, 355, 110, 20, "Copy to Preset"); - copypbutton->box(FL_THIN_UP_BOX); - copypbutton->callback((Fl_Callback*)cb_copypbutton); - } // Fl_Button* copypbutton - { copybutton = new Fl_Button(25, 385, 90, 35, "Copy to Clipboard"); - copybutton->box(FL_THIN_UP_BOX); - copybutton->callback((Fl_Callback*)cb_copybutton); - copybutton->align(Fl_Align(192)); - } // Fl_Button* copybutton - { Fl_Button* o = new Fl_Button(160, 385, 80, 35, "Cancel"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Cancel); - o->align(Fl_Align(192)); - } // Fl_Button* o - { Fl_Box* o = new Fl_Box(10, 5, 40, 15, "Type:"); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { copytypetext = new Fl_Box(50, 5, 205, 15); - copytypetext->box(FL_FLAT_BOX); - copytypetext->color((Fl_Color)238); - copytypetext->labelfont(1); - copytypetext->labelsize(11); - copytypetext->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - } // Fl_Box* copytypetext - { presetname = new Fl_Input(10, 355, 130, 20); - presetname->callback((Fl_Callback*)cb_presetname); - presetname->when(FL_WHEN_CHANGED); - } // Fl_Input* presetname - copywin->set_modal(); - copywin->end(); - } // Fl_Double_Window* copywin - { pastewin = new Fl_Double_Window(265, 430, "Paste from Clipboard/Preset"); - pastewin->box(FL_THIN_UP_BOX); - pastewin->color((Fl_Color)238); - pastewin->user_data((void*)(this)); - { pastebrowse = new Fl_Browser(10, 25, 245, 320); - pastebrowse->type(2); - pastebrowse->callback((Fl_Callback*)cb_pastebrowse); - } // Fl_Browser* pastebrowse - { pastepbutton = new Fl_Button(10, 355, 160, 20, "Paste from Preset"); - pastepbutton->box(FL_THIN_UP_BOX); - pastepbutton->callback((Fl_Callback*)cb_pastepbutton); - } // Fl_Button* pastepbutton - { pastebutton = new Fl_Button(25, 385, 90, 35, "Paste from Clipboard"); - pastebutton->box(FL_THIN_UP_BOX); - pastebutton->callback((Fl_Callback*)cb_pastebutton); - pastebutton->align(Fl_Align(192)); - } // Fl_Button* pastebutton - { Fl_Button* o = new Fl_Button(160, 385, 80, 35, "Cancel"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Cancel1); - o->align(Fl_Align(192)); - } // Fl_Button* o - { pastetypetext = new Fl_Box(55, 5, 200, 15); - pastetypetext->box(FL_FLAT_BOX); - pastetypetext->color((Fl_Color)238); - pastetypetext->labelfont(1); - pastetypetext->labelsize(11); - pastetypetext->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - } // Fl_Box* pastetypetext - { Fl_Box* o = new Fl_Box(15, 5, 40, 15, "Type:"); - o->labelsize(11); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - } // Fl_Box* o - { deletepbutton = new Fl_Button(180, 355, 75, 20, "Delete"); - deletepbutton->box(FL_THIN_UP_BOX); - deletepbutton->callback((Fl_Callback*)cb_deletepbutton); - } // Fl_Button* deletepbutton - pastewin->set_modal(); - pastewin->end(); - } // Fl_Double_Window* pastewin - return pastewin; -} - -void PresetsUI::paste(std::string url_, PresetsUI_ *pui, int idx) { - url = url_; - this->pui=pui; - bool but=(Fl::event_button()!=FL_LEFT_MOUSE); - pastepbutton->deactivate(); - deletepbutton->deactivate(); - arraymode = true; - arrayidx = idx; - - if(but) { - osc->write("/presets/paste", "si", url.c_str(), idx); - pui->refresh(); - } else { - rescan(url_); - pastewin->show(); - } -} - -void PresetsUI::copy(std::string url_, int idx) { - copybutton->activate(); - copypbutton->deactivate(); - arraymode = true; - arrayidx = idx; - url = url_; - this->pui=NULL; - bool but=(Fl::event_button()!=FL_LEFT_MOUSE); - presetname->cut(0,presetname->maximum_size()); - - if(but) { - osc->write("/presets/copy", "si", url_.c_str(), idx); - } else { - rescan(url_); - copywin->show(); - } -} - -void PresetsUI::copy(std::string url_) { - copybutton->activate(); - copypbutton->deactivate(); - arraymode = false; - - url = url_; - this->pui=NULL; - bool but=(Fl::event_button()!=FL_LEFT_MOUSE); - presetname->cut(0,presetname->maximum_size()); - - if(but) { - osc->write("/presets/copy", "s", url_.c_str()); - } else { - rescan(url_); - copywin->show(); - }; -} - -void PresetsUI::paste(std::string url_, PresetsUI_ *pui) { - url = url_; - this->pui=pui; - bool but=(Fl::event_button()!=FL_LEFT_MOUSE); - pastepbutton->deactivate(); - deletepbutton->deactivate(); - arraymode = false; - - if(but) { - osc->write("/presets/paste", "s", url.c_str()); - pui->refresh(); - } else { - rescan(url_); - pastewin->show(); - }; -} - -void PresetsUI::rescan(std::string url) { - copybrowse->clear(); - pastebrowse->clear(); - - printf("Datamodel Update..."); - datamodel.doUpdate(url+"preset-type"); -} -PresetsUI *presetsui; diff --git a/zynaddsubfx/UI/PresetsUI.h b/zynaddsubfx/UI/PresetsUI.h deleted file mode 100644 index 816a59a..0000000 --- a/zynaddsubfx/UI/PresetsUI.h +++ /dev/null @@ -1,92 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef PresetsUI_h -#define PresetsUI_h -#include -#include -#include -#include -#include -#include "Osc_ListModel.h" -#include "Osc_DataModel.h" - -class PresetsUI_ { -public: - virtual void refresh(); - virtual ~PresetsUI_(); -}; -#include -#include -#include -#include -#include - -class PresetsUI { -public: - PresetsUI(Fl_Osc_Interface *osc_); - ~PresetsUI(); - Fl_Double_Window* make_window(); - Fl_Double_Window *copywin; - Fl_Browser *copybrowse; -private: - void cb_copybrowse_i(Fl_Browser*, void*); - static void cb_copybrowse(Fl_Browser*, void*); -public: - Fl_Button *copypbutton; -private: - void cb_copypbutton_i(Fl_Button*, void*); - static void cb_copypbutton(Fl_Button*, void*); -public: - Fl_Button *copybutton; -private: - void cb_copybutton_i(Fl_Button*, void*); - static void cb_copybutton(Fl_Button*, void*); - void cb_Cancel_i(Fl_Button*, void*); - static void cb_Cancel(Fl_Button*, void*); -public: - Fl_Box *copytypetext; - Fl_Input *presetname; -private: - void cb_presetname_i(Fl_Input*, void*); - static void cb_presetname(Fl_Input*, void*); -public: - Fl_Double_Window *pastewin; - Fl_Browser *pastebrowse; -private: - void cb_pastebrowse_i(Fl_Browser*, void*); - static void cb_pastebrowse(Fl_Browser*, void*); -public: - Fl_Button *pastepbutton; -private: - void cb_pastepbutton_i(Fl_Button*, void*); - static void cb_pastepbutton(Fl_Button*, void*); -public: - Fl_Button *pastebutton; -private: - void cb_pastebutton_i(Fl_Button*, void*); - static void cb_pastebutton(Fl_Button*, void*); - void cb_Cancel1_i(Fl_Button*, void*); - static void cb_Cancel1(Fl_Button*, void*); -public: - Fl_Box *pastetypetext; - Fl_Button *deletepbutton; -private: - void cb_deletepbutton_i(Fl_Button*, void*); - static void cb_deletepbutton(Fl_Button*, void*); -public: - void paste(std::string url_, PresetsUI_ *pui, int idx); - void copy(std::string url_, int idx); - void copy(std::string url_); - void paste(std::string url_, PresetsUI_ *pui); - void rescan(std::string url); - std::string url; - Fl_Osc_Interface *osc; - Osc_ListModel listmodel; - Osc_DataModel datamodel; - std::vector files; - bool arraymode; - int arrayidx; - PresetsUI_ *pui; -}; -extern PresetsUI *presetsui; -#endif diff --git a/zynaddsubfx/UI/ResonanceUI.cpp b/zynaddsubfx/UI/ResonanceUI.cpp deleted file mode 100644 index 61c03e5..0000000 --- a/zynaddsubfx/UI/ResonanceUI.cpp +++ /dev/null @@ -1,461 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/ResonanceUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later -#include -#include -#include -#include - -void ResonanceUI::cb_Close_i(Fl_Button*, void*) { - resonancewindow->hide(); -} -void ResonanceUI::cb_Close(Fl_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void ResonanceUI::cb_Zero_i(Fl_Osc_Button* o, void*) { - o->oscWrite("zero"); - redrawPADnoteApply(); -} -void ResonanceUI::cb_Zero(Fl_Osc_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_Zero_i(o,v); -} - -void ResonanceUI::cb_Smooth_i(Fl_Osc_Button* o, void*) { - o->oscWrite("smooth"); -redrawPADnoteApply(); -} -void ResonanceUI::cb_Smooth(Fl_Osc_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_Smooth_i(o,v); -} - -void ResonanceUI::cb_maxdb_i(Fl_Osc_Slider* o, void*) { - maxdbvo->value(o->value()); -redrawPADnoteApply(); -} -void ResonanceUI::cb_maxdb(Fl_Osc_Slider* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_maxdb_i(o,v); -} - -void ResonanceUI::cb_centerfreqvo_i(Fl_Osc_Output* o, void*) { - o->value(o->newvalue()/1000.0); -} -void ResonanceUI::cb_centerfreqvo(Fl_Osc_Output* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_centerfreqvo_i(o,v); -} - -void ResonanceUI::cb_octavesfreqvo_i(Fl_Osc_Output* o, void*) { - o->value(o->newvalue()); -} -void ResonanceUI::cb_octavesfreqvo(Fl_Osc_Output* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_octavesfreqvo_i(o,v); -} - -void ResonanceUI::cb_RND2_i(Fl_Osc_Button* o, void*) { - o->oscWrite("randomize", "i", 1); -redrawPADnoteApply(); -} -void ResonanceUI::cb_RND2(Fl_Osc_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_RND2_i(o,v); -} - -void ResonanceUI::cb_RND1_i(Fl_Osc_Button* o, void*) { - o->oscWrite("randomize", "i", 0); -redrawPADnoteApply(); -} -void ResonanceUI::cb_RND1(Fl_Osc_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_RND1_i(o,v); -} - -void ResonanceUI::cb_RND3_i(Fl_Osc_Button* o, void*) { - o->oscWrite("randomize", "i", 2); -redrawPADnoteApply(); -} -void ResonanceUI::cb_RND3(Fl_Osc_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_RND3_i(o,v); -} - -void ResonanceUI::cb_InterpP_i(Fl_Osc_Button* o, void*) { - int type; - if (Fl::event_button()==FL_LEFT_MOUSE) type=0; - else type=1; - o->oscWrite("interpolatepeaks", "i", type); - redrawPADnoteApply(); -} -void ResonanceUI::cb_InterpP(Fl_Osc_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_InterpP_i(o,v); -} - -void ResonanceUI::cb_centerfreq_i(Fl_Osc_Slider*, void*) { - centerfreqvo->do_callback(); -redrawPADnoteApply(); -} -void ResonanceUI::cb_centerfreq(Fl_Osc_Slider* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_centerfreq_i(o,v); -} - -void ResonanceUI::cb_octavesfreq_i(Fl_Osc_Slider*, void*) { - octavesfreqvo->do_callback(); -redrawPADnoteApply(); -} -void ResonanceUI::cb_octavesfreq(Fl_Osc_Slider* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_octavesfreq_i(o,v); -} - -void ResonanceUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy(resonancewindow->loc()); -} -void ResonanceUI::cb_C(Fl_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_C_i(o,v); -} - -void ResonanceUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste(resonancewindow->loc(),this); -} -void ResonanceUI::cb_P(Fl_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_P_i(o,v); -} - -void ResonanceUI::cb_applybutton_i(Fl_Button*, void*) { - applybutton->color(FL_GRAY); -applybutton->redraw(); -if (cbapplywidget!=NULL) { - cbapplywidget->do_callback(); - cbapplywidget->color(FL_GRAY); - cbapplywidget->redraw(); -}; -} -void ResonanceUI::cb_applybutton(Fl_Button* o, void* v) { - ((ResonanceUI*)(o->parent()->user_data()))->cb_applybutton_i(o,v); -} - -Fl_Osc_Window* ResonanceUI::make_window(Fl_Osc_Interface *osc, std::string loc) { - { resonancewindow = new Fl_Osc_Window(780, 305, "Resonance"); - resonancewindow->box(FL_FLAT_BOX); - resonancewindow->color(FL_BACKGROUND_COLOR); - resonancewindow->selection_color(FL_BACKGROUND_COLOR); - resonancewindow->labeltype(FL_NO_LABEL); - resonancewindow->labelfont(0); - resonancewindow->labelsize(14); - resonancewindow->labelcolor(FL_FOREGROUND_COLOR); - resonancewindow->user_data((void*)(this)); - resonancewindow->align(Fl_Align(FL_ALIGN_TOP)); - resonancewindow->when(FL_WHEN_RELEASE); - { khzvalue = new Fl_Value_Output(415, 264, 45, 18, "kHz"); - khzvalue->labelsize(12); - khzvalue->minimum(0.001); - khzvalue->maximum(48); - khzvalue->step(0.01); - khzvalue->textfont(1); - khzvalue->textsize(12); - khzvalue->align(Fl_Align(FL_ALIGN_RIGHT)); - //this widget must be before the calling widgets - resonancewindow->init(osc,loc); - } // Fl_Value_Output* khzvalue - { dbvalue = new Fl_Value_Output(415, 282, 45, 18, "dB"); - dbvalue->labelsize(12); - dbvalue->minimum(-150); - dbvalue->maximum(150); - dbvalue->step(0.1); - dbvalue->textfont(1); - dbvalue->textsize(12); - dbvalue->align(Fl_Align(FL_ALIGN_RIGHT)); - //this widget must be before the calling widgets - } // Fl_Value_Output* dbvalue - { Fl_Button* o = new Fl_Button(690, 283, 84, 17, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(491, 264, 66, 15, "Zero"); - o->tooltip("Clear the resonance function"); - o->box(FL_THIN_UP_BOX); - o->color(FL_BACKGROUND_COLOR); - o->selection_color(FL_BACKGROUND_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(1); - o->labelsize(12); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Zero); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(491, 282, 66, 18, "Smooth"); - o->tooltip("Smooth the resonance function"); - o->box(FL_THIN_UP_BOX); - o->color(FL_BACKGROUND_COLOR); - o->selection_color(FL_BACKGROUND_COLOR); - o->labeltype(FL_NORMAL_LABEL); - o->labelfont(1); - o->labelsize(12); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Smooth); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Check* o = enabled = new Fl_Osc_Check(6, 270, 78, 27, "Enable"); - enabled->box(FL_THIN_UP_BOX); - enabled->down_box(FL_DOWN_BOX); - enabled->color(FL_BACKGROUND_COLOR); - enabled->selection_color(FL_FOREGROUND_COLOR); - enabled->labeltype(FL_NORMAL_LABEL); - enabled->labelfont(0); - enabled->labelsize(14); - enabled->labelcolor(FL_FOREGROUND_COLOR); - enabled->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - enabled->when(FL_WHEN_RELEASE); - o->init("Penabled"); - } // Fl_Osc_Check* enabled - { Fl_Osc_Slider* o = maxdb = new Fl_Osc_Slider(90, 285, 84, 15); - maxdb->type(5); - maxdb->box(FL_FLAT_BOX); - maxdb->color(FL_BACKGROUND_COLOR); - maxdb->selection_color(FL_BACKGROUND_COLOR); - maxdb->labeltype(FL_NORMAL_LABEL); - maxdb->labelfont(0); - maxdb->labelsize(14); - maxdb->labelcolor(FL_FOREGROUND_COLOR); - maxdb->minimum(1); - maxdb->maximum(90); - maxdb->step(1); - maxdb->value(30); - maxdb->callback((Fl_Callback*)cb_maxdb); - maxdb->align(Fl_Align(FL_ALIGN_BOTTOM)); - maxdb->when(FL_WHEN_CHANGED); - o->init("PmaxdB", 'i'); o->reset_value = 30; - } // Fl_Osc_Slider* maxdb - { maxdbvo = new Fl_Value_Output(126, 264, 24, 18, "Max."); - maxdbvo->tooltip("The Maximum amplitude (dB)"); - maxdbvo->labelsize(12); - maxdbvo->minimum(1); - maxdbvo->maximum(127); - maxdbvo->step(1); - maxdbvo->value(30); - maxdbvo->textsize(12); - } // Fl_Value_Output* maxdbvo - { new Fl_Box(150, 264, 24, 18, "dB"); - } // Fl_Box* o - { Fl_Osc_Output* o = centerfreqvo = new Fl_Osc_Output(210, 264, 45, 18, "C.f."); - centerfreqvo->tooltip("Center Frequency (kHz)"); - centerfreqvo->box(FL_NO_BOX); - centerfreqvo->color(FL_BACKGROUND_COLOR); - centerfreqvo->selection_color(FL_BACKGROUND_COLOR); - centerfreqvo->labeltype(FL_NORMAL_LABEL); - centerfreqvo->labelfont(0); - centerfreqvo->labelsize(12); - centerfreqvo->labelcolor(FL_FOREGROUND_COLOR); - centerfreqvo->minimum(1); - centerfreqvo->maximum(10); - centerfreqvo->step(0.01); - centerfreqvo->value(1); - centerfreqvo->textfont(1); - centerfreqvo->textsize(12); - centerfreqvo->callback((Fl_Callback*)cb_centerfreqvo); - centerfreqvo->align(Fl_Align(FL_ALIGN_LEFT)); - centerfreqvo->when(3); - o->init("centerfreq"); - } // Fl_Osc_Output* centerfreqvo - { Fl_Osc_Output* o = octavesfreqvo = new Fl_Osc_Output(210, 282, 45, 18, "Oct."); - octavesfreqvo->tooltip("No. of octaves"); - octavesfreqvo->box(FL_NO_BOX); - octavesfreqvo->color(FL_BACKGROUND_COLOR); - octavesfreqvo->selection_color(FL_BACKGROUND_COLOR); - octavesfreqvo->labeltype(FL_NORMAL_LABEL); - octavesfreqvo->labelfont(0); - octavesfreqvo->labelsize(12); - octavesfreqvo->labelcolor(FL_FOREGROUND_COLOR); - octavesfreqvo->maximum(11); - octavesfreqvo->step(0.01); - octavesfreqvo->value(5); - octavesfreqvo->textfont(1); - octavesfreqvo->textsize(12); - octavesfreqvo->callback((Fl_Callback*)cb_octavesfreqvo); - octavesfreqvo->align(Fl_Align(FL_ALIGN_LEFT)); - octavesfreqvo->when(3); - o->init("octavesfreq"); - } // Fl_Osc_Output* octavesfreqvo - { Fl_Osc_Button* o = new Fl_Osc_Button(566, 276, 42, 12, "RND2"); - o->tooltip("Randomize the resonance function"); - o->box(FL_THIN_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_RND2); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(566, 264, 42, 12, "RND1"); - o->tooltip("Randomize the resonance function"); - o->box(FL_THIN_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_RND1); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Button* o = new Fl_Osc_Button(566, 288, 42, 12, "RND3"); - o->tooltip("Randomize the resonance function"); - o->box(FL_THIN_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_RND3); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Check* o = p1st = new Fl_Osc_Check(365, 285, 45, 15, "P.1st"); - p1st->tooltip("Protect the fundamental frequency (do not damp the first harmonic)"); - p1st->box(FL_NO_BOX); - p1st->down_box(FL_DOWN_BOX); - p1st->color(FL_BACKGROUND_COLOR); - p1st->selection_color(FL_FOREGROUND_COLOR); - p1st->labeltype(FL_NORMAL_LABEL); - p1st->labelfont(0); - p1st->labelsize(10); - p1st->labelcolor(FL_FOREGROUND_COLOR); - p1st->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - p1st->when(FL_WHEN_RELEASE); - o->init("Pprotectthefundamental"); - } // Fl_Osc_Check* p1st - { Fl_Osc_Button* o = new Fl_Osc_Button(365, 265, 46, 15, "InterpP"); - o->tooltip("Interpolate the peaks"); - o->box(FL_THIN_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_InterpP); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { Fl_Osc_Slider* o = centerfreq = new Fl_Osc_Slider(260, 268, 90, 14); - centerfreq->type(5); - centerfreq->box(FL_FLAT_BOX); - centerfreq->color(FL_BACKGROUND_COLOR); - centerfreq->selection_color(FL_BACKGROUND_COLOR); - centerfreq->labeltype(FL_NORMAL_LABEL); - centerfreq->labelfont(0); - centerfreq->labelsize(10); - centerfreq->labelcolor(FL_FOREGROUND_COLOR); - centerfreq->maximum(127); - centerfreq->step(1); - centerfreq->callback((Fl_Callback*)cb_centerfreq); - centerfreq->align(Fl_Align(FL_ALIGN_BOTTOM)); - centerfreq->when(FL_WHEN_CHANGED); - o->init("Pcenterfreq", 'i');o->reset_value=64; - } // Fl_Osc_Slider* centerfreq - { Fl_Osc_Slider* o = octavesfreq = new Fl_Osc_Slider(260, 286, 90, 14); - octavesfreq->type(5); - octavesfreq->box(FL_FLAT_BOX); - octavesfreq->color(FL_BACKGROUND_COLOR); - octavesfreq->selection_color(FL_BACKGROUND_COLOR); - octavesfreq->labeltype(FL_NORMAL_LABEL); - octavesfreq->labelfont(0); - octavesfreq->labelsize(10); - octavesfreq->labelcolor(FL_FOREGROUND_COLOR); - octavesfreq->maximum(127); - octavesfreq->step(1); - octavesfreq->callback((Fl_Callback*)cb_octavesfreq); - octavesfreq->align(Fl_Align(FL_ALIGN_BOTTOM)); - octavesfreq->when(FL_WHEN_CHANGED); - o->init("Poctavesfreq", 'i');o->reset_value=64; - } // Fl_Osc_Slider* octavesfreq - { Fl_Button* o = new Fl_Button(625, 275, 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(655, 275, 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 - { applybutton = new Fl_Button(690, 265, 85, 15, "Apply"); - applybutton->box(FL_THIN_UP_BOX); - applybutton->labelfont(1); - applybutton->labelsize(11); - applybutton->callback((Fl_Callback*)cb_applybutton); - } // Fl_Button* applybutton - { rg = new Fl_Resonance_Graph(6, 5, 768, 256); - rg->box(FL_BORDER_BOX); - rg->color(FL_BACKGROUND_COLOR); - rg->selection_color(FL_BACKGROUND_COLOR); - rg->labeltype(FL_NORMAL_LABEL); - rg->labelfont(0); - rg->labelsize(14); - rg->labelcolor(FL_FOREGROUND_COLOR); - rg->align(Fl_Align(FL_ALIGN_CENTER)); - rg->when(FL_WHEN_RELEASE); - } // Fl_Resonance_Graph* rg - resonancewindow->end(); - } // Fl_Osc_Window* resonancewindow - return resonancewindow; -} - -ResonanceUI::ResonanceUI(Fl_Osc_Interface *osc, std::string loc) { - assert(osc); - cbwidget=NULL; - cbapplywidget=NULL; - make_window(osc, loc); - rg->init(khzvalue,dbvalue); - applybutton->hide(); -} - -ResonanceUI::~ResonanceUI() { - resonancewindow->hide(); - delete resonancewindow; -} - -void ResonanceUI::redrawPADnoteApply() { - rg->update(); - if (cbwidget!=NULL) { - cbwidget->do_callback(); - applybutton->color(FL_RED); - applybutton->redraw(); - }; -} - -void ResonanceUI::setcbwidget(Fl_Widget *cbwidget,Fl_Widget *cbapplywidget) { - this->cbwidget=cbwidget; - this->cbapplywidget=cbapplywidget; - rg->setcbwidget(cbwidget,applybutton); - applybutton->show(); -} - -void ResonanceUI::refresh() { - redrawPADnoteApply(); - //TODO fix me when controls are relocatable - //enabled->value(respar->Penabled); - - //maxdb->value(respar->PmaxdB); - //maxdbvo->value(respar->PmaxdB); - // - //centerfreqvo->value(respar->getcenterfreq()/1000.0); - //octavesfreqvo->value(respar->getoctavesfreq()); - // - //centerfreq->value(respar->Pcenterfreq); - //octavesfreq->value(respar->Poctavesfreq); - // - //p1st->value(respar->Pprotectthefundamental); - - rg->update(); -} diff --git a/zynaddsubfx/UI/ResonanceUI.h b/zynaddsubfx/UI/ResonanceUI.h deleted file mode 100644 index 9d6e195..0000000 --- a/zynaddsubfx/UI/ResonanceUI.h +++ /dev/null @@ -1,91 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef ResonanceUI_h -#define ResonanceUI_h -#include -#include -#include -#include -#include "Fl_Osc_Dial.H" -#include "Fl_Osc_Pane.H" -#include "Fl_Osc_Button.H" -#include "Fl_Osc_Check.H" -#include "Fl_Osc_Slider.H" -#include "Fl_Osc_Output.H" -#include "Fl_Resonance_Graph.H" -#include "PresetsUI.h" -#include -#include -#include - -class ResonanceUI : PresetsUI_ { -public: - Fl_Osc_Window* make_window(Fl_Osc_Interface *osc, std::string loc); - Fl_Osc_Window *resonancewindow; - Fl_Value_Output *khzvalue; - Fl_Value_Output *dbvalue; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_Zero_i(Fl_Osc_Button*, void*); - static void cb_Zero(Fl_Osc_Button*, void*); - void cb_Smooth_i(Fl_Osc_Button*, void*); - static void cb_Smooth(Fl_Osc_Button*, void*); -public: - Fl_Osc_Check *enabled; - Fl_Osc_Slider *maxdb; -private: - void cb_maxdb_i(Fl_Osc_Slider*, void*); - static void cb_maxdb(Fl_Osc_Slider*, void*); -public: - Fl_Value_Output *maxdbvo; - Fl_Osc_Output *centerfreqvo; -private: - void cb_centerfreqvo_i(Fl_Osc_Output*, void*); - static void cb_centerfreqvo(Fl_Osc_Output*, void*); -public: - Fl_Osc_Output *octavesfreqvo; -private: - void cb_octavesfreqvo_i(Fl_Osc_Output*, void*); - static void cb_octavesfreqvo(Fl_Osc_Output*, void*); - void cb_RND2_i(Fl_Osc_Button*, void*); - static void cb_RND2(Fl_Osc_Button*, void*); - void cb_RND1_i(Fl_Osc_Button*, void*); - static void cb_RND1(Fl_Osc_Button*, void*); - void cb_RND3_i(Fl_Osc_Button*, void*); - static void cb_RND3(Fl_Osc_Button*, void*); -public: - Fl_Osc_Check *p1st; -private: - void cb_InterpP_i(Fl_Osc_Button*, void*); - static void cb_InterpP(Fl_Osc_Button*, void*); -public: - Fl_Osc_Slider *centerfreq; -private: - void cb_centerfreq_i(Fl_Osc_Slider*, void*); - static void cb_centerfreq(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Slider *octavesfreq; -private: - void cb_octavesfreq_i(Fl_Osc_Slider*, void*); - static void cb_octavesfreq(Fl_Osc_Slider*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Button *applybutton; -private: - void cb_applybutton_i(Fl_Button*, void*); - static void cb_applybutton(Fl_Button*, void*); -public: - Fl_Resonance_Graph *rg; - ResonanceUI(Fl_Osc_Interface *osc, std::string loc); - ~ResonanceUI(); - void redrawPADnoteApply(); - void setcbwidget(Fl_Widget *cbwidget,Fl_Widget *cbapplywidget); - void refresh(); -private: - Fl_Widget *cbwidget,*cbapplywidget; -}; -#endif diff --git a/zynaddsubfx/UI/SUBnoteUI.cpp b/zynaddsubfx/UI/SUBnoteUI.cpp deleted file mode 100644 index fcf846c..0000000 --- a/zynaddsubfx/UI/SUBnoteUI.cpp +++ /dev/null @@ -1,821 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/SUBnoteUI.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later - -SUBSlider::SUBSlider(int x,int y, int w, int h, const char *label) - :Fl_Osc_TSlider(x,y,w,h,label) { -} - -void SUBSlider::OSC_value(char c) { - value(127-c); - selection_color(value() == reset_value ? 0 : 222); -} - -void SUBSlider::cb(void) { - selection_color(value() == reset_value ? 0 : 222); - oscWrite(ext, "c", (int)(127-Fl_Slider::value())); - if(cb_data.first) - cb_data.first(this, cb_data.second); -} - -Fl_Osc_Group* SUBnoteharmonic::make_window() { - { harmonic = new Fl_Osc_Group(0, 0, 90, 305); - harmonic->box(FL_FLAT_BOX); - harmonic->color(FL_BACKGROUND_COLOR); - harmonic->selection_color(FL_BACKGROUND_COLOR); - harmonic->labeltype(FL_NO_LABEL); - harmonic->labelfont(0); - harmonic->labelsize(14); - harmonic->labelcolor(FL_FOREGROUND_COLOR); - harmonic->user_data((void*)(this)); - harmonic->align(Fl_Align(FL_ALIGN_TOP)); - harmonic->when(FL_WHEN_RELEASE); - { mag = new SUBSlider(0, 15, 10, 135); - mag->tooltip("harmonic\'s magnitude"); - mag->type(4); - mag->box(FL_FLAT_BOX); - mag->color(FL_BACKGROUND_COLOR); - mag->selection_color(FL_FOREGROUND_COLOR); - mag->labeltype(FL_NORMAL_LABEL); - mag->labelfont(0); - mag->labelsize(14); - mag->labelcolor(FL_FOREGROUND_COLOR); - mag->maximum(127); - mag->step(1); - mag->value(127); - mag->align(Fl_Align(FL_ALIGN_BOTTOM)); - mag->when(FL_WHEN_CHANGED); - } // SUBSlider* mag - { bw = new SUBSlider(0, 157, 10, 130); - bw->tooltip("harmonic\'s bandwidth"); - bw->type(4); - bw->box(FL_FLAT_BOX); - bw->color(FL_BACKGROUND_COLOR); - bw->selection_color((Fl_Color)222); - bw->labeltype(FL_NORMAL_LABEL); - bw->labelfont(0); - bw->labelsize(14); - bw->labelcolor(FL_FOREGROUND_COLOR); - bw->maximum(127); - bw->step(1); - bw->value(64); - bw->align(Fl_Align(FL_ALIGN_BOTTOM)); - bw->when(FL_WHEN_CHANGED); - } // SUBSlider* bw - { Fl_Box* o = new Fl_Box(10, 219, 5, 5); - o->box(FL_FLAT_BOX); - o->color(FL_DARK2); - if (n+1==MAX_SUB_HARMONICS) o->hide(); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(0, 288, 10, 15, "01"); - o->labelfont(1); - o->labelsize(9); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp)); - } // Fl_Box* o - { Fl_Box* o = new Fl_Box(0, 0, 10, 15, "01"); - o->labelfont(1); - o->labelsize(9); - o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - char tmp[10];snprintf(tmp,10,"%d",n+1);o->label(strdup(tmp)); - } // Fl_Box* o - harmonic->end(); - } // Fl_Osc_Group* harmonic - return harmonic; -} - -SUBnoteharmonic::SUBnoteharmonic(int x,int y, int w, int h, const char *label):Fl_Osc_Group(x,y,w,h,label) { - n=0; -} - -void SUBnoteharmonic::init(int n_) { - n=n_; - make_window(); - harmonic->show(); - mag->reset_value=127; - mag->ext = "Phmag" + to_s(n); - mag->oscRegister(mag->ext.c_str()); - mag->set_transform([](float x){return 127.0f - x;}); - bw->reset_value=63; - bw->ext = "Phrelbw" + to_s(n); - bw->oscRegister(bw->ext.c_str()); - bw->set_transform([](float x){return 63.0f - x;}); - osc->requestValue(base+"Phrelbw"+to_s(n)); - - end(); -} - -void SUBnoteharmonic::refresh() { - // request values for the widgets - mag->oscWrite(mag->ext); - bw->oscWrite(bw->ext); -} - -SUBnoteharmonic::~SUBnoteharmonic() { - harmonic->hide(); - hide(); - //delete(harmonic); -} - -void SUBnoteUI::cb_Close_i(Fl_Button*, void*) { - SUBparameters->hide(); -} -void SUBnoteUI::cb_Close(Fl_Button* o, void* v) { - ((SUBnoteUI*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -Fl_Menu_Item SUBnoteUI::menu_magtype[] = { - {"Linear", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-40dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-60dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-80dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"-100dB", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Menu_Item SUBnoteUI::menu_start[] = { - {"Zero", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"RND", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Max.", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void SUBnoteUI::cb_freqee_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) freqenvelopegroup->deactivate(); - else freqenvelopegroup->activate(); -o->show(); -freqsettingsui->redraw(); -} -void SUBnoteUI::cb_freqee(Fl_Osc_Check* o, void* v) { - ((SUBnoteUI*)(o->parent()->parent()->user_data()))->cb_freqee_i(o,v); -} - -void SUBnoteUI::cb_detune_i(Fl_Osc_Slider* o, void*) { - o->oscWrite("detunevalue"); -} -void SUBnoteUI::cb_detune(Fl_Osc_Slider* o, void* v) { - ((SUBnoteUI*)(o->parent()->parent()->user_data()))->cb_detune_i(o,v); -} - -void SUBnoteUI::cb_hz440_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) fixedfreqetdial->deactivate(); - else fixedfreqetdial->activate(); -} -void SUBnoteUI::cb_hz440(Fl_Osc_Check* o, void* v) { - ((SUBnoteUI*)(o->parent()->parent()->user_data()))->cb_hz440_i(o,v); -} - -void SUBnoteUI::cb_detunetype_i(Fl_Osc_Choice* o, void*) { - o->oscWrite("detunevalue"); -} -void SUBnoteUI::cb_detunetype(Fl_Osc_Choice* o, void* v) { - ((SUBnoteUI*)(o->parent()->parent()->user_data()))->cb_detunetype_i(o,v); -} - -void SUBnoteUI::cb_Clear_i(Fl_Osc_Button* o, void*) { - o->oscWrite("clear"); - for (int i=1;imag->oscWrite(h[i]->mag->ext, "c", 0); - h[i]->bw->oscWrite(h[i]->bw->ext, "c", 64); -}; -h[0]->mag->oscWrite(h[0]->mag->ext, "c", 127); -h[0]->bw->oscWrite(h[0]->bw->ext, "c", 64); -SUBparameters->redraw(); -} -void SUBnoteUI::cb_Clear(Fl_Osc_Button* o, void* v) { - ((SUBnoteUI*)(o->parent()->user_data()))->cb_Clear_i(o,v); -} - -void SUBnoteUI::cb_bwee_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) bandwidthenvelopegroup->deactivate(); - else bandwidthenvelopegroup->activate(); -o->show(); -bandwidthsettingsui->redraw(); -} -void SUBnoteUI::cb_bwee(Fl_Osc_Check* o, void* v) { - ((SUBnoteUI*)(o->parent()->parent()->user_data()))->cb_bwee_i(o,v); -} - -void SUBnoteUI::cb_filtere_i(Fl_Osc_Check* o, void*) { - if (o->value()==0) globalfiltergroup->deactivate(); - else globalfiltergroup->activate(); -o->show(); -globalfiltergroup->redraw(); -} -void SUBnoteUI::cb_filtere(Fl_Osc_Check* o, void* v) { - ((SUBnoteUI*)(o->parent()->user_data()))->cb_filtere_i(o,v); -} - -void SUBnoteUI::cb_C_i(Fl_Button*, void*) { - presetsui->copy(loc); -} -void SUBnoteUI::cb_C(Fl_Button* o, void* v) { - ((SUBnoteUI*)(o->parent()->user_data()))->cb_C_i(o,v); -} - -void SUBnoteUI::cb_P_i(Fl_Button*, void*) { - presetsui->paste(loc,this); -} -void SUBnoteUI::cb_P(Fl_Button* o, void* v) { - ((SUBnoteUI*)(o->parent()->user_data()))->cb_P_i(o,v); -} - -Fl_Menu_Item SUBnoteUI::menu_spreadtype[] = { - {"Harmonic", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"ShiftU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"ShiftL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"PowerU", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"PowerL", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Sine", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Power", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {"Shift", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 11, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -Fl_Osc_Window* SUBnoteUI::make_window() { - { SUBparameters = new Fl_Osc_Window(735, 475, "SUBsynth Parameters"); - SUBparameters->box(FL_FLAT_BOX); - SUBparameters->color(FL_BACKGROUND_COLOR); - SUBparameters->selection_color(FL_BACKGROUND_COLOR); - SUBparameters->labeltype(FL_NO_LABEL); - SUBparameters->labelfont(0); - SUBparameters->labelsize(14); - SUBparameters->labelcolor(FL_FOREGROUND_COLOR); - SUBparameters->user_data((void*)(this)); - SUBparameters->align(Fl_Align(FL_ALIGN_TOP)); - SUBparameters->when(FL_WHEN_RELEASE); - { Fl_Box* o = new Fl_Box(0, 0, 0, 0); - o->box(FL_FLAT_BOX); - o->color(FL_DARK2); - SUBparameters->init(osc, loc); - } // Fl_Box* o - { Fl_Scroll* o = new Fl_Scroll(5, 140, 434, 330, "scroll"); - o->type(1); - o->box(FL_FLAT_BOX); - o->labeltype(FL_NO_LABEL); - { Fl_Pack* o = harmonics = new Fl_Pack(5, 145, 425, 325); - harmonics->type(1); - for (int i=0;ih(),"");h[i]->init(i);} - harmonics->end(); - } // Fl_Pack* harmonics - o->end(); - } // Fl_Scroll* o - { Fl_Button* o = new Fl_Button(670, 446, 60, 25, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Group* o = new Fl_Group(5, 5, 215, 135, "AMPLITUDE"); - o->box(FL_UP_FRAME); - o->labeltype(FL_EMBOSSED_LABEL); - o->labelfont(1); - o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - { Fl_Osc_VSlider* o = vol = new Fl_Osc_VSlider(10, 25, 140, 15, "Vol"); - vol->tooltip("Volume"); - vol->type(5); - vol->box(FL_NO_BOX); - vol->color(FL_BACKGROUND_COLOR); - vol->selection_color(FL_BACKGROUND_COLOR); - vol->labeltype(FL_NORMAL_LABEL); - vol->labelfont(0); - vol->labelsize(11); - vol->labelcolor(FL_FOREGROUND_COLOR); - vol->maximum(127); - vol->step(1); - vol->align(Fl_Align(FL_ALIGN_RIGHT)); - vol->when(FL_WHEN_CHANGED); - o->init("PVolume");o->reset_value=96; - } // Fl_Osc_VSlider* vol - { Fl_Osc_VSlider* o = vsns = new Fl_Osc_VSlider(10, 45, 140, 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=90; - } // Fl_Osc_VSlider* vsns - { Fl_Osc_Dial* o = pan = new Fl_Osc_Dial(185, 20, 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 - { EnvelopeUI* o = ampenv = new EnvelopeUI(10, 65, 205, 70, "SUBsynth - 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, "AmpEnvelope/"); - ampenv->end(); - } // EnvelopeUI* ampenv - o->end(); - } // Fl_Group* o - { Fl_Group* o = new Fl_Group(495, 406, 235, 35); - o->box(FL_UP_FRAME); - { Fl_Osc_Counter* o = filterstages = new Fl_Osc_Counter(515, 421, 45, 15, "Filter Stages"); - filterstages->tooltip("How many times the noise is filtered"); - filterstages->type(1); - filterstages->box(FL_UP_BOX); - filterstages->color(FL_BACKGROUND_COLOR); - filterstages->selection_color(FL_INACTIVE_COLOR); - filterstages->labeltype(FL_NORMAL_LABEL); - filterstages->labelfont(1); - filterstages->labelsize(10); - filterstages->labelcolor(FL_FOREGROUND_COLOR); - filterstages->minimum(1); - filterstages->maximum(5); - filterstages->step(1); - filterstages->textsize(10); - filterstages->align(Fl_Align(FL_ALIGN_TOP)); - filterstages->when(FL_WHEN_CHANGED); - o->init("Pnumstages"); - } // Fl_Osc_Counter* filterstages - { Fl_Osc_Choice* o = magtype = new Fl_Osc_Choice(585, 421, 65, 15, "Mag.Type"); - magtype->box(FL_UP_BOX); - magtype->down_box(FL_BORDER_BOX); - magtype->color(FL_BACKGROUND_COLOR); - magtype->selection_color(FL_SELECTION_COLOR); - magtype->labeltype(FL_NORMAL_LABEL); - magtype->labelfont(1); - magtype->labelsize(10); - magtype->labelcolor(FL_FOREGROUND_COLOR); - magtype->textsize(11); - magtype->align(Fl_Align(FL_ALIGN_TOP)); - magtype->when(FL_WHEN_RELEASE); - magtype->menu(menu_magtype); - o->init("Phmagtype"); - } // Fl_Osc_Choice* magtype - { Fl_Osc_Choice* o = start = new Fl_Osc_Choice(670, 420, 50, 15, "Start"); - start->box(FL_UP_BOX); - start->down_box(FL_BORDER_BOX); - start->color(FL_BACKGROUND_COLOR); - start->selection_color(FL_SELECTION_COLOR); - start->labeltype(FL_NORMAL_LABEL); - start->labelfont(1); - start->labelsize(10); - start->labelcolor(FL_FOREGROUND_COLOR); - start->textsize(11); - start->align(Fl_Align(FL_ALIGN_TOP)); - start->when(FL_WHEN_RELEASE); - start->menu(menu_start); - o->init("Pstart"); - } // Fl_Osc_Choice* start - o->end(); - } // Fl_Group* o - { freqsettingsui = new Fl_Group(440, 5, 295, 146, "FREQUENCY"); - freqsettingsui->box(FL_UP_FRAME); - freqsettingsui->labeltype(FL_EMBOSSED_LABEL); - freqsettingsui->labelfont(1); - freqsettingsui->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - { EnvelopeUI* o = freqenvelopegroup = new EnvelopeUI(445, 75, 205, 70, "SUBsynth - Frequency Envelope"); - freqenvelopegroup->box(FL_FLAT_BOX); - freqenvelopegroup->color((Fl_Color)51); - freqenvelopegroup->selection_color(FL_BACKGROUND_COLOR); - freqenvelopegroup->labeltype(FL_NORMAL_LABEL); - freqenvelopegroup->labelfont(0); - freqenvelopegroup->labelsize(14); - freqenvelopegroup->labelcolor(FL_FOREGROUND_COLOR); - freqenvelopegroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE)); - freqenvelopegroup->when(FL_WHEN_RELEASE); - o->init(ENV_ASR, osc, loc, "FreqEnvelope/"); - freqenvelopegroup->end(); - } // EnvelopeUI* freqenvelopegroup - { Fl_Osc_Check* o = freqee = new Fl_Osc_Check(445, 77, 55, 15, "Enabled"); - freqee->box(FL_NO_BOX); - freqee->down_box(FL_DOWN_BOX); - freqee->color(FL_BACKGROUND_COLOR); - freqee->selection_color(FL_FOREGROUND_COLOR); - freqee->labeltype(FL_NORMAL_LABEL); - freqee->labelfont(1); - freqee->labelsize(10); - freqee->labelcolor(FL_FOREGROUND_COLOR); - freqee->callback((Fl_Callback*)cb_freqee); - freqee->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - freqee->when(FL_WHEN_RELEASE); - o->init("PFreqEnvelopeEnabled"); - } // Fl_Osc_Check* freqee - { Fl_Osc_Counter* o = octave = new Fl_Osc_Counter(670, 58, 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(655, 125, 60, 20, "Coarse Det."); - coarsedet->tooltip("Coarse Detune"); - 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)); - coarsedet->when(FL_WHEN_CHANGED); - o->init("coarsedetune"); - o->lstep(10); - } // Fl_Osc_Counter* coarsedet - { Fl_Osc_Slider* o = detune = new Fl_Osc_Slider(495, 27, 230, 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(448, 27, 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_Dial* o = bendadjdial = new Fl_Osc_Dial(448, 53, 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(500, 53, 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_Check* o = hz440 = new Fl_Osc_Check(555, 53, 50, 15, "440Hz"); - hz440->tooltip("set the base frequency to 440Hz"); - hz440->box(FL_NO_BOX); - hz440->down_box(FL_DOWN_BOX); - hz440->color(FL_BACKGROUND_COLOR); - hz440->selection_color(FL_FOREGROUND_COLOR); - hz440->labeltype(FL_NORMAL_LABEL); - hz440->labelfont(1); - hz440->labelsize(10); - hz440->labelcolor(FL_FOREGROUND_COLOR); - hz440->callback((Fl_Callback*)cb_hz440); - hz440->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - hz440->when(FL_WHEN_RELEASE); - o->init("Pfixedfreq"); - } // Fl_Osc_Check* hz440 - { Fl_Osc_Dial* o = fixedfreqetdial = new Fl_Osc_Dial(610, 53, 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 = detunetype = new Fl_Osc_Choice(655, 94, 70, 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 - freqsettingsui->end(); - } // Fl_Group* freqsettingsui - { Fl_Osc_Check* o = stereo = new Fl_Osc_Check(440, 406, 55, 35, "Stereo"); - stereo->box(FL_THIN_UP_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(10); - 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_Osc_Button* o = new Fl_Osc_Button(445, 446, 70, 25, "Clear"); - o->tooltip("Clear the harmonics"); - 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(14); - o->labelcolor(FL_FOREGROUND_COLOR); - o->callback((Fl_Callback*)cb_Clear); - o->align(Fl_Align(FL_ALIGN_CENTER)); - o->when(FL_WHEN_RELEASE); - } // Fl_Osc_Button* o - { bandwidthsettingsui = new Fl_Group(220, 5, 220, 135, "BANDWIDTH"); - bandwidthsettingsui->box(FL_UP_FRAME); - bandwidthsettingsui->labeltype(FL_EMBOSSED_LABEL); - bandwidthsettingsui->labelfont(1); - bandwidthsettingsui->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - { EnvelopeUI* o = bandwidthenvelopegroup = new EnvelopeUI(225, 65, 205, 70, "SUBsynth - BandWidth Envelope"); - bandwidthenvelopegroup->box(FL_FLAT_BOX); - bandwidthenvelopegroup->color((Fl_Color)51); - bandwidthenvelopegroup->selection_color(FL_BACKGROUND_COLOR); - bandwidthenvelopegroup->labeltype(FL_NORMAL_LABEL); - bandwidthenvelopegroup->labelfont(0); - bandwidthenvelopegroup->labelsize(14); - bandwidthenvelopegroup->labelcolor(FL_FOREGROUND_COLOR); - bandwidthenvelopegroup->align(Fl_Align(FL_ALIGN_WRAP|FL_ALIGN_INSIDE)); - bandwidthenvelopegroup->when(FL_WHEN_RELEASE); - o->init(ENV_ADSR_BW, osc, loc, "BandWidthEnvelope/"); - bandwidthenvelopegroup->end(); - } // EnvelopeUI* bandwidthenvelopegroup - { Fl_Osc_Check* o = bwee = new Fl_Osc_Check(225, 67, 55, 15, "Enabled"); - bwee->box(FL_NO_BOX); - bwee->down_box(FL_DOWN_BOX); - bwee->color(FL_BACKGROUND_COLOR); - bwee->selection_color(FL_FOREGROUND_COLOR); - bwee->labeltype(FL_NORMAL_LABEL); - bwee->labelfont(1); - bwee->labelsize(10); - bwee->labelcolor(FL_FOREGROUND_COLOR); - bwee->callback((Fl_Callback*)cb_bwee); - bwee->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - bwee->when(FL_WHEN_RELEASE); - o->init("PBandWidthEnvelopeEnabled"); - } // Fl_Osc_Check* bwee - { Fl_Osc_VSlider* o = bandwidth = new Fl_Osc_VSlider(225, 40, 115, 15, "Band Width"); - bandwidth->type(5); - bandwidth->box(FL_NO_BOX); - bandwidth->color(FL_BACKGROUND_COLOR); - bandwidth->selection_color(FL_BACKGROUND_COLOR); - bandwidth->labeltype(FL_NORMAL_LABEL); - bandwidth->labelfont(0); - bandwidth->labelsize(10); - bandwidth->labelcolor(FL_FOREGROUND_COLOR); - bandwidth->maximum(127); - bandwidth->step(1); - bandwidth->align(Fl_Align(FL_ALIGN_TOP)); - bandwidth->when(FL_WHEN_CHANGED); - o->init("Pbandwidth");o->reset_value=40; - } // Fl_Osc_VSlider* bandwidth - { Fl_Osc_TSlider* o = bwidthscale = new Fl_Osc_TSlider(345, 40, 90, 15, "B.Width Scale"); - bwidthscale->tooltip("How much I increase the BandWidth according to lower/higher harmonics"); - bwidthscale->type(5); - bwidthscale->box(FL_NO_BOX); - bwidthscale->color(FL_BACKGROUND_COLOR); - bwidthscale->selection_color(FL_BACKGROUND_COLOR); - bwidthscale->labeltype(FL_NORMAL_LABEL); - bwidthscale->labelfont(0); - bwidthscale->labelsize(10); - bwidthscale->labelcolor(FL_FOREGROUND_COLOR); - bwidthscale->minimum(-64); - bwidthscale->maximum(63); - bwidthscale->step(1); - bwidthscale->align(Fl_Align(FL_ALIGN_TOP)); - bwidthscale->when(FL_WHEN_CHANGED); - o->init("Pbwscale",'i'); - } // Fl_Osc_TSlider* bwidthscale - bandwidthsettingsui->end(); - } // Fl_Group* bandwidthsettingsui - { globalfiltergroup = new Fl_Group(440, 221, 290, 185, "FILTER"); - globalfiltergroup->box(FL_UP_FRAME); - globalfiltergroup->labeltype(FL_EMBOSSED_LABEL); - globalfiltergroup->labelfont(1); - globalfiltergroup->labelsize(13); - globalfiltergroup->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - { EnvelopeUI* o = filterenv = new EnvelopeUI(445, 331, 275, 70, "SUBsynth - 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, "GlobalFilterEnvelope/"); - filterenv->end(); - } // EnvelopeUI* filterenv - { FilterUI* o = filterui = new FilterUI(445, 246, 275, 75, "SUBsynthl - 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 + "PGlobalFilter" , osc, loc, "GlobalFilter/"); - filterui->end(); - } // FilterUI* filterui - globalfiltergroup->end(); - } // Fl_Group* globalfiltergroup - { Fl_Osc_Check* o = filtere = new Fl_Osc_Check(445, 226, 85, 20, "Enabled"); - filtere->box(FL_NO_BOX); - filtere->down_box(FL_DOWN_BOX); - filtere->color(FL_BACKGROUND_COLOR); - filtere->selection_color(FL_FOREGROUND_COLOR); - filtere->labeltype(FL_NORMAL_LABEL); - filtere->labelfont(1); - filtere->labelsize(11); - filtere->labelcolor(FL_FOREGROUND_COLOR); - filtere->callback((Fl_Callback*)cb_filtere); - filtere->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE)); - filtere->when(FL_WHEN_RELEASE); - o->init("PGlobalFilterEnabled"); - } // Fl_Osc_Check* filtere - { Fl_Button* o = new Fl_Button(600, 451, 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(630, 451, 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 - { Fl_Group* o = new Fl_Group(440, 151, 220, 70, "OVERTONES"); - o->box(FL_UP_FRAME); - o->labeltype(FL_EMBOSSED_LABEL); - o->labelfont(1); - o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE)); - { Fl_Osc_Choice* o = spreadtype = new Fl_Osc_Choice(450, 190, 80, 20, "OvertonesPosition"); - spreadtype->box(FL_UP_BOX); - spreadtype->down_box(FL_BORDER_BOX); - spreadtype->color(FL_BACKGROUND_COLOR); - spreadtype->selection_color(FL_SELECTION_COLOR); - spreadtype->labeltype(FL_NORMAL_LABEL); - spreadtype->labelfont(0); - spreadtype->labelsize(10); - spreadtype->labelcolor(FL_FOREGROUND_COLOR); - spreadtype->textsize(10); - spreadtype->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - spreadtype->when(FL_WHEN_RELEASE); - spreadtype->menu(menu_spreadtype); - o->init("POvertoneSpread.type"); - } // Fl_Osc_Choice* spreadtype - { Fl_Osc_Dial* o = spreadpar1 = new Fl_Osc_Dial(548, 173, 30, 30, "Par1"); - spreadpar1->box(FL_ROUND_UP_BOX); - spreadpar1->color(FL_BACKGROUND_COLOR); - spreadpar1->selection_color(FL_INACTIVE_COLOR); - spreadpar1->labeltype(FL_NORMAL_LABEL); - spreadpar1->labelfont(0); - spreadpar1->labelsize(10); - spreadpar1->labelcolor(FL_FOREGROUND_COLOR); - spreadpar1->maximum(255); - spreadpar1->step(1); - spreadpar1->align(Fl_Align(FL_ALIGN_BOTTOM)); - spreadpar1->when(FL_WHEN_CHANGED); - o->init("POvertoneSpread.par1"); - } // Fl_Osc_Dial* spreadpar1 - { Fl_Osc_Dial* o = spreadpar2 = new Fl_Osc_Dial(583, 173, 30, 30, "Par2"); - spreadpar2->box(FL_ROUND_UP_BOX); - spreadpar2->color(FL_BACKGROUND_COLOR); - spreadpar2->selection_color(FL_INACTIVE_COLOR); - spreadpar2->labeltype(FL_NORMAL_LABEL); - spreadpar2->labelfont(0); - spreadpar2->labelsize(10); - spreadpar2->labelcolor(FL_FOREGROUND_COLOR); - spreadpar2->maximum(255); - spreadpar2->step(1); - spreadpar2->align(Fl_Align(FL_ALIGN_BOTTOM)); - spreadpar2->when(FL_WHEN_CHANGED); - o->init("POvertoneSpread.par2"); - } // Fl_Osc_Dial* spreadpar2 - { Fl_Osc_Dial* o = spreadpar3 = new Fl_Osc_Dial(618, 173, 30, 30, "ForceH"); - spreadpar3->box(FL_ROUND_UP_BOX); - spreadpar3->color(FL_BACKGROUND_COLOR); - spreadpar3->selection_color(FL_INACTIVE_COLOR); - spreadpar3->labeltype(FL_NORMAL_LABEL); - spreadpar3->labelfont(0); - spreadpar3->labelsize(10); - spreadpar3->labelcolor(FL_FOREGROUND_COLOR); - spreadpar3->maximum(255); - spreadpar3->step(1); - spreadpar3->align(Fl_Align(FL_ALIGN_BOTTOM)); - spreadpar3->when(FL_WHEN_CHANGED); - o->init("POvertoneSpread.par3"); - } // Fl_Osc_Dial* spreadpar3 - o->end(); - } // Fl_Group* o - SUBparameters->end(); - } // Fl_Osc_Window* SUBparameters - return SUBparameters; -} - -void SUBnoteUI::refresh() { - SUBparameters->update(); - for (int i=0;irefresh(); - //globalfiltergroup->redraw(); - //ampenv->refresh(); - //bandwidthenvelopegroup->refresh(); - //freqenvelopegroup->refresh(); - //filterui->refresh(); - //filterenv->refresh(); -} - -SUBnoteUI::SUBnoteUI(Fl_Osc_Interface *osc_, std::string loc_) { - osc = osc_; - loc = loc_; - make_window(); -} - -SUBnoteUI::~SUBnoteUI() { - //for (int i=0;ihide(); - delete(SUBparameters); -} diff --git a/zynaddsubfx/UI/SUBnoteUI.h b/zynaddsubfx/UI/SUBnoteUI.h deleted file mode 100644 index 802efaa..0000000 --- a/zynaddsubfx/UI/SUBnoteUI.h +++ /dev/null @@ -1,131 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef SUBnoteUI_h -#define SUBnoteUI_h -#include -#include -#include -#include -#include "../globals.h" -#include "Fl_Osc_VSlider.H" -#include "Fl_Osc_TSlider.H" -#include "Fl_Osc_Dial.H" -#include "EnvelopeUI.h" -#include "FilterUI.h" -#include "../Misc/Util.h" -#include "../Params/SUBnoteParameters.h" -#include "PresetsUI.h" - -class SUBSlider : public Fl_Osc_TSlider { -public: - SUBSlider(int x,int y, int w, int h, const char *label=0) - ; - void OSC_value(char c); - void cb(void); -}; -#include - -class SUBnoteharmonic : public Fl_Osc_Group { - Fl_Osc_Group* make_window(); -public: - Fl_Osc_Group *harmonic; - SUBSlider *mag; - SUBSlider *bw; - SUBnoteharmonic(int x,int y, int w, int h, const char *label=0); - void init(int n_); - void refresh(); - ~SUBnoteharmonic(); -private: - int n; -}; -#include -#include -#include -#include - -class SUBnoteUI : public PresetsUI_ { -public: - Fl_Osc_Window* make_window(); - Fl_Osc_Window *SUBparameters; - Fl_Pack *harmonics; -private: - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); -public: - Fl_Osc_VSlider *vol; - Fl_Osc_VSlider *vsns; - Fl_Osc_Dial *pan; - EnvelopeUI *ampenv; - Fl_Osc_Counter *filterstages; - Fl_Osc_Choice *magtype; - static Fl_Menu_Item menu_magtype[]; - Fl_Osc_Choice *start; - static Fl_Menu_Item menu_start[]; - Fl_Group *freqsettingsui; - EnvelopeUI *freqenvelopegroup; - Fl_Osc_Check *freqee; -private: - void cb_freqee_i(Fl_Osc_Check*, void*); - static void cb_freqee(Fl_Osc_Check*, void*); -public: - Fl_Osc_Counter *octave; - Fl_Osc_Counter *coarsedet; - Fl_Osc_Slider *detune; -private: - void cb_detune_i(Fl_Osc_Slider*, void*); - static void cb_detune(Fl_Osc_Slider*, void*); -public: - Fl_Osc_Output *detunevalueoutput; - Fl_Osc_Dial *bendadjdial; - Fl_Osc_Dial *offsethzdial; - Fl_Osc_Check *hz440; -private: - void cb_hz440_i(Fl_Osc_Check*, void*); - static void cb_hz440(Fl_Osc_Check*, void*); -public: - Fl_Osc_Dial *fixedfreqetdial; - Fl_Osc_Choice *detunetype; -private: - void cb_detunetype_i(Fl_Osc_Choice*, void*); - static void cb_detunetype(Fl_Osc_Choice*, void*); -public: - Fl_Osc_Check *stereo; -private: - void cb_Clear_i(Fl_Osc_Button*, void*); - static void cb_Clear(Fl_Osc_Button*, void*); -public: - Fl_Group *bandwidthsettingsui; - EnvelopeUI *bandwidthenvelopegroup; - Fl_Osc_Check *bwee; -private: - void cb_bwee_i(Fl_Osc_Check*, void*); - static void cb_bwee(Fl_Osc_Check*, void*); -public: - Fl_Osc_VSlider *bandwidth; - Fl_Osc_TSlider *bwidthscale; - Fl_Group *globalfiltergroup; - EnvelopeUI *filterenv; - FilterUI *filterui; - Fl_Osc_Check *filtere; -private: - void cb_filtere_i(Fl_Osc_Check*, void*); - static void cb_filtere(Fl_Osc_Check*, void*); - void cb_C_i(Fl_Button*, void*); - static void cb_C(Fl_Button*, void*); - void cb_P_i(Fl_Button*, void*); - static void cb_P(Fl_Button*, void*); -public: - Fl_Osc_Choice *spreadtype; - static Fl_Menu_Item menu_spreadtype[]; - Fl_Osc_Dial *spreadpar1; - Fl_Osc_Dial *spreadpar2; - Fl_Osc_Dial *spreadpar3; - void refresh(); - SUBnoteUI(Fl_Osc_Interface *osc_, std::string loc_); - ~SUBnoteUI(); -private: - Fl_Osc_Interface *osc; - std::string loc; - SUBnoteharmonic *h[MAX_SUB_HARMONICS]; -}; -#endif diff --git a/zynaddsubfx/UI/VirKeyboard.cpp b/zynaddsubfx/UI/VirKeyboard.cpp deleted file mode 100644 index 4c1b387..0000000 --- a/zynaddsubfx/UI/VirKeyboard.cpp +++ /dev/null @@ -1,552 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#include "external/zynaddsubfx/UI/VirKeyboard.h" -//Copyright (c) 2002-2005 Nasca Octavian Paul -//License: GNU GPL version 2 or later -static const int keyspos[12]={0,-1,1,-2,2,3,-4,4,-5,5,-6,6}; -static const int keysoct1qwerty[]={'q','2','w','3','e','r','5','t','6','y','7','u','i','9','o','0','p','[','=',']','\\',FL_Enter,0}; -static const int keysoct2qwerty[]={'z','s','x','d','c','v','g','b','h','n','j','m',',','l','.',';','/',0}; -static const int keysoct1dw[]={'\'','2',',','3','.','p','5','y','6','f','7','g','c','9','r','0','l','/',']','=','\\',FL_Enter,0}; -static const int keysoct2dw[]={';','o','q','e','j','k','i','x','d','b','h','m','w','n','v','s','z',0}; -static const int keysoct1qwertz[]={'q','2','w','3','e','r','5','t','6','z','7','u','i','9','o','0','p',252,'\'','+','\\',FL_Enter,0}; -static const int keysoct2qwertz[]={'y','s','x','d','c','v','g','b','h','n','j','m',',','l','.',246,'-',0}; -static const int keysoct1az[]={'a',233,'z','\"','e','r','(','t','-','y',232,'u','i',231,'o',224,'p',65106,'=','$',0}; -static const int keysoct2az[]={'w','s','x','d','c','v','g','b','h','n','j',',',';','l',':','m','!',0}; - -VirKeys::VirKeys(int x,int y, int w, int h, const char *label):Fl_Box(x,y,w,h,label),Fl_Osc_Widget() { -} - -void VirKeys::OSC_value(int layout) { - keylayout = layout; -} - -void VirKeys::init(Fl_Osc_Interface *osc_, std::string loc_) { - osc=osc_; - osc->createLink("/config/cfg.VirKeybLayout", this); - osc->requestValue("/config/cfg.VirKeybLayout"); - loc=loc_; - for (int i=0;i=0){//white keys - if (pressed[i]==0) - key = white_up; - else - key = white_down; - - key->draw( ox + (kv + 7 * noct ) * white_up->w() + 3, oy ); - } - } - - for (i=0;idraw( ox + (kv + 7 * noct ) * white_up->w() - black_up->w() / 2 + 2, oy ); - } - } - #else - if (damage()!=1){ - fl_color(250,240,230); - fl_rectf(ox,oy,lx,ly); - - fl_color(FL_BLACK); - fl_line(ox,oy,ox+lx,oy); - fl_line(ox,oy+ly,ox+lx,oy+ly); - for (i=0;i=0){//white keys - if (pressed[i]==0) fl_color(250,240,230); - else fl_color(FL_BLUE); - fl_rectf(ox+(kv+7*noct)*SIZE_WHITE+3,oy+ly*3/5+2, - SIZE_WHITE-4,ly*2/5-3); - } else {//black keys - kv=keyspos[(i+1)%12]; - if (pressed[i]==0) fl_color(FL_BLACK); - else fl_color(FL_BLUE); - fl_rectf(ox+(kv+7*noct)*SIZE_WHITE-SIZE_BLACK/2+2,oy+2, - SIZE_BLACK-3,ly*3/5-5); - } - } - #endif -} - -int VirKeys::handle(int event) { - int i; - int ly=h(); - int x_=Fl::event_x()-x(); - int y_=Fl::event_y()-y(); - if ( (x_<0)&&(x_>w()) && (y_<0)&&(y_>h())){ - return(0); - }; - - - if ((event==FL_PUSH)||(event==FL_DRAG)||(event==FL_RELEASE)){ - int kpos=-1; - - if (y_>ly*3/5){//white keys - int pos=x_/SIZE_WHITE; - if (pos<0) return(1); - for (i=0;i<12;i++) { - if (pos%7==keyspos[i]) { - kpos=pos/7*12+i; - break; - }; - }; - } else {//black keys - int pos=(x_+SIZE_WHITE/2)/SIZE_WHITE; - if (pos<0) return(1); - for (i=1;i<12;i++) { - if (pos%7==-keyspos[i]) { - kpos=pos/7*12+i; - break; - }; - }; - }; - - if ((kpos!=-1)&&((event==FL_PUSH)||(event==FL_DRAG))&& - (Fl::event_shift()==0)) { - presskey(kpos,1,1); - }; - - if ((event==FL_PUSH)&&(Fl::event_shift()!=0)) { - if (pressed[kpos]==0) presskey(kpos,0,1); - else releasekey(kpos,1); - }; - if ((event==FL_RELEASE)&&(Fl::event_shift()==0)) - releaseallkeys(1); - take_focus(); - }; - - - const int *keysoct1=keysoct1qwerty; - const int *keysoct2=keysoct2qwerty; - - if (keylayout==2) { - keysoct1=keysoct1dw; - keysoct2=keysoct2dw; - }else if (keylayout==3) { - keysoct1=keysoct1qwertz; - keysoct2=keysoct2qwertz; - }else if (keylayout==4) { - keysoct1=keysoct1az; - keysoct2=keysoct2az; - }; - - if ((event==FL_KEYDOWN)||(event==FL_KEYUP)){ - int key=Fl::event_key(); - int kpos=-1; - for (i=0;keysoct1[i]!=0;i++) if (key==keysoct1[i]) kpos=i+12*keyoct1; - for (i=0;keysoct2[i]!=0;i++) if (key==keysoct2[i]) kpos=i+12*keyoct2; - - - - - if (kpos==-1) return(0); - if ((event==FL_KEYUP) && (Fl::event_key(key)==0) && (Fl::get_key(key)!=0)) return(0); - if (event==FL_KEYDOWN) presskey(kpos,0,2); - else releasekey(kpos,2); - }; - - return(1); -} - -void VirKeys::presskey(int nk,int exclusive,int type) { - //Exclusive means that multiple keys can be pressed at once - //when the user uses the shift key - if (nk>=N_OCT*12) return; - if ((nk<0)&&(exclusive==0)) { - releaseallkeys(type); - return; - }; - if (nk<0) return; - if (pressed[nk]!=0) return;//the key is already pressed - - if (exclusive!=0) releaseallkeys(type); - pressed[nk]=type; - - damage(1); - float vel=midivel; - if (rndvelocity!=0){ - vel=midivel*(127.0-rndvelocity)/127.0+(rand()/RAND_MAX)*rndvelocity; - }; - - osc->write(loc+"noteOn", "iii", midich,nk+midioct*12,(int)vel); -} - -void VirKeys::releasekey(int nk,int type) { - if ((nk<0)||(nk>=N_OCT*12)) return; - if (pressed[nk]==0) return;//the key is not pressed - if ((type!=0)&&(pressed[nk]!=type)) return; - - pressed[nk]=0; - - - damage(1); - - osc->write(loc+"noteOff", "ii", midich,nk+12*midioct); -} - -void VirKeys::releaseallkeys(int type) { - for (int i=0;ihide(); -} -void VirKeyboard::cb_virkeyboardwindow(Fl_Double_Window* o, void* v) { - ((VirKeyboard*)(o->user_data()))->cb_virkeyboardwindow_i(o,v); -} - -void VirKeyboard::cb_qwer_i(Fl_Counter* o, void*) { - releaseallkeys(); -virkeys->keyoct1=(int) o->value(); -virkeys->take_focus(); -} -void VirKeyboard::cb_qwer(Fl_Counter* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_qwer_i(o,v); -} - -void VirKeyboard::cb_zxcv_i(Fl_Counter* o, void*) { - releaseallkeys(); -virkeys->keyoct2=(int) o->value(); -virkeys->take_focus(); -} -void VirKeyboard::cb_zxcv(Fl_Counter* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_zxcv_i(o,v); -} - -void VirKeyboard::cb_Vel_i(Fl_Value_Slider* o, void*) { - virkeys->midivel=(int) o->value(); -virkeys->take_focus(); -} -void VirKeyboard::cb_Vel(Fl_Value_Slider* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_Vel_i(o,v); -} - -void VirKeyboard::cb_Oct_i(Fl_Counter* o, void*) { - releaseallkeys(); -virkeys->midioct=(int) o->value(); -virkeys->take_focus(); -} -void VirKeyboard::cb_Oct(Fl_Counter* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_Oct_i(o,v); -} - -void VirKeyboard::cb_Close_i(Fl_Button*, void*) { - releaseallkeys(); -virkeyboardwindow->hide(); -} -void VirKeyboard::cb_Close(Fl_Button* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_Close_i(o,v); -} - -void VirKeyboard::cb_Cval_i(Fl_Value_Slider* o, void*) { - int ctl=midictl; - -osc->write("/setController", "iii", virkeys->midich,ctl,(int) o->value()); -virkeys->take_focus(); -} -void VirKeyboard::cb_Cval(Fl_Value_Slider* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_Cval_i(o,v); -} - -void VirKeyboard::cb_Controller_i(Fl_Choice* o, void*) { - switch((int) o->value()+1){ - case 1: midictl=C_modwheel; break; - case 2: midictl=C_volume; break; - case 3: midictl=C_panning; break; - case 4: midictl=C_expression; break; - case 5: midictl=C_sustain; break; - case 6: midictl=C_portamento; break; - case 7: midictl=C_filterq; break; - case 8: midictl=C_filtercutoff; break; - case 9: midictl=C_bandwidth; break; - case 10: midictl=C_fmamp; break; - case 11: midictl=C_resonance_center; break; - case 12: midictl=C_resonance_bandwidth; break; - default: midictl=C_NULL; break; - -}; - - - -virkeys->take_focus(); -} -void VirKeyboard::cb_Controller(Fl_Choice* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_Controller_i(o,v); -} - -Fl_Menu_Item VirKeyboard::menu_Controller[] = { - {"01: Mod.Wheel", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"07: Volume", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"10: Panning", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"11: Expression", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"64: Sustain", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"65: Portamento", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"71: Filter Q", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"74: Filter Freq.", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"75: Bandwidth", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"76: FM Gain", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"77: Res. c. freq", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {"78: Res. bw.", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 0}, - {0,0,0,0,0,0,0,0,0} -}; - -void VirKeyboard::cb_pitchwheelroller_i(Fl_Roller* o, void*) { - osc->write("/setController", "iii", virkeys->midich,C_pitchwheel,-(int) o->value()); -virkeys->take_focus(); -} -void VirKeyboard::cb_pitchwheelroller(Fl_Roller* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_pitchwheelroller_i(o,v); -} - -void VirKeyboard::cb_R_i(Fl_Button*, void*) { - pitchwheelroller->value(0); -pitchwheelroller->do_callback(); -} -void VirKeyboard::cb_R(Fl_Button* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_R_i(o,v); -} - -void VirKeyboard::cb_Vrnd_i(WidgetPDial* o, void*) { - virkeys->rndvelocity=(int) o->value(); -} -void VirKeyboard::cb_Vrnd(WidgetPDial* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_Vrnd_i(o,v); -} - -void VirKeyboard::cb_partrcv_i(Fl_Choice* o, void*) { - releaseallkeys(); -virkeys->midich=(int) o->value(); -virkeys->take_focus(); -} -void VirKeyboard::cb_partrcv(Fl_Choice* o, void* v) { - ((VirKeyboard*)(o->parent()->user_data()))->cb_partrcv_i(o,v); -} - -Fl_Double_Window* VirKeyboard::make_window() { - { virkeyboardwindow = new Fl_Double_Window(650, 130, "Virtual Keyboard - ZynAddSubFX"); - virkeyboardwindow->callback((Fl_Callback*)cb_virkeyboardwindow, (void*)(this)); - { VirKeys* o = virkeys = new VirKeys(10, 10, 590, 80, "Keyboard"); - virkeys->box(FL_FLAT_BOX); - virkeys->color((Fl_Color)17); - virkeys->selection_color(FL_BACKGROUND_COLOR); - virkeys->labeltype(FL_NORMAL_LABEL); - virkeys->labelfont(0); - virkeys->labelsize(14); - virkeys->labelcolor(FL_FOREGROUND_COLOR); - virkeys->align(Fl_Align(FL_ALIGN_CENTER)); - virkeys->when(FL_WHEN_RELEASE); - o->init(osc,loc); - } // VirKeys* virkeys - { Fl_Counter* o = new Fl_Counter(380, 95, 45, 15, "\"qwer..\" Oct"); - o->tooltip("keys \"q2w3er5t6y...\" octave"); - o->type(1); - o->labelsize(10); - o->minimum(0); - o->maximum(5); - o->step(1); - o->textfont(1); - o->textsize(10); - o->callback((Fl_Callback*)cb_qwer); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE_ALWAYS); - o->value(virkeys->keyoct1); - } // Fl_Counter* o - { Fl_Counter* o = new Fl_Counter(380, 110, 45, 15, "\"zxcv..\" Oct"); - o->tooltip("keys \"zsxdcvgbh...\" octave"); - o->type(1); - o->labelsize(10); - o->minimum(0); - o->maximum(5); - o->step(1); - o->textfont(1); - o->textsize(10); - o->callback((Fl_Callback*)cb_zxcv); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE_ALWAYS); - o->value(virkeys->keyoct2); - } // Fl_Counter* o - { Fl_Value_Slider* o = new Fl_Value_Slider(95, 105, 100, 15, "Vel"); - o->tooltip("Velocity"); - o->type(5); - o->box(FL_NO_BOX); - o->labelsize(10); - o->minimum(1); - o->maximum(127); - o->step(1); - o->callback((Fl_Callback*)cb_Vel); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->value(virkeys->midivel); - } // Fl_Value_Slider* o - { Fl_Counter* o = new Fl_Counter(255, 100, 55, 20, "Oct."); - o->tooltip("Midi Octave"); - o->type(1); - o->labelsize(11); - o->minimum(0); - o->maximum(5); - o->step(1); - o->textfont(1); - o->textsize(11); - o->callback((Fl_Callback*)cb_Oct); - o->align(Fl_Align(FL_ALIGN_LEFT)); - o->when(FL_WHEN_RELEASE_ALWAYS); - o->value(virkeys->midioct); - } // Fl_Counter* o - { Fl_Button* o = new Fl_Button(545, 105, 55, 20, "Close"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)cb_Close); - } // Fl_Button* o - { Fl_Value_Slider* o = new Fl_Value_Slider(605, 10, 15, 115, "Cval"); - o->tooltip("Controller value"); - o->type(2); - o->box(FL_ENGRAVED_BOX); - o->selection_color((Fl_Color)229); - o->labelsize(8); - o->minimum(127); - o->maximum(0); - o->step(1); - o->value(64); - o->textsize(7); - o->callback((Fl_Callback*)cb_Cval); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - } // Fl_Value_Slider* o - { Fl_Choice* o = new Fl_Choice(435, 105, 100, 15, "Controller"); - o->down_box(FL_BORDER_BOX); - o->labelsize(10); - o->textfont(1); - o->textsize(10); - o->callback((Fl_Callback*)cb_Controller); - o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - o->when(FL_WHEN_RELEASE_ALWAYS); - o->menu(menu_Controller); - midictl=C_filtercutoff;o->value(7); - } // Fl_Choice* o - { pitchwheelroller = new Fl_Roller(625, 10, 20, 95, "Pwh"); - pitchwheelroller->tooltip("Pitch Wheel"); - pitchwheelroller->labelsize(8); - pitchwheelroller->minimum(-8192); - pitchwheelroller->maximum(8192); - pitchwheelroller->step(64); - pitchwheelroller->callback((Fl_Callback*)cb_pitchwheelroller); - pitchwheelroller->align(Fl_Align(FL_ALIGN_TOP)); - pitchwheelroller->when(3); - } // Fl_Roller* pitchwheelroller - { Fl_Button* o = new Fl_Button(625, 110, 20, 15, "R"); - o->tooltip("Reset Pitch Bend"); - o->box(FL_THIN_UP_BOX); - o->labelfont(1); - o->callback((Fl_Callback*)cb_R); - } // Fl_Button* o - { WidgetPDial* o = new WidgetPDial(205, 105, 20, 20, "Vrnd"); - o->tooltip("Velocity 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->callback((Fl_Callback*)cb_Vrnd); - o->align(Fl_Align(129)); - o->when(FL_WHEN_CHANGED); - o->value(virkeys->rndvelocity); - } // WidgetPDial* o - { Fl_Choice* o = partrcv = new Fl_Choice(20, 105, 65, 20, "MIDI Ch."); - partrcv->tooltip("Send to Midi Channel"); - partrcv->down_box(FL_BORDER_BOX); - partrcv->labelsize(10); - partrcv->textfont(1); - partrcv->textsize(10); - partrcv->callback((Fl_Callback*)cb_partrcv); - partrcv->align(Fl_Align(FL_ALIGN_TOP_LEFT)); - char nrstr[10]; for(int i=0;iadd(nrstr); else o->add("Drum10");}; - o->value(virkeys->midich); - } // Fl_Choice* partrcv - virkeyboardwindow->end(); - } // Fl_Double_Window* virkeyboardwindow - return virkeyboardwindow; -} - -VirKeyboard::VirKeyboard(Fl_Osc_Interface *osc_, std::string loc_) { - osc=osc_; - loc=loc_; - midictl=75; - make_window(); -} - -VirKeyboard::~VirKeyboard() { - delete virkeyboardwindow; -} - -void VirKeyboard::show() { - virkeyboardwindow->show(); -} - -void VirKeyboard::releaseallkeys() { - virkeys->releaseallkeys(0); -} diff --git a/zynaddsubfx/UI/VirKeyboard.h b/zynaddsubfx/UI/VirKeyboard.h deleted file mode 100644 index b060f71..0000000 --- a/zynaddsubfx/UI/VirKeyboard.h +++ /dev/null @@ -1,100 +0,0 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0300 - -#ifndef VirKeyboard_h -#define VirKeyboard_h -#include -#include -#include -#include -#include "../globals.h" -#include "../Misc/Util.h" -#include "WidgetPDial.h" -#include "Fl_Osc_Counter.H" -#include "common.H" -#ifdef NTK_GUI - #include "FL/Fl_Shared_Image.H" - #endif -using namespace zyncarla; - -class VirKeys : public Fl_Box, public Fl_Osc_Widget { - static const int N_OCT=6; - static const int SIZE_WHITE=14; - static const int SIZE_BLACK=8; -public: - VirKeys(int x,int y, int w, int h, const char *label=0); - void OSC_value(int layout); - void init(Fl_Osc_Interface *osc_, std::string loc_); - void draw(); - int handle(int event); - void presskey(int nk,int exclusive,int type); - void releasekey(int nk,int type); - void releaseallkeys(int type); -private: - int pressed[N_OCT*12+1]; -public: - unsigned char midich; - int keylayout; - unsigned char midivel; - char midioct,keyoct1,keyoct2; - unsigned char rndvelocity; -private: - Fl_Osc_Interface *osc; - std::string loc; -}; -#include -#include -#include -#include -#include -#include - -class VirKeyboard { -public: - Fl_Double_Window* make_window(); - Fl_Double_Window *virkeyboardwindow; -private: - void cb_virkeyboardwindow_i(Fl_Double_Window*, void*); - static void cb_virkeyboardwindow(Fl_Double_Window*, void*); -public: - VirKeys *virkeys; -private: - void cb_qwer_i(Fl_Counter*, void*); - static void cb_qwer(Fl_Counter*, void*); - void cb_zxcv_i(Fl_Counter*, void*); - static void cb_zxcv(Fl_Counter*, void*); - void cb_Vel_i(Fl_Value_Slider*, void*); - static void cb_Vel(Fl_Value_Slider*, void*); - void cb_Oct_i(Fl_Counter*, void*); - static void cb_Oct(Fl_Counter*, void*); - void cb_Close_i(Fl_Button*, void*); - static void cb_Close(Fl_Button*, void*); - void cb_Cval_i(Fl_Value_Slider*, void*); - static void cb_Cval(Fl_Value_Slider*, void*); - void cb_Controller_i(Fl_Choice*, void*); - static void cb_Controller(Fl_Choice*, void*); - static Fl_Menu_Item menu_Controller[]; -public: - Fl_Roller *pitchwheelroller; -private: - void cb_pitchwheelroller_i(Fl_Roller*, void*); - static void cb_pitchwheelroller(Fl_Roller*, void*); - void cb_R_i(Fl_Button*, void*); - static void cb_R(Fl_Button*, void*); - void cb_Vrnd_i(WidgetPDial*, void*); - static void cb_Vrnd(WidgetPDial*, void*); -public: - Fl_Choice *partrcv; -private: - void cb_partrcv_i(Fl_Choice*, void*); - static void cb_partrcv(Fl_Choice*, void*); -public: - VirKeyboard(Fl_Osc_Interface *osc_, std::string loc_); - ~VirKeyboard(); - void show(); - void releaseallkeys(); -private: - int midictl; - Fl_Osc_Interface *osc; - std::string loc; -}; -#endif