-27/Oct/97 LilyPond 0.1.27 1
+27/Oct/97 LilyPond 0.1.29 1
performing
+=item *
+
+Metacomposing
+
=back
These systems should encourage laymen to take up composing, in the
The rest of this document is also entirely mine, and is not meant to
reflect anyone else's opinion.
+
+For metacomposing, see New Scientist, aug 9 1997, or
+http://art.ucsc.edu/faculty/cope/home
=head1 NAME
-Lily Literature -- reading on music engraving/typesetting/etc.
+Literature -- reading on music engraving, typesetting, etc.
=head1 DESCRIPTION
avant-garde composers HWN]
Gardner Read. ``Music Notation: a Manual of Modern Practice'' (2nd
-edition). Taplinger Publishing, New York.
+edition). Taplinger Publishing, New York. (Out of print)
[This is as close to the ``standard'' reference work for music
notation issues as one is likely to get. MB]
A NeXT package by William F. Clocksin. Requires Adobe fonts.
-
=back
=head2 Proprietary
=item Musicator
+=item Noteworthy, http://www.ntworthy.com
+
+Shareware.
+
=item WolfGang, http://www.unige.ch/lettres/armus/music/wolfgang.html
=item Amadeus, Jerker.Elsgard@abc.se
-20/Oct/97 LilyPond 0.1.27 1
+20/Oct/97 LilyPond 0.1.29 1
-20/Oct/97 LilyPond 0.1.27 2
+20/Oct/97 LilyPond 0.1.29 2
-20/Oct/97 LilyPond 0.1.27 3
+20/Oct/97 LilyPond 0.1.29 3
-20/Oct/97 LilyPond 0.1.27 4
+20/Oct/97 LilyPond 0.1.29 4
-20/Oct/97 LilyPond 0.1.27 5
+20/Oct/97 LilyPond 0.1.29 5
-20/Oct/97 LilyPond 0.1.27 6
+20/Oct/97 LilyPond 0.1.29 6
-pl 28.jcn1
- - bit nicer + renamed feta-din10
+pl 29
+ - feta: bass clef, bf: dynamics, bf: 64th flag
+
+
+********
+oct 30
pl 28
- revised Staff_symbol::brew_molecule_p ()
- naming: \makelilytitle
- - fixes for TeX titledefs (thanks, (?))
+ - fixes for TeX titledefs (JAF)
- junked some obsolete pedal stuff.
pl 27.om-je-te-helpen-met-je-ps-spul.jcn1
* postscript macro: draw_slur
********
-oct 28
+oct 29
pl 27
- -t/--test switch for experimental stuff.
- bf: debian optimize is not with 'z'
TOPLEVEL_MAJOR_VERSION = 0
TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 28
-TOPLEVEL_MY_PATCH_LEVEL = jcn1
+TOPLEVEL_PATCH_LEVEL = 29
+TOPLEVEL_MY_PATCH_LEVEL =
# use the above to send patches, always empty for released version:
# please don't move these comments up; the patch should fail if
# remove possibly stale .pk/.tfm files
echo> /tmp/cleaning-font
-FILES=`find /var/lib/texmf/ -name 'font-en-tja*' -o -name 'feta-*'`
+FILES=`find /var/lib/texmf/ -name 'font-en-tja*' -o -name 'feta*'`
# FILES=`find /var/lib/texmf/ -name 'font-en-tja*' -o name 'feta-*" -o -name 'vette-beam*' -o -name 'dyn10*'`
echo removing $FILES
rm $FILES /tmp/cleaning-font
% generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 31 08:26:30 1997
+% on Wed Nov 5 23:51:17 1997
% Do not edit
% input from out/feta16.log
% name=\symboltables {
"d5" "\\dthirtysecondflag" -0.20\pt 4.54\pt -0.20\pt 15.66\pt
"d6" "\\dsixtyfourthflag" -0.20\pt 4.54\pt -0.20\pt 17.66\pt
}
+ "klef" = \table {
+ "bass" "\\bassclef" -0.00\pt 10.80\pt -10.00\pt 4.00\pt
+ "bass_change" "\\cbassclef" -0.00\pt 8.64\pt -8.00\pt 3.20\pt
+ }
% } % $name
% generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 31 08:26:34 1997
+% on Wed Nov 5 23:51:26 1997
% Do not edit
% input from out/feta20.log
% name=\symboltables {
"d5" "\\dthirtysecondflag" -0.25\pt 5.68\pt -0.25\pt 19.58\pt
"d6" "\\dsixtyfourthflag" -0.25\pt 5.68\pt -0.25\pt 22.08\pt
}
+ "klef" = \table {
+ "bass" "\\bassclef" -0.00\pt 13.50\pt -12.50\pt 5.00\pt
+ "bass_change" "\\cbassclef" -0.00\pt 10.80\pt -10.00\pt 4.00\pt
+ }
% } % $name
MAJOR_VERSION = 0
MINOR_VERSION = 1
-PATCH_LEVEL = 28
+PATCH_LEVEL = 29
MY_PATCH_LEVEL =
Begin3
Titel: LilyPond
-Versie: 0.1.28
-Inschrijf datum: 30OCT97
+Versie: 0.1.29
+Inschrijf datum: 06NOV97
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
hoorbare vorm uit uit een muzikale definitie file:
jan@digicash.com (Jan Nieuwenhuizen)
Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.28.tar.gz
+ 395k lilypond-0.1.29.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.28.tar.gz
+ 395k lilypond-0.1.29.tar.gz
Copi"eer politie: GPL
End
Begin3
Title: LilyPond
-Version: 0.1.28
-Entered-date: 30OCT97
+Version: 0.1.29
+Entered-date: 06NOV97
Description: LilyPond is the GNU Project music typesetter. The program
generates visual or auditive output from a music
definition file: it can typeset formatted sheet music
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps
- 440k lilypond-0.1.28.tar.gz
+ 440k lilypond-0.1.29.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/
- 440k lilypond-0.1.28.tar.gz
+ 440k lilypond-0.1.29.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 0.1.28
+Version: 0.1.29
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.28.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.29.tar.gz
Summary: A program for typesetting music.
URL: http://www.stack.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@stack.nl>
add_flag(flagspace, flare,
.97, 1.10, 1.175, hip_thickness, foot_thickness);
- add_flag(flagspace, flare,
- .95, 1.03, 1.175, hip_thickness, foot_thickness);
+ add_flag(.98 flagspace, flare,
+ .91, 1.05, 1.2, hip_thickness, foot_thickness);
input feta-bolletjes;
input feta-schrift;
input feta-banier;
-% input feta-klef;
+ input feta-klef;
else:
input feta-bolletjes;
- input feta-bant;
+ input feta-banier;
% input feta-eindelijk;
-% input feta-klef;
+ input feta-klef;
fi
z1r = (center, 0);
z5 = (x3l + dot_sep * dot_size * interline, .5 interline);
- %
- % [Wanske] says that the extreme x point should be exactly between
- % the dots, but her picture shows that the extreme is ~ 0.2 ss lower
- % hence 170 (and not 180). (.2 is a big amount, but because of
- % the near vertical shape, it is not very clear.
- %
+
penpos3(right_fat * reduced_il, 180);
penlabels(1,3);
enddef;
-fet_beginchar("F clef", "bass", "ughbassclef")
- draw_bass_clef(1.0, .5 interline); % .5 -> silly hack to accomodate
- % motex
-fet_endchar;
+%
+% Inspired by Baerenreiter, Auf dem Strom
+%
+% FIXME: dims
+% FIXME: right vertical tangent seems to be lower than the F-line
+% FIXME: bulb curve smoothly into "long curve" on the inside
+%
+%
+% [Wanske] says that the extreme x point should be exactly between
+% the dots, but her picture shows that the extreme is ~ 0.2 ss lower
+
+def draw_bass_klef(expr reduction) =
+ save reduced_il, left_tilt, left_thick;
+ reduced_il# = interline# * reduction;
+ left_tilt = 10;
+
+ define_pixels(reduced_il);
+ left_thick = .25 reduced_il;
+
+ set_char_box(0, 2.7 reduced_il#, 2.5 reduced_il#, reduced_il#);
+ x1r - x1l = left_thick;
+ x1l = 0;
+ y1l = 0;
+
+ y2 = reduced_il;
+
+ x3r = x1l + 12/7 reduced_il;
+ x2 = .5 [x1,x3];
+ x3l - x3r = .48 reduced_il;
+ y3l = -0.05 interline;
+ x4 = x1l - stafflinethickness;
+ y4 = -2.2 reduced_il;
+ z5 = (x3l + 1/3 reduced_il, .5 reduced_il);
+
+ penpos1(whatever, left_tilt);
+ penpos2(1.2 stafflinethickness, -90);
+ penpos3(whatever, 185);
+ penpos4(stafflinethickness, 135);
-fet_beginchar("reduced F clef", "bass_change", "ughcbassclef")
- draw_bass_clef(.8, .5 interline);
+ draw_bulb(1, z1r, z1l, .45 reduced_il, 1.0);
+
+
+ fill z1r{up} .. z2r{right} .. tension .9 .. z3r{down} .. {curl 0}
+ simple_serif(z4r, z4l, 90) {curl 0}
+ .. z3l{up} .. tension .9 .. z2l{left}
+ .. z1l{dir (-90 + left_tilt)} -- cycle;
+ labels(2,4);
+ penlabels(1,2,3,4);
+
+ pickup pencircle scaled (1/3 reduced_il);
+ draw z5;
+ draw z5 yscaled -1;
+enddef;
+
+fet_beginchar("F clef ", "bass", "bassclef")
+ draw_bass_klef(1.0);
fet_endchar;
+fet_beginchar("F clef (reduced)", "bass_change", "cbassclef")
+ draw_bass_klef(0.8);
+fet_endchar;
+
fet_endgroup("klef");
% center_factor: typically .5, the larger, the larger the radius of the bulb
% radius factor: how much the bulb curves inward
%
-def draw_bulb(expr turndir, zl, zr, center_factor, radius_factor)=
+def draw_bulb(expr turndir, zl, zr, bulb_rad, radius_factor)=
begingroup;
clearxy;
save rad, ang;
ang = angle(zr-zl);
- z0 = center_factor [zr, zl];
- rad = length(zr - z0);
-
+ z0 = zr + bulb_rad * (zl-zr)/length(zr -zl);
+ rad = bulb_rad;
+
z1 = z0 + radius_factor* rad * dir(ang + turndir* 100);
- z2 = z0 + rad * dir(ang + turndir*270);
+ z2 = z0 + rad * dir(ang + turndir*300);
labels(0,1,2);
fill zr{dir (ang + turndir* 90)} .. z1 .. z2 -- cycle;
ex# = 1.5 interline#;
kerning# = .75 ex#;
start_nib_angle = 20;
-
+ bulb_size = 0.47;
define_pixels(ex, ascender_extra, ascender, kerning);
t_overshoot = 0.03 ex;
r_fatness = .75 fatness;
uitschieter = 21/40 ex;
hair_thick = blot_diameter;
- bulb_size = 0.47;
+
slant = .2;
local_copy(transform)(currenttransform);
fill z11r{dir 70} .. z13r{down} -- z13l{up} .. z11l{dir 250} -- cycle;
penlabels(range 1 thru 15);
- draw_bulb(-1, z13r, z13l, bulb_size, 1.5);
+
+ draw_bulb(-1, z13r, z13l, bulb_size * r_fatness, 1.5);
fet_endchar;
fet_beginchar("organ-heel", "pedalheel", "pedalheel")
% generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 31 08:26:30 1997
+% on Wed Nov 5 23:51:17 1997
% Do not edit
% input from out/feta16.log
% name
\fetdef\dthirtysecondflag{49}
\fetdef\dsixtyfourthflag{50}
+% klef
+\fetdef\bassclef{51}
+\fetdef\cbassclef{52}
+
% generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 31 08:26:34 1997
+% on Wed Nov 5 23:51:26 1997
% Do not edit
% input from out/feta20.log
% name
\fetdef\dthirtysecondflag{49}
\fetdef\dsixtyfourthflag{50}
+% klef
+\fetdef\bassclef{51}
+\fetdef\cbassclef{52}
+
\edef\embedid{feta-sleur-\number\embedcount}
\immediate\openout\embedfile=\embedid.mf
\global\advance\embedcount by 1
+
+% should write ``automatically generated.''
+% \immediate\write\embedfile{\def\
+%
+% }
+
\immediate\write\embedfile{#1}
+
\immediate\closeout\embedfile
\font\expandafter\embedid\expandafter=\embedid
\embedid\char0
\def\nometafont{\def\embeddedmf##1{}}
% dat heb je handig gedaan, lieverd!
-%\nometafont
+\nometafont
\nopostscript
-\notex
+%\notex
\def\EndLilyPondOutput{
\storeembedcount
+++ /dev/null
-% generated automatically by mf-to-table.py version 0.4
-% on Tue Oct 28 20:43:44 1997
-% Do not edit
-% input from out/font-en-tja16.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-
-% balls
-\fetdef\brevisball{16}
-\fetdef\brevisledger{17}
-\fetdef\longaball{18}
-\fetdef\longaledger{19}
-\fetdef\wholeball{20}
-\fetdef\wholeledger{21}
-\fetdef\halfball{22}
-\fetdef\halfledger{23}
-\fetdef\quartball{24}
-\fetdef\quartledger{25}
-
-% scripts
-\fetdef\ufermata{26}
-\fetdef\dfermata{27}
-\fetdef\sforzatoaccent{28}
-\fetdef\staccato{29}
-\fetdef\ustaccatissimo{30}
-\fetdef\dstaccatissimo{31}
-\fetdef\tenuto{32}
-\fetdef\umarcato{33}
-\fetdef\dmarcato{34}
-\fetdef\ouvert{35}
-\fetdef\plusstop{36}
-\fetdef\upbow{37}
-\fetdef\downbow{38}
-\fetdef\turn{39}
-\fetdef\trill{40}
-\fetdef\pedalheel{41}
-\fetdef\pedaltoe{42}
-
-% flags
-\fetdef\eighthflag{43}
-\fetdef\sixteenthflag{44}
-\fetdef\thirtysecondflag{45}
-\fetdef\sixtyfourthflag{46}
-\fetdef\deighthflag{47}
-\fetdef\dsixteenthflag{48}
-\fetdef\dthirtysecondflag{49}
-\fetdef\dsixtyfourthflag{50}
-
+++ /dev/null
-% generated automatically by mf-to-table.py version 0.4
-% on Tue Oct 28 20:44:01 1997
-% Do not edit
-% input from out/font-en-tja20.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-
-% balls
-\fetdef\brevisball{16}
-\fetdef\brevisledger{17}
-\fetdef\longaball{18}
-\fetdef\longaledger{19}
-\fetdef\wholeball{20}
-\fetdef\wholeledger{21}
-\fetdef\halfball{22}
-\fetdef\halfledger{23}
-\fetdef\quartball{24}
-\fetdef\quartledger{25}
-
-% scripts
-\fetdef\ufermata{26}
-\fetdef\dfermata{27}
-\fetdef\sforzatoaccent{28}
-\fetdef\staccato{29}
-\fetdef\ustaccatissimo{30}
-\fetdef\dstaccatissimo{31}
-\fetdef\tenuto{32}
-\fetdef\umarcato{33}
-\fetdef\dmarcato{34}
-\fetdef\ouvert{35}
-\fetdef\plusstop{36}
-\fetdef\upbow{37}
-\fetdef\downbow{38}
-\fetdef\turn{39}
-\fetdef\trill{40}
-\fetdef\pedalheel{41}
-\fetdef\pedaltoe{42}
-
-% flags
-\fetdef\eighthflag{43}
-\fetdef\sixteenthflag{44}
-\fetdef\thirtysecondflag{45}
-\fetdef\sixtyfourthflag{46}
-\fetdef\deighthflag{47}
-\fetdef\dsixteenthflag{48}
-\fetdef\dthirtysecondflag{49}
-\fetdef\dsixtyfourthflag{50}
-
\def\brace#1{\count0=148\advance\count0 by #1\musicdraw\char\count0}
\def\crescendosym#1{\count0=84\advance\count0 by #1\musicdraw\char\count0}
\def\decrescendosym#1{\count0=116\advance\count0 by #1\musicdraw\char\count0}
-\def\rulesym#1#2{\vrule height #1 width #2}
+\def\rulesym#1#2{\dimen0=#1%
+ \vrule height .5\dimen0 depth .5\dimen0 width #2}
\def\settext#1{\normaltextfont #1}
\def\setitalic#1{\italicfont #1}
\def\setdynamic#1{\dynfont #1}
+%
+% ideally, we should create a LaTeX/TeX class
+% for setting music in different sizes.
+%
+\input lilyponddefs
+\def\EndLilyPondOutput{\endinput}
+%
+\def\thetitle{}
+\def\thesubtitle{}
+\def\thecomposer{}
+\def\thearranger{}
+\def\theinstrument{}
+%
+\def\title#1{\def\thetitle{#1\\}}
+\def\subtitle#1{\def\thesubtitle{#1}}
+\def\composer#1{\def\thecomposer{#1}}
+\def\arranger#1{\def\thearranger{#1}}
+\def\instrument#1{\def\theinstrument{#1}}
+%
+\def\makelilytitle{
+ \begin{center}
+ {\huge\bfseries\thetitle}{\large\bfseries\thesubtitle}
+ \end{center}
+ {\hfill\scshape\thecomposer}{\flushleft\theinstrument}{\hfill\thearranger}
+ %\bigskip
+ }
+
+
+
+
+\endinput
+
%
% ideally, we should create a LaTeX/TeX class
% for setting music in different sizes.