commit b35a65605f829f6c91402dbfdd88d682fcda5076
parent 10f80847541ddab719a1c1e822672bff050c718e
Author: paulnasca <paulnasca>
Date: Sat, 14 Feb 2004 11:31:45 +0000
*** empty log message ***
Diffstat:
7 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -536,3 +536,4 @@
14 Feb 2004 - Se poate incarca si instrumente
- Rezolvata o problema la coarse detune
- Corectate cateva erori la incarcarea XML-ului
+ - frecventa LFO-ul de la instrumente are valoare reala intre 0..1
diff --git a/src/Effects/EffectMgr.C b/src/Effects/EffectMgr.C
@@ -270,6 +270,7 @@ void EffectMgr::getfromXML(XMLwrapper *xml){
if (xml->enterbranch("EFFECT_PARAMETERS")){
for (int n=0;n<128;n++){
+ seteffectpar_nolock(n,0);//erase effect parameter
if (xml->enterbranch("par_no",n)==0) continue;
int par=geteffectpar(n);
diff --git a/src/Params/Controller.C b/src/Params/Controller.C
@@ -334,7 +334,7 @@ void Controller::add2XML(XMLwrapper *xml){
};
void Controller::getfromXML(XMLwrapper *xml){
- pitchwheel.bendrange=xml->getpar127("pitchwheel_bendrange",pitchwheel.bendrange);
+ pitchwheel.bendrange=xml->getpar("pitchwheel_bendrange",pitchwheel.bendrange,-6400,6400);
expression.receive=xml->getparbool("expression_receive",expression.receive);
panning.depth=xml->getpar127("panning_depth",panning.depth);
diff --git a/src/Params/LFOParams.C b/src/Params/LFOParams.C
@@ -45,7 +45,7 @@ LFOParams::~LFOParams(){
};
void LFOParams::defaults(){
- Pfreq=Dfreq;
+ Pfreq=Dfreq/127.0;
Pintensity=Dintensity;
Pstartphase=Dstartphase;
PLFOtype=DLFOtype;
@@ -68,6 +68,7 @@ void LFOParams::saveloadbuf(Buffer *buf){
tmp=0xfe;
buf->rwbyte(&tmp);//if tmp!=0xfe error
+ unsigned char freq=(int) (Pfreq*127.0);
for (n=0x80;n<0xf0;n++){
if (buf->getmode()==0) {
@@ -78,7 +79,7 @@ void LFOParams::saveloadbuf(Buffer *buf){
switch(npar){
//LFO parameters
- case 0x80: buf->rwbytepar(n,&Pfreq);
+ case 0x80: buf->rwbytepar(n,&freq);
break;
case 0x81: buf->rwbytepar(n,&Pintensity);
break;
@@ -97,6 +98,7 @@ void LFOParams::saveloadbuf(Buffer *buf){
};
};
+ Pfreq=freq/127.0;
if (buf->getmode()!=0) {
unsigned char tmp=0xff;
@@ -105,7 +107,7 @@ void LFOParams::saveloadbuf(Buffer *buf){
};
void LFOParams::add2XML(XMLwrapper *xml){
- xml->addpar("freq",Pfreq);
+ xml->addparreal("freq",Pfreq);
xml->addpar("intensity",Pintensity);
xml->addpar("start_phase",Pstartphase);
xml->addpar("lfo_type",PLFOtype);
@@ -116,7 +118,7 @@ void LFOParams::add2XML(XMLwrapper *xml){
};
void LFOParams::getfromXML(XMLwrapper *xml){
- Pfreq=xml->getpar127("freq",Pfreq);
+ Pfreq=xml->getparreal("freq",Pfreq,0.0,1.0);
Pintensity=xml->getpar127("intensity",Pintensity);
Pstartphase=xml->getpar127("start_phase",Pstartphase);
PLFOtype=xml->getpar127("lfo_type",PLFOtype);
diff --git a/src/Params/LFOParams.h b/src/Params/LFOParams.h
@@ -39,7 +39,7 @@ class LFOParams{
void getfromXML(XMLwrapper *xml);
/* Parametrii MIDI */
- unsigned char Pfreq; // frequency
+ REALTYPE Pfreq; // frequency
unsigned char Pintensity; // intensity
unsigned char Pstartphase;// start phase (0=random)
unsigned char PLFOtype; // LFO type (sin,triangle,square,ramp,...)
diff --git a/src/Synth/LFO.C b/src/Synth/LFO.C
@@ -28,7 +28,7 @@
LFO::LFO(LFOParams *lfopars){
- REALTYPE lfofreq=(pow(2,lfopars->Pfreq/127.0*10.0)-1.0)/12.0;
+ REALTYPE lfofreq=(pow(2,lfopars->Pfreq*10.0)-1.0)/12.0;
incx=fabs(lfofreq)*(REALTYPE)SOUND_BUFFER_SIZE/(REALTYPE)SAMPLE_RATE;
if (lfopars->Pcontinous==0){
diff --git a/src/UI/LFOUI.fl b/src/UI/LFOUI.fl
@@ -1,5 +1,5 @@
# data file for the Fltk User Interface Designer (fluid)
-version 1.0104
+version 1.0200
header_name {.h}
code_name {.cc}
decl {//Copyright (c) 2002-2003 Nasca Octavian Paul} {}
@@ -45,7 +45,7 @@ delete (lfoui);} {}
}
Function {make_window()} {} {
Fl_Window lfoui {
- xywh {212 373 230 70} color 50 labelfont 1 hide
+ xywh {212 373 230 70} type Double color 50 labelfont 1 hide
class Fl_Group
} {
Fl_Group lfoparamswindow {
@@ -54,8 +54,8 @@ delete (lfoui);} {}
} {
Fl_Dial {} {
label {Freq.}
- callback {pars->Pfreq=(int)o->value();}
- tooltip {LFO Frequency} xywh {5 20 30 30} box ROUND_UP_BOX labelsize 11 maximum 127 step 1
+ callback {pars->Pfreq=o->value();} selected
+ tooltip {LFO Frequency} xywh {5 20 30 30} box ROUND_UP_BOX labelsize 11 step 1e-05
code0 {o->value(pars->Pfreq);}
class WidgetPDial
}
@@ -82,7 +82,7 @@ delete (lfoui);} {}
}
Fl_Dial {} {
label {A.R.}
- callback {pars->Prandomness=(int)o->value();} selected
+ callback {pars->Prandomness=(int)o->value();}
tooltip {LFO Amplitude Randomness} xywh {180 7 20 20} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
code0 {o->value(pars->Prandomness);}
class WidgetPDial