Merge branch 'master' of ssh://zynaddsubfx.git.sourceforge.net/gitroot/zynaddsubfx/zynaddsubfx

Conflicts:
	ChangeLog
(cherry picked from commit 93bb99e57561c5b72d2074a233c513e9da6bf9d4)

Conflicts:

	src/Synth/OscilGen.cpp
	src/Synth/OscilGen.h
	src/main.cpp
This commit is contained in:
Tobias Doerffel
2009-09-25 01:17:40 +02:00
parent db06648d07
commit 53f12a58bf
8 changed files with 57 additions and 40 deletions

View File

@@ -13,4 +13,6 @@ Contributors:
Achim Settelmeier (QUERTZ keyboard layout for virtual keyboard)
J<>r<EFBFBD>mie Andr<64>i (AZERTY keyboard layout, Array index fix)
Alexis Ballier (const char* <-> string mismatch, NULLMidi prototype fix)
Tobias Doerffel (static vs instance variables alteration)
James Morris (Memory leaks in FLTK GUI)

View File

@@ -899,6 +899,11 @@
22 Sep 2009 (Paul Nasca)
- Added vibratto and other features to Unison effect
22 Sep 2009 (Mark McCurry)
- Changed temporary data for Oscilgen from static to instance
recommended by Tobias Doerffel
- Fixed Memory leaks in UI based upon James Morris' patch
23 Sep 2009 (Paul Nasca)
- Added unison invert phase
- Made unison frequency spread to depend on Bandwidth controllers and parameters
@@ -908,4 +913,4 @@
24 Sep 2009 (Paul Nasca)
- Small enhancements and bugfixes to Unison
- Started to implement Bandwidth to the Reverb effect

View File

@@ -32,6 +32,7 @@ OscilGen::OscilGen(FFTwrapper *fft_,Resonance *res_):Presets()
setpresettype("Poscilgen");
fft=fft_;
res=res_;
tmpsmps = new REALTYPE[OSCIL_SIZE];
newFFTFREQS(&outoscilFFTfreqs, OSCIL_SIZE/2);
newFFTFREQS(&oscilFFTfreqs,OSCIL_SIZE/2);

View File

@@ -110,8 +110,8 @@ public:
bool ADvsPAD;//if it is used by ADsynth or by PADsynth
private:
REALTYPE *tmpsmps;//this array stores some termporary data and it has SOUND_BUFFER_SIZE elements
//This array stores some termporary data and it has OSCIL_SIZE elements
REALTYPE *tmpsmps;
FFTFREQS outoscilFFTfreqs;
REALTYPE hmag[MAX_AD_HARMONICS],hphase[MAX_AD_HARMONICS];//the magnituides and the phases of the sine/nonsine harmonics

View File

@@ -1,9 +1,8 @@
# data file for the Fltk User Interface Designer (fluid)
version 1.0109
version 1.0107
header_name {.h}
code_name {.cc}
decl {//Copyright (c) 2002-2009 Nasca Octavian Paul} {selected
}
decl {//Copyright (c) 2002-2009 Nasca Octavian Paul} {}
decl {//License: GNU GPL version 2 or later} {}
@@ -275,7 +274,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);} {}
}
Function {~SysEffSend()} {} {
code {hide();} {}
@@ -344,7 +344,7 @@ bankui->show();}
xywh {15 235 40 20} box PLASTIC_UP_BOX labelsize 10
}
Fl_Choice partrcv {
callback {master->part[npart]->Prcvchn=(int) o->value();} open
callback {master->part[npart]->Prcvchn=(int) o->value();}
tooltip {receive from Midi channel} xywh {10 213 50 15} down_box BORDER_BOX labelsize 10 align 5 textfont 1 textsize 10
code0 {char nrstr[10]; for(int i=0;i<NUM_MIDI_CHANNELS;i++){sprintf(nrstr,"Ch%d",i+1);if (i!=9) o->add(nrstr); else o->add("Dr10");};}
code1 {o->value(master->part[npart]->Prcvchn);}
@@ -367,7 +367,7 @@ if ((int) o->value()==0) panellistitemgroup->deactivate();
o->redraw();}
private xywh {5 0 45 20} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 24
code0 {char tmp[10];snprintf(tmp,10,"%d",npart+1);o->label(strdup(tmp));}
code0 {char tmp[10];snprintf(tmp,10,"%d",npart+1);o->copy_label(tmp);}
code1 {o->value(master->part[npart]->Penabled);}
}
}
@@ -386,8 +386,7 @@ make_window();
panellistitem->show();
end();} {}
}
Function {refresh()} {open
} {
Function {refresh()} {} {
code {partenabled->value(master->part[npart]->Penabled);
if (master->part[npart]->Penabled!=0) panellistitemgroup->activate();
else panellistitemgroup->deactivate();
@@ -415,7 +414,8 @@ panellistitemgroup->redraw();} {}
}
class MasterUI {} {
Function {make_window()} {} {
Function {make_window()} {selected
} {
Fl_Window masterwindow {
label zynaddsubfx
callback {\#ifdef VSTAUDIOOUT
@@ -426,7 +426,7 @@ if (fl_choice("Exit and leave the unsaved data?","No","Yes",NULL)) {
*exitprogram=1;
};
\#endif}
xywh {31 206 390 465} type Double xclass zynaddsubfx visible
xywh {31 206 390 465} type Double hide xclass zynaddsubfx
} {
Fl_Menu_Bar mastermenu {
xywh {-5 0 690 25}
@@ -1043,18 +1043,18 @@ GNU General Public License for details.}
label {ZynAddSubFX Panel}
xywh {89 59 630 635} type Double hide
} {
Fl_Scroll {} {open
Fl_Scroll {} {
xywh {0 5 570 310} type HORIZONTAL box THIN_UP_BOX
} {
Fl_Pack {} {open
Fl_Pack {} {
xywh {5 10 560 285} type HORIZONTAL
code0 {for (int i=0;i<NUM_MIDI_PARTS/2;i++){panellistitem[i]=new Panellistitem(0,0,70,260,"");panellistitem[i]->init(master,i,bankui);}}
} {}
}
Fl_Scroll {} {open
Fl_Scroll {} {
xywh {0 320 570 310} type HORIZONTAL box THIN_UP_BOX
} {
Fl_Pack {} {open
Fl_Pack {} {
xywh {5 325 560 285} type HORIZONTAL
code0 {for (int i=NUM_MIDI_PARTS/2;i<NUM_MIDI_PARTS;i++){panellistitem[i]=new Panellistitem(0,0,70,260,"");panellistitem[i]->init(master,i,bankui);}}
} {}
@@ -1288,7 +1288,7 @@ if ((int) o->value()==0) simplelistitemgroup->deactivate();
o->redraw();}
private xywh {250 40 85 20} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 24
code0 {//char tmp[10];snprintf(tmp,10,"%d",npart+1);o->label(strdup(tmp));}
code0 {//char tmp[10];snprintf(tmp,10,"%d",npart+1);o->copy_label(tmp);}
code1 {o->value(master->part[npart]->Penabled);}
}
Fl_Box virkeys {
@@ -1643,19 +1643,23 @@ simplerefresh();} {}
}
Function {~MasterUI()} {} {
code {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;} {}
}
Function {showUI()} {} {
code {switch (config.cfg.UserInterfaceMode){

View File

@@ -56,7 +56,7 @@ class PartSysEffSend {: {public Fl_Group}
xywh {0 0 25 25} box ROUND_UP_BOX labelfont 1 labelsize 10 align 130 maximum 127 step 1
code0 {o->size(25,25);}
code1 {o->value(master->Psysefxvol[neff][npart]);}
code2 {char tmp[10];snprintf(tmp,10,"%d",neff+1);o->label(strdup(tmp));}
code2 {char tmp[10];snprintf(tmp,10,"%d",neff+1);o->copy_label(tmp);}
class WidgetPDial
}
}
@@ -212,7 +212,7 @@ o->redraw();
partui->showparameters(n,-1);//use to delete the ui, if it is not to item 0
} else o->value(1);}
private xywh {30 0 20 15} down_box DOWN_BOX labeltype EMBOSSED_LABEL labelfont 1 labelsize 13 align 4
code0 {snprintf(label,10,"%d",n+1);o->label(strdup(label));}
code0 {snprintf(label,10,"%d",n+1);o->label(label);}
code1 {o->value(part->kit[n].Penabled);}
code2 {if (n==0) o->deactivate();}
}
@@ -590,7 +590,7 @@ part->ctl.portamento.updowntimestretch=x;}
}
Fl_Dial proptb {
label {Prp.Dpth}
callback {part->ctl.portamento.propDepth=(int) o->value();} selected
callback {part->ctl.portamento.propDepth=(int) o->value();}
tooltip {The difference from nonproportinal portamento} xywh {405 60 25 25} labelsize 9 maximum 127 step 1
code0 {o->value(part->ctl.portamento.propDepth);}
class WidgetPDial
@@ -841,7 +841,7 @@ if (part->Pkitmode==0) {
}
}
Fl_Window instrumenteditwindow {
label {Instrument Edit}
label {Instrument Edit} selected
xywh {182 214 395 360} type Double hide
} {
Fl_Group {} {

View File

@@ -41,9 +41,9 @@ decl {const int keysoct1qwertz[]={'q','2','w','3','e','r','5','t','6','z','7','u
decl {const int keysoct2qwertz[]={'y','s','x','d','c','v','g','b','h','n','j','m',',','l','.',246,'-',0};} {}
decl {const int keysoct1az[]={'a',233,'z','\\"','e','r','(','t','-','y',232,'u','i',231,'o',224,'p',65106,'=','$',0};} {}
decl {const int keysoct1az[]={'a',233,'z','\\"','e','r','(','t','-','y',232,'u','i',231,'o',224,'p',65106,'=','$',0};} {}
decl {const int keysoct2az[]={'w','s','x','d','c','v','g','b','h','n','j',',',';','l',':','m','!',0};} {}
decl {const int keysoct2az[]={'w','s','x','d','c','v','g','b','h','n','j',',',';','l',':','m','!',0};} {}
class VirKeys {: {public Fl_Box}
} {
@@ -184,8 +184,7 @@ if ((event==FL_KEYDOWN)||(event==FL_KEYUP)){
return(1);} {}
}
Function {presskey(int nk,int exclusive,int type)} {selected
} {
Function {presskey(int nk,int exclusive,int type)} {} {
code {//Exclusive means that multiple keys can be pressed at once
//when the user uses the shift key
if (nk>=N_OCT*12) return;
@@ -410,6 +409,10 @@ virkeys->take_focus();} open
midictl=75;
make_window();} {}
}
Function {~VirKeyboard()} {} {
code {delete virkeyboardwindow;} {selected
}
}
Function {show()} {} {
code {virkeyboardwindow->show();} {}
}

View File

@@ -1,5 +1,5 @@
# data file for the Fltk User Interface Designer (fluid)
version 1.0109
version 1.0107
header_name {.h}
code_name {.cc}
decl {//Copyright (c) 2003-2005 Nasca Octavian Paul} {}
@@ -61,7 +61,8 @@ textmode=false;
}
Function {setText(const char * c)} {return_type void
} {
code {strcpy(text,c);
code {strncpy(text, c, max_tooltip_len-1);
text[max_tooltip_len-1] = 0;
textmode=true;
// Recalc size of window
fl_font(labelfont(), labelsize());
@@ -84,7 +85,9 @@ textmode=true;
}
decl {char tip[40];} {}
decl {bool textmode;} {}
decl {char text[400];//bad stuff will happen if too much is put in this (perhaps dynamically allocate?)} {}
decl {enum { max_tooltip_len = 400 };} {selected
}
decl {char text[max_tooltip_len];} {}
}
class WidgetPDial {: {public Fl_Dial}
@@ -153,8 +156,7 @@ case FL_RELEASE:
return(1);
break;
};
return(0);} {selected
}
return(0);} {}
}
Function {drawgradient(int cx,int cy,int sx,double m1,double m2)} {return_type void
} {