// mezzomusic include"mezzomusic-init" drawStaffLines(){ int i; for(i=0;i<5;i++){ line(1,0,cStaffTop+(i*noteSize*2), 160,cStaffTop+(i*noteSize*2)); } } getSquare(int pos, int offset){ return (pos-offset)/noteSize; } squareToNoteNum(int y){ return (37-y)%7; } squareToNoteOctave(int y){ return ((37-y)/7)-2; } playNote(int note, int acc, int octave,int nlength){ int freq; if(note >=0){ freq=notenumToFreq[note] + acc; if(freq==-1){ freq=11; octave--; } if(freq==12){ freq=0; octave++; } tone(Frequencies[freq]*pow2[2+octave],21*length[nlength]); }else{ sleep(21*length[nlength]); } } playSong(){ int i; for(i=0;i20 && peny()<120){ x=getSquare(penx(),0); y=getSquare(peny(),0); note=squareToNoteNum(y); //text(80,120,note+" "+ noten[note]+" "); octave=squareToNoteOctave(y); //text(80,140,octave); if(curMode==1) recNote[recCount]=-1; else recNote[recCount]=note; recOctave[recCount]=octave; recAcc[recCount]=curAcc; recLength[recCount]=curNoteLength; recCount++; if(curMode!=1){ playNote(note,curAcc,octave,4); setAcc(7,142);//reset accidentls } displayMeasure(); } else { //not in staff range if(inBtnPlay(penx(),peny())){ setBtnPlay(penx(),peny()); } if(inBtnAcc(penx(),peny())){ setAcc(penx(),peny()); } if(inBtnNote(penx(),peny())){ setCurNoteLength(penx(),peny()); }//end in btn }//end else (not in staff range) }//end is pen event if(e==1){ if((int)key()==8){ if(recCount>0)recCount--; displayMeasure(); } } }//end while }//end main