Lines Matching defs:y

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)
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
1039 <text y="-12">A</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]
1053 xygl(x,y,"acc"+a)}
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)}
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]
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=[]
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
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!='|||||')
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)
2240 sy(p_st.y+d*i).toFixed(1)
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)}}}}
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)
3614 if(ch.type!='g'||ch.y<0)
3676 if((s.y>27&&s2.y>27)||(s.y<-3&&s2.y<-3)){if(wlw<6)
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
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
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}
6349 case'y':s.type=C.SPACE;s.invis=true;s.dur=0;c=line.next_char()
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)
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)}
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={}
7062 while(1){yb.l=yb.c=yb.r=y=0;j=i
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
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}
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"}}
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}
7255 (-staff_tb[st].y).toFixed(1)+')">\n'+
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)
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)}
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\
7358 function out_hyph(x,y,w){var n,a_y,d=25+((w/20)|0)*3
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)
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)
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}}}}
7387 function out_trem(x,y,ntrem){out_XYAB('<path d="mX Y\n\t',x-4.5,y)
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)
7416 function out_dim(x,y,val,defl){out_XYAB('<path class="stroke"\n\
7417 d="mX YlA ',x,y+5,val)
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'}}
7526 function writempo(s,x,y){var bx
7531 out_sxsy(x,'" y="',y+gene.curfont.size*.2)
7535 out_sxsy(bx-2,'" y="',y+bh-1)
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}
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)
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
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}