Lines Matching +defs:n +defs:y

25 abc2svg.rat=function(n,d){var a,t,n0=0,d1=0,n1=1,d0=1
29 a=(n/d)|0
30 d=n%d
31 n=t
59 while(1){j=parse.file.indexOf('\n',i)
98 eval('"use strict";\n'+js)
103 function y_get(st,up,x,w){var y,p_staff=staff_tb[st],i=(x/realwidth*YSTEP)|0,j=((x+w)/realwidth*YSTEP)|0
109 if(up){y=p_staff.top[i++]
110 while(i<=j){if(y<p_staff.top[i])
111 y=p_staff.top[i];i++}}else{y=p_staff.bot[i++]
112 while(i<=j){if(y>p_staff.bot[i])
113 y=p_staff.bot[i];i++}}
114 return y}
115 function y_set(st,up,x,w,y){var p_staff=staff_tb[st],i=(x/realwidth*YSTEP)|0,j=((x+w)/realwidth*YSTEP)|0
121 if(up){while(i<=j){if(p_staff.top[i]<y)
122 p_staff.top[i]=y;i++}}else{while(i<=j){if(p_staff.bot[i]>y)
123 p_staff.bot[i]=y;i++}}}
141 h=m;de.has_val=true;de.val=h;de.x-=xc;de.y=3*(s.notes[0].pit-18)-3}
160 de.val=dx;de.x=x;de.y=y_get(de.st,up,x,dx)
161 if(!up){dd=de.dd;de.y-=dd.h}}
162 function d_near(de){var y,up,s=de.s,dd=de.dd
168 if(up){y=s.ymx|0}else if(dd.name[0]=='w'){de.inv=true
169 y=s.ymn}else{y=s.ymn-dd.h}
170 if(y>-6&&y<24){if(up)
171 y+=3;y=(((y+6)/6)|0)*6-6}
173 s.ymx=y+dd.h
175 s.ymn=y-dd.h
177 s.ymn=y
178 de.y=y
195 de.x=x;de.y=y_get(s.st,up,x,de.val)
197 de.y-=dd.h}
206 de.x-=xc;de.y=3*(yc-18)}
209 var up,y,w,tmp,dd=de.dd,de2=de.prev,s2=de.s,st=s2.st,s=de.start.s,x=s.x
225 dd=de.dd;y=y_get(st,up,x-dd.wl-5,w)
227 if(y<tmp)
228 y=tmp}else{tmp=staff_tb[s.st].botbar-2
229 if(y>tmp)
230 y=tmp
231 y-=dd.h}
232 if(de2){if(up){if(y<de2.y)
233 y=de2.y}else{if(y>=de2.y){y=de2.y}else{do{de2.y=y
235 de.lden=false;de.has_val=true;de.val=w;de.x=x;de.y=y
237 y+=dd.h;y_set(st,up,x,w,y)
239 s.ymx=s2.ymx=y
241 s.ymn=s2.ymn=y}
278 de.x=x;de.y=yc}
422 var de,de2,dd,s,note,f,st,x,y,y2,ym,uf,i,str,a,new_de=[],ymid=[]
423 if(!cfmt.dynalign){st=nstaff;y=staff_tb[st].y
424 while(--st>=0){y2=staff_tb[st].y;ymid[st]=(y+24+y2)*.5;y=y2}}
444 x=de.x;y=de.y+staff_tb[st].y
450 if((de.up&&y<ym)||(!de.up&&y>ym)){y2=y_get(st,!de.up,de.x,de.val)
451 +staff_tb[st].y
454 if((de.up&&y2>ym)||(!de.up&&y2<ym)){y=ym}}}
456 if(uf&&typeof(uf)=="function"){uf(x,y,de)
458 if(self.psdeco(f,x,y,de))
461 if(de.inv){g_open(x,y,0,1,-1);x=y=0}
463 out_deco_val(x,y,f,de.val/stv_g.scale,de.defl)
465 out_deco_val(x,y,f,de.val,de.defl)
468 if(str[0]=='@'){a=str.match(/^@([0-9.-]+),([0-9.-]+);?/);x+=Number(a[1]);y+=Number(a[2]);str=str.replace(a[0],"")}
469 out_deco_str(x,y,f,str)}else if(de.lden){out_deco_long(x,y,de)}else{xygl(x,y,f)}
488 de={s:s,dd:dd,st:s.st,ix:a_de.length,defl:{},x:s.x,y:s.y,}
512 de={s:s,dd:dd,st:s.st,m:m,ix:0,defl:{},x:s.x,y:3*(note.pit-18),}
530 if(j==n_de){de2={s:s,st:de.st,dd:dd2,ix:a_de.length-1,x:realwidth-6,y:s.y,lden:true,defl:{noen:true}}
541 s=de2.s;de={s:prev_scut(s),st:de2.st,dd:de2.dd.dd_st,ix:a_de.length-1,y:s.y,ldst:true}
560 function draw_deco_staff(){var s,p_voice,y,i,v,de,dd,minmax=new Array(nstaff+1),nd=a_de.length
561 function draw_repbra(p_voice){var s,s1,x,y,y2,i,p,w,wh,first_repeat;y=staff_tb[p_voice.st].topbar+25
576 if(y<y2)
577 y=y2
580 if(y<y2)
581 y=y2}
587 set_dscale(p_voice.st,true);y2=y*staff_tb[p_voice.st].staffscale
617 output+='v20';output+='"/>\n';y_set(s1.st,true,x,w,y+2)
630 if(cfmt.dynalign){if(de.up){if(de.y>minmax[de.st].ymax)
631 minmax[de.st].ymax=de.y}else{if(de.y<minmax[de.st].ymin)
632 minmax[de.st].ymin=de.y}}}
639 y=minmax[de.st].ymax
641 y=minmax[de.st].ymin;de.y=y}else{y=de.y}
643 y+=dd.h;y_set(de.st,de.up,de.x,de.val,y)}
649 function draw_measnb(){var s,st,bar_num,x,y,w,any_nb,font_size,w0,sy=cur_sy
658 if(bar_num>1){if(cfmt.measurenb==0){any_nb=true;y=y_get(st,true,0,20)
659 if(y<staff_tb[st].topbar+14)
660 y=staff_tb[st].topbar+14;xy_str(0,y,bar_num.toString());y_set(st,true,0,20,y+gene.curfont.size+2)}else if(bar_num%cfmt.measurenb==0){for(;;s=s.ts_next){switch(s.type){case C.CLEF:case C.KEY:case C.METER:case C.STBRK:continue}
669 y=y_get(st,true,x,w)
670 if(y<staff_tb[st].topbar+6)
671 y=staff_tb[st].topbar+6;y+=2+gene.curfont.pad
672 xy_str(x,y,bar_num.toString())
673 y+=gene.curfont.size+gene.curfont.pad
674 y_set(st,true,x,w,y)}}}
694 y=y_get(st,true,x,w)
695 if(y<staff_tb[st].topbar+3)
696 y=staff_tb[st].topbar+3
697 if(s.next.type==C.NOTE){if(s.next.stem>0){if(y<s.next.ys-gene.curfont.size)
698 y=s.next.ys-gene.curfont.size}else{if(y<s.next.y)
699 y=s.next.y}}
700 y+=2+gene.curfont.pad
701 xy_str(x,y,bar_num.toString())
702 y+=gene.curfont.size+gene.curfont.pad
703 y_set(st,true,x,w,y)}
707 function draw_partempo(st,top){var s,some_part,some_tempo,h,w,y,dy=0,ht=0
714 s.x=40;y=y_get(st,true,s.x-16,w)
715 if(y>ymin)
716 ymin=y
719 if(some_tempo){set_sscale(-1);set_font("tempo");ht=gene.curfont.size+8;y=2-ht;h=y-ht
726 if(user.anno_start||user.anno_stop){s.wl=16;s.wr=30;s.ymn=(dosh&1)?h:y;s.ymx=s.ymn+14;anno_start(s)}
727 writempo(s,s.x-16,(dosh&1)?h:y);anno_stop(s);dosh>>=1
735 w=strwh(s.text)[0];y=y_get(st,true,s.x-10,w+3)
736 if(ymin<y)
737 ymin=y}
751 function rnd6(y){var iy=Math.round((y+12)/6)*6-12
752 return iy-y}
774 Abc.prototype.calculate_beam=function(bm,s1){var s,s2,g,notes,nflags,st,v,two_staves,two_dir,x,y,ys,a,b,stem_err,max_stem_err,p_min,p_max,s_closest,stem_xoff,scale,visible,dy
805 if(staff_tb[st].y==0){if(two_staves)
806 return false}else{if(!two_staves){bm.s1=s1;bm.a=(s1.ys-s2.ys)/(s1.xs-s2.xs);bm.b=s1.ys-s1.xs*bm.a+staff_tb[st].y;bm.nflags=nflags
822 y=s1.ys+staff_tb[st].y
824 a=(s2.ys+staff_tb[s2.st].y-y)/(s2.xs-s1.xs)
827 b=(y+s2.ys+staff_tb[s2.st].y)/2-a*(s2.xs+s1.xs)/2
838 x=s.v==v?s.xs:s.x;ys=a*x+b-staff_tb[s.st].y
860 max_stem_err=stem_err}}else{for(;;s=s.next){ys=a*s.xs+b-staff_tb[s.st].y;stem_err=GSTEM-2
877 case C.CLEF:y=a*s.x+b
878 if(s1.stem>0){y=s.ymx-y
881 if(y>0)
882 b+=y}else{y=s.ymn-y
885 if(y<0)
886 b+=y}
888 case C.GRACE:for(g=s.extra;g;g=g.next){y=a*g.x+b
889 if(s1.stem>0){y=g.ymx-y
892 if(y>0)
893 b+=y}else{y=g.ymn-y
896 if(y<0)
897 b+=y}}
902 b+=b_pos(s1.grace,s1.stem,nflags,b-staff_tb[st].y)
903 for(s=s1;;s=s.next){switch(s.type){case C.NOTE:s.ys=a*s.xs+b-staff_tb[s.st].y
907 case C.REST:y=a*s.x+b-staff_tb[s.st].y
910 if(s1.stem>0){y-=dy
911 if(s1.multi==0&&y>12)
912 y=12
913 if(s.y<=y)
914 break}else{y+=dy
915 if(s1.multi==0&&y<12)
916 y=12
917 if(s.y>=y)
920 y=(((y+3+12)/6)|0)*6-12;s.y=y
924 if(staff_tb[st].y==0)
929 function draw_beam(x1,x2,dy,h,bm,n){var y1,dy2,s=bm.s1,nflags=s.nflags
932 if(s.trem2&&n>nflags){if(s.dur>=C.BLEN/2){x1=s.x+6;x2=bm.s2.x-6}else if(s.dur<C.BLEN/4){x1+=5;x2-=6}}
934 xypath(x1,y1,true);output+='l'+x2.toFixed(1)+' '+(-dy2).toFixed(1)+'v'+h.toFixed(1)+'l'+(-x2).toFixed(1)+' '+dy2.toFixed(1)+'z"/>\n'}
944 -staff_tb[s.st].y
1004 yt=staff_tb[st].y+staff_tb[st].topbar*staff_tb[st].staffscale;yb=staff_tb[st_end].y+staff_tb[st_end].botbar*staff_tb[st_end].staffscale
1022 yb=staff_tb[j].y+staff_tb[j].botbar*staff_tb[j].staffscale;h=staff_tb[i].y+staff_tb[i].topbar*staff_tb[i].staffscale-yb;xypath(x,yb);output+="v"+(-h).toFixed(1)+'"/>\n'
1034 var dx,i,j,meter,x,st=s.st,p_staff=staff_tb[st],y=p_staff.y;if(p_staff.stafflines!='|||||')
1035 y+=(p_staff.topbar+p_staff.botbar)/2-12
1038 <g transform="translate(X,Y)" text-anchor="middle">\n\
1039 <text y="-12">A</text>\n\
1040 <text>B</text>\n\
1041 </g>\n',x,y+6,m_gl(meter.top),m_gl(meter.bot))}else{out_XYAB('\
1042 <text x="X" y="Y" text-anchor="middle">A</text>\n',x,y+12,m_gl(meter.top))}}}
1044 function draw_acc(x,y,a){if(typeof a!="number"){var c,n=a[0],d=a[1]
1045 c=n+'_'+d
1047 if(!a){a=abc2svg.rat(Math.abs(n),d)
1049 a=(n<0?-a[0]:a[0]).toString()
1053 xygl(x,y,"acc"+a)}
1054 function set_hl(p_st,n,x,dx1,dx2){var i,hl
1055 if(n>=0){hl=p_st.hlu[n]
1057 hl=p_st.hlu[n]=[]}else{hl=p_st.hld[-n]
1059 hl=p_st.hld[-n]=[]}
1066 Abc.prototype.draw_hl=function(s){var i,j,n,note,hla=[],st=s.st,p_staff=staff_tb[st]
1072 n=hla.length
1073 if(!n)
1083 n--}else if(hlp>top*2){yu=hlp>>1
1084 n--}
1092 if(!n)
1104 var old_sf=s.k_old_sf,st=s.st,staffb=staff_tb[st].y,i,shift,p_seq,clef_ix=s.k_y_clef
1137 function nrep_out(x,y,n){y-=3
1138 if(n<10){xygl(x-4,y,"mtr"+n)}else{xygl(x-10,y,"mtr"+((n/10)|0))
1139 xygl(x-2,y,"mtr"+(n%10))}}
1141 function draw_rest(s){var s2,i,j,x,y,yb,bx,p_staff=staff_tb[s.st]
1160 yb=p_staff.y
1171 set_color(s.notes[0].color);y=s.y;i=5-s.nflags
1172 if(i==7&&y==12&&p_staff.stafflines.length<=2)
1173 y-=6
1175 xygl(x,y+yb,rest_tb[i])
1176 if(i>=6){j=y/6
1180 if(i==9){y-=6;j--}
1182 case 7:y+=6;j++
1187 if(s.dots){x+=8;y+=yb+3
1190 while(j-->0){xygl(x,y,(i&(1<<j))?"dot":"dot+")
1205 if(!g.next){x1=9;y1=g.stem>0?5:-5}else{x1=(g.next.x-g.x)*.5+4;y1=(g.ys+g.next.ys)*.5-g.y
1215 for(g=s.extra;g;g=g.next){if(g.y<yy){yy=g.y;last=g}}
1216 x0=last.x;y0=last.y-5
1223 if(y0>y3+7){x0=last.x-1;y0+=.5;y3+=6.5;x3=s.x-5.5;dy1=(y0-y3)*.8;dy2=(y0-y3)*.2;bet1=0}else if(y3>y0+4){y3=y0+4;x0=last.x+2;y0=last.y-4}}else{yy=-127
1224 for(g=s.extra;g;g=g.next){if(g.y>yy){yy=g.y;last=g}}
1225 x0=last.x;y0=last.y+5
1232 if(y0<y3-7){x0=last.x-1;y0-=.5;y3-=6.5;x3=s.x-5.5;dy1=(y0-y3)*.8;dy2=(y0-y3)*.2;bet1=0}else if(y3<y0-4){y3=y0-4;x0=last.x+2;y0=last.y+4}}
1233 x1=bet1*x3+(1-bet1)*x0-x0;y1=bet1*y3+(1-bet1)*y0-dy1-y0;x2=bet2*x3+(1-bet2)*x0-x0;y2=bet2*y3+(1-bet2)*y0-dy2-y0;anno_start(s,'slur');xypath(x0,y0+staff_tb[s.st].y);output+='c'+x1.toFixed(1)+' '+(-y1).toFixed(1)+' '+x2.toFixed(1)+' '+(-y2).toFixed(1)+' '+(x3-x0).toFixed(1)+' '+(-y3+y0).toFixed(1)+'"/>\n';anno_stop(s,'slur')}
1234 function setdoty(s,y_tb){var m,m1,y
1235 for(m=0;m<=s.nhd;m++){y=3*(s.notes[m].pit-18)
1236 if((y%6)==0){if(s.dot_low)
1237 y-=3
1239 y+=3}
1240 y_tb[m]=y}
1250 function y_head(s,note){return staff_tb[s.st].y+3*(note.pit-18)}
1251 function draw_basic_note(x,s,m,y_tb){var i,p,yy,dotx,doty,inv,old_color=false,note=s.notes[m],staffb=staff_tb[s.st].y,y=3*(note.pit-18),shhd=note.shhd*stv_g.scale,x_note=x+shhd,y_note=y+staffb
1290 if(!s.grace){draw_acc(x,y+staffb,note.acc)}else{g_open(x,y+staffb,0,.75);draw_acc(0,0,note.acc)
1294 function draw_note(s,fl){var s2,i,m,y,staffb,slen,c,nflags,x,y,note,y_tb=new Array(s.nhd+1)
1298 staffb=staff_tb[s.st].y
1300 y=y_head(s,note)
1301 if(!s.stemless){slen=s.ys-s.y;nflags=s.nflags
1308 out_stem(x,y,slen,s.grace)}else{out_stem(x,y,slen,s.grace,nflags,cfmt.straightflags)}}else if(s.xstem){s2=s.ts_prev;slen=(s2.stem>0?s2.y:s2.ys)-s.y;slen+=staff_tb[s2.st].y-staffb;out_stem(x,y,slen)}
1377 output+='\n\tv'+
1385 output+='"/>\n'}
1386 function draw_slur(path,not1,sl){var i,k,g,x1,y1,x2,y2,height,addy,a,y,z,h,dx,dy,ty=sl.ty,dir=(ty&0x07)==C.SL_ABOVE?1:-1,n=path.length,i1=0,i2=n-1,k1=path[0],k2=path[i2]
1389 for(i=1;i<n;i++){k=path[i]
1403 if(k2.grace){y1=k1.y-8}else if(k1.beam_end&&k1.nflags>=-1&&(!k1.in_tuplet||k1.ys<y1+3)){if(k1.nflags>0){x1+=2;y1=k1.ys+3}else{y1=k1.ys+6}}}}}}
1421 if(k.type!=C.BAR&&k.x<x1+48){if(dir>0){y=k.ymx-2
1422 if(y1<y)
1423 y1=y}else{y=k.ymn+2
1424 if(y1>y)
1425 y1=y}}
1427 if(k.type!=C.BAR&&k.x>x2-48){if(dir>0){y=k.ymx-2
1428 if(y2<y)
1429 y2=y}else{y=k.ymn+2
1430 if(y2>y)
1431 y2=y}}}
1438 y=y2-y1
1439 if(y>8)
1440 y=8
1441 else if(y<-8)
1442 y=-8
1443 z=y
1445 z=-z;dx=.5*z;dy=.3*y
1446 if(y*dir>0){x2-=dx;y2-=dy}else{x1+=dx;y1+=dy}
1455 switch(k.type){case C.NOTE:case C.REST:if(dir>0){y=3*(k.notes[k.nhd].pit-18)+6
1456 if(y<k.ymx)
1457 y=k.ymx;y-=a*k.x+addy
1458 if(y>h)
1459 h=y}else{y=3*(k.notes[0].pit-18)-6
1460 if(y>k.ymn)
1461 y=k.ymn;y-=a*k.x+addy
1462 if(y<h)
1463 h=y}
1465 case C.GRACE:for(g=k.extra;g;g=g.next){if(dir>0){y=3*(g.notes[g.nhd].pit-18)+6
1466 if(y<g.ymx)
1467 y=g.ymx;y-=a*g.x+addy
1468 if(y>h)
1469 h=y}else{y=3*(g.notes[0].pit-18)-6
1470 if(y>g.ymn)
1471 y=g.ymn;y-=a*g.x+addy
1472 if(y<h)
1473 h=y}}
1487 y=y2-y1
1488 if(y<0)
1489 y=-y
1490 if(dir>0){if(height<.8*y)
1491 height=.8*y}else{if(height>-.8*y)
1492 height=-.8*y}
1501 y=a*k.x+addy
1502 if(k.ymx<y)
1503 k.ymx=y
1504 else if(k.ymn>y)
1505 k.ymn=y
1509 y-=height/3}else{dx=path[i+1].x}
1513 y-=height/3
1514 dx-=x1;y_set(upstaff,dir>0,x1,dx,y)}}
1732 function draw_note_ties(not1,job){var m,x1,x2,s,y,h,time,not2=not1.tie_n,p=job==2?not1.pit:not2.pit,dir=(not1.tie_ty&0x07)==C.SL_ABOVE?1:-1,s1=not1.s,st=s1.st,s2=not2.s,x2=s2.x,sh=not1.shhd
1776 y=staff_tb[st].y+3*(p-18)+dir
1778 slur_out(x1,y,x2,y,dir,h,not1.tie_ty&C.SL_DOTTED)}
1870 function draw_sym_near(){var p_voice,p_st,s,v,st,y,g,w,i,st,dx,top,bot,ymn,output_sav=output;function set_yab(s1,s2){var y,k=realwidth/YSTEP,i=(s1.x/k)|0,j=(s2.x/k)|0,a=(s1.ys-s2.ys)/(s1.xs-s2.xs),b=s1.ys-s1.xs*a,p_st=staff_tb[s1.st]
1872 if(s1.stem>0){while(i<=j){y=k*i+b
1873 if(p_st.top[i]<y)
1874 p_st.top[i]=y
1875 i++}}else{while(i<=j){y=k*i+b
1876 if(p_st.bot[i]>y)
1877 p_st.bot[i]=y
1910 if(s.notes[s.nhd].acc){y=s.y+8
1911 if(s.ymx<y)
1912 s.ymx=y;y_set(s.st,true,s.x,0,y)}
1913 if(s.notes[0].acc){y=s.y
1915 y-=7
1917 y-=5
1918 if(s.ymn>y)
1919 s.ymn=y;y_set(s.st,false,s.x,0,y)}}
1942 function draw_vname(indent,stl){var p_voice,n,st,v,a_p,p,y,name_type,h,h2,staff_d=[]
1972 staff_d[st]+="\n"+p}
1980 a_p=staff_d[st].split("\n");y=staff_tb[st].y
1984 y-=(staff_tb[st].y-staff_tb[st+1].y)*.5
1985 for(n=0;n<a_p.length;n++){p=a_p[n];xy_str(indent,y,p,"c");y-=h}}}
1986 function set_staff(){var s,i,st,prev_staff,v,y,staffsep,dy,maxsep,mbot,val,p_voice,p_staff,sy=cur_sy
1992 y=0
1995 if(y<val)
1996 y=val}}
1997 y+=draw_partempo(st,y)
1999 return y;y*=p_staff.staffscale;staffsep=cfmt.staffsep*.5+
2001 if(y<staffsep)
2002 y=staffsep
2003 if(y<p_staff.ann_top)
2004 y=p_staff.ann_top;p_staff.y=-y;prev_staff=st
2022 dy=maxsep;y+=dy;p_staff.y=-y;prev_staff=st;while(1){sy_staff_prev=sy.staves[prev_staff]
2032 for(st=0;st<=nstaff;st++){p_staff=staff_tb[st];dy=p_staff.y
2038 return y}
2043 dy=maxsep;return y+dy}
2050 dy=staff_tb[st].y+top;bar_bot[st]=staff_tb[st].y+bot;bar_height[st]=dy-bar_bot[st];dy=(cur_sy.staves[st].flags&STOP_BAR)?0:bar_bot[st]}}
2051 function draw_staff(st,x1,x2){var w,ws,i,dy,ty,y=0,ln="",stafflines=staff_tb[st].stafflines,l=stafflines.length
2055 if(cache&&cache.st_l==stafflines&&cache.st_ws==(ws|0)){xygl(x1,staff_tb[st].y,'stdef'+cfmt.fullsvg)
2057 for(i=0;i<l;i++,y-=6){if(stafflines[i]=='.')
2060 for(;i<l;i++,y-=6,dy-=6){switch(stafflines[i]){case'.':case'-':continue
2064 ln+='"/>\n';ty=stafflines[i]
2066 (ty=='['?'slthW':'slW')+'" d="m0 '+y+'h'+ws.toFixed(1);dy=0}
2068 y=staff_tb[st].y
2073 glyphs[i]='<g id="'+i+'">\n'+ln+'\n</g>';xygl(x1,y,i)
2075 out_XYAB('<g transform="translate(X, Y)">\n'+ln+'\n</g>\n',x1,y)}
2080 set_color(s.color);yb=p_staff.y+12;if(p_staff.stafflines!='|||||')
2088 for(i=bar_type.length;--i>=0;){switch(bar_type[i]){case"|":if(s.bar_dotted){set_sscale(-1);w=(5*p_staff.staffscale).toFixed(1);out_XYAB('<path class="bW" stroke-dasharray="A,A" d="MX Yv-G"/>\n',x,bot,w,h)}else if(s.color){out_XYAB('<path class="bW" d="MX Yv-F"/>\n',x,bot,h)}else{sb.push(new Float32Array([x,bot,h]))}
2091 out_XYAB('<path class="bthW" d="MX Yv-F"/>\n',x+1.5,bot,h)
2110 output+='"/>\n'}
2114 output+='"/>\n'}}
2172 Abc.prototype.draw_symbols=function(p_voice){var bm={},s,g,x,y,st;for(s=p_voice.sym;s;s=s.next){if(s.invis){switch(s.type){case C.KEY:p_voice.ckey=s
2192 set_color();set_sscale(st);anno_start(s);y=staff_tb[st].y
2194 xygl(x,y+s.y,s.clef_name)
2196 xygl(x,y+s.y,s.clef_type+"clef")
2198 xygl(x,y+s.y,"s"+s.clef_type+"clef")
2199 if(s.clef_octave){if(s.clef_octave>0){y+=s.ymx-10
2201 y-=1}else{y+=s.ymn+6
2203 y+=1}
2204 xygl(x-2,y,"oct")}
2217 case C.MREST:set_scale(s);x+=32;anno_start(s);xygl(x,staff_tb[s.st].y+12,"mrest");out_XYAB('<text style="font:bold 15px serif"\n\
2218 x ="X" y="Y" text-anchor="middle">A</text>\n',x,staff_tb[s.st].y+28,s.nmes);anno_a.push(s)
2229 function draw_all_sym(){var p_voice,v,n=voice_tb.length
2231 function hlud(hla,d){var hl,hll,i,xp,dx2,x2,n=hla.length
2232 if(!n)
2234 for(i=0;i<n;i++){hll=hla[i]
2240 sy(p_st.y+d*i).toFixed(1)
2250 output+='"/>\n'}}
2257 for(v=0;v<n;v++){p_voice=voice_tb[v]
2316 function set_tie_room(){var p_voice,s,s2,v,dx,y,dy
2340 if(s.notes[s.nhd].pit>24){y=3*(s.notes[s.nhd].pit-18)+dy
2341 if(s.ymx<y)
2342 s.ymx=y
2343 if(s2&&s2.ymx<y)
2344 s2.ymx=y;y_set(s.st,true,s.x+5,dx,y)}
2345 if(s.notes[0].pit<20){y=3*(s.notes[0].pit-18)-dy
2346 if(s.ymn>y)
2347 s.ymn=y
2348 if(s2&&s2.ymn>y)
2349 s2.ymn=y;y_set(s.st,false,s.x+5,dx,y)}}}}
2750 var cfmt={annotationfont:{name:"sans-serif",size:12},aligncomposer:1,beamslope:.4,breaklimit:.7,breakoneoln:true,cancelkey:true,composerfont:{name:"serif",style:"italic",size:14},composerspace:6,dblrepbar:':][:',decoerr:true,dynalign:true,footerfont:{name:"serif",size:16},fullsvg:'',gchordfont:{name:"sans-serif",size:12},gracespace:new Float32Array([4,8,11]),graceslurs:true,headerfont:{name:"serif",size:16},historyfont:{name:"serif",size:16},hyphencont:true,indent:0,infofont:{name:"serif",style:"italic",size:14},infoname:'R "Rhythm: "\n\
2751 B "Book: "\n\
2752 S "Source: "\n\
2753 D "Discography: "\n\
2754 N "Notes: "\n\
2755 Z "Transcription: "\n\
2757 function get_bool(param){return!param||!/^(0|n|f)/i.test(param)}
2768 function param_set_font(xxxfont,p){var font,n,a
2769 if(xxxfont[xxxfont.length-2]=='-'){n=xxxfont[xxxfont.length-1]
2770 if(n<'1'||n>'9')
2772 xxxfont="u"+n+"font"}
2833 function set_infoname(param){var tmp=cfmt.infoname.split("\n"),letter=param[0]
2841 cfmt.infoname=tmp.join('\n')
2843 cfmt.infoname+="\n"+param}
2981 function st_font(font){var n=font.name,r=""
2986 if(n.indexOf('"')<0&&n.indexOf(' ')>0)
2987 n='"'+n+'"'
2988 return r+font.size.toFixed(1)+'px '+n}
3006 add_fstyle("@font-face{\n\
3007 font-family:"+font.name+";\n\
3063 case'n':dst+='\n';j=i+1
3126 function tosvg(in_fname,file,bol,eof){var i,c,eol,end,select,line0,line1,last_info,opt,text,a,b,s,pscom,txt_add='\n'
3129 i=file.indexOf('\n',i)
3132 re=/\n\w*\n/;re.lastIndex=i;res=re.exec(file)
3165 eol=file.indexOf('\n',eol);if(file[bol+1]!=line1)
3179 i=file.indexOf('\n',i);h=file.slice(parse.bol,i)
3208 for(;bol<eof;bol=parse.eol+1){eol=file.indexOf('\n',bol)
3234 if(a[1].slice(0,5)=='begin'){b=a[1].substr(5);end='\n'+line0+line1+"end"+b;i=file.indexOf(end,eol)
3237 self.do_begin_end(b,uncomment(a[2]),file.slice(eol+1,i).replace(new RegExp('^'+line0+line1,'gm'),''));parse.eol=file.indexOf('\n',i+6)
3260 eol=file.indexOf('\n',eol);if(file[bol+1]!=line1)
3316 info.T+="\n"+text
3363 txt_add='\n';last_info=line0}
3397 function set_head_shift(s){var i,i1,i2,d,ps,dx,dx_head=dx_tb[s.head],dir=s.stem,n=s.nhd
3398 if(!n)
3403 if(dir>=0){i1=1;i2=n+1;ps=s.notes[0].pit}else{dx=-dx;i1=n-1;i2=-1;ps=s.notes[n].pit}
3421 function acc_shift(notes,dx_head){var i,i1,i2,dx,dx1,dx2,ps,p1,acc,n=notes.length
3422 for(i=n-1;--i>=0;){dx=notes[i].shhd
3426 for(i1=n;--i1>=0;){if(!notes[i1].acc)
3435 for(i1=n;--i1>=0;){if(notes[i1].acc){p1=notes[i1].pit
3467 for(i1=n;--i1>i;){if(!notes[i1].acc)
3600 if(g.y>next.y+8)
3604 if(next&&next.type==C.NOTE){if(g.y>=3*(next.notes[next.nhd].pit-18))
3606 else if(g.beam_st&&g.y<3*(next.notes[next.nhd].pit-18)-4)
3609 function set_w_chs(s){var i,ch,w0,s0,dw,x=0,n=0
3610 for(;s;s=s.ts_next){if(s.shrink){x+=s.shrink;n++}
3614 if(ch.type!='g'||ch.y<0)
3617 n--
3618 dw=(w0-x-ch.x)/n
3624 s0=s;w0=ch.text.wh[0];n=0;x=0
3676 if((s.y>27&&s2.y>27)||(s.y<-3&&s2.y<-3)){if(wlw<6)
3928 function set_repeat(s){var s2,s3,i,j,dur,n=s.repeat_n,k=s.repeat_k,st=s.st,v=s.v
3930 if(n<0){n=-n;i=n
3938 dur=s.time-s3.time;i=k*n
3948 for(j=k;--j>=0;){i=n
3962 i=n
3968 if(n==1)
3971 i=n
3977 if(n==2&&i>1){s2=s2.next
3980 s2.repeat_n=n;s2.repeat_k=--i}
3981 dur/=n
3982 if(n==2){s3=s
4268 s.y=(s.clef_line-1)*6
4269 switch(s.clef_type){default:s.ymx=s.y+28
4270 s.ymn=s.y-14
4272 case"c":s.ymx=s.y+13
4273 s.ymn=s.y-11
4275 case"b":s.ymx=s.y+7
4276 s.ymn=s.y-12
4565 s.y=12;s.ymx=24+15;s.ymn=-2
4567 case C.REST:if(voice_tb.length==1){s.y=12;s.ymx=24;s.ymn=0
4573 if(s.type==C.REST){s.y=(((s.notes[0].pit-18)/2)|0)*6;s.ymx=s.y+rest_sp[5-s.nflags][0];s.ymn=s.y-rest_sp[5-s.nflags][1]}
4648 function set_rest_offset(){var s,s2,v,end_time,not_alone,v_s,y,ymax,ymin,shift,dots,dx,v_s_tb=[],sy=cur_sy
4670 dots=true}}else{if(s2.y<ymax)
4671 ymax=s2.y}}else{if(s2.time==s.time){if(s2.ymx>ymin){ymin=s2.ymx
4673 dots=true}}else{if(s2.y>ymin)
4674 ymin=s2.y}}}
4683 dots=true}}else{if(s2.y<ymax)
4684 ymax=s2.y}}else{if(s2.time==s.time){if(s2.ymx>ymin){ymin=s2.ymx
4686 dots=true}}else{if(s2.y>ymin)
4687 ymin=s2.y}}}
4688 if(!not_alone){s.y=12;s.ymx=24;s.ymn=0
4690 if(ymax==127&&s.y<12){shift=12-s.y
4691 s.y+=shift;s.ymx+=shift;s.ymn+=shift}
4692 if(ymin==-127&&s.y>12){shift=s.y-12
4693 s.y-=shift;s.ymx-=shift;s.ymn-=shift}
4696 if(s.ymn-shift>=ymin){s.y-=shift;s.ymx-=shift;s.ymn-=shift
4702 if(s.ymx+shift<=ymax){s.y+=shift;s.ymx+=shift;s.ymn+=shift
4868 function set_rb(p_voice){var s2,n,s=p_voice.sym
4871 n=0;s2=null
4874 n++
4879 if(n==cfmt.rbmin)
4881 if(n==cfmt.rbmax){if(s2)
4910 while(1){j=p.indexOf("\n",i)
4931 function set_beams(sym){var s,t,g,beam,s_opp,n,m,mid_p,pu,pd,laststem=-1
4942 if(beam){s.stem=laststem}else if(s.beam_st&&!s.beam_end){beam=true;n=pu=0
4946 n+=g.nhd+1
4952 if(pu>n){s.stem=-1}else if(pu<n){s.stem=1}else{pu=s.notes[s.nhd].pit;pd=s.notes[0].pit
4963 s.stem=laststem}else{n=(s.notes[s.nhd].pit+s.notes[0].pit)/2
4964 if(n==mid_p){for(m=0;m<=s.nhd;m++){if(s.notes[m].pit>=mid_p)
4966 n=m*2<s.nhd?mid_p-1:mid_p+1}
4967 if(n<mid_p)
4969 else if(n>mid_p)
5257 if(s.stem>=0){g.y=ymn;g.ys=ymx+slen;ymx=Math.round(g.ys)}else{g.y=ymx;g.ys=ymn-slen;ymn=Math.round(g.ys)}
5287 if(s.stemless){if(s.stem>=0){s.y=ymn;s.ys=ymx}else{s.ys=ymn;s.y=ymx}
5291 s.y=ymn
5300 s.ys=s.mid;s.ymn=(s.ys-2.5)|0;s.y=ymx
5343 case"sep":set_page();vskip(s.sk1);output+='<path class="stroke"\n\td="M';out_sxsy((img.width-s.l)/2-img.lm,' ',0)
5344 output+='h'+s.l.toFixed(1)+'"/>\n';vskip(s.sk2);break
5355 p_staff.y=0;p_staff.stafflines=sy_staff.stafflines;p_staff.staffscale=sy_staff.staffscale;p_staff.ann_top=p_staff.ann_bot=0}
5356 function set_brace(){var st,i,empty_fl,n=sy.staves.length
5357 for(st=0;st<n;st++){if(!(sy.staves[st].flags&(OPEN_BRACE|OPEN_BRACE2)))
5360 while(st<n){empty_fl|=non_empty[st]?1:2
5553 case'n':i=4
5591 for(i=0;i<128;i++){if(char_tb[i]=="\n")
5597 case"<EOL>":item='\n'
5601 char_tb[item.charCodeAt(0)]='\n'}}
5629 var n=parseInt(param)
5630 switch(n){case 0:return"..."
5634 if(isNaN(n)||n<0||n>16)
5636 return"||||||||||||||||".slice(0,n)}
5781 function set_k_acc(s,sf){var i,j,n,nacc,p_acc,accs=[],pits=[]
5783 n=s.k_a_acc.length
5784 for(i=0;i<n;i++){p_acc=s.k_a_acc[i]
5803 case'n':if(param.indexOf("none")==0){sf=0;s.k_none=true;i=4
5811 switch(param.slice(0,3).toLowerCase()){default:if(param[0]!='m'||(param[1]!=' '&&param[1]!='\t'&&param[1]!='\n')){key_end=true
5916 function get_nd(p){var n,d,nd=p.match(/(\d+)\/(\d+)/)
5918 if(d&&!isNaN(d)&&!(d&(d-1))){n=Number(nd[1])
5919 if(!isNaN(n))
5920 return C.BLEN*n/d}}
6008 info[info_type]+='\n'+text
6314 Abc.prototype.new_note=function(grace,sls){var note,s,in_chord,c,dcn,type,tie_s,acc_tie,i,n,s2,nd,res,num,dur,apit,sl1=[],line=parse.line,a_dcn_sav=a_dcn
6349 case'y':s.type=C.SPACE;s.invis=true;s.dur=0;c=line.next_char()
6449 if(num>0){n=num*2-1;s.dur=s.dur*n/num;s.dur_orig=s.dur_orig*n/num
6451 s.notes[i].dur=s.notes[i].dur*n/num;s2.dur/=num;s2.dur_orig/=num
6453 s2.notes[i].dur/=num}else{num=-num;n=num*2-1;s.dur/=num;s.dur_orig/=num
6455 s.notes[i].dur/=num;s2.dur=s2.dur*n/num;s2.dur_orig=s2.dur_orig*n/num
6457 s2.notes[i].dur=s2.notes[i].dur*n/num}
6521 var nil="0",char_tb=[nil,nil,nil,nil,nil,nil,nil,nil,nil," ","\n",nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil," ","!",'"',"i","\n",nil,"&",nil,"(",")","i",nil,nil,"-","!dot!",nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,"|","i","<","n","<","i","i","n","n","n","n","n","n","n","!fermata!","d","d","d","!emphasis!","!lowermordent!","d","!coda!","!uppermordent!","d","d","!segno!","!trill!","d","d","d","n","d","n","[","\\","|","n","n","i","n","n","n","n","n","n","n","d","d","d","d","d","d","d","d","d","d","d","d","d","!upbow!","!downbow!","d","n","n","n","{","|","}","!gmark!",nil,],ottava={"8va(":1,"8va)":0,"15ma(":2,"15ma)":0,"8vb(":-1,"8vb)":0,"15mb(":-2,"15mb)":0}
6526 if(m[i]!='n')
6535 function n2n(n){var c=ntb[n]
6536 while(n<0){n+=7;c+=','}
6537 while(n>14){n-=7;c+="'"}
6539 function expand(m,b){var c,i,r="",n=m.length
6540 for(i=0;i<n;i++){c=m[i]
6541 if(c>='h'&&c<='z'){r+=n2n(b+c.charCodeAt(0)-'n'.charCodeAt(0))}else{r+=c}}
6543 function parse_mac(k,m,b){var te,ti,curv,s,line_sav=line,istart_sav=parse.istart;parse.line=line=new scanBuf;parse.istart+=line_sav.index;if(cfmt.writefields.indexOf('m')<0){line.buffer=k.replace('n',n2n(b))
6571 function parse_seq(in_mac){var c,idx,type,k,s,dcn,i,n,text,note
6582 if(!in_mac&&maci[c]){n=0
6585 if(k.indexOf('n')<0){if(line.buffer.indexOf(k,line.index)
6588 line.index+=k.length}else{n=check_mac(k)
6589 if(!n)
6591 parse_mac(k,mac[k],n)
6592 n=1
6594 if(n)
6606 case'\n':if(cfmt.barsperstaff)
6682 case'n':s=self.new_note(grace,sls)
6711 n=c=='<'?1:-1
6712 while(c=='<'||c=='>'){n*=2;c=line.next_char()}
6713 curvoice.brk_rhythm=n
6764 if(char_tb['\n'.charCodeAt(0)]=='\n'&&par_sy.voices[curvoice.v]&&par_sy.voices[curvoice.v].range==0)
6778 sheet.insertRule(e,sheet.cssRules.length)}}:function(s){font_style+="\n"+s}
6791 var c,font=gene.curfont,h=font.size,w=0,n=str.length,i0=0,i=0
6812 return[w,h]}})():function(str){var font=gene.curfont,swfac=font.swfac,h=font.size,w=0,i,j,c,n=str.length
6813 for(i=0;i<n;i++){c=str[i]
6835 return'<tspan\n\tclass="'+cl+'">'}
6871 function xy_str(x,y,str,action,w,wh){if(!wh)
6875 output+='" lengthAdjust="'+gene.curfont.wadj+'" textLength="'+wh[0].toFixed(1);output+='" x="';out_sxsy(x,'" y="',y+wh[1]*.2)
6884 out_str(str);output+="</text>\n"}
6913 function put_inf2r(x,y,str1,str2,action){if(!str1){if(!str2)
6917 xy_str(x,y,str1,action)
6919 xy_str(x,y,str1+' ('+str2+')',action)}
6927 while(1){i=text.indexOf('\n',j)
6934 while(text[i+1]=='\n'){vskip(lineskip);i++}
6943 while(1){i=text.indexOf('\n\n',j)
6961 while(text[i+2]=='\n'){vskip(lineskip);i++}
6966 function put_words(words){var p,i,j,nw,w,lw,x1,x2,i1,i2,do_flush,maxn=0,n=1
6983 words=words.split('\n')
6988 n++}else if(p.length>maxn){maxn=p.length
6993 if(lw<w){j=n>>1
7001 n>>=1}
7012 if(p){put_wline(p,x2)}else{if(--n==0){if(i<i1){n++}else if(i2<nw-1){x2=w-lw/2+10
7016 function put_history(){var i,j,c,str,font,h,w,wh,head,names=cfmt.infoname.split("\n"),n=names.length
7017 for(i=0;i<n;i++){c=names[i][0]
7026 head=head.slice(1,-1);vskip(h);wh=strwh(head);xy_str(0,0,head,null,null,wh);w=wh[0];str=str.split('\n');xy_str(w,0,str[0])
7030 function write_headform(lwidth){var c,font,font_name,align,x,y,sz,info_val={},info_font=clone(info_font_init),info_sz={A:cfmt.infospace,C:cfmt.composerspace,O:cfmt.composerspace,R:cfmt.infospace},info_nb={}
7040 case',':fmt+='\n'
7058 info_val[c]=info[c].split('\n');info_nb[c]=1}else{info_nb[c]++}
7060 fmt+='\n'
7062 while(1){yb.l=yb.c=yb.r=y=0;j=i
7064 if(align=='\n')
7077 if(y<sz)
7078 y=sz;yb[align]=sz}
7079 ya.l+=y-yb.l;ya.c+=y-yb.c;ya.r+=y-yb.r
7081 if(align=='\n')
7096 sz+=info_sz[c];set_font(font);x=xa[align];y=ya[align]+sz
7102 writempo(glovar.tempo,x,-y)}}else if(str){if(c=='T')
7104 xy_str(x,-y,str,align)}
7109 while(info_val[c].length>0){y+=sz;str=info_val[c].shift();xy_str(x,-y,str,align)}}
7110 info_nb[c]--;ya[align]=y}
7124 while(1){j=info.T.indexOf("\n",i)
7144 j=composer.indexOf("\n",i)
7161 \n.stroke{stroke:currentColor;fill:none}\
7162 \n.bW{stroke:currentColor;fill:none;stroke-width:1}\
7163 \n.bthW{stroke:currentColor;fill:none;stroke-width:3}\
7164 \n.slW{stroke:currentColor;fill:none;stroke-width:.7}\
7165 \n.slthW{stroke:currentColor;fill:none;stroke-width:1.5}\
7166 \n.sW{stroke:currentColor;fill:none;stroke-width:.7}\
7167 \n.box{outline: 1px solid black;outline-offset: 1px}',font_style='',posx=cfmt.leftmargin/cfmt.scale,posy=0,img={width:cfmt.pagewidth,lm:cfmt.leftmargin,rm:cfmt.rightmargin},defined_glyph={},defs='',fulldefs='',stv_g={scale:1,dy:0,st:-1,v:-1,g:0},blkdiv=0
7168 var tgls={"mtr ":{x:0,y:0,c:"\u0020"},brace:{x:0,y:0,c:"\ue000"},lphr:{x:0,y:24,c:"\ue030"},mphr:{x:0,y:24,c:"\ue038"},sphr:{x:0,y:27,c:"\ue039"},rdots:{x:-1,y:0,c:"\ue043"},dsgn:{x:-4,y:-4,c:"\ue045"},dcap:{x:-4,y:-4,c:"\ue046"},sgno:{x:-6,y:0,c:"\ue047"},coda:{x:-12,y:-6,c:"\ue048"},tclef:{x:-8,y:0,c:"\ue050"},cclef:{x:-8,y:0,c:"\ue05c"},bclef:{x:-8,y:0,c:"\ue062"},pclef:{x:-6,y:0,c:"\ue069"},spclef:{x:-6,y:0,c:"\ue069"},stclef:{x:-8,y:0,c:"\ue07a"},scclef:{x:-8,y:0,c:"\ue07b"},sbclef:{x:-7,y:0,c:"\ue07c"},oct:{x:0,y:2,c:"\ue07d"},mtr0:{x:0,y:0,c:"\ue080"},mtr1:{x:0,y:0,c:"\ue081"},mtr2:{x:0,y:0,c:"\ue082"},mtr3:{x:0,y:0,c:"\ue083"},mtr4:{x:0,y:0,c:"\ue084"},mtr5:{x:0,y:0,c:"\ue085"},mtr6:{x:0,y:0,c:"\ue086"},mtr7:{x:0,y:0,c:"\ue087"},mtr8:{x:0,y:0,c:"\ue088"},mtr9:{x:0,y:0,c:"\ue089"},mtrC:{x:0,y:0,c:"\ue08a"},"mtr+":{x:0,y:0,c:"\ue08c"},"mtr(":{x:0,y:0,c:"\ue094"},"mtr)":{x:0,y:0,c:"\ue095"},HDD:{x:-7,y:0,c:"\ue0a0"},breve:{x:-7,y:0,c:"\ue0a1"},HD:{x:-5.2,y:0,c:"\ue0a2"},Hd:{x:-3.8,y:0,c:"\ue0a3"},hd:{x:-3.7,y:0,c:"\ue0a4"},ghd:{x:2,y:0,c:"\ue0a4",sc:.66},pshhd:{x:-3.7,y:0,c:"\ue0a9"},pfthd:{x:-3.7,y:0,c:"\ue0b3"},x:{x:-3.7,y:0,c:"\ue0a9"},"circle-x":{x:-3.7,y:0,c:"\ue0b3"},srep:{x:-5,y:0,c:"\ue101"},"dot+":{x:-5,y:0,sc:.7,c:"\ue101"},diamond:{x:-4,y:0,c:"\ue1b9"},triangle:{x:-4,y:0,c:"\ue1bb"},dot:{x:-1,y:0,c:"\ue1e7"},flu1:{x:-.3,y:0,c:"\ue240"},fld1:{x:-.3,y:0,c:"\ue241"},flu2:{x:-.3,y:0,c:"\ue242"},fld2:{x:-.3,y:0,c:"\ue243"},flu3:{x:-.3,y:3.5,c:"\ue244"},fld3:{x:-.3,y:-4,c:"\ue245"},flu4:{x:-.3,y:8,c:"\ue246"},fld4:{x:-.3,y:-9,c:"\ue247"},flu5:{x:-.3,y:12.5,c:"\ue248"},fld5:{x:-.3,y:-14,c:"\ue249"},"acc-1":{x:-1,y:0,c:"\ue260"},"cacc-1":{x:-18,y:0,c:"\ue26a\ue260\ue26b"},"sacc-1":{x:-1,y:0,sc:.7,c:"\ue260"},acc3:{x:-1,y:0,c:"\ue261"},"cacc3":{x:-18,y:0,c:"\ue26a\ue261\ue26b"},sacc3:{x:-1,y:0,sc:.7,c:"\ue261"},acc1:{x:-2,y:0,c:"\ue262"},"cacc1":{x:-18,y:0,c:"\ue26a\ue262\ue26b"},sacc1:{x:-2,y:0,sc:.7,c:"\ue262"},acc2:{x:-3,y:0,c:"\ue263"},"acc-2":{x:-3,y:0,c:"\ue264"},"acc-1_2":{x:-2,y:0,c:"\ue280"},"acc-3_2":{x:-3,y:0,c:"\ue281"},acc1_2:{x:-1,y:0,c:"\ue282"},acc3_2:{x:-3,y:0,c:"\ue283"},accent:{x:-3,y:0,c:"\ue4a0"},stc:{x:-1,y:-2,c:"\ue4a2"},emb:{x:-4,y:-2,c:"\ue4a4"},wedge:{x:-1,y:0,c:"\ue4a8"},marcato:{x:-3,y:0,c:"\ue4ac"},hld:{x:-7,y:0,c:"\ue4c0"},brth:{x:0,y:0,c:"\ue4ce"},r00:{x:-1.5,y:0,c:"\ue4e1"},r0:{x:-1.5,y:0,c:"\ue4e2"},r1:{x:-3.5,y:-6,c:"\ue4e3"},r2:{x:-3.2,y:0,c:"\ue4e4"},r4:{x:-3,y:0,c:"\ue4e5"},r8:{x:-3,y:0,c:"\ue4e6"},r16:{x:-4,y:0,c:"\ue4e7"},r32:{x:-4,y:0,c:"\ue4e8"},r64:{x:-4,y:0,c:"\ue4e9"},r128:{x:-4,y:0,c:"\ue4ea"},mrest:{x:-10,y:0,c:"\ue4ee"},mrep:{x:-6,y:0,c:"\ue500"},mrep2:{x:-9,y:0,c:"\ue501"},p:{x:-4,y:-6,c:"\ue520"},f:{x:-4,y:-6,c:"\ue522"},pppp:{x:-4,y:-6,c:"\ue529"},ppp:{x:-4,y:-6,c:"\ue52a"},pp:{x:-4,y:-6,c:"\ue52b"},mp:{x:-4,y:-6,c:"\ue52c"},mf:{x:-4,y:-6,c:"\ue52d"},ff:{x:-4,y:-6,c:"\ue52f"},fff:{x:-4,y:-6,c:"\ue530"},ffff:{x:-4,y:-6,c:"\ue531"},sfz:{x:-4,y:-6,c:"\ue539"},trl:{x:-4,y:-4,c:"\ue566"},turn:{x:-5,y:-4,c:"\ue567"},turnx:{x:-5,y:-4,c:"\ue569"},umrd:{x:-7,y:-2,c:"\ue56c"},lmrd:{x:-7,y:-2,c:"\ue56d"},dplus:{x:-4,y:10,c:"\ue582"},sld:{x:-8,y:12,c:"\ue5d0"},grm:{x:-2,y:0,c:"\ue5e2"},dnb:{x:-4,y:0,c:"\ue610"},upb:{x:-3,y:0,c:"\ue612"},opend:{x:-2,y:0,c:"\ue614"},roll:{x:0,y:0,c:"\ue618"},thumb:{x:0,y:0,c:"\ue624"},snap:{x:-2,y:0,c:"\ue630"},ped:{x:-10,y:0,c:"\ue650"},pedoff:{x:-5,y:0,c:"\ue655"},mtro:{x:0,y:0,c:"\ue911"},mtrc:{x:0,y:0,c:"\ue915"},"mtr.":{x:0,y:0,c:"\ue920"},"mtr|":{x:0,y:0,c:"\ue925"},longa:{x:-4.7,y:0,c:"\ue95d"},custos:{x:-4,y:3,c:"\uea02"},ltr:{x:2,y:6,c:"\ueaa4"}}
7183 defs+='\n'+g}
7202 fulldefs+=text.slice(is,ie)+'\n'
7206 output+="</g>\n"}
7220 output+=">\n";stv_g.started=true}
7229 dy=staff_tb[st].y
7239 if(staff_tb[s.st].staffscale!=1){new_scale*=staff_tb[s.st].staffscale;new_dy=staff_tb[s.st].y}
7250 for(st=0;st<=nstaff;st++){if(staff_tb[st].sc_out){output+='<g '+staff_tb[st].scale_str+'>\n'+
7251 staff_tb[st].sc_out+'</g>\n';staff_tb[st].sc_out=""}
7255 (-staff_tb[st].y).toFixed(1)+')">\n'+
7256 staff_tb[st].output+'</g>\n';staff_tb[st].output=""}}
7262 f(t||abc2svg.sym_name[type],s.istart,s.iend,s.x-wl-2,staff_tb[s.st].y+s.ymn+h-2,wl+wr+4,h,s)}
7276 function out_XYAB(str,x,y,a,b){x=sx(x);y=sy(y);output+=str.replace(/X|Y|A|B|F|G/g,function(c){switch(c){case'X':return x.toFixed(1)
7277 case'Y':return y.toFixed(1)
7282 function g_open(x,y,rot,sx,sy){glout()
7283 out_XYAB('<g transform="translate(X,Y',x,y);if(rot)
7289 output+=')">\n';stv_g.g++}
7291 stv_g.g--;output+='</g>\n'}
7297 function sy(y){if(stv_g.g)
7298 return-y
7300 return posy-y
7302 return(stv_g.dy-y)/voice_tb[stv_g.v].scale
7303 return stv_g.dy-y}
7308 Abc.prototype.ay=function(y){if(stv_g.st<0)
7309 return posy-y
7310 return posy+(stv_g.dy-y)*stv_g.scale-stv_g.dy}
7314 function out_sxsy(x,sep,y){x=sx(x);y=sy(y);output+=x.toFixed(1)+sep+y.toFixed(1)}
7316 function xypath(x,y,fill){if(fill)
7317 out_XYAB('<path d="mX Y',x,y)
7319 out_XYAB('<path class="stroke" d="mX Y',x,y)}
7334 output+='"\n>'+gla[2]+'</text>\n'
7343 output+='"/>\n'}
7344 function xygl(x,y,gl){if(glyphs[gl]){def_use(gl)
7345 out_XYAB('<use x="X" y="Y" xlink:href="#A"/>\n',x,y,gl)}else{var tgl=tgls[gl]
7346 if(tgl){x+=tgl.x*stv_g.scale;y-=tgl.y
7347 if(tgl.sc){out_XYAB('<text transform="translate(X,Y) scale(A)">B</text>\n',x,y,tgl.sc,tgl.c)}else{gla[0].push(sx(x))
7348 gla[1].push(sy(y))
7350 function out_acciac(x,y,dx,dy,up){if(up){x-=1;y+=4}else{x-=5;y-=4}
7351 out_XYAB('<path class="stroke" d="mX YlF G"/>\n',x,y,dx,-dy)}
7352 function out_brace(x,y,h){x+=posx-6;y=posy-y;h/=24;output+='<text transform="translate('+
7353 x.toFixed(1)+','+y.toFixed(1)+') scale(2.5,'+h.toFixed(2)+')">'+tgls.brace.c+'</text>\n'}
7354 function out_bracket(x,y,h){x+=posx-5;y=posy-y-3;h+=2;output+='<path d="m'+x.toFixed(1)+' '+y.toFixed(1)+'\n\
7355 c10.5 1 12 -4.5 12 -3.5c0 1 -3.5 5.5 -8.5 5.5\n\
7356 v'+h.toFixed(1)+'\n\
7357 c5 0 8.5 4.5 8.5 5.5c0 1 -1.5 -4.5 -12 -3.5"/>\n'}
7358 function out_hyph(x,y,w){var n,a_y,d=25+((w/20)|0)*3
7360 n=((w-15)/d)|0
7362 n=0;x+=(w-d*n-5)/2;out_XYAB('<path class="stroke" stroke-width="1.2"\n\
7363 stroke-dasharray="5,A"\n\
7364 d="mX YhB"/>\n',x,y+6,Math.round((d-5)/stv_g.scale),d*n+5)}
7365 function out_stem(x,y,h,grace,nflags,straight){var dx=grace?GSTEM_XOFF:3.5,slen=-h
7370 gla[3].push(sy(y))
7374 y+=h
7375 if(h>0){if(!straight){if(!grace){xygl(x,y,"flu"+nflags)
7377 if(nflags==1){out_XYAB('MX Yc0.6 3.4 5.6 3.8 3 10\n\
7378 1.2 -4.4 -1.4 -7 -3 -7\n',x,y)}else{while(--nflags>=0){out_XYAB('MX Yc1 3.2 5.6 2.8 3.2 8\n\
7379 1.4 -4.8 -2.4 -5.4 -3.2 -5.2\n',x,y);y-=3.5}}}}else{output+='<path d="'
7380 if(!grace){while(--nflags>=0){out_XYAB('MX Yl7 3.2 0 3.2 -7 -3.2z\n',x,y);y-=5.4}}else{while(--nflags>=0){out_XYAB('MX Yl3 1.5 0 2 -3 -1.5z\n',x,y);y-=3}}}}else{if(!straight){if(!grace){xygl(x,y,"fld"+nflags)
7382 if(nflags==1){out_XYAB('MX Yc0.6 -3.4 5.6 -3.8 3 -10\n\
7383 1.2 4.4 -1.4 7 -3 7\n',x,y)}else{while(--nflags>=0){out_XYAB('MX Yc1 -3.2 5.6 -2.8 3.2 -8\n\
7384 1.4 4.8 -2.4 5.4 -3.2 5.2\n',x,y);y+=3.5}}}}else{output+='<path d="'
7385 if(!grace){while(--nflags>=0){out_XYAB('MX Yl7 -3.2 0 -3.2 -7 3.2z\n',x,y);y+=5.4}}}}
7386 output+='"/>\n'}
7387 function out_trem(x,y,ntrem){out_XYAB('<path d="mX Y\n\t',x-4.5,y)
7392 output+='"/>\n'}
7393 function out_tubr(x,y,dx,dy,up){var h=up?-3:3;y+=h;dx/=stv_g.scale;output+='<path class="stroke" d="m';out_sxsy(x,' ',y);output+='v'+h.toFixed(1)+'l'+dx.toFixed(1)+' '+(-dy).toFixed(1)+'v'+(-h).toFixed()+'"/>\n'}
7394 function out_tubrn(x,y,dx,dy,up,str){var sw=str.length*10,h=up?-3:3;set_font("tuplet")
7395 xy_str(x+dx/2,y+dy/2-gene.curfont.size*.5+2,str,'c')
7398 y+=6;output+='<path class="stroke" d="m';out_sxsy(x,' ',y);output+='v'+h.toFixed(1)+'m'+dx.toFixed(1)+' '+(-dy).toFixed(1)+'v'+(-h).toFixed(1)+'"/>\n'+'<path class="stroke" stroke-dasharray="'+
7399 ((dx-sw)/2).toFixed(1)+' '+sw.toFixed(1)+'" d="m';out_sxsy(x,' ',y-h);output+='l'+dx.toFixed(1)+' '+(-dy).toFixed(1)+'"/>\n'}
7400 function out_wln(x,y,w){out_XYAB('<path class="stroke" stroke-width="0.8" d="mX YhF"/>\n',x,y+3,w)}
7402 function out_deco_str(x,y,name,str){var a,f,a_deco=deco_str_style[name]
7403 if(!a_deco){xygl(x,y,name)
7405 x+=a_deco.dx;y+=a_deco.dy;if(!a_deco.def){style+="\n."+name+" {"+a_deco.style+"}";a_deco.def=true}
7406 out_XYAB('<text x="X" y="Y" class="A"B>',x,y,name,a_deco.anchor||"");set_font("annotation");out_str(str);output+='</text>\n'}
7407 function out_arp(x,y,val){g_open(x,y,270);x=0;val=Math.ceil(val/6)
7410 function out_cresc(x,y,val,defl){x+=val;val=-val;out_XYAB('<path class="stroke"\n\
7411 d="mX YlA ',x,y+5,val)
7413 output+='-2.2m0 -3.6l'+(-val).toFixed(1)+' -2.2"/>\n'
7415 output+='-4l'+(-val).toFixed(1)+' -4"/>\n'}
7416 function out_dim(x,y,val,defl){out_XYAB('<path class="stroke"\n\
7417 d="mX YlA ',x,y+5,val)
7419 output+='-2.2m0 -3.6l'+(-val).toFixed(1)+' -2.2"/>\n'
7421 output+='-4l'+(-val).toFixed(1)+' -4"/>\n'}
7422 function out_ltr(x,y,val){y+=4;val=Math.ceil(val/6)
7423 while(--val>=0){xygl(x,y,"ltr");x+=6}}
7424 Abc.prototype.out_lped=function(x,y,val,defl){y+=4;if(!defl.nost)
7425 xygl(x,y,"ped");if(!defl.noen)
7426 xygl(x+val+6,y,"pedoff")}
7427 function out_8va(x,y,val,defl){if(!defl.nost){out_XYAB('<text x="X" y="Y" \
7429 <tspan dy="-4" style="font-size:10px">va</tspan></text>\n',x-8,y);x+=12;val-=12}else{val-=5}
7430 y+=6;out_XYAB('<path class="stroke" stroke-dasharray="6,6" d="mX YhF"/>\n',x,y,val)
7432 out_XYAB('<path class="stroke" d="mX Yv6"/>\n',x+val,y)}
7433 function out_8vb(x,y,val,defl){if(!defl.nost){out_XYAB('<text x="X" y="Y" \
7435 <tspan dy="-4" style="font-size:10px">vb</tspan></text>\n',x-8,y);x+=4;val-=4}else{val-=5}
7436 out_XYAB('<path class="stroke" stroke-dasharray="6,6" d="mX YhF"/>\n',x,y,val)
7438 out_XYAB('<path class="stroke" d="mX Yv-6"/>\n',x+val,y)}
7439 function out_15ma(x,y,val,defl){if(!defl.nost){out_XYAB('<text x="X" y="Y" \
7441 <tspan dy="-4" style="font-size:10px">ma</tspan></text>\n',x-10,y);x+=20;val-=20}else{val-=5}
7442 y+=6;out_XYAB('<path class="stroke" stroke-dasharray="6,6" d="mX YhF"/>\n',x,y,val)
7444 out_XYAB('<path class="stroke" d="mX Yv6"/>\n',x+val,y)}
7445 function out_15mb(x,y,val,defl){if(!defl.nost){out_XYAB('<text x="X" y="Y" \
7447 <tspan dy="-4" style="font-size:10px">mb</tspan></text>\n',x-10,y);x+=7;val-=7}else{val-=5}
7448 out_XYAB('<path class="stroke" stroke-dasharray="6,6" d="mX YhF"/>\n',x,y,val)
7450 out_XYAB('<path class="stroke" d="mX Yv-6"/>\n',x+val,y)}
7451 var deco_val_tb={arp:out_arp,cresc:out_cresc,dim:out_dim,ltr:out_ltr,lped:function(x,y,val,defl){self.out_lped(x,y,val,defl)},"8va":out_8va,"8vb":out_8vb,"15ma":out_15ma,"15mb":out_15mb}
7452 function out_deco_val(x,y,name,val,defl){if(deco_val_tb[name])
7453 deco_val_tb[name](x,y,val,defl)
7456 function out_glisq(x2,y2,de){var de1=de.start,x1=de1.x,y1=de1.y+staff_tb[de1.st].y,ar=Math.atan2(y1-y2,x2-x1),a=ar/Math.PI*180,len=(x2-x1)/Math.cos(ar);g_open(x1,y1,a);x1=de1.s.dots?13+de1.s.xmx:8;len=(len-x1-6)/6|0
7461 function out_gliss(x2,y2,de){var de1=de.start,x1=de1.x,y1=de1.y+staff_tb[de1.st].y,ar=-Math.atan2(y2-y1,x2-x1),a=ar/Math.PI*180,len=(x2-x1)/Math.cos(ar);g_open(x1,y1,a);x1=de1.s.dots?13+de1.s.xmx:8;len-=x1+8;xypath(x1,0);output+='h'+len.toFixed(1)+'" stroke-width="1"/>\n';g_close()}
7463 function out_deco_long(x,y,de){var name=de.dd.glyph
7465 deco_l_tb[name](x,y,de)
7514 dy='y'}}
7516 str.push('<tspan\n\tdy=".065em">'+
7526 function writempo(s,x,y){var bx
7531 out_sxsy(x,'" y="',y+gene.curfont.size*.2)
7532 output+='">'+s.tempo_str+'</text>\n'
7535 out_sxsy(bx-2,'" y="',y+bh-1)
7536 output+='" width="'+(s.tempo_wh[0]+2).toFixed(1)+'" height="'+bh.toFixed(1)+'"/>\n'}
7541 var i,font,head='<svg xmlns="http://www.w3.org/2000/svg" version="1.1"\n\
7542 xmlns:xlink="http://www.w3.org/1999/xlink"\n\
7551 head+=' class="'+font_class(font)+' tune'+tunes.length+'"\n'
7554 posy.toFixed(0)+'">\n'}else{head+=' width="'+img.width.toFixed(0)+'px" height="'+posy.toFixed(0)+'px">\n'}
7557 head+='<style>\n.'+
7559 font_style+style+'\n</style>\n'
7561 head+='<defs>'+defs+'\n</defs>\n'
7563 cfmt.scale.toFixed(2)+')">\n';g='</g>\n'}
7663 function set_feathered_beam(s1){var s,s2,t,d,b,i,a,d=s1.dur,n=1
7666 n++}
7667 if(n<=1){delete s1.feathered_beam
7669 s2=s;b=d/2;a=d/(n-1);t=s1.time
7670 if(s1.feathered_beam>0){for(s=s1,i=n-1;s!=s2;s=s.next,i--){d=((a*i)|0)+b;s.dur=d;s.time=t;t+=d}}else{for(s=s1,i=0;s!=s2;s=s.next,i++){d=((a*i)|0)+b;s.dur=d;s.time=t;t+=d}}
7727 Abc.prototype.set_bar_num=function(){var s,s2,tim,rep_tim,k,n,bar_num=gene.nbar,bar_tim=0,ptim=0,wmeasure=voice_tb[cur_sy.top_voice].meter.wmeasure
7759 n=bar_num+(tim-bar_tim)/wmeasure
7760 k=n-(n|0)
7763 if(tim>ptim+wmeasure){n|=0
7766 bar_num=n}
7772 s.bar_num=n}else{if(cfmt.contbarnb)
7776 n=bar_num+(tim-bar_tim)/wmeasure
7777 if(n==(n|0))
7778 s.bar_num=n}}else{if(k)
7779 n-=k
7780 s.bar_num=n}
7872 function note_transp(s,sk,note){var ak,an,d,b40,n=note.pit,a=note.acc
7874 a=sk.k_map[(n+19)%7]
7875 b40=abc2svg.pab40(n,a)+sk.k_transp
7923 Abc.prototype.do_pscom=function(text){var h1,val,s,cmd,param,n,k,b
7980 n=parseInt(param)
7981 if(isNaN(n)||n<-2||n>2){syntax(1,errs.bad_val,"%%ottava")
7983 glovar.ottava=true;parse.ottava.push(n)
7992 if(!param.length){n=1;k=1}else{b=param.split(/\s+/);n=parseInt(b[0]);k=parseInt(b[1])
7993 if(isNaN(n)||n<1||(curvoice.last_sym.type==C.BAR&&n>2)){syntax(1,"Incorrect 1st value in %%repeat")
7997 parse.repeat_n=curvoice.last_sym.type==C.BAR?n:-n;parse.repeat_k=k
8014 vskip(h1);output+='<path class="stroke"\n\td="M';out_sxsy((lwidth-len)/2/cfmt.scale,' ',0);output+='h'+(len/cfmt.scale).toFixed(1)+'"/>\n';vskip(h2);blk_flush()
8127 while(1){i=text.indexOf('<defs>\n',j)
8378 function new_voice(id){var p_voice,v,p_v_sav,n=voice_tb.length
8379 if(n==1&&voice_tb[0].default){delete voice_tb[0].default
8383 for(v=0;v<n;v++){p_voice=voice_tb[v]
8518 case'-':word="-\n"
8520 case'_':word="_\n"
8532 case'-':word+="\n"
8556 p=ly.t;if(p=="-\n"||p=="_\n"){ly.shift=0
8576 else if(k.a_ly[i].t=="-\n"||k.a_ly[i].t=="_\n")
8594 function draw_lyric_line(p_voice,j,y){var p,lastx,w,s,s2,ly,lyl,hyflag,lflag,x0,font,shift
8604 if(!ly){switch(s.type){case C.REST:case C.MREST:if(lflag){out_wln(lastx+3,y,x0-lastx);lflag=false;lastx=s.x+s.wr}}
8608 if(hyflag){if(p=="_\n"){p="-\n"}else if(p!="-\n"){out_hyph(lastx,y,s.x-shift-lastx);hyflag=false;lastx=s.x+s.wr}}
8609 if(lflag&&p!="_\n"){out_wln(lastx+3,y,x0-lastx+3);lflag=false;lastx=s.x+s.wr}
8610 if(p=="-\n"||p=="_\n"){if(x0==0&&lastx>s.x-18)
8617 x0=s.x-shift;if(p.slice(-1)=='\n'){p=p.slice(0,-1);hyflag=true}
8618 if(user.anno_start||user.anno_stop){s2={st:s.st,istart:ly.istart,iend:ly.iend,x:x0,y:y,ymn:y,ymx:y+gene.curfont.size,wl:0,wr:w}
8620 xy_str(x0,y,p,null,null,ly.wh);anno_stop(s2,'lyrics')
8624 x0=lastx+10;out_hyph(lastx,y,x0-lastx)
8630 if(ly&&ly.t=="_\n"){lflag=true;x0=realwidth-15
8634 if(lflag){out_wln(lastx+3,y,x0-lastx+3);lflag=false}}
8635 function draw_lyrics(p_voice,nly,a_h,y,incr){var j,top,sc=staff_tb[p_voice.st].staffscale;set_font("vocal")
8636 if(incr>0){if(y>-cfmt.vocalspace)
8637 y=-cfmt.vocalspace;y*=sc
8638 for(j=0;j<nly;j++){y-=a_h[j]*1.1;draw_lyric_line(p_voice,j,y)}
8639 return(y-a_h[j-1]/6)/sc}
8641 if(y<top)
8642 y=top;y*=sc
8643 for(j=nly;--j>=0;){draw_lyric_line(p_voice,j,y);y+=a_h[j]*1.1}
8644 return y/sc}
8645 function draw_all_lyrics(){var p_voice,s,v,nly,i,x,y,w,a_ly,ly,lyst_tb=new Array(nstaff+1),nv=voice_tb.length,h_tb=new Array(nv),nly_tb=new Array(nv),above_tb=new Array(nv),rv_tb=new Array(nv),top=0,bot=0,st=-1
8660 y=y_get(p_voice.st,1,x,w)
8661 if(top<y)
8662 top=y;y=y_get(p_voice.st,0,x,w)
8663 if(bot>y)
8664 bot=y
8671 h_tb[v][i]=ly.font.size}}}else{y=y_get(p_voice.st,1,0,realwidth)
8672 if(top<y)
8673 top=y;y=y_get(p_voice.st,0,0,realwidth)
8674 if(bot>y)
8675 bot=y}
8735 if(c!=','){syntax(1,"',' lacking in annotation '@x,y'");y_abs=0}else{y_abs=get_float()
8738 gch.x=x_abs;gch.y=y_abs-h_ann/2
8744 case'@':gch.x=x_abs;y_abs-=h_ann;gch.y=y_abs-h_ann/2
8752 if(!c||c=='n')
8772 function gch_tr1(p,transp){var i,o,n,a,ip,b40,csa=p.split('/')
8780 n=note_names.indexOf(p[o])+16
8781 b40=(abc2svg.pab40(n,a)+transp+200)%40
8815 case'<':gch.x=-(wh[0]+6);y_left-=wh[1];gch.y=y_left+wh[1]/2
8817 case'>':gch.x=6;y_right-=wh[1];gch.y=y_right+wh[1]/2
8824 switch(gch.type){case'<':gch.y-=y_left
8826 case'>':gch.y-=y_right
8828 Abc.prototype.draw_gchord=function(i,s,x,y){var y2,an=s.a_gch[i],h=an.font.size,pad=an.font.pad,w=an.text.wh[0]+pad*2
8829 switch(an.type){case'_':y-=h+pad
8830 y_set(s.st,0,x,w,y-pad)
8832 case'^':y=y_get(s.st,1,x,w)
8833 y+=pad
8834 y_set(s.st,1,x,w,y+h+pad)
8843 y+=(s.type==C.NOTE?(((s.notes[s.nhd].pit+s.notes[0].pit)>>1)-
8847 default:if(y>=0){y+=pad
8848 y_set(s.st,1,x,w,y+h+pad)}else{y-=h+pad
8849 y_set(s.st,0,x,w,y-pad)}
8851 case'@':y+=(s.type==C.NOTE?(((s.notes[s.nhd].pit+s.notes[0].pit)>>1)-
8854 if(y>0){y2=y+h*.8
8856 staff_tb[s.st].ann_top=y2}else{y2=y
8864 user.anno_start("annot",an.istart,an.iend,x-2,y+h+2,w+4,h+4,s)
8865 xy_str(x,y,an.text)
8867 user.anno_stop("annot",an.istart,an.iend,x-2,y+h+2,w+4,h+4,s)}
8868 function draw_all_chsy(){var s,san1,an,i,y,w,pos=curvoice.pos.gch==C.SL_BELOW?-1:1,n_an=0,minmax=new Array(nstaff+1)
8871 function set_an_yu(j){var an,i,s,x,y,w
8883 y=y_get(s.st,1,x,w)
8884 if(an.type=='g'&&y<minmax[s.st].yup)
8885 y=minmax[s.st].yup}else if((an.type=='g'&&pos<=0)||an.type=='_'){continue}else{x=s.x+an.x
8886 y=an.y}
8887 self.draw_gchord(i,s,x,y)}}
8888 function set_an_yl(i){var an,x,y,w
8899 y=y_get(s.st,0,x,w)
8900 if(an.type=='g'&&y>minmax[s.st].ydn)
8901 y=minmax[s.st].ydn
8902 self.draw_gchord(i,s,x,y)}}
8915 if(pos>0){y=y_get(s.st,true,s.x,w)
8916 if(y>minmax[s.st].yup)
8917 minmax[s.st].yup=y}else if(pos<0){y=y_get(s.st,false,s.x,w)
8918 if(y<minmax[s.st].ydn)
8919 minmax[s.st].ydn=y}
8959 var m,i,fn,nreq_i=this.nreq,ls=file.match(/(^|\n)(%%|I:).+?\b/g)
8964 for(i=0;i<ls.length;i++){fn=ls[i].replace(/\n?(%%|I:)/,'')