input musicdef
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% BOGEN (KONVEX) %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def drawslurs(expr i,j) =
save jj,factor, length, height;
numeric jj, absp, length, height, factor;
factor:= 1/6;
height = i*1/2nhh#;
length = j*nhw#;
if j<4 : jj := (j*(j-1)+(i-1))*8
else: jj := (i-1)*8+(j mod 2)*64+floor((j-2)/2);fi;
beginchar(jj, length, height, 0);
clear;
z2r = (w,h);
z1l = origin;
absp := abs((-h,w));
if (factor*absp)>2nhh : factor:= 2nhh/absp fi;
z3r = 1/2z2l+factor*(-h,w);
penpos1(thinwidth,90);
penpos2(thinwidth,90);
penpos3(5/12beamht,90);
currentpen := pencircle xscaled thinwidth yscaled beamht ;
penstroke z1e..z3e..z2e; %statt dir 30
endchar;
enddef;
%%%%%%%%%%%%%%%%%%%%%%%
% positive Steigungen %
%%%%%%%%%%%%%%%%%%%%%%%
for j= 1 upto 17:
for i= 1 upto min(2j,8):
drawslurs(i,j);
endfor;endfor;
end;