commit 14541d6f612979ad713756b8bd93e142de7e8f4c
parent 69da34cca193e20f693a75aefc08cd01598bc97a
Author: paulnasca <paulnasca>
Date: Sat, 7 Feb 2004 18:33:30 +0000
small bugfix
Diffstat:
4 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -526,4 +526,5 @@
06 Feb 2004 - Adaugat salvarea de instrument in XML
- Adaugat export la bank intr-un director XML si decis ca bank-ul sa fie un director cu mai multe fisiere xml de forma XXXX-nume.xml sau XXXX-nume.xml.gz
07 Feb 2004 - adaugat functii de initializare si renuntat la masterdefaultbuf si instrumentdefaultbuf (adica salvarea la inceput si incarcarea bufferelor cu instrumentele prestabilite)
-
+ - corectata o mica eroare care facea ca sa se incarce subnotepars la adnotepars (eroarea a aparut azi)
+
+\ No newline at end of file
diff --git a/src/Misc/Buffer.C b/src/Misc/Buffer.C
@@ -58,7 +58,10 @@ void Buffer::rwbyte(unsigned char *b){
if (datak>=BUFFER_CHUNK_SIZE) {
if (mode==0) {//read from the buffer
if (data->next!=NULL) data=data->next;
- else *b=0xff;
+ else {
+ *b=0xff;
+ for (int i=0;i<BUFFER_CHUNK_SIZE;i++) data->d[i]=0xff;
+ };
} else {//write to the buffer
list *tmp=new list;
tmp->next=NULL;
diff --git a/src/Misc/Part.C b/src/Misc/Part.C
@@ -114,12 +114,13 @@ void Part::defaultsinstrument(){
kit[n].Padenabled=0;kit[n].Psubenabled=0;
memset(kit[n].Pname,0,PART_MAX_NAME_LEN);
kit[n].Psendtoparteffect=0;
- setkititemstatus(n,0);
+ if (n!=0) setkititemstatus(n,0);
};
kit[0].Penabled=1;
kit[0].Padenabled=1;
- setkititemstatus(0,1);
-
+ kit[0].adpars->defaults();
+ kit[0].subpars->defaults();
+
for (int nefx=0;nefx<NUM_PART_EFX;nefx++) {
partefx[nefx]->defaults();
Pefxroute[nefx]=0;//route to next effect
@@ -566,6 +567,7 @@ void Part::setPpanning(char Ppanning_){
void Part::setkititemstatus(int kititem,int Penabled_){
if ((kititem==0)&&(kititem>=NUM_KIT_ITEMS)) return;//nonexistent kit item and the first kit item is always enabled
kit[kititem].Penabled=Penabled_;
+
if (Penabled_==0){
if (kit[kititem].adpars!=NULL) delete (kit[kititem].adpars);
if (kit[kititem].subpars!=NULL) delete (kit[kititem].subpars);
@@ -675,6 +677,7 @@ void Part::saveloadbufkititem(Buffer *buf,unsigned char item,int saveitem0){
if (kit[item].subpars==NULL) break;
buf->rwbyte(&npar);
};
+
kit[item].subpars->saveloadbuf(buf);
break;
case 0xB0: if (buf->getmode()!=0) {
@@ -720,6 +723,8 @@ void Part::saveloadbuf(Buffer *buf,int instrumentonly){
tmp=0xfe;
buf->rwbyte(&tmp);//if tmp!=0xfe error
+
+
if ((buf->getmode()==0)&&(disablekitloading==0)){//clears all kit items
for (int item=0;item<NUM_KIT_ITEMS;item++) {
if (item>0) setkititemstatus(item,0);
@@ -843,7 +848,7 @@ void Part::saveloadbuf(Buffer *buf,int instrumentonly){
case 0xC1: if ((buf->getminimal()!=0) && (buf->getmode()!=0)
&& (PSUBnoteenabled==0)) break;
if (buf->getmode()!=0) buf->rwbyte(&npar);
- kit[0].adpars->saveloadbuf(buf);
+ kit[0].subpars->saveloadbuf(buf);
break;
case 0xD0: if (buf->getmode()!=0) {
if (instrumentonly!=2){
diff --git a/src/Synth/OscilGen.C b/src/Synth/OscilGen.C
@@ -380,6 +380,7 @@ void OscilGen::spectrumadjust(){
void OscilGen::prepare(){
int i,j,k;
REALTYPE a,b,c,d,hmagnew;
+
if ((oldbasepar!=Pbasefuncpar)||(oldbasefunc!=Pcurrentbasefunc)) changebasefunction();
for (i=0;i<MAX_AD_HARMONICS;i++) hphase[i]=(Phphase[i]-64.0)/64.0*PI/(i+1);