home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
tex
/
mutex.arc
/
MF.ARC
/
SLUR16.MF
< prev
next >
Wrap
Text File
|
1990-03-06
|
7KB
|
230 lines
input musicdef
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% BOGEN UND (DE)CRESCENDO %
% %
% (Phrasierungsbogen und Bogen der Steigung 0) %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def drawslurs (expr st) =
save i, factor, length, height;
numeric i, absp, length, height, factor;
factor:= 1/6;
for i= 0 upto 15:
length := (i+2)*nhw#;
height := 0 ;
beginchar(i, 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 ;
pickup pencircle scaled (1/16mm + blacker);
penstroke z1e..z3e..z2e; %statt dir 30
endchar;
endfor;
enddef;
def drawslursneg (expr st) =
save i, factor, length, depth;
numeric i, absp, length, depth, factor;
factor:= 1/6;
for i=0 upto 15:
length := (i+2)*nhw#;
depth := length*st ;
beginchar(16+i, length, 0, depth);
clear;
z2l = (w,-d);
z1r = origin;
absp := abs((d,w));
if (factor*absp)>2nhh : factor:= 2nhh/absp fi;
z3r = 1/2z2l+factor*(d,w);
penpos1(thinwidth,90);
penpos2(thinwidth,90);
penpos3(5/12beamht,90);
% currentpen := pencircle xscaled thinwidth yscaled beamht ;
pickup pencircle scaled (1/16mm + blacker);
penstroke (z1e..z3e..z2e) rotatedaround(1/2z2r, 180);
endchar;
endfor;
enddef;
def drawleftslur =
save i, length, height;
numeric i, length, height;
length := 9*nhw#;
for i = 1 upto 9:
height := (i+2)*1/2nhh# ;
beginchar(i-1+32, length, height, 0);
clear;
z2r = (w+4thinwidth,h);
z1l = origin;
penpos1(thinwidth,90);
penpos2(5/12beamht,90);
% currentpen := pencircle xscaled thinwidth yscaled beamht ;
pickup pencircle scaled (1/16mm + blacker);
penstroke z1e..z2e{(2w,0)}; %statt dir 30
endchar;
endfor;
enddef;
def drawrightslur =
save i, length, height;
numeric i, length, height;
length := 9*nhw#;
for i= 1 upto 9:
height := (i+2)*1/2nhh#;
beginchar(i-1+48, length, height, 0);
clear;
z1r = (0-4\thinwidth,h);
z2l = (w,0);
penpos2(thinwidth,90);
penpos1(5/12beamht,90);
% currentpen := pencircle xscaled thinwidth yscaled beamht ;
pickup pencircle scaled (1/16mm + blacker);
penstroke z1e{right}..z2e; %statt dir 30
endchar;
endfor;
enddef;
def drawleftslurneg =
save i, length, depth;
numeric i, length, depth;
length := 9*nhw#;
for i= 1 upto 9:
depth := (i+2)*1/2nhh# ;
beginchar(i-1+64, length, 0, depth);
clear;
z2l = (w+4thinwidth,-d);
z1r = origin;
penpos1(thinwidth,90);
penpos2(5/12beamht,90);
pickup pencircle scaled (1/16mm + blacker);
% currentpen := pencircle xscaled thinwidth yscaled beamht ;
penstroke z1e..z2e{(2w,0)}; %statt dir 30
endchar;
endfor;
enddef;
def drawrightslurneg =
save i, length, depth;
numeric i, length, depth;
length := 9*nhw#;
for i= 1 upto 9:
depth := (i+2)*1/2nhh#;
beginchar(i-1+80, length, 0, depth);
clear;
z1l = (0-4\thinwidth,-d);
z2r = (w,0);
penpos2(thinwidth,90);
penpos1(5/12beamht,90);
% currentpen := pencircle xscaled thinwidth yscaled beamht ;
pickup pencircle scaled (1/16mm + blacker);
penstroke z1e{right}..z2e; %statt dir 30
endchar;
endfor;
enddef;
%decrescendo und cresc.
def drawcrescendo =
save i, height, length, depth;
numeric i, length, height, depth;
for i= 0 upto 15:
length := (i+1)*nhw#;
depth := 1/2nhh# ;
height := depth ;
beginchar(i+96, length, height, depth);
clear;
z1 = origin;
z2l = (w,h);
z3r = (w,-d);
penpos2(1/16mm,90);
penpos1(1/16mm,90);
penpos3(1/16mm,90);
pickup pencircle scaled (blacker);
penstrike z1e--z2e;
penstrike z1e--z3e;
endchar;
endfor;
enddef;
def drawdecrescendo =
save i, height, length, depth;
numeric i, length, height, depth;
for i= 0 upto 15:
length := (i+1)*nhw#;
depth := 1/2nhh# ;
height := depth ;
beginchar(i+112, length, height, depth);
clear;
z1l = (0,h);
z2 = (w,0);
z3r = (0,-d);
penpos2(1/16mm,90);
penpos1(1/16mm,90);
penpos3(1/16mm,90);
pickup pencircle scaled (blacker);
penstrike z3e---z2e;
penstrike z1e---z2e;
%label(1,2,3);
endchar;
endfor;
enddef;
%%%%%%%%%%%%%%%%%%%
% Bogen nach oben %
%%%%%%%%%%%%%%%%%%%
drawslurs(0);
%%%%%%%%%%%%%%%%%%%%
% Bogen nach unten %
%%%%%%%%%%%%%%%%%%%%
drawslursneg(0);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% linge Halbboegen nach oben %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
drawleftslur;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% rechte Halbboegen nach oben %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
drawrightslur;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% linke Halbboegen nach unten %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
drawleftslurneg;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% rechte Halbboegen nach unten %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
drawrightslurneg;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Crescendo und Decrescendo %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
drawcrescendo;
drawdecrescendo;
end;