commit b16cd05a5c1f3fa188c77b0ef419ec356e13bf1c
parent f35c87dceceacaa9a640024cfbe78877147be2e3
Author: paulnasca <paulnasca>
Date: Tue, 17 Aug 2004 17:13:19 +0000
*** empty log message ***
Diffstat:
12 files changed, 82 insertions(+), 44 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -690,6 +690,7 @@
- Merge clipboardul la Oscil, Resonance, Filter si partial la ADsynth,SUBSynth si PADsynth
16 Aug 2004 - Corectata inca o eroare la pitch bend (aratata de Krzysztof Korpiela)
- Adaugat refresh si la Filtru si paste la ADnote, SUBnote si PADsynth sunt complete
+17 Aug 2004 - Adaugat clipboard la LFO
\ No newline at end of file
diff --git a/src/Params/EnvelopeParams.C b/src/Params/EnvelopeParams.C
@@ -26,7 +26,7 @@
#include <stdlib.h>
#include "EnvelopeParams.h"
-EnvelopeParams::EnvelopeParams(unsigned char Penvstretch_,unsigned char Pforcedrelease_){
+EnvelopeParams::EnvelopeParams(unsigned char Penvstretch_,unsigned char Pforcedrelease_):Presets(){
int i;
PA_dt=10;PD_dt=10;PR_dt=10;PA_val=64;PD_val=64;PS_val=64;PR_val=64;
@@ -60,6 +60,7 @@ REALTYPE EnvelopeParams::getdt(char i){
* ADSR/ASR... initialisations
*/
void EnvelopeParams::ADSRinit(char A_dt,char D_dt,char S_val,char R_dt){
+ setpresettype("envamplitude");
Envmode=1;
PA_dt=A_dt;PD_dt=D_dt;PS_val=S_val;PR_dt=R_dt;
Pfreemode=0;
@@ -69,6 +70,7 @@ void EnvelopeParams::ADSRinit(char A_dt,char D_dt,char S_val,char R_dt){
};
void EnvelopeParams::ADSRinit_dB(char A_dt,char D_dt,char S_val,char R_dt){
+ setpresettype("envamplitude");
Envmode=2;
PA_dt=A_dt;PD_dt=D_dt;PS_val=S_val;PR_dt=R_dt;
Pfreemode=0;
@@ -78,6 +80,7 @@ void EnvelopeParams::ADSRinit_dB(char A_dt,char D_dt,char S_val,char R_dt){
};
void EnvelopeParams::ASRinit(char A_val,char A_dt,char R_val,char R_dt){
+ setpresettype("envfrequency");
Envmode=3;
PA_val=A_val;PA_dt=A_dt;PR_val=R_val;PR_dt=R_dt;
Pfreemode=0;
@@ -87,6 +90,7 @@ void EnvelopeParams::ASRinit(char A_val,char A_dt,char R_val,char R_dt){
};
void EnvelopeParams::ADSRinit_filter(char A_val,char A_dt,char D_val,char D_dt,char R_dt,char R_val){
+ setpresettype("envfilter");
Envmode=4;
PA_val=A_val;PA_dt=A_dt;PD_val=D_val;PD_dt=D_dt;PR_dt=R_dt;PR_val=R_val;
Pfreemode=0;
@@ -95,6 +99,7 @@ void EnvelopeParams::ADSRinit_filter(char A_val,char A_dt,char D_val,char D_dt,c
};
void EnvelopeParams::ASRinit_bw(char A_val,char A_dt,char R_val,char R_dt){
+ setpresettype("envbandwidth");
Envmode=5;
PA_val=A_val;PA_dt=A_dt;PR_val=R_val;PR_dt=R_dt;
Pfreemode=0;
diff --git a/src/Params/EnvelopeParams.h b/src/Params/EnvelopeParams.h
@@ -26,11 +26,12 @@
#include "../globals.h"
#include "../Misc/Buffer.h"
#include "../Misc/XMLwrapper.h"
+#include "Presets.h"
#define MAX_ENVELOPE_POINTS 40
#define MIN_ENVELOPE_DB -40
-class EnvelopeParams{
+class EnvelopeParams:public Presets{
public:
EnvelopeParams(unsigned char Penvstretch_,unsigned char Pforcedrelease_);
~EnvelopeParams();
diff --git a/src/Params/FilterParams.C b/src/Params/FilterParams.C
@@ -347,6 +347,19 @@ void FilterParams::saveloadbuf(Buffer *buf){
};
};
+
+void FilterParams::add2XMLvowel(XMLwrapper *xml,int nvowel){
+ xml->beginbranch("VOWEL",nvowel);
+ for (int nformant=0;nformant<FF_MAX_FORMANTS;nformant++){
+ xml->beginbranch("FORMANT",nformant);
+ xml->addpar("freq",Pvowels[nvowel].formants[nformant].freq);
+ xml->addpar("amp",Pvowels[nvowel].formants[nformant].amp);
+ xml->addpar("q",Pvowels[nvowel].formants[nformant].q);
+ xml->endbranch();
+ };
+ xml->endbranch();
+};
+
void FilterParams::add2XML(XMLwrapper *xml){
//filter parameters
xml->addpar("category",Pcategory);
@@ -366,15 +379,7 @@ void FilterParams::add2XML(XMLwrapper *xml){
xml->addpar("center_freq",Pcenterfreq);
xml->addpar("octaves_freq",Poctavesfreq);
for (int nvowel=0;nvowel<FF_MAX_VOWELS;nvowel++){
- xml->beginbranch("VOWEL",nvowel);
- for (int nformant=0;nformant<FF_MAX_FORMANTS;nformant++){
- xml->beginbranch("FORMANT",nformant);
- xml->addpar("freq",Pvowels[nvowel].formants[nformant].freq);
- xml->addpar("amp",Pvowels[nvowel].formants[nformant].amp);
- xml->addpar("q",Pvowels[nvowel].formants[nformant].q);
- xml->endbranch();
- };
- xml->endbranch();
+ add2XMLvowel(xml,nvowel);
};
xml->addpar("sequence_size",Psequencesize);
xml->addpar("sequence_stretch",Psequencestretch);
@@ -389,6 +394,18 @@ void FilterParams::add2XML(XMLwrapper *xml){
};
+void FilterParams::getfromXMLvowel(XMLwrapper *xml,int nvowel){
+ if (xml->enterbranch("VOWEL",nvowel)==0) return;
+ for (int nformant=0;nformant<FF_MAX_FORMANTS;nformant++){
+ if (xml->enterbranch("FORMANT",nformant)==0) continue;
+ Pvowels[nvowel].formants[nformant].freq=xml->getpar127("freq",Pvowels[nvowel].formants[nformant].freq);
+ Pvowels[nvowel].formants[nformant].amp=xml->getpar127("amp",Pvowels[nvowel].formants[nformant].amp);
+ Pvowels[nvowel].formants[nformant].q=xml->getpar127("q",Pvowels[nvowel].formants[nformant].q);
+ xml->exitbranch();
+ };
+ xml->exitbranch();
+};
+
void FilterParams::getfromXML(XMLwrapper *xml){
//filter parameters
Pcategory=xml->getpar127("category",Pcategory);
@@ -408,15 +425,7 @@ void FilterParams::getfromXML(XMLwrapper *xml){
Poctavesfreq=xml->getpar127("octaves_freq",Poctavesfreq);
for (int nvowel=0;nvowel<FF_MAX_VOWELS;nvowel++){
- if (xml->enterbranch("VOWEL",nvowel)==0) continue;
- for (int nformant=0;nformant<FF_MAX_FORMANTS;nformant++){
- if (xml->enterbranch("FORMANT",nformant)==0) continue;
- Pvowels[nvowel].formants[nformant].freq=xml->getpar127("freq",Pvowels[nvowel].formants[nformant].freq);
- Pvowels[nvowel].formants[nformant].amp=xml->getpar127("amp",Pvowels[nvowel].formants[nformant].amp);
- Pvowels[nvowel].formants[nformant].q=xml->getpar127("q",Pvowels[nvowel].formants[nformant].q);
- xml->exitbranch();
- };
- xml->exitbranch();
+ getfromXMLvowel(xml,nvowel);
};
Psequencesize=xml->getpar127("sequence_size",Psequencesize);
Psequencestretch=xml->getpar127("sequence_stretch",Psequencestretch);
diff --git a/src/Params/FilterParams.h b/src/Params/FilterParams.h
@@ -35,8 +35,11 @@ class FilterParams:public Presets{
void saveloadbuf(Buffer *buf);
void add2XML(XMLwrapper *xml);
+ void add2XMLvowel(XMLwrapper *xml,int nvowel);
void defaults();
void getfromXML(XMLwrapper *xml);
+ void getfromXMLvowel(XMLwrapper *xml,int nvowel);
+
void getfromFilterParams(FilterParams *pars);
diff --git a/src/Params/LFOParams.C b/src/Params/LFOParams.C
@@ -27,7 +27,15 @@
int LFOParams::time;
-LFOParams::LFOParams(char Pfreq_,char Pintensity_,char Pstartphase_, char PLFOtype_,char Prandomness_, char Pdelay_,char Pcontinous_,char fel_){
+LFOParams::LFOParams(char Pfreq_,char Pintensity_,char Pstartphase_, char PLFOtype_,char Prandomness_, char Pdelay_,char Pcontinous_,char fel_):Presets(){
+ switch(fel_) {
+ case 0:setpresettype("Plfofrequency");
+ break;
+ case 1:setpresettype("Plfoamplitude");
+ break;
+ case 2:setpresettype("Plfofilter");
+ break;
+ };
Dfreq=Pfreq_;
Dintensity=Pintensity_;
Dstartphase=Pstartphase_;
diff --git a/src/Params/LFOParams.h b/src/Params/LFOParams.h
@@ -25,8 +25,9 @@
#include "../Misc/Buffer.h"
#include "../Misc/XMLwrapper.h"
+#include "Presets.h"
-class LFOParams{
+class LFOParams:public Presets{
public:
LFOParams(char Pfreq_,char Pintensity_,char Pstartphase_, char PLFOtype_,char Prandomness_, char Pdelay_,char Pcontinous,char fel_);
~LFOParams();
diff --git a/src/UI/ADnoteUI.fl b/src/UI/ADnoteUI.fl
@@ -177,7 +177,7 @@ class ADvoiceUI {: {public Fl_Group}
Function {make_window()} {} {
Fl_Window ADnoteVoiceParameters {
label Voice
- xywh {67 162 765 525} type Double hide
+ xywh {231 132 765 525} type Double hide
class Fl_Group
} {
Fl_Group voiceparametersgroup {
@@ -417,7 +417,7 @@ o->redraw();}
code0 {o->value(pars->VoicePar[nvoice].PFreqEnvelopeEnabled);}
}
Fl_Group voicefreqlfogroup {
- label {Frequency LFO} open
+ label {Frequency LFO } open
xywh {215 290 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->VoicePar[nvoice].FreqLfo);}
code1 {if (pars->VoicePar[nvoice].PFreqLfoEnabled==0) o->deactivate();}
@@ -587,7 +587,7 @@ o->redraw();}
code0 {o->value(pars->VoicePar[nvoice].PAmpEnvelopeEnabled);}
}
Fl_Group voiceamplfogroup {
- label {Amplitude LFO} open
+ label {Amplitude LFO } open
xywh {10 175 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->VoicePar[nvoice].AmpLfo);}
code1 {if (pars->VoicePar[nvoice].PAmpLfoEnabled==0) o->deactivate();}
@@ -637,7 +637,7 @@ o->redraw();}
code0 {o->value(pars->VoicePar[nvoice].PFilterEnvelopeEnabled);}
}
Fl_Group voicefilterlfogroup {
- label {Filter LFO} open
+ label {Filter LFO } open selected
xywh {250 175 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->VoicePar[nvoice].FilterLfo);}
code1 {if (pars->VoicePar[nvoice].PFilterLfoEnabled==0) o->deactivate();}
@@ -790,7 +790,7 @@ pars->GlobalPar.PCoarseDetune = k+
code3 {o->lstep(10);}
}
Fl_Group freqlfo {
- label {Frequency LFO} open
+ label {Frequency LFO } open
xywh {215 295 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->GlobalPar.FreqLfo);}
class LFOUI
@@ -868,13 +868,13 @@ detunevalueoutput->do_callback();} open
class WidgetPDial
}
Fl_Group ampenv {
- label {ADSynth Global - Amplitude Envelope} open selected
+ label {ADSynth Global - Amplitude Envelope} open
xywh {10 75 205 70} box FLAT_BOX color 51 align 144
code0 {o->init(pars->GlobalPar.AmpEnvelope);}
class EnvelopeUI
} {}
Fl_Group amplfo {
- label {Amplitude LFO} open
+ label {Amplitude LFO } open
xywh {10 145 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->GlobalPar.AmpLfo);}
class LFOUI
diff --git a/src/UI/EnvelopeUI.fl b/src/UI/EnvelopeUI.fl
@@ -192,7 +192,7 @@ return(1);} {}
}
}
-class EnvelopeUI {: {public Fl_Group}
+class EnvelopeUI {open : {public Fl_Group}
} {
Function {EnvelopeUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
code {env=NULL;
diff --git a/src/UI/FilterUI.fl b/src/UI/FilterUI.fl
@@ -149,7 +149,7 @@ for (i=1;i<lx;i++){
decl {REALTYPE *graphpoints;} {}
}
-class FilterUI {open : {public Fl_Group,PresetsUI_}
+class FilterUI {: {public Fl_Group,PresetsUI_}
} {
Function {FilterUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
code {pars=NULL;
@@ -508,8 +508,7 @@ if (nseqpos<pars->Psequencesize) vowel_counter->activate();
vowel_counter->value(pars->Psequence[nseqpos].nvowel);} {}
}
- Function {refresh()} {open
- } {
+ Function {refresh()} {} {
code {update_formant_window();
formantfiltergraph->redraw();
diff --git a/src/UI/LFOUI.fl b/src/UI/LFOUI.fl
@@ -33,7 +33,10 @@ decl {\#include <FL/fl_draw.H>} {public
decl {\#include <FL/fl_ask.H>} {public
}
-class LFOUI {: {public Fl_Group}
+decl {\#include "PresetsUI.h"} {public
+}
+
+class LFOUI {: {public Fl_Group, PresetsUI_}
} {
Function {LFOUI(int x,int y, int w, int h, const char *label=0):Fl_Group(x,y,w,h,label)} {} {
code {pars=NULL;} {}
@@ -119,7 +122,7 @@ hide();
Fl_Check_Button continous {
label {C.}
callback {pars->Pcontinous=(int)o->value();}
- tooltip {Continous LFO} xywh {150 13 25 15} down_box DOWN_BOX labelsize 11
+ tooltip {Continous LFO} xywh {165 35 15 15} down_box DOWN_BOX labelsize 11 align 2
}
Fl_Dial freqrand {
label {F.R.}
@@ -130,9 +133,19 @@ hide();
Fl_Dial stretch {
label {Str.}
callback {pars->Pstretch=(int)o->value();}
- tooltip {LFO stretch} xywh {150 30 20 20} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
+ tooltip {LFO stretch} xywh {144 30 20 20} box ROUND_UP_BOX labelsize 10 maximum 127 step 1
class WidgetPDial
}
+ Fl_Button {} {
+ label C
+ callback {presetsui->copy(pars);}
+ xywh {145 10 15 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 10 labelcolor 7
+ }
+ Fl_Button {} {
+ label P
+ callback {presetsui->paste(pars,this);} selected
+ xywh {162 10 15 15} box THIN_UP_BOX color 179 labelfont 1 labelsize 10 labelcolor 7
+ }
}
}
}
@@ -157,8 +170,7 @@ refresh();
lfoui->resize(this->x(),this->y(),this->w(),this->h());
-lfoparamswindow->label(this->label());} {selected
- }
+lfoparamswindow->label(this->label());} {}
}
decl {LFOParams *pars;} {}
}
diff --git a/src/UI/PADnoteUI.fl b/src/UI/PADnoteUI.fl
@@ -223,7 +223,7 @@ class PADnoteUI {: {public PresetsUI_}
xywh {0 0 535 395}
} {
Fl_Group harmonicstructuregroup {
- label {Harmonic Structure}
+ label {Harmonic Structure} selected
xywh {0 20 535 375} box ENGRAVED_BOX
} {
Fl_Group bwprofilegroup {
@@ -781,7 +781,7 @@ pars->PCoarseDetune = k+
code3 {o->lstep(10);}
}
Fl_Group freqlfo {
- label {Frequency LFO} open
+ label {Frequency LFO } open
xywh {215 315 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->FreqLfo);}
class LFOUI
@@ -882,7 +882,7 @@ if (x==0) fixedfreqetdial->deactivate();
class EnvelopeUI
} {}
Fl_Group amplfo {
- label {Amplitude LFO} open
+ label {Amplitude LFO } open
xywh {10 165 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->AmpLfo);}
class LFOUI
@@ -906,7 +906,7 @@ hprofile->redraw();}
class EnvelopeUI
} {}
Fl_Group filterlfo {
- label {Filter LFO} open
+ label {Filter LFO } open
xywh {250 200 230 70} box FLAT_BOX color 47 align 144
code0 {o->init(pars->FilterLfo);}
class LFOUI
@@ -1042,8 +1042,7 @@ overtonepos->redraw();
osc->redraw();
pars->applyparameters(true);
applybutton->color(FL_GRAY);
-applybutton->parent()->redraw();} {selected
- }
+applybutton->parent()->redraw();} {}
}
Function {~PADnoteUI()} {} {
code {delete(oscui);