diff --git a/plugins/zynaddsubfx/src/UI/ADnoteUI.cc b/plugins/zynaddsubfx/src/UI/ADnoteUI.cc index 831a8a533..9d3ca6caf 100644 --- a/plugins/zynaddsubfx/src/UI/ADnoteUI.cc +++ b/plugins/zynaddsubfx/src/UI/ADnoteUI.cc @@ -517,6 +517,56 @@ void ADvoiceUI::cb_Use1(Fl_Choice* o, void* v) { ((ADvoiceUI*)(o->parent()->parent()->parent()->user_data()))->cb_Use1_i(o,v); } +void ADvoiceUI::cb_Stereo_i(WidgetPDial* o, void*) { + pars->VoicePar[nvoice].Unison_stereo_spread=(int)o->value(); +} +void ADvoiceUI::cb_Stereo(WidgetPDial* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Stereo_i(o,v); +} + +void ADvoiceUI::cb_Unison_i(Fl_Choice* o, void*) { + pars->set_unison_size_index(nvoice,(int) o->value()); +} +void ADvoiceUI::cb_Unison(Fl_Choice* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Unison_i(o,v); +} + +void ADvoiceUI::cb_Vibratto_i(WidgetPDial* o, void*) { + pars->VoicePar[nvoice].Unison_vibratto=(int)o->value(); +} +void ADvoiceUI::cb_Vibratto(WidgetPDial* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Vibratto_i(o,v); +} + +void ADvoiceUI::cb_Invert_i(Fl_Choice* o, void*) { + pars->VoicePar[nvoice].Unison_invert_phase=(int) o->value(); +} +void ADvoiceUI::cb_Invert(Fl_Choice* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Invert_i(o,v); +} + +void ADvoiceUI::cb_Frequency_i(Fl_Slider* o, void*) { + pars->VoicePar[nvoice].Unison_frequency_spread=(int)o->value(); +unisonspreadoutput->do_callback(); +} +void ADvoiceUI::cb_Frequency(Fl_Slider* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Frequency_i(o,v); +} + +void ADvoiceUI::cb_unisonspreadoutput_i(Fl_Value_Output* o, void*) { + o->value(pars->getUnisonFrequencySpreadCents(nvoice)); +} +void ADvoiceUI::cb_unisonspreadoutput(Fl_Value_Output* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_unisonspreadoutput_i(o,v); +} + +void ADvoiceUI::cb_Vib_i(WidgetPDial* o, void*) { + pars->VoicePar[nvoice].Unison_vibratto_speed=(int)o->value(); +} +void ADvoiceUI::cb_Vib(WidgetPDial* o, void* v) { + ((ADvoiceUI*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Vib_i(o,v); +} + void ADvoiceUI::cb_Vol1_i(Fl_Value_Slider* o, void*) { pars->VoicePar[nvoice].PVolume=(int)o->value(); } @@ -645,7 +695,7 @@ void ADvoiceUI::cb_voiceonbutton(Fl_Check_Button* o, void* v) { } Fl_Group* ADvoiceUI::make_window() { - { ADnoteVoiceParameters = new Fl_Group(0, 0, 765, 525, "Voice"); + { ADnoteVoiceParameters = new Fl_Group(0, 0, 765, 575, "Voice"); ADnoteVoiceParameters->box(FL_FLAT_BOX); ADnoteVoiceParameters->color(FL_BACKGROUND_COLOR); ADnoteVoiceParameters->selection_color(FL_BACKGROUND_COLOR); @@ -656,11 +706,11 @@ Fl_Group* ADvoiceUI::make_window() { ADnoteVoiceParameters->user_data((void*)(this)); ADnoteVoiceParameters->align(Fl_Align(FL_ALIGN_TOP)); ADnoteVoiceParameters->when(FL_WHEN_RELEASE); - { Fl_Group* o = voiceparametersgroup = new Fl_Group(0, 0, 765, 525); + { Fl_Group* o = voiceparametersgroup = new Fl_Group(0, 0, 765, 580); voiceparametersgroup->box(FL_THIN_UP_BOX); voiceparametersgroup->color((Fl_Color)48); - { voicemodegroup = new Fl_Group(0, 5, 760, 515); - { Fl_Group* o = voiceFMparametersgroup = new Fl_Group(530, 5, 230, 515, "MODULATOR"); + { voicemodegroup = new Fl_Group(0, 5, 760, 575); + { Fl_Group* o = voiceFMparametersgroup = new Fl_Group(530, 5, 230, 565, "MODULATOR"); voiceFMparametersgroup->box(FL_THIN_UP_FRAME); voiceFMparametersgroup->color((Fl_Color)48); voiceFMparametersgroup->labeltype(FL_EMBOSSED_LABEL); @@ -823,8 +873,8 @@ Fl_Group* ADvoiceUI::make_window() { } // Fl_Value_Slider* o o->end(); } // Fl_Group* o - { modoscil = new Fl_Group(535, 365, 220, 150); - { Fl_Group* o = fmoscil = new Fl_Group(535, 405, 220, 110); + { modoscil = new Fl_Group(535, 365, 220, 200); + { Fl_Group* o = fmoscil = new Fl_Group(535, 425, 220, 140); fmoscil->box(FL_THIN_DOWN_BOX); fmoscil->color(FL_GRAY0); fmoscil->selection_color((Fl_Color)71); @@ -845,7 +895,7 @@ Fl_Group* ADvoiceUI::make_window() { changeFMoscilbutton->callback((Fl_Callback*)cb_changeFMoscilbutton); if (pars->VoicePar[nvoice].PextFMoscil>=0) o->labelcolor(FL_BLUE); } // Fl_Button* changeFMoscilbutton - { Fl_Slider* o = new Fl_Slider(665, 395, 65, 10, "Phase"); + { Fl_Slider* o = new Fl_Slider(665, 400, 65, 10, "Phase"); o->type(5); o->box(FL_FLAT_BOX); o->labelsize(10); @@ -856,7 +906,7 @@ Fl_Group* ADvoiceUI::make_window() { o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); o->value(64-pars->VoicePar[nvoice].PFMoscilphase); } // Fl_Slider* o - { Fl_Choice* o = new Fl_Choice(560, 390, 75, 15, "Use"); + { Fl_Choice* o = new Fl_Choice(560, 395, 75, 15, "Use"); o->down_box(FL_BORDER_BOX); o->labelsize(10); o->textfont(1); @@ -1082,6 +1132,102 @@ cy)"); char tmp[50]; for (int i=0;iadd(tmp);}; o->value(pars->VoicePar[nvoice].Pextoscil+1); } // Fl_Choice* o + { Fl_Group* o = new Fl_Group(5, 525, 515, 45); + o->box(FL_ENGRAVED_BOX); + { WidgetPDial* o = new WidgetPDial(285, 540, 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->callback((Fl_Callback*)cb_Stereo); + o->align(Fl_Align(FL_ALIGN_TOP)); + o->when(FL_WHEN_CHANGED); + o->value(pars->VoicePar[nvoice].Unison_stereo_spread); + } // WidgetPDial* o + { Fl_Choice* o = new Fl_Choice(10, 545, 75, 20, "Unison"); + o->tooltip("Unison size"); + o->down_box(FL_BORDER_BOX); + o->labelfont(1); + o->textfont(1); + o->textsize(10); + o->callback((Fl_Callback*)cb_Unison); + o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); + o->add("OFF");char tmp[100];for (int i=1;ADnote_unison_sizes[i];i++){snprintf(tmp,100,"size %d",ADnote_unison_sizes[i]);o->add(tmp);}; + o->value(pars->get_unison_size_index(nvoice)); + } // Fl_Choice* o + { WidgetPDial* o = new WidgetPDial(340, 540, 25, 25, "Vibratto"); + o->tooltip("Vibratto"); + 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_Vibratto); + o->align(Fl_Align(FL_ALIGN_TOP)); + o->when(FL_WHEN_CHANGED); + o->value(pars->VoicePar[nvoice].Unison_vibratto); + } // WidgetPDial* o + { Fl_Choice* o = new Fl_Choice(445, 545, 65, 15, "Invert"); + o->tooltip("Phase Invert"); + o->down_box(FL_BORDER_BOX); + o->labelsize(11); + o->textfont(1); + o->textsize(10); + o->callback((Fl_Callback*)cb_Invert); + o->align(Fl_Align(FL_ALIGN_TOP_LEFT)); + 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->value(pars->VoicePar[nvoice].Unison_invert_phase); + } // Fl_Choice* o + { Fl_Slider* o = new Fl_Slider(95, 547, 125, 13, "Frequency Spread"); + o->tooltip("Frequency Spread of the Unison"); + o->type(5); + o->box(FL_FLAT_BOX); + o->labelsize(12); + o->maximum(127); + o->step(1); + o->value(64); + o->callback((Fl_Callback*)cb_Frequency); + o->align(Fl_Align(FL_ALIGN_TOP)); + o->value(pars->VoicePar[nvoice].Unison_frequency_spread); + } // Fl_Slider* o + { Fl_Value_Output* o = unisonspreadoutput = new Fl_Value_Output(225, 545, 40, 15, "(cents)"); + unisonspreadoutput->labelsize(10); + unisonspreadoutput->maximum(1000); + unisonspreadoutput->step(0.1); + unisonspreadoutput->textfont(1); + unisonspreadoutput->textsize(10); + unisonspreadoutput->callback((Fl_Callback*)cb_unisonspreadoutput); + unisonspreadoutput->align(Fl_Align(FL_ALIGN_TOP_LEFT)); + o->value(pars->getUnisonFrequencySpreadCents(nvoice)); + } // Fl_Value_Output* unisonspreadoutput + { WidgetPDial* o = new WidgetPDial(390, 540, 25, 25, "Vib.speed"); + o->tooltip("Vibratto 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->callback((Fl_Callback*)cb_Vib); + o->align(Fl_Align(FL_ALIGN_TOP)); + o->when(FL_WHEN_CHANGED); + o->value(pars->VoicePar[nvoice].Unison_vibratto_speed); + } // WidgetPDial* o + o->end(); + } // Fl_Group* o voicemodegroup->end(); } // Fl_Group* voicemodegroup { Fl_Group* o = new Fl_Group(5, 40, 240, 210, "AMPLITUDE"); @@ -1522,7 +1668,7 @@ void ADnoteUI::cb_currentvoicecounter_i(Fl_Counter* o, void*) { advoice->hide(); ADnoteVoice->remove(advoice); delete advoice; -advoice=new ADvoiceUI(0,0,765,525); +advoice=new ADvoiceUI(0,0,765,585); ADnoteVoice->add(advoice); advoice->init(pars,nvoice,master); advoice->show(); @@ -1899,9 +2045,9 @@ Fl_Double_Window* ADnoteUI::make_window() { } // Fl_Button* o ADnoteGlobalParameters->end(); } // Fl_Double_Window* ADnoteGlobalParameters - { ADnoteVoice = new Fl_Double_Window(765, 560, "ADsynth Voice Parameters"); + { ADnoteVoice = new Fl_Double_Window(765, 620, "ADsynth Voice Parameters"); ADnoteVoice->user_data((void*)(this)); - { ADvoiceUI* o = advoice = new ADvoiceUI(0, 0, 760, 525); + { ADvoiceUI* o = advoice = new ADvoiceUI(0, 0, 760, 575); advoice->box(FL_BORDER_BOX); advoice->color(FL_BACKGROUND_COLOR); advoice->selection_color(FL_BACKGROUND_COLOR); @@ -1915,12 +2061,12 @@ Fl_Double_Window* ADnoteUI::make_window() { o->show(); advoice->end(); } // ADvoiceUI* advoice - { Fl_Button* o = new Fl_Button(300, 530, 195, 25, "Close Window"); + { Fl_Button* o = new Fl_Button(300, 585, 195, 25, "Close Window"); o->box(FL_THIN_UP_BOX); o->labelfont(1); o->callback((Fl_Callback*)cb_Close1); } // Fl_Button* o - { Fl_Counter* o = currentvoicecounter = new Fl_Counter(5, 530, 130, 25, "Current Voice"); + { Fl_Counter* o = currentvoicecounter = new Fl_Counter(5, 585, 130, 25, "Current Voice"); currentvoicecounter->type(1); currentvoicecounter->labelfont(1); currentvoicecounter->minimum(0); @@ -1933,7 +2079,7 @@ Fl_Double_Window* ADnoteUI::make_window() { currentvoicecounter->align(Fl_Align(FL_ALIGN_RIGHT)); o->bounds(1,NUM_VOICES); } // Fl_Counter* currentvoicecounter - { Fl_Button* o = new Fl_Button(700, 535, 25, 15, "C"); + { Fl_Button* o = new Fl_Button(700, 590, 25, 15, "C"); o->box(FL_THIN_UP_BOX); o->color((Fl_Color)179); o->labelfont(1); @@ -1941,7 +2087,7 @@ Fl_Double_Window* ADnoteUI::make_window() { o->labelcolor(FL_BACKGROUND2_COLOR); o->callback((Fl_Callback*)cb_C1); } // Fl_Button* o - { Fl_Button* o = new Fl_Button(730, 535, 25, 15, "P"); + { Fl_Button* o = new Fl_Button(730, 590, 25, 15, "P"); o->box(FL_THIN_UP_BOX); o->color((Fl_Color)179); o->labelfont(1); diff --git a/plugins/zynaddsubfx/src/UI/ADnoteUI.h b/plugins/zynaddsubfx/src/UI/ADnoteUI.h index 01817c196..a9a573d60 100644 --- a/plugins/zynaddsubfx/src/UI/ADnoteUI.h +++ b/plugins/zynaddsubfx/src/UI/ADnoteUI.h @@ -174,6 +174,23 @@ private: static void cb_R(Fl_Check_Button*, void*); void cb_Use1_i(Fl_Choice*, void*); static void cb_Use1(Fl_Choice*, void*); + void cb_Stereo_i(WidgetPDial*, void*); + static void cb_Stereo(WidgetPDial*, void*); + void cb_Unison_i(Fl_Choice*, void*); + static void cb_Unison(Fl_Choice*, void*); + void cb_Vibratto_i(WidgetPDial*, void*); + static void cb_Vibratto(WidgetPDial*, void*); + void cb_Invert_i(Fl_Choice*, void*); + static void cb_Invert(Fl_Choice*, void*); + void cb_Frequency_i(Fl_Slider*, void*); + static void cb_Frequency(Fl_Slider*, void*); +public: + Fl_Value_Output *unisonspreadoutput; +private: + void cb_unisonspreadoutput_i(Fl_Value_Output*, void*); + static void cb_unisonspreadoutput(Fl_Value_Output*, void*); + void cb_Vib_i(WidgetPDial*, void*); + static void cb_Vib(WidgetPDial*, void*); void cb_Vol1_i(Fl_Value_Slider*, void*); static void cb_Vol1(Fl_Value_Slider*, void*); void cb_V1_i(Fl_Value_Slider*, void*); diff --git a/plugins/zynaddsubfx/src/UI/BankUI.cc b/plugins/zynaddsubfx/src/UI/BankUI.cc index ac976f873..7c8331d34 100644 --- a/plugins/zynaddsubfx/src/UI/BankUI.cc +++ b/plugins/zynaddsubfx/src/UI/BankUI.cc @@ -4,9 +4,6 @@ //Copyright (c) 2002-2005 Nasca Octavian Paul //License: GNU GPL version 2 or later -void BankProcess_::process() { -} - BankSlot::BankSlot(int x,int y, int w, int h, const char *label):Fl_Button(x,y,w,h,label) { what=NULL; whatslot=NULL; diff --git a/plugins/zynaddsubfx/src/UI/EffUI.cc b/plugins/zynaddsubfx/src/UI/EffUI.cc index 9da1534d9..9c1b141c7 100644 --- a/plugins/zynaddsubfx/src/UI/EffUI.cc +++ b/plugins/zynaddsubfx/src/UI/EffUI.cc @@ -154,6 +154,7 @@ void EffUI::cb_revp10(Fl_Choice* o, void* v) { Fl_Menu_Item EffUI::menu_revp10[] = { {"Random", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 7}, {"Freeverb", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 7}, + {"Bandwidth", 0, 0, 0, 0, FL_NORMAL_LABEL, 1, 10, 7}, {0,0,0,0,0,0,0,0,0} }; @@ -192,11 +193,11 @@ void EffUI::cb_revp4(WidgetPDial* o, void* v) { ((EffUI*)(o->parent()->user_data()))->cb_revp4_i(o,v); } -void EffUI::cb_revp5_i(WidgetPDial* o, void*) { - eff->seteffectpar(5,(int) o->value()); +void EffUI::cb_revp12_i(WidgetPDial* o, void*) { + eff->seteffectpar(12,(int) o->value()); } -void EffUI::cb_revp5(WidgetPDial* o, void* v) { - ((EffUI*)(o->parent()->user_data()))->cb_revp5_i(o,v); +void EffUI::cb_revp12(WidgetPDial* o, void* v) { + ((EffUI*)(o->parent()->user_data()))->cb_revp12_i(o,v); } void EffUI::cb_revp6_i(WidgetPDial* o, void*) { @@ -1022,7 +1023,7 @@ Fl_Group* EffUI::make_reverb_window() { revp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); revp->menu(menu_revp); } // Fl_Choice* revp - { revp10 = new Fl_Choice(110, 15, 75, 15, "Type"); + { revp10 = new Fl_Choice(110, 15, 85, 15, "Type"); revp10->down_box(FL_BORDER_BOX); revp10->color((Fl_Color)14); revp10->labelfont(1); @@ -1103,20 +1104,19 @@ Fl_Group* EffUI::make_reverb_window() { revp4->align(Fl_Align(FL_ALIGN_BOTTOM)); revp4->when(FL_WHEN_CHANGED); } // WidgetPDial* revp4 - { revp5 = new WidgetPDial(200, 40, 30, 30, "R.delay"); - revp5->box(FL_ROUND_UP_BOX); - revp5->color(FL_BACKGROUND_COLOR); - revp5->selection_color(FL_INACTIVE_COLOR); - revp5->labeltype(FL_NORMAL_LABEL); - revp5->labelfont(1); - revp5->labelsize(11); - revp5->labelcolor(FL_FOREGROUND_COLOR); - revp5->maximum(127); - revp5->callback((Fl_Callback*)cb_revp5); - revp5->align(Fl_Align(FL_ALIGN_BOTTOM)); - revp5->when(FL_WHEN_RELEASE); - revp5->deactivate(); - } // WidgetPDial* revp5 + { revp12 = new WidgetPDial(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->callback((Fl_Callback*)cb_revp12); + revp12->align(Fl_Align(FL_ALIGN_BOTTOM)); + revp12->when(FL_WHEN_RELEASE); + } // WidgetPDial* revp12 { revp6 = new WidgetPDial(235, 40, 30, 30, "E/R"); revp6->box(FL_ROUND_UP_BOX); revp6->color(FL_BACKGROUND_COLOR); @@ -1175,7 +1175,7 @@ Fl_Group* EffUI::make_reverb_window() { revp9->align(Fl_Align(FL_ALIGN_BOTTOM)); revp9->when(FL_WHEN_CHANGED); } // WidgetPDial* revp9 - { revp11 = new WidgetPDial(190, 10, 25, 25, "R.S."); + { revp11 = new WidgetPDial(200, 10, 25, 25, "R.S."); revp11->tooltip("RoomSize"); revp11->box(FL_ROUND_UP_BOX); revp11->color(FL_BACKGROUND_COLOR); @@ -2449,13 +2449,14 @@ switch(eff->geteffect()){ revp2->value(eff->geteffectpar(2)); revp3->value(eff->geteffectpar(3)); revp4->value(eff->geteffectpar(4)); - revp5->value(eff->geteffectpar(5)); + //revp5->value(eff->geteffectpar(5)); revp6->value(eff->geteffectpar(6)); revp7->value(eff->geteffectpar(7)); revp8->value(eff->geteffectpar(8)); revp9->value(eff->geteffectpar(9)); revp10->value(eff->geteffectpar(10)); revp11->value(eff->geteffectpar(11)); + revp12->value(eff->geteffectpar(12)); effreverbwindow->show(); break; @@ -2573,13 +2574,13 @@ void EffUI::refresh() { refresh(eff); } -void SimpleEffUI::cb_revpa_i(Fl_Choice* o, void*) { +void SimpleEffUI::cb_revp5_i(Fl_Choice* o, void*) { eff->changepreset((int)o->value()); refresh(eff); } -void SimpleEffUI::cb_revpa(Fl_Choice* o, void* v) { - ((SimpleEffUI*)(o->parent()->user_data()))->cb_revpa_i(o,v); +void SimpleEffUI::cb_revp5(Fl_Choice* o, void* v) { + ((SimpleEffUI*)(o->parent()->user_data()))->cb_revp5_i(o,v); } Fl_Menu_Item SimpleEffUI::menu_revp1[] = { @@ -3118,7 +3119,7 @@ Fl_Group* SimpleEffUI::make_reverb_window() { revp->textfont(1); revp->textsize(10); revp->textcolor(FL_BACKGROUND2_COLOR); - revp->callback((Fl_Callback*)cb_revpa); + revp->callback((Fl_Callback*)cb_revp5); revp->align(Fl_Align(FL_ALIGN_TOP_LEFT)); revp->menu(menu_revp1); } // Fl_Choice* revp diff --git a/plugins/zynaddsubfx/src/UI/EffUI.h b/plugins/zynaddsubfx/src/UI/EffUI.h index 3fddc2920..9f8721b51 100644 --- a/plugins/zynaddsubfx/src/UI/EffUI.h +++ b/plugins/zynaddsubfx/src/UI/EffUI.h @@ -84,10 +84,10 @@ private: void cb_revp4_i(WidgetPDial*, void*); static void cb_revp4(WidgetPDial*, void*); public: - WidgetPDial *revp5; + WidgetPDial *revp12; private: - void cb_revp5_i(WidgetPDial*, void*); - static void cb_revp5(WidgetPDial*, void*); + void cb_revp12_i(WidgetPDial*, void*); + static void cb_revp12(WidgetPDial*, void*); public: WidgetPDial *revp6; private: @@ -545,8 +545,8 @@ public: Fl_Group *effreverbwindow; Fl_Choice *revp; private: - void cb_revpa_i(Fl_Choice*, void*); - static void cb_revpa(Fl_Choice*, void*); + void cb_revp5_i(Fl_Choice*, void*); + static void cb_revp5(Fl_Choice*, void*); static Fl_Menu_Item menu_revp1[]; public: WidgetPDial *revp0; diff --git a/plugins/zynaddsubfx/src/UI/MasterUI.cc b/plugins/zynaddsubfx/src/UI/MasterUI.cc index 2b91bd54e..bd8545239 100644 --- a/plugins/zynaddsubfx/src/UI/MasterUI.cc +++ b/plugins/zynaddsubfx/src/UI/MasterUI.cc @@ -214,7 +214,8 @@ labelsize(10); align(FL_ALIGN_TOP); value(master->Psysefxsend[neff1][neff2]); -char tmp[20];snprintf(tmp,20,"%d->%d",neff1+1,neff2+1);this->label(strdup(tmp)); +char tmp[20];snprintf(tmp,20,"%d->%d",neff1+1,neff2+1); +this->copy_label(tmp); } SysEffSend::~SysEffSend() { @@ -380,7 +381,7 @@ Fl_Group* Panellistitem::make_window() { partenabled->labelsize(13); partenabled->callback((Fl_Callback*)cb_partenabled); partenabled->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); - char tmp[10];snprintf(tmp,10,"%d",npart+1);o->label(strdup(tmp)); + char tmp[10];snprintf(tmp,10,"%d",npart+1);o->copy_label(tmp); o->value(master->part[npart]->Penabled); } // Fl_Check_Button* partenabled panellistitem->end(); @@ -1986,7 +1987,7 @@ General Public License for details."); partenabled->labelsize(13); partenabled->callback((Fl_Callback*)cb_partenabled1); partenabled->align(Fl_Align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE)); - //char tmp[10];snprintf(tmp,10,"%d",npart+1);o->label(strdup(tmp)); + //char tmp[10];snprintf(tmp,10,"%d",npart+1);o->copy_label(tmp); o->value(master->part[npart]->Penabled); } // Fl_Check_Button* partenabled { VirKeys* o = virkeys = new VirKeys(5, 215, 590, 80, "Keyboard"); @@ -2338,19 +2339,23 @@ simplerefresh(); MasterUI::~MasterUI() { masterwindow->hide(); -delete (masterwindow); +delete masterwindow; +simplemasterwindow->hide(); +delete simplemasterwindow; aboutwindow->hide(); -delete (aboutwindow); +delete aboutwindow; syseffsendwindow->hide(); -delete(syseffsendwindow); +delete syseffsendwindow; -delete (virkeyboard); -delete (microtonalui); -delete (bankui); -delete (configui); -delete (sequi); +delete virkeyboard; +delete microtonalui; +delete bankui; +delete configui; +delete sequi; -delete(presetsui); +delete presetsui; +delete panelwindow; +delete selectuiwindow; } void MasterUI::showUI() { diff --git a/plugins/zynaddsubfx/src/UI/OscilGenUI.cc b/plugins/zynaddsubfx/src/UI/OscilGenUI.cc index 7bcb5ad3e..879ff763b 100644 --- a/plugins/zynaddsubfx/src/UI/OscilGenUI.cc +++ b/plugins/zynaddsubfx/src/UI/OscilGenUI.cc @@ -80,9 +80,6 @@ for (i=0;iwhen(FL_WHEN_CHANGED); o->size(25,25); o->value(master->Psysefxvol[neff][npart]); - char tmp[10];snprintf(tmp,10,"%d",neff+1);o->label(strdup(tmp)); + char tmp[10];snprintf(tmp,10,"%d",neff+1);o->copy_label(tmp); } // WidgetPDial* o syseffsend->end(); } // Fl_Group* syseffsend @@ -65,9 +65,6 @@ PartSysEffSend::~PartSysEffSend() { //delete(syseffsend); } -void PartUI_::showparameters(int kititem,int engine) { -} - void PartKitItem::cb_minkcounter_i(Fl_Counter* o, void*) { part->kit[n].Pminkey=(int)o->value(); } @@ -333,7 +330,7 @@ Fl_Group* PartKitItem::make_window() { enabledcheck->labelsize(13); enabledcheck->callback((Fl_Callback*)cb_enabledcheck); enabledcheck->align(Fl_Align(FL_ALIGN_LEFT)); - snprintf(label,10,"%d",n+1);o->label(strdup(label)); + snprintf(label,10,"%d",n+1);o->label(label); o->value(part->kit[n].Penabled); if (n==0) o->deactivate(); } // Fl_Check_Button* enabledcheck diff --git a/plugins/zynaddsubfx/src/UI/PresetsUI.cc b/plugins/zynaddsubfx/src/UI/PresetsUI.cc index b35c868f3..16022104c 100644 --- a/plugins/zynaddsubfx/src/UI/PresetsUI.cc +++ b/plugins/zynaddsubfx/src/UI/PresetsUI.cc @@ -2,12 +2,6 @@ #include "PresetsUI.h" -void PresetsUI_::refresh() { -} - -PresetsUI_::~PresetsUI_() { -} - void PresetsUI::cb_copybrowse_i(Fl_Browser* o, void*) { int val=o->value(); if (val!=0){ diff --git a/plugins/zynaddsubfx/src/UI/VirKeyboard.cc b/plugins/zynaddsubfx/src/UI/VirKeyboard.cc index 49491ff62..25df926ad 100644 --- a/plugins/zynaddsubfx/src/UI/VirKeyboard.cc +++ b/plugins/zynaddsubfx/src/UI/VirKeyboard.cc @@ -486,6 +486,10 @@ midictl=75; make_window(); } +VirKeyboard::~VirKeyboard() { + delete virkeyboardwindow; +} + void VirKeyboard::show() { virkeyboardwindow->show(); } diff --git a/plugins/zynaddsubfx/src/UI/VirKeyboard.h b/plugins/zynaddsubfx/src/UI/VirKeyboard.h index bfcec5b53..7d7e7b95e 100644 --- a/plugins/zynaddsubfx/src/UI/VirKeyboard.h +++ b/plugins/zynaddsubfx/src/UI/VirKeyboard.h @@ -80,6 +80,7 @@ private: static void cb_partrcv(Fl_Choice*, void*); public: VirKeyboard(Master *master_); + ~VirKeyboard(); void show(); void relaseallkeys(); private: diff --git a/plugins/zynaddsubfx/src/UI/WidgetPDial.cc b/plugins/zynaddsubfx/src/UI/WidgetPDial.cc index bd1d43653..dde9e8854 100644 --- a/plugins/zynaddsubfx/src/UI/WidgetPDial.cc +++ b/plugins/zynaddsubfx/src/UI/WidgetPDial.cc @@ -33,7 +33,8 @@ textmode=false; } void TipWin::setText(const char * c) { - strcpy(text,c); + strncpy(text, c, max_tooltip_len-1); +text[max_tooltip_len-1] = 0; textmode=true; // Recalc size of window fl_font(labelfont(), labelsize()); diff --git a/plugins/zynaddsubfx/src/UI/WidgetPDial.h b/plugins/zynaddsubfx/src/UI/WidgetPDial.h index 7f9759c1e..e81f17e18 100644 --- a/plugins/zynaddsubfx/src/UI/WidgetPDial.h +++ b/plugins/zynaddsubfx/src/UI/WidgetPDial.h @@ -22,7 +22,8 @@ public: private: char tip[40]; bool textmode; - char text[400]; //bad stuff will happen if too much is put in this (perhaps dynamically allocate?) + enum { max_tooltip_len = 400 }; + char text[max_tooltip_len]; }; class WidgetPDial : public Fl_Dial {