zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 119169949485d04143258d1f45c4431282d9625e
parent 1a1aeaec929957b3725261daa8a89844dd6a7d0c
Author: paulnasca <paulnasca>
Date:   Sat, 28 Feb 2004 10:21:50 +0000

*** empty log message ***

Diffstat:
MChangeLog | 5++++-
Msrc/Misc/Bank.C | 13+++++++++++--
Msrc/Misc/Bank.h | 2++
Msrc/Misc/Master.C | 4++--
Msrc/Misc/Microtonal.C | 4++--
Msrc/Misc/OldBank.C | 2+-
Msrc/Misc/XMLwrapper.C | 2+-
Msrc/UI/BankUI.fl | 4++--
Msrc/UI/MasterUI.fl | 2+-
Msrc/UI/PartUI.fl | 2+-
10 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -544,4 +544,7 @@ 23 Feb 2004 - Inceput sa fac ca sa pot adauga Bank bazat pe XML (adaugat temporar clasa OldBank) 24 Feb 2004 - Continuat la Bank 25 Feb 2004 - La Bank - inceput sa scriu partea ca sa arate instrumentele din banca -26 Feb 2004 - continuat la Bank +26 Feb 2004 - Continuat la Bank +27 Feb 2004 - Corectate erori la snprintf ( nu dadeam parametru "%s" inainte de string si daca acel string continea ceva %, era periculos) + + diff --git a/src/Misc/Bank.C b/src/Misc/Bank.C @@ -34,12 +34,16 @@ #include <errno.h> */ Bank::Bank(){ + memset(defaultinsname,0,PART_MAX_NAME_LEN); + snprintf(defaultinsname,PART_MAX_NAME_LEN,"%s"," "); + for (int i=0;i<BANK_SIZE;i++){ ins[i].used=false; - memset(ins[i].name,0,PART_MAX_NAME_LEN+1); ins[i].filename=NULL; }; + clearbank(); + loadbank("bank_xml"); }; @@ -183,7 +187,9 @@ int Bank::addtobank(int pos, const char *filename, const char* name){ deletefrombank(pos); ins[pos].used=true; - snprintf(ins[pos].name,PART_MAX_NAME_LEN,name); + snprintf(ins[pos].name,PART_MAX_NAME_LEN,"%s",name); + + snprintf(tmpinsname[pos],PART_MAX_NAME_LEN+10,"%d. %s",pos,name); int len=strlen(filename); ins[pos].filename=new char[len+1]; @@ -200,5 +206,8 @@ void Bank::deletefrombank(int pos){ delete (ins[pos].filename); ins[pos].filename=NULL; }; + + memset(tmpinsname[pos],0,PART_MAX_NAME_LEN+20); + }; diff --git a/src/Misc/Bank.h b/src/Misc/Bank.h @@ -57,6 +57,8 @@ class Bank{ void clearbank(); + char defaultinsname[PART_MAX_NAME_LEN]; + char tmpinsname[BANK_SIZE][PART_MAX_NAME_LEN+20];//this keeps the numbered names struct{ bool used; diff --git a/src/Misc/Master.C b/src/Misc/Master.C @@ -706,8 +706,8 @@ void Master::exportbankasxmldirectory(const char *directory){ oldbank.loadfromslot(slot,&slbuf); slbuf.changemode(0); tmppart->saveloadbuf(&slbuf,1); - snprintf((char *)tmppart->kit[0].Pname,PART_MAX_NAME_LEN,oldbank.getname(slot)); - snprintf((char *)tmppart->Pname,PART_MAX_NAME_LEN,oldbank.getname(slot)); + snprintf((char *)tmppart->kit[0].Pname,PART_MAX_NAME_LEN,"%s",oldbank.getname(slot)); + snprintf((char *)tmppart->Pname,PART_MAX_NAME_LEN,"%s",oldbank.getname(slot)); if (oldbank.emptyslot(slot)) continue; snprintf(nostr,10,"%4d",slot+1); diff --git a/src/Misc/Microtonal.C b/src/Misc/Microtonal.C @@ -295,8 +295,8 @@ int Microtonal::loadscl(const char *filename){ //loads the short description if (loadline(file,&tmp[0])!=0) return(2); for (int i=0;i<500;i++) if (tmp[i]<32) tmp[i]=0; - snprintf((char *) Pname,MICROTONAL_MAX_NAME_LEN,"%s\0",tmp); - snprintf((char *) Pcomment,MICROTONAL_MAX_NAME_LEN,"%s\0",tmp); + snprintf((char *) Pname,MICROTONAL_MAX_NAME_LEN,"%s",tmp); + snprintf((char *) Pcomment,MICROTONAL_MAX_NAME_LEN,"%s",tmp); //loads the number of the notes if (loadline(file,&tmp[0])!=0) return(2); int nnotes=MAX_OCTAVE_SIZE; diff --git a/src/Misc/OldBank.C b/src/Misc/OldBank.C @@ -221,7 +221,7 @@ int OldBank::loadfile(){ //get the name unsigned char namesize; read (file,&namesize,1); - memset(&ins[ni].name[0],0,PART_MAX_NAME_LEN); + memset(&ins[ni].name[0],0,PART_MAX_NAME_LEN);//???????? read (file,&ins[ni].name[0],namesize); //get the data unsigned int datasize; diff --git a/src/Misc/XMLwrapper.C b/src/Misc/XMLwrapper.C @@ -303,7 +303,7 @@ void XMLwrapper::getparstr(char *name,char *par,int maxstrlen){ if (node->child==NULL) return; if (node->child->type!=MXML_OPAQUE) return; - snprintf(par,maxstrlen,node->child->value.element.name); + snprintf(par,maxstrlen,"%s",node->child->value.element.name); }; diff --git a/src/UI/BankUI.fl b/src/UI/BankUI.fl @@ -268,10 +268,10 @@ if ((what==1)&&(mode==1)&&(!bank->emptyslot(slot))){//Reads from slot pthread_mutex_unlock(&master->mutex); if (master->part[*npart]->disablekitloading==0){ snprintf((char *)master->part[*npart]->Pname,PART_MAX_NAME_LEN - ,bank->getname(slot)); + ,"%s",bank->getname(slot)); } else { snprintf((char *)master->part[*npart]->kit[0].Pname,PART_MAX_NAME_LEN - ,bank->getname(slot)); + ,"%s",bank->getname(slot)); }; cbwig->do_callback(); diff --git a/src/UI/MasterUI.fl b/src/UI/MasterUI.fl @@ -1187,7 +1187,7 @@ updatepanel();} } Function {setfilelabel(const char *filename)} {} { code {if (filename!=NULL) snprintf(&masterwindowlabel[0],100,"%s - ZynAddSubFX",fl_filename_name(filename)); - else snprintf(&masterwindowlabel[0],100,"ZynAddSubFX (c)2002-2003 Nasca O. Paul"); + else snprintf(&masterwindowlabel[0],100,"%s","ZynAddSubFX (c)2002-2003 Nasca O. Paul"); masterwindowlabel[99]='\\0'; masterwindow->label(&masterwindowlabel[0]);} {} } diff --git a/src/UI/PartUI.fl b/src/UI/PartUI.fl @@ -338,7 +338,7 @@ class PartUI {: {public Fl_Group,PartUI_} callback {int event=Fl::event_button(); if (event==FL_RIGHT_MOUSE){ const char *tmp=fl_input("Instrument name:",(const char *)part->Pname); - if (tmp!=NULL) snprintf((char *)part->Pname,PART_MAX_NAME_LEN,tmp); + if (tmp!=NULL) snprintf((char *)part->Pname,PART_MAX_NAME_LEN,"%s",tmp); } else { if (event==FL_LEFT_MOUSE) bankui->show(); else infowin->show();