input musicdef %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % BALKEN % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% font_x_height beamht#; def drawbeams (expr st, jj) = save i, length, height; numeric i, length, height; length:= 0.5; for i=0 upto 7: height := length*st + beamht#; beginchar(jj*8+i, length, height, 0); clear; % x2 = w; x1 = 0; z2r = (w,h); z1l = origin; penpos1(beamht,90); penpos2(beamht,90); penstroke z1e---z2e; endchar; length := 2*length; endfor; enddef; def drawbeamsneg (expr st, jj) = save i, length, depth; numeric i, length, depth; length:= 0.5; for i=0 upto 7: depth := length*st - beamht#; beginchar(jj*8+i, length, 0, depth); clear; z2l = (w,d); z1r = origin; penpos1(beamht,90); penpos2(beamht,90); penstroke z1e---z2e; endchar; length := 2*length; endfor; enddef; numeric ss[]; ss[0]:=0.05; ss[1]:=0.10; ss[2]:=0.15; ss[3]:=0.20; ss[4]:=0.25; ss[5]:=0.30; ss[6]:=0.35; ss[7]:=0.45; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Balken mit positiver Steigung % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for j=0 upto 7 : drawbeams(ss[j],j); endfor; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Balken mit negativer Steigung % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for j=0 upto 7 : drawbeamsneg(-ss[j],j+8); endfor; end;