]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.1.52 release/1.1.52
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 30 Jun 1999 17:42:02 +0000 (19:42 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 30 Jun 1999 17:42:02 +0000 (19:42 +0200)
67 files changed:
ANNOUNCE-1.0 [new file with mode: 0644]
ANNOUNCE-1.2 [new file with mode: 0644]
ANNOUNCEMENT-1.0 [deleted file]
AUTHORS.txt
Documentation/faq.yo
Documentation/topdocs/AUTHORS.yo
Documentation/topdocs/INSTALL.yo
INSTALL.txt
NEWS
TODO
VERSION
flower/data-file.cc
flower/directed-graph.cc
flower/dstream.cc
flower/include/array.icc
flower/include/data-file.hh
flower/include/file-path.hh
flower/include/string.hh
flower/string-convert.cc
input/bugs/foo.ly
input/bugs/grace-accident.ly [new file with mode: 0644]
input/bugs/grace-grace.fly [new file with mode: 0644]
input/bugs/hairy-grace.ly [new file with mode: 0644]
input/test/auto-staff-switch.ly
input/test/grace.ly
lily/auto-beam-engraver.cc
lily/bar.cc
lily/beam-engraver.cc
lily/beam.cc
lily/break.cc
lily/grace-iterator.cc
lily/graphical-axis-group.cc
lily/include/auto-beam-engraver.hh
lily/include/graphical-axis-group.hh
lily/include/key-engraver.hh
lily/include/local-key-engraver.hh
lily/include/lookup.hh
lily/include/paper-outputter.hh
lily/include/stem-info.hh
lily/include/stem.hh
lily/key-engraver.cc
lily/leastsquares.cc
lily/local-key-engraver.cc
lily/lookup.cc
lily/note-column.cc
lily/paper-outputter.cc
lily/rhythmic-column-engraver.cc
lily/spacing-spanner.cc
lily/span-score-bar-engraver.cc
lily/staff-switching-translator.cc
lily/stem-engraver.cc
lily/stem-info.cc
lily/stem.cc
lily/timing-translator.cc
ly/engraver.ly
ly/params.ly
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
make/toplevel.make.in
mf/feta-banier.mf
mf/feta-generic.mf
mutopia/E.Satie/gnossienne-4.ly
mutopia/N.W.Gade/brass.ly
mutopia/N.W.Gade/strings.ly
mutopia/N.W.Gade/wood.ly
mutopia/W.A.Mozart/cadenza.ly

diff --git a/ANNOUNCE-1.0 b/ANNOUNCE-1.0
new file mode 100644 (file)
index 0000000..33190c9
--- /dev/null
@@ -0,0 +1,102 @@
+Keywords: midi notation music typesetting gnu font engraving 
+Subject: GNU LilyPond 1.0 released - The Music Typesetter
+
+GNU LilyPond - The Music Typesetter
+
+
+WHAT IS LilyPond?
+
+LilyPond is the GNU Project music typesetter.  This program can print
+beautiful sheet music from a music definition file.  It can also play
+performances to a MIDI file.
+
+
+WHAT'S NEW SINCE VERSION 0.1?
+
+* LilyPond now includes a completely new music font: the Feta font.  
+  We were quite disappointed with available music fonts, so we rolled
+  our own.  We did our best to copy the best symbol designs available,
+  and we think that we've succeeded in doing so.  We're proud of the
+  result, and we hope you agree, so go check it out!
+
+* More elegant output due to 
+
+       * more sophisticated beam/slur formatting
+       * better spacing
+       * better line breaking
+       * better font design
+       * PostScript output for variable symbols
+
+* Lots of bugfixes
+
+* More robust, flexible and tweakable design
+
+* Better MIDI file importing
+
+* Easier to use due to better shell scripts and input format
+enhancements
+
+* MusixTeX is not needed anymore
+
+* Faster
+
+
+
+FEATURES
+
+* Multiple staffs, polyphonic music (more voices on one staff),
+Polymetric music.
+
+* Support for full orchestral score: Hara_kiri systems (lines with
+only rests are automatically skipped), multi-measure rests, bar
+numbering, brackets at the left.
+
+* Optimal beam slopes, slur/notehead collision resolution, dashed
+slurs. Formatting parameters are runtime tunable
+
+* Very beautiful symbols.  Variable size symbols generated on the fly
+as embedded postscript.
+
+* MIDI output
+
+* Optimal linebreaking, manual intervention possible.  Linelength is
+settable per line.
+
+* Readable yet very fast to type input language.  With configurable
+note names and identifiers.  Comes with an emacs-mode
+
+* With lots of examples (among others a fragment of Van Beethoven's
+Coriolan, J.S.Bach Cello Suite II, F. Schubert "Leise flehen meine
+Lieder")
+
+* Runs on UNIX and Windows-32.
+
+* Easy generation of titling.
+
+* WWW browsable documentation.
+
+* Support for Urtext: separation of modern and original interpretation.
+
+* Polyphonic music (with automatic collision resolution)
+
+* Spacing and collision resolution of accidentals and syllables is
+done automatically
+
+* Internationalisation support (Italian, Dutch)
+
+* Multiple font sizes within one piece
+
+* Integration with LaTeX and YODL
+
+
+MORE INFO
+
+Sources for this project are on
+
+       ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
+       ftp://ftp.gnu.org/pub/gnu/
+
+More detailed info and examples can be found on the webpage at
+
+       http://www.cs.uu.nl/~hanwen/lilypond/index.html
+
diff --git a/ANNOUNCE-1.2 b/ANNOUNCE-1.2
new file mode 100644 (file)
index 0000000..2dc9527
--- /dev/null
@@ -0,0 +1,59 @@
+[DRAFT]
+
+Keywords: midi notation music typesetting gnu font engraving 
+Subject: GNU LilyPond 1.2 released - The Music Typesetter
+
+GNU LilyPond - The Music Typesetter
+
+
+WHAT IS LilyPond?
+
+LilyPond is the GNU Project music typesetter. It transforms a musical
+description file into beautiful sheet music.
+
+
+BROWSE
+
+Documentation and examples can be found on
+
+       http://www.cs.uu.nl/~hanwen/lilypond/
+
+       
+DOWNLOAD
+
+Sources for this project are on
+
+       ftp://ftp.cs.uu.nl/~hanwen/lilypond/ (Europe)
+
+Prepackaged i386 and PPC for both Debian and RedHat are also
+available.
+       
+
+WHAT'S NEW?
+
+* Large cleanups, enhanced design and GUILE integration for smaller
+  memory footprint and more flexible code.
+
+* Direct output to PostScript (optional), or as GUILE script.
+
+* convertors for ABC and MUP formats.
+
+* Font: now available as scaleable PostScript.  New glyphs: time
+  signature, more note heads.
+
+* Enhanced input:  semi-automatic beaming, (nested) tuplets, (nested)
+  repeats, automatic staff switching, chordnames.
+  
+* Grace notes, volta brackets, better spacing, multiple styles for
+  note heads and time signatures, breathing signs, lyric extenders,
+  cross staff beaming and slurring.
+
+* --safe option for the paranoid
+
+* Exact spacing for text (eg. Lyrics)
+
+* mutopia archive is now a separate effort
+
+* lots of bugfixes
+
+
diff --git a/ANNOUNCEMENT-1.0 b/ANNOUNCEMENT-1.0
deleted file mode 100644 (file)
index 33190c9..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-Keywords: midi notation music typesetting gnu font engraving 
-Subject: GNU LilyPond 1.0 released - The Music Typesetter
-
-GNU LilyPond - The Music Typesetter
-
-
-WHAT IS LilyPond?
-
-LilyPond is the GNU Project music typesetter.  This program can print
-beautiful sheet music from a music definition file.  It can also play
-performances to a MIDI file.
-
-
-WHAT'S NEW SINCE VERSION 0.1?
-
-* LilyPond now includes a completely new music font: the Feta font.  
-  We were quite disappointed with available music fonts, so we rolled
-  our own.  We did our best to copy the best symbol designs available,
-  and we think that we've succeeded in doing so.  We're proud of the
-  result, and we hope you agree, so go check it out!
-
-* More elegant output due to 
-
-       * more sophisticated beam/slur formatting
-       * better spacing
-       * better line breaking
-       * better font design
-       * PostScript output for variable symbols
-
-* Lots of bugfixes
-
-* More robust, flexible and tweakable design
-
-* Better MIDI file importing
-
-* Easier to use due to better shell scripts and input format
-enhancements
-
-* MusixTeX is not needed anymore
-
-* Faster
-
-
-
-FEATURES
-
-* Multiple staffs, polyphonic music (more voices on one staff),
-Polymetric music.
-
-* Support for full orchestral score: Hara_kiri systems (lines with
-only rests are automatically skipped), multi-measure rests, bar
-numbering, brackets at the left.
-
-* Optimal beam slopes, slur/notehead collision resolution, dashed
-slurs. Formatting parameters are runtime tunable
-
-* Very beautiful symbols.  Variable size symbols generated on the fly
-as embedded postscript.
-
-* MIDI output
-
-* Optimal linebreaking, manual intervention possible.  Linelength is
-settable per line.
-
-* Readable yet very fast to type input language.  With configurable
-note names and identifiers.  Comes with an emacs-mode
-
-* With lots of examples (among others a fragment of Van Beethoven's
-Coriolan, J.S.Bach Cello Suite II, F. Schubert "Leise flehen meine
-Lieder")
-
-* Runs on UNIX and Windows-32.
-
-* Easy generation of titling.
-
-* WWW browsable documentation.
-
-* Support for Urtext: separation of modern and original interpretation.
-
-* Polyphonic music (with automatic collision resolution)
-
-* Spacing and collision resolution of accidentals and syllables is
-done automatically
-
-* Internationalisation support (Italian, Dutch)
-
-* Multiple font sizes within one piece
-
-* Integration with LaTeX and YODL
-
-
-MORE INFO
-
-Sources for this project are on
-
-       ftp://pcnov095.win.tue.nl/pub/lilypond/ (Europe)
-       ftp://ftp.gnu.org/pub/gnu/
-
-More detailed info and examples can be found on the webpage at
-
-       http://www.cs.uu.nl/~hanwen/lilypond/index.html
-
index 292a11b1fa2e35de2192685a775a858fdbdb5395..0ba17b7a8669138743f5bf97b6aece4fcc989e31 100644 (file)
-
-          AUTHORS - who did what on GNU LilyPond?
-
-Contents
-
-This  file  lists  authors  of  GNU  LilyPond, and what they
-wrote.  This list is alphabetically ordered.
-
-o    Tom Cato Amundsen <tomcato@xoommail.com>,  cembalo-par-
-     tita in mudela, accordion symbols, some mudela-book.py
-
-o    Mats            Bengtsson            <matsb@s3.kth.se>,
-     http://www.s3.kth.se/~matsb/  clef  stuff,  key  stuff,
-     swedish notenames, testing, general comments.
-
-o    Eric Bullinger <eric@aut.ee.ethz.ch>, accidental trans-
-     position.
-
-o    Jan  Arne  Fagertun  <Jan.A.Fagertun@energy.sintef.no>,
-     TeX titling and lytodvi.sh
-
-o    Anthony Fok <foka@debian.org>, debian package: debian/*
-
-o    Bjoern  Jacke  <bjoern.jacke@gmx.de>  german   glossary
-     stuff.
-
-o    Neil Jerram <nj104@cus.cam.ac.uk>.  parts of Documenta-
-     tion/Vocab*
-
-o    Donald    Ervin    Knuth,     http://www-cs-staff.stan-
-     ford.edu/~knuth/  mf/ital-*.mf  (these  were taken from
-     the CM fonts)
-
-o    Michael  Krause   <m.krause@tu-harburg.de>,   breathing
-     signs
-
-o    Werner  Lemberg <xlwy01@uxp1.hrz.uni-dortmund.de>, misc
-     bugfixes, some Beam and Stem code.
-
-o    David R. Linn <drl@vuse.vanderbilt.edu>,  Mailing  list
-     maintenance.
-
-o    Adrian  Mariano  <>  Reference  manual, tutorial fixes,
-     glossary.
-
-o    Han-Wen           Nienhuys           <hanwen@cs.uu.nl>,
-     http://www.cs.uu.nl/~hanwen/   Main  author  (initials:
-     HWN).
-
-o    Jan          Nieuwenhuizen           <janneke@gnu.org>,
-     http://www.xs4all.nl/~jantien/  Main  author (initials:
-     JCN).
-
-o    Alexandre  Oliva  <oliva@dcc.unicamp.br>,   http://sun-
-     site.unicamp.br/~oliva/ testing
-
-o    Franc,ois  Pinard  <pinard@iro.umontreal.ca>,  parts of
-     Documentation/Vocab*,   started    internationalization
-
-     stuff
-
-o    Jeffrey B. Reed <daboys@austin.rr.com>, Windows-NT sup-
-     port.
-
-o    Shay Rojanski Some mudela source.
-
-Your name could be here! If you want to  fix  something,  do
-it, and send us a patch!
+x T ascii
+x res 240 24 40
+x init
+p1
+x font 3 B
+f3
+s10
+V400
+H240
+tAUTHORS
+wh24
+t-
+wh24
+twho
+wh24
+tdid
+wh24
+twhat
+wh24
+ton
+wh24
+tGNU
+wh24
+tLilyPond?
+n40 0
+V520
+H0
+tContents
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p2
+x font 1 R
+f1
+s10
+V160
+H696
+t-2-
+h672
+n40 0
+V280
+H0
+tThis
+wh48
+tfile
+wh48
+tlists
+wh48
+tauthors
+wh48
+tof
+wh48
+tGNU
+wh48
+tLilyPond,
+wh24
+tand
+wh24
+twhat
+wh24
+tthey
+n40 0
+V320
+H0
+twrote.
+wh48
+tThis
+wh24
+tlist
+wh24
+tis
+wh24
+talphabetically
+wh24
+tordered.
+n40 0
+V440
+H0
+to
+h96
+tTom
+wh24
+tCato
+wh24
+tAmundsen
+wh24
+t<tomcato@xoommail.com>,
+wh48
+tcembalo-par
+Chy
+h24
+n40 0
+V480
+H120
+ttita
+wh24
+tin
+wh24
+tmudela,
+wh24
+taccordion
+wh24
+tsymbols,
+wh24
+tsome
+wh24
+tmudela-book.py
+n40 0
+V560
+H0
+to
+h96
+tMats
+wh288
+tBengtsson
+wh288
+t<matsb@s3.kth.se>,
+n40 0
+V600
+H120
+thttp://www.s3.kth.se/~matsb/
+wh24
+tlots
+wh48
+tof
+wh48
+ttesting,
+wh48
+tfixes,
+n40 0
+V640
+H120
+tgeneral
+wh24
+tcomments
+wh24
+tand
+wh24
+tcontributions.
+n40 0
+V720
+H0
+to
+h96
+tEric
+wh24
+tBullinger
+wh24
+t<eric@aut.ee.ethz.ch>,
+wh24
+taccidental
+wh24
+ttrans
+Chy
+h24
+n40 0
+V760
+H120
+tposition.
+n40 0
+V840
+H0
+to
+h96
+tJan
+wh48
+tArne
+wh48
+tFagertun
+wh48
+t<Jan.A.Fagertun@energy.sintef.no>,
+n40 0
+V880
+H120
+tTeX
+wh24
+ttitling
+wh24
+tand
+wh24
+tlytodvi.sh
+n40 0
+V960
+H0
+to
+h96
+tAnthony
+wh24
+tFok
+wh24
+t<foka@debian.org>,
+wh24
+tdebian
+wh24
+tpackage:
+wh24
+tdebian/*
+n40 0
+V1040
+H0
+to
+h96
+tBjoern
+wh48
+tJacke
+wh48
+t<bjoern.jacke@gmx.de>
+wh48
+tgerman
+wh72
+tglossary
+n40 0
+V1080
+H120
+tstuff.
+n40 0
+V1160
+H0
+to
+h96
+tNeil
+wh24
+tJerram
+wh24
+t<nj104@cus.cam.ac.uk>.
+wh48
+tparts
+wh24
+tof
+wh24
+tDocumenta
+Chy
+h24
+n40 0
+V1200
+H120
+ttion/Vocab*
+n40 0
+V1280
+H0
+to
+h96
+tDonald
+wh96
+tErvin
+wh96
+tKnuth,
+wh120
+thttp://www-cs-staff.stan
+Chy
+h24
+n40 0
+V1320
+H120
+tford.edu/~knuth/
+wh48
+tmf/ital-*.mf
+wh48
+t(these
+wh48
+twere
+wh24
+ttaken
+wh24
+tfrom
+n40 0
+V1360
+H120
+tthe
+wh24
+tCM
+wh24
+tfonts)
+n40 0
+V1440
+H0
+to
+h96
+tMichael
+wh48
+tKrause
+wh72
+t<m.krause@tu-harburg.de>,
+wh72
+tbreathing
+n40 0
+V1480
+H120
+tsigns
+n40 0
+V1560
+H0
+to
+h96
+tWerner
+wh48
+tLemberg
+wh24
+t<xlwy01@uxp1.hrz.uni-dortmund.de>,
+wh24
+tmisc
+n40 0
+V1600
+H120
+tbugfixes,
+wh24
+tsome
+wh24
+tBeam
+wh24
+tand
+wh24
+tStem
+wh24
+tcode.
+n40 0
+V1680
+H0
+to
+h96
+tDavid
+wh24
+tR.
+wh24
+tLinn
+wh24
+t<drl@vuse.vanderbilt.edu>,
+wh48
+tMailing
+wh48
+tlist
+n40 0
+V1720
+H120
+tmaintenance.
+n40 0
+V1800
+H0
+to
+h96
+tAdrian
+wh48
+tMariano
+wh48
+t<>
+wh48
+tReference
+wh48
+tmanual,
+wh24
+ttutorial
+wh24
+tfixes,
+n40 0
+V1840
+H120
+tglossary.
+n40 0
+V1920
+H0
+to
+h96
+tHan-Wen
+wh264
+tNienhuys
+wh264
+t<hanwen@cs.uu.nl>,
+n40 0
+V1960
+H120
+thttp://www.cs.uu.nl/~hanwen/
+wh72
+tMain
+wh48
+tauthor
+wh48
+t(initials:
+n40 0
+V2000
+H120
+tHWN).
+n40 0
+V2080
+H0
+to
+h96
+tJan
+wh240
+tNieuwenhuizen
+wh264
+t<janneke@gnu.org>,
+n40 0
+V2120
+H120
+thttp://www.xs4all.nl/~jantien/
+wh48
+tMain
+wh48
+tauthor
+wh24
+t(initials:
+n40 0
+V2160
+H120
+tJCN).
+n40 0
+V2240
+H0
+to
+h96
+tAlexandre
+wh48
+tOliva
+wh48
+t<oliva@dcc.unicamp.br>,
+wh72
+thttp://sun
+Chy
+h24
+n40 0
+V2280
+H120
+tsite.unicamp.br/~oliva/
+wh24
+ttesting
+n40 0
+V2360
+H0
+to
+h96
+tFranc,ois
+wh48
+tPinard
+wh48
+t<pinard@iro.umontreal.ca>,
+wh48
+tparts
+wh24
+tof
+n40 0
+V2400
+H120
+tDocumentation/Vocab*,
+wh72
+tstarted
+wh96
+tinternationalization
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p3
+x font 1 R
+f1
+s10
+V160
+H696
+t-3-
+h672
+n40 0
+V280
+H120
+tstuff
+n40 0
+V360
+H0
+to
+h96
+tJeffrey
+wh24
+tB.
+wh24
+tReed
+wh24
+t<daboys@austin.rr.com>,
+wh24
+tWindows-NT
+wh24
+tsup
+Chy
+h24
+n40 0
+V400
+H120
+tport.
+n40 0
+V480
+H0
+to
+h96
+tShay
+wh24
+tRojanski
+wh24
+tSome
+wh24
+tmudela
+wh24
+tsource.
+n40 0
+V560
+H0
+tYour
+wh24
+tname
+wh24
+tcould
+wh24
+tbe
+wh24
+there!
+wh24
+tIf
+wh24
+tyou
+wh24
+twant
+wh24
+tto
+wh48
+tfix
+wh48
+tsomething,
+wh48
+tdo
+n40 0
+V600
+H0
+tit,
+wh24
+tand
+wh24
+tsend
+wh24
+tus
+wh24
+ta
+wh24
+tpatch!
+n40 0
+V2560
+H1440
+n40 0
+x trailer
+V2640
+x stop
index 3ef3231a36865c825d2bf2d9a201f6b3123b6515..02fe4d64a192500ca28e60a76711cd4cfd1932ed 100644 (file)
@@ -289,9 +289,8 @@ In any case email(Derek Wyatt)(wyatt@scar.utoronto.edu) is working on
 GTK based editor, but that effort practically died. (see
 lurl(http://harmonia.scar.utoronto.ca).
 
-Matthew Hiller is working on extending Midiscore to handle mudela.
-lurl(http://zoo.cs.yale.edu/~meh25/MISClily/MISClily-0.0.3.tar.gz)
-
+Matthew Hiller is working on extending Midiscore and Koobase to handle
+mudela.  Check out lurl(http://zoo.cs.yale.edu/~meh25/).
 
 There is also a GUI package RoseGarden that could be extended to
 output mudela.
@@ -337,24 +336,15 @@ Seriously, read, reread and reread internals and CodingStyle, and
 just start anywhere. 
 
 Anywhere? Well, most of the comment doco are in the header files, so
-your best bet would be code(less lily/include/*.hh). Some of the most
-important data-structures are to be found in:
-verb(
-       - *request.hh
-       - engraver.hh
-       - performer.hh
-       - translator.hh
-       - score-elem.hh
-       - music.hh
-       - music-list.hh
-       - music-iterator.hh
-       - item.hh
-       - spanner.hh
-)
+your best bet would be code(less lily/include/*.hh).
+
+You should also have a look using Javadoc like tools.  Try
+DOC++, lurl(http://www.imaginator.com/doc++)
+
 
 question(Why GPL?)
 
-Yes.
+No comment.
 
 
 COMMENT(look out: can't have line breaks in subsect() macro)
index 5594db317c65d208544a5cb9cf86b73ff231af51..f5499af35b14957803134b3cb284454a02ae0e2b 100644 (file)
@@ -8,8 +8,7 @@ it()nemail(Tom Cato Amundsen)(tomcato@xoommail.com),
     cembalo-partita in mudela, accordion symbols, some mudela-book.py
 it()nemail(Mats Bengtsson)(matsb@s3.kth.se),
     lurl(http://www.s3.kth.se/~matsb/)
-    clef stuff, key stuff, swedish notenames, testing, general
-    comments.
+    lots of testing, fixes, general comments and contributions.
 it()nemail(Eric Bullinger)(eric@aut.ee.ethz.ch),
     accidental transposition.
 it()nemail(Jan Arne Fagertun)(Jan.A.Fagertun@energy.sintef.no),
index 36590d31852cf5db841eec3adcd508f4f7b02bad..5dd12b7ffc5db32a7c02e0b6caf9e47ea992b2c7 100644 (file)
@@ -290,6 +290,10 @@ verb(
        rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
 )
 
+Precompiled i386 eRedHat RPMS are available from
+lurl(http://linux.umbc.edu/software/lilypond/rpms/).
+
+
 
 sect(DEBIAN GNU/LINUX)
 
index 622b63747e9447e71ff72082693b72962b20fc0e..c7df9a8f5561828a422c09526cef074ff541ee3f 100644 (file)
-
-      INSTALL - compiling and installing GNU LilyPond
-
-                         HWN & JCN
-
-Contents
-
-     1: ABSTRACT
-2: OBTAINING
-3: PREREQUISITES
-4: RUNNING
-5: WEBSITE
-6: CONFIGURING and COMPILING
-7: CONFIGURING FOR MULTIPLE PLATFORMS
-8: INSTALLING
-9: REDHAT LINUX
-10: DEBIAN GNU/LINUX
-11: WINDOWS NT/95
-12: AUTHORS
-
-1: ABSTRACT
-
-This  document  explains  what you need to install LilyPond,
-and what you should do.  If you are  going  to  compile  and
-install  LilyPond  often,  e.g.  when doing development, you
-might want to check out the buildscripts/set-lily.sh script.
-It sets some environment variables and symlinks, which comes
-in handly when you have to compile LilyPond more often.
-
-2: OBTAINING
-
-You  can   get   the   latest   version   of   LilyPond   at
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/.   Refer  to  the links
-document for mirror sites.
-
-If you upgrade by patching do  remember  to  rerun  autoconf
-after applying the patch.
-
-3: PREREQUISITES
-
-For compilation you need:
-
-o    A GNU system: GNU LilyPond is known to run on these GNU
-     systems: Linux (PPC, intel),  FreeBSD,  AIX,  NeXTStep,
-     IRIX, Digital Unix and Solaris.
-
-o    Lots  of  disk space: LilyPond takes between 30 and 100
-     mb to compile if you use debugging information.  If you
-     are  short  on disk-space run configure with --disable-
-     debugging.
-
-     Although we recommend to use Unix, LilyPond is known to
-     run on Windows NT/95/98 as well.  See Section 11.
-
-o    EGCS 1.1 or newer.
-
-o    Python   1.5,   Check   out   ftp://ftp.python.org   or
-     ftp://ftp.cwi.nl/pub/python.
-
-o    GUILE   1.3,    check   out    http://www.gnu.org/soft-
-     ware/guile/guile.html.
-
-o    GNU make.  Check out ftp://ftp.gnu.org.
-
-o    Flex    (version    2.5.4   or   newer).    Check   out
-     ftp://ftp.gnu.org.
-
-o    Bison   (version   1.25   or   newer).     Check    out
-     ftp://ftp.gnu.org.
-
-o    Yodl.   All  documentation  will  be in Yodl. (1.30.17)
-     ftp://ftp.lilypond.org/pub/yodl
-
-o    The geometry package for LaTeX is needed to use ly2dvi.
-     Available           at          ftp://ftp.ctan.org/tex-
-     archive/macros/latex/contrib/supported/geometry  or  at
-     mirror site ftp://ftp.dante.de
-
-4: RUNNING
-
-GNU  LilyPond does use a lot of resources. For operation you
-need the following software
-
-o    TeX
-
-o    A   PostScript   printer   and/or   viewer   (such   as
-     Ghostscript)  is  strongly recommended.  Xdvi will show
-     all embedded PostScript too  if  you  have  Ghostscript
-     installed.
-
-o    GUILE    1.3,    check    out   http://www.gnu.org/pro-
-     grams/guile.html
-
-For running LilyPond successfully you have to help  TeX  and
-MetaFont  find  various files.  The recommended way of doing
-so is adjusting the environment variables  in  the  start-up
-scripts  of  your  shell.   An example is given here for the
-Bourne shell:
-
-     export MFINPUTS="/usr/local/share/lilypond/mf:"
-     export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
-
-The empty path component represents  and MetaFont's  default
-
-search  paths.  Scripts with the proper paths for the bourne
-and   C-shell   respectively   are   generated   in   build-
-scripts/out/lilypond-profile  and buildscripts/out/lilypond-
-login during compilation.
-
-LilyPond is a hideously slow program.  A fast CPU and plenty
-of RAM is recommended for comfortable use.
-
-5: WEBSITE
-
-If  you  want  to  auto-generate Lily's website, you'll need
-some additional conversion tools.
-
-o    xpmtoppm (from the Portable Bitmap Utilities) (For Red-
-     Hat  Linux  users:  it  is  included within the package
-     libgr-progs).
-
-o    Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
-     Which, in turn depends on man2html for proper installa-
-     tion.   man2html  can  be   had   from   http://askdon-
-     ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
-     ing/WWW/Man2html-1.05.
-
-     TeTeX users should not forget to rerun texhash.
-
-Building the website requires pnmtopng.  The version of pnm-
-topng that is distributed with RedHat 5.1 and 5.2 contains a
-bug: pnmtopng is dynamically linked to the wrong version  of
-libpng.   Recompile  it  from source, and make sure that the
-pnmtopng binary is linked statically to the libpng  that  is
-included  in libgr.   RedHat 6.0 does not have this problem.
-
-      tar xzf libgr-2.0.13.tar.gz
-           make
-           cd png
-           rm libpng.so*
-           make pnmtopng
-
-You can then install the new pnmtopng into /usr/local/bin/
-
-6: CONFIGURING and COMPILING
-
-to install GNU LilyPond, simply type:
-
-          gunzip -c lilypond-x.y.z | tar xf -
-          cd lilypond-x.y.z
-          ./configure         # fill in your standard prefix with --prefix
-          make
-          make install
-
-This will install a number of files, something close to:
-
-          /usr/local/man/man1/mi2mu.1
-          /usr/local/man/man1/convert-mudela.1
-          /usr/local/man/man1/mudela-book.1
-          /usr/local/man/man1/lilypond.1
-          /usr/local/bin/lilypond
-          /usr/local/bin/mi2mu
-          /usr/local/share/lilypond/*
-          /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
-
-The above assumes that you are root and have the GNU  devel-
-opment tools, and your make is GNU make.  If this is not the
-case, you can adjust  your  environment  variables  to  your
-taste:
-
-          export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
-          ./configure
-
-CPPFLAGS are the preprocessor flags.
-
-The configure script is Cygnus configure, and it will accept
---help. If you are not root, you will probably have to  make
-it with a different --prefix option.  Our favourite location
-is
-
-          ./configure --prefix=$HOME/usr
-
-In this case, you will have to set up MFINPUTS,  and  TEXIN-
-PUTS accordingly.
-
-Since  GNU  LilyPond  currently  is beta, you are advised to
-also use
-
-          --enable-debugging
-          --enable-checking
-
-Options to configure include:
-
---enable-printing
-     Enable debugging print routines (lilypond -D option)
-
---enable-optimise
-     Set maximum optimisation: compile with -O2.   This  can
-     be  unreliable  on  some compiler/platform combinations
-     (eg, DEC Alpha and PPC)
-
---enable-profiling
-     Compile with support for profiling.
-
---enable-config
-     Output to a different configuration file.   Needed  for
-     multi-platform builds
-
-All  options are documented in the configure help The option
---enable-optimise is recommended for Real Life usage.
-
-If you do
-
-          make all
-
-everything will be compiled, but nothing will be  installed.
-The  resulting  binaries  can be found in the subdirectories
-out/ (which contain all files generated during compilation).
-
-7: CONFIGURING FOR MULTIPLE PLATFORMS
-
-If you want to compile LilyPond with different configuration
-settings, then, you  can  use  the  --enable-config  option.
-Example:  suppose I want to build with and   without profil-
-ing.  Then I'd use the following for the normal build,
-
-           ./configure --prefix=~ --disable-optimise --enable-checking
-           make
-           make install
-
-and for the profiling version, I specify a different config-
-uration.
-
-           ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
-           make config=optprof
-           make config=optprof install
-
-8: INSTALLING
-
-If you have done a successful make, then a simple
-
-          make install
-
-should do the trick.
-
-If you are doing an upgrade, please remember to remove obso-
-lete .pk and .tfm files of the fonts.   A  script  has  been
-provided to do the work for you, see bin/clean-fonts.sh.
-
-CAVEATS
-
-o    The  -O2  option   triggers   bugs on various platforms
-     (PowerPC, Alpha).   If  you  experience  problems,  you
-     should first try  turning off this.
-
-EXAMPLE
-
-This is what I type in my xterm:
-
-          lilypond someinput.ly
-          tex someinput.tex
-          xdvi someinput&
-
-This is what the output looks like over here:
-
-          GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
-          Parsing ... [/home/hw/share/lilypond/init//
-               <..etc..>
-               init//performer.ly]]][input/kortjakje.ly]
-          Creating elements ...[8][16][24][25]
-          Preprocessing elements...
-          Calculating column positions ... [14][25]
-          Postprocessing elements...
-          TeX output to someinput.tex ...
-          Creating MIDI elements ...MIDI output to someinput.midi ...
-
-          hw:~/musix/spacer$ xdvi someinput&
-          [1] 855
-
-Check out the input files, some of them have comments Please
-refer to the man page for more information.
-
-9: REDHAT LINUX
-
-RedHat Linux users can compile an RPM. A  spec  file  is  in
-make/out/lilypond.spec,  it  is  distributed  along with the
-sources.
-
-You can make the rpm by issuing
-
-          rpm -tb lilypond-x.y.z.tar.gz
-          rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
-
-10: DEBIAN GNU/LINUX
-
-A Debian package is  also  available;  contact  Anthony  Fok
-foka@debian.org.   The build scripts are in the subdirectory
-debian/.
-
-11: WINDOWS NT/95
-
-Separate instructions on building for W32 are avaible in the
-file README-W32.yo.
-
-12: AUTHORS
-
-Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
-Jan Nieuwenhuizen <janneke@gnu.org>
-
-Have fun!
+x T ascii
+x res 240 24 40
+x init
+p1
+x font 3 B
+f3
+s10
+V400
+H144
+tINSTALL
+wh24
+t-
+wh24
+tcompiling
+wh24
+tand
+wh24
+tinstalling
+wh24
+tGNU
+wh24
+tLilyPond
+n40 0
+x font 2 I
+f2
+V480
+H600
+tHWN
+wh24
+t&
+wh24
+tJCN
+n40 0
+f3
+V600
+H0
+tContents
+n40 0
+x font 1 R
+f1
+V680
+H120
+t1:
+wh24
+tABSTRACT
+n40 0
+V720
+H0
+t2:
+wh24
+tOBTAINING
+n40 0
+V760
+H0
+t3:
+wh24
+tPREREQUISITES
+n40 0
+V800
+H0
+t4:
+wh24
+tRUNNING
+n40 0
+V840
+H0
+t5:
+wh24
+tWEBSITE
+n40 0
+V880
+H0
+t6:
+wh24
+tCONFIGURING
+wh24
+tand
+wh24
+tCOMPILING
+n40 0
+V920
+H0
+t7:
+wh24
+tCONFIGURING
+wh24
+tFOR
+wh24
+tMULTIPLE
+wh24
+tPLATFORMS
+n40 0
+V960
+H0
+t8:
+wh24
+tINSTALLING
+n40 0
+V1000
+H0
+t9:
+wh24
+tREDHAT
+wh24
+tLINUX
+n40 0
+V1040
+H0
+t10:
+wh24
+tDEBIAN
+wh24
+tGNU/LINUX
+n40 0
+V1080
+H0
+t11:
+wh24
+tWINDOWS
+wh24
+tNT/95
+n40 0
+V1120
+H0
+t12:
+wh24
+tAUTHORS
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p2
+x font 1 R
+f1
+s10
+V160
+H696
+t-2-
+h672
+n40 0
+x font 3 B
+f3
+V280
+H0
+t1:
+wh24
+tABSTRACT
+n40 0
+f1
+V400
+H0
+tThis
+wh48
+tdocument
+wh48
+texplains
+wh48
+twhat
+wh24
+tyou
+wh24
+tneed
+wh24
+tto
+wh24
+tinstall
+wh24
+tLilyPond,
+n40 0
+V440
+H0
+tand
+wh24
+twhat
+wh24
+tyou
+wh24
+tshould
+wh24
+tdo.
+wh48
+tIf
+wh24
+tyou
+wh24
+tare
+wh48
+tgoing
+wh48
+tto
+wh48
+tcompile
+wh48
+tand
+n40 0
+V480
+H0
+tinstall
+wh48
+tLilyPond
+wh48
+toften,
+wh48
+te.g.
+wh48
+twhen
+wh24
+tdoing
+wh24
+tdevelopment,
+wh24
+tyou
+n40 0
+V520
+H0
+tmight
+wh24
+twant
+wh24
+tto
+wh24
+tcheck
+wh24
+tout
+wh24
+tthe
+wf3
+h24
+tbuildscripts/set-lily.sh
+wf1
+h24
+tscript.
+n40 0
+V560
+H0
+tIt
+wh24
+tsets
+wh24
+tsome
+wh24
+tenvironment
+wh24
+tvariables
+wh24
+tand
+wh24
+tsymlinks,
+wh24
+twhich
+wh24
+tcomes
+n40 0
+V600
+H0
+tin
+wh24
+thandly
+wh24
+twhen
+wh24
+tyou
+wh24
+thave
+wh24
+tto
+wh24
+tcompile
+wh24
+tLilyPond
+wh24
+tmore
+wh24
+toften.
+n40 0
+f3
+V720
+H0
+t2:
+wh24
+tOBTAINING
+n40 0
+f1
+V840
+H0
+tYou
+wh48
+tcan
+wh72
+tget
+wh72
+tthe
+wh72
+tlatest
+wh72
+tversion
+wh72
+tof
+wh72
+tLilyPond
+wh72
+tat
+n40 0
+V880
+H0
+tftp://ftp.cs.uu.nl/pub/GNU/LilyPond/.
+wh72
+tRefer
+wh48
+tto
+wh48
+tthe
+wh24
+tlinks
+n40 0
+V920
+H0
+tdocument
+wh24
+tfor
+wh24
+tmirror
+wh24
+tsites.
+n40 0
+x font 2 I
+f2
+V1000
+H0
+tIf
+wh24
+tyou
+wh24
+tupgrade
+wh24
+tby
+wh24
+tpatching
+wh24
+tdo
+wh48
+tremember
+wh48
+tto
+wh48
+trerun
+wh48
+tautoconf
+n40 0
+V1040
+H0
+tafter
+wh24
+tapplying
+wh24
+tthe
+wh24
+tpatch
+f1
+t.
+n40 0
+f3
+V1160
+H0
+t3:
+wh24
+tPREREQUISITES
+n40 0
+f1
+V1280
+H0
+tFor
+wh24
+tcompilation
+wh24
+tyou
+wh24
+tneed:
+n40 0
+V1400
+H0
+to
+h96
+tA
+wh24
+tGNU
+wh24
+tsystem:
+wh24
+tGNU
+wh24
+tLilyPond
+wh24
+tis
+wh24
+tknown
+wh24
+tto
+wh24
+trun
+wh24
+ton
+wh24
+tthese
+wh24
+tGNU
+n40 0
+V1440
+H120
+tsystems:
+wh24
+tLinux
+wh24
+t(PPC,
+wh24
+tintel),
+wh48
+tFreeBSD,
+wh48
+tAIX,
+wh48
+tNeXTStep,
+n40 0
+V1480
+H120
+tIRIX,
+wh24
+tDigital
+wh24
+tUnix
+wh24
+tand
+wh24
+tSolaris.
+n40 0
+V1600
+H0
+to
+h96
+tLots
+wh48
+tof
+wh48
+tdisk
+wh24
+tspace:
+wh24
+tLilyPond
+wh24
+ttakes
+wh24
+tbetween
+wh24
+t30
+wh24
+tand
+wh24
+t100
+n40 0
+V1640
+H120
+tmb
+wh24
+tto
+wh24
+tcompile
+wh24
+tif
+wh24
+tyou
+wh24
+tuse
+wh24
+tdebugging
+wh24
+tinformation.
+wh48
+tIf
+wh24
+tyou
+n40 0
+V1680
+H120
+tare
+wh48
+tshort
+wh48
+ton
+wh24
+tdisk-space
+wh24
+trun
+wh24
+tconfigure
+wh24
+twith
+wh24
+t--disable-
+n40 0
+V1720
+H120
+tdebugging.
+n40 0
+V1800
+H120
+tAlthough
+wh24
+twe
+wh24
+trecommend
+wh24
+tto
+wh24
+tuse
+wh24
+tUnix,
+wh24
+tLilyPond
+wh24
+tis
+wh24
+tknown
+wh24
+tto
+n40 0
+V1840
+H120
+trun
+wh24
+ton
+wh24
+tWindows
+wh24
+tNT/95/98
+wh24
+tas
+wh24
+twell.
+wh48
+tSee
+wh24
+tSection
+wh24
+t11.
+n40 0
+V1960
+H0
+to
+h96
+tEGCS
+wh24
+t1.1
+wh24
+tor
+wh24
+tnewer.
+n40 0
+V2080
+H0
+to
+h96
+tPython
+wh72
+t1.5,
+wh72
+tCheck
+wh72
+tout
+wh72
+tftp://ftp.python.org
+wh72
+tor
+n40 0
+V2120
+H120
+tftp://ftp.cwi.nl/pub/python.
+n40 0
+V2240
+H0
+to
+h96
+tGUILE
+wh72
+t1.3,
+wh96
+tcheck
+wh72
+tout
+wh96
+thttp://www.gnu.org/soft
+Chy
+h24
+n40 0
+V2280
+H120
+tware/guile/guile.html.
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p3
+x font 1 R
+f1
+s10
+V160
+H696
+t-3-
+h672
+n40 0
+V280
+H0
+to
+h96
+tGNU
+wh24
+tmake.
+wh48
+tCheck
+wh24
+tout
+wh24
+tftp://ftp.gnu.org.
+n40 0
+V400
+H0
+to
+h96
+tFlex
+wh96
+t(version
+wh96
+t2.5.4
+wh72
+tor
+wh72
+tnewer).
+wh96
+tCheck
+wh72
+tout
+n40 0
+V440
+H120
+tftp://ftp.gnu.org.
+n40 0
+V560
+H0
+to
+h96
+tBison
+wh72
+t(version
+wh72
+t1.25
+wh72
+tor
+wh72
+tnewer).
+wh120
+tCheck
+wh96
+tout
+n40 0
+V600
+H120
+tftp://ftp.gnu.org.
+n40 0
+V720
+H0
+to
+h96
+tYodl.
+wh72
+tAll
+wh48
+tdocumentation
+wh48
+twill
+wh48
+tbe
+wh24
+tin
+wh24
+tYodl.
+wh24
+t(1.30.17)
+n40 0
+V760
+H120
+tftp://ftp.lilypond.org/pub/yodl
+n40 0
+V880
+H0
+to
+h96
+tThe
+wh24
+tgeometry
+wh24
+tpackage
+wh24
+tfor
+wh24
+tLaTeX
+wh24
+tis
+wh24
+tneeded
+wh24
+tto
+wh24
+tuse
+wh24
+tly2dvi.
+n40 0
+V920
+H120
+tAvailable
+wh264
+tat
+wh240
+tftp://ftp.ctan.org/tex-
+n40 0
+V960
+H120
+tarchive/macros/latex/contrib/supported/geometry
+wh48
+tor
+wh48
+tat
+n40 0
+V1000
+H120
+tmirror
+wh24
+tsite
+wh24
+tftp://ftp.dante.de
+n40 0
+x font 3 B
+f3
+V1120
+H0
+t4:
+wh24
+tRUNNING
+n40 0
+f1
+V1240
+H0
+tGNU
+wh48
+tLilyPond
+wh24
+tdoes
+wh24
+tuse
+wh24
+ta
+wh24
+tlot
+wh24
+tof
+wh24
+tresources.
+wh24
+tFor
+wh24
+toperation
+wh24
+tyou
+n40 0
+V1280
+H0
+tneed
+wh24
+tthe
+wh24
+tfollowing
+wh24
+tsoftware
+n40 0
+V1400
+H0
+to
+h96
+tTeX
+n40 0
+V1480
+H0
+to
+h96
+tA
+wh72
+tPostScript
+wh72
+tprinter
+wh72
+tand/or
+wh72
+tviewer
+wh72
+t(such
+wh72
+tas
+n40 0
+V1520
+H120
+tGhostscript)
+wh48
+tis
+wh48
+tstrongly
+wh24
+trecommended.
+wh48
+tXdvi
+wh24
+twill
+wh24
+tshow
+n40 0
+V1560
+H120
+tall
+wh24
+tembedded
+wh24
+tPostScript
+wh24
+ttoo
+wh48
+tif
+wh48
+tyou
+wh48
+thave
+wh48
+tGhostscript
+n40 0
+V1600
+H120
+tinstalled.
+n40 0
+V1680
+H0
+to
+h96
+tGUILE
+wh96
+t1.3,
+wh96
+tcheck
+wh96
+tout
+wh72
+thttp://www.gnu.org/pro
+Chy
+h24
+n40 0
+V1720
+H120
+tgrams/guile.html
+n40 0
+V1800
+H0
+tFor
+wh24
+trunning
+wh24
+tLilyPond
+wh24
+tsuccessfully
+wh24
+tyou
+wh24
+thave
+wh24
+tto
+wh24
+thelp
+wh48
+tTeX
+wh48
+tand
+n40 0
+V1840
+H0
+tMetaFont
+wh48
+tfind
+wh48
+tvarious
+wh24
+tfiles.
+wh48
+tThe
+wh24
+trecommended
+wh24
+tway
+wh24
+tof
+wh24
+tdoing
+n40 0
+V1880
+H0
+tso
+wh24
+tis
+wh24
+tadjusting
+wh24
+tthe
+wh24
+tenvironment
+wh24
+tvariables
+wh48
+tin
+wh48
+tthe
+wh48
+tstart-up
+n40 0
+V1920
+H0
+tscripts
+wh48
+tof
+wh48
+tyour
+wh48
+tshell.
+wh72
+tAn
+wh24
+texample
+wh24
+tis
+wh24
+tgiven
+wh24
+there
+wh24
+tfor
+wh24
+tthe
+n40 0
+V1960
+H0
+tBourne
+wh24
+tshell:
+n40 0
+V2160
+H120
+texport
+wh24
+tMFINPUTS="/usr/local/share/lilypond/mf:"
+n40 0
+V2200
+H120
+texport
+wh24
+tTEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
+n40 0
+V2400
+H0
+tThe
+wh24
+tempty
+wh24
+tpath
+wh24
+tcomponent
+wh24
+trepresents
+wh48
+tand
+wh24
+tMetaFont
+Caa
+h24
+ts
+wh48
+tdefault
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p4
+x font 1 R
+f1
+s10
+V160
+H696
+t-4-
+h672
+n40 0
+V280
+H0
+tsearch
+wh48
+tpaths.
+wh48
+tScripts
+wh24
+twith
+wh24
+tthe
+wh24
+tproper
+wh24
+tpaths
+wh24
+tfor
+wh24
+tthe
+wh24
+tbourne
+n40 0
+V320
+H0
+tand
+wh72
+tC-shell
+wh72
+trespectively
+wh72
+tare
+wh72
+tgenerated
+wh72
+tin
+wx font 3 B
+f3
+h72
+tbuild
+Chy
+h24
+n40 0
+V360
+H0
+tscripts/out/lilypond-profile
+wf1
+h48
+tand
+wf3
+h24
+tbuildscripts/out/lilypond-
+n40 0
+V400
+H0
+tlogin
+wf1
+h24
+tduring
+wh24
+tcompilation.
+n40 0
+V480
+H0
+tLilyPond
+wh24
+tis
+wh24
+ta
+wh24
+thideously
+wh24
+tslow
+wh24
+tprogram.
+wh48
+tA
+wh24
+tfast
+wh24
+tCPU
+wh24
+tand
+wh24
+tplenty
+n40 0
+V520
+H0
+tof
+wh24
+tRAM
+wh24
+tis
+wh24
+trecommended
+wh24
+tfor
+wh24
+tcomfortable
+wh24
+tuse.
+n40 0
+f3
+V640
+H0
+t5:
+wh24
+tWEBSITE
+n40 0
+f1
+V760
+H0
+tIf
+wh48
+tyou
+wh48
+twant
+wh48
+tto
+wh48
+tauto-generate
+wh24
+tLily
+Caa
+h24
+ts
+wh24
+twebsite,
+wh24
+tyou
+Caa
+h24
+tll
+wh24
+tneed
+n40 0
+V800
+H0
+tsome
+wh24
+tadditional
+wh24
+tconversion
+wh24
+ttools.
+n40 0
+V920
+H0
+to
+h96
+txpmtoppm
+wh24
+t(from
+wh24
+tthe
+wh24
+tPortable
+wh24
+tBitmap
+wh24
+tUtilities)
+wh24
+t(For
+wh24
+tRed
+Chy
+h24
+n40 0
+V960
+H120
+tHat
+wh48
+tLinux
+wh48
+tusers:
+wh48
+tit
+wh48
+tis
+wh48
+tincluded
+wh24
+twithin
+wh24
+tthe
+wh24
+tpackage
+n40 0
+V1000
+H120
+tlibgr-progs).
+n40 0
+V1080
+H0
+to
+h96
+tBib2html
+wh24
+thttp://pertsserver.cs.uiuc.edu/~hull/bib2html.
+n40 0
+V1120
+H120
+tWhich,
+wh24
+tin
+wh24
+tturn
+wh24
+tdepends
+wh24
+ton
+wh24
+tman2html
+wh24
+tfor
+wh24
+tproper
+wh24
+tinstalla
+Chy
+h24
+n40 0
+V1160
+H120
+ttion.
+wh72
+tman2html
+wh48
+tcan
+wh48
+tbe
+wh72
+thad
+wh72
+tfrom
+wh72
+thttp://askdon
+Chy
+h24
+n40 0
+V1200
+H120
+tald.ask.uni-karlsruhe.de/hppd/hpux/Network
+Chy
+h24
+n40 0
+V1240
+H120
+ting/WWW/Man2html-1.05.
+n40 0
+V1320
+H120
+tTeTeX
+wh24
+tusers
+wh24
+tshould
+wh24
+tnot
+wh24
+tforget
+wh24
+tto
+wh24
+trerun
+wh24
+ttexhash.
+n40 0
+V1400
+H0
+tBuilding
+wh24
+tthe
+wh24
+twebsite
+wh24
+trequires
+wh24
+tpnmtopng.
+wh48
+tThe
+wh24
+tversion
+wh24
+tof
+wf3
+h24
+tpnm
+Chy
+h24
+n40 0
+V1440
+H0
+ttopng
+wf1
+h24
+tthat
+wh24
+tis
+wh24
+tdistributed
+wh24
+twith
+wh24
+tRedHat
+wh24
+t5.1
+wh24
+tand
+wh24
+t5.2
+wh24
+tcontains
+wh24
+ta
+n40 0
+V1480
+H0
+tbug:
+wh24
+tpnmtopng
+wh24
+tis
+wh24
+tdynamically
+wh24
+tlinked
+wh24
+tto
+wh24
+tthe
+wh24
+twrong
+wh24
+tversion
+wh48
+tof
+n40 0
+V1520
+H0
+tlibpng.
+wh72
+tRecompile
+wh48
+tit
+wh48
+tfrom
+wh24
+tsource,
+wh24
+tand
+wh24
+tmake
+wh24
+tsure
+wh24
+tthat
+wh24
+tthe
+n40 0
+V1560
+H0
+tpnmtopng
+wh24
+tbinary
+wh24
+tis
+wh24
+tlinked
+wh24
+tstatically
+wh24
+tto
+wh24
+tthe
+wh24
+tlibpng
+wh48
+tthat
+wh48
+tis
+n40 0
+V1600
+H0
+tincluded
+wh48
+tin
+wh24
+tlibgr.
+wh72
+tRedHat
+wh24
+t6.0
+wh24
+tdoes
+wh24
+tnot
+wh24
+thave
+wh24
+tthis
+wh24
+tproblem.
+n40 0
+V1840
+H144
+ttar
+wh24
+txzf
+wh24
+tlibgr-2.0.13.tar.gz
+n40 0
+V1880
+H264
+tmake
+n40 0
+V1920
+H264
+tcd
+wh24
+tpng
+n40 0
+V1960
+H264
+trm
+wh24
+tlibpng.so*
+n40 0
+V2000
+H264
+tmake
+wh24
+tpnmtopng
+n40 0
+V2240
+H0
+tYou
+wh24
+tcan
+wh24
+tthen
+wh24
+tinstall
+wh24
+tthe
+wh24
+tnew
+wh24
+tpnmtopng
+wh24
+tinto
+wh24
+t/usr/local/bin/
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p5
+x font 1 R
+f1
+s10
+V160
+H696
+t-5-
+h672
+n40 0
+x font 3 B
+f3
+V280
+H0
+t6:
+wh24
+tCONFIGURING
+wh24
+tand
+wh24
+tCOMPILING
+n40 0
+f1
+V400
+H0
+tto
+wh24
+tinstall
+wh24
+tGNU
+wh24
+tLilyPond,
+wh24
+tsimply
+wh24
+ttype:
+n40 0
+V640
+H240
+tgunzip
+wh24
+t-c
+wh24
+tlilypond-x.y.z
+wh24
+t|
+wh24
+ttar
+wh24
+txf
+wh24
+t-
+n40 0
+V680
+H240
+tcd
+wh24
+tlilypond-x.y.z
+n40 0
+V720
+H240
+t./configure
+h216
+t#
+wh24
+tfill
+wh24
+tin
+wh24
+tyour
+wh24
+tstandard
+wh24
+tprefix
+wh24
+twith
+wh24
+t--prefix
+n40 0
+V760
+H240
+tmake
+n40 0
+V800
+H240
+tmake
+wh24
+tinstall
+n40 0
+V1040
+H0
+tThis
+wh24
+twill
+wh24
+tinstall
+wh24
+ta
+wh24
+tnumber
+wh24
+tof
+wh24
+tfiles,
+wh24
+tsomething
+wh24
+tclose
+wh24
+tto:
+n40 0
+V1280
+H240
+t/usr/local/man/man1/mi2mu.1
+n40 0
+V1320
+H240
+t/usr/local/man/man1/convert-mudela.1
+n40 0
+V1360
+H240
+t/usr/local/man/man1/mudela-book.1
+n40 0
+V1400
+H240
+t/usr/local/man/man1/lilypond.1
+n40 0
+V1440
+H240
+t/usr/local/bin/lilypond
+n40 0
+V1480
+H240
+t/usr/local/bin/mi2mu
+n40 0
+V1520
+H240
+t/usr/local/share/lilypond/*
+n40 0
+V1560
+H240
+t/usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
+n40 0
+V1800
+H0
+tThe
+wh24
+tabove
+wh24
+tassumes
+wh24
+tthat
+wh24
+tyou
+wh24
+tare
+wh24
+troot
+wh24
+tand
+wh24
+thave
+wh24
+tthe
+wh24
+tGNU
+wh48
+tdevel
+Chy
+h24
+n40 0
+V1840
+H0
+topment
+wh24
+ttools,
+wh24
+tand
+wh24
+tyour
+wh24
+tmake
+wh24
+tis
+wh24
+tGNU
+wh24
+tmake.
+wh48
+tIf
+wh24
+tthis
+wh24
+tis
+wh24
+tnot
+wh24
+tthe
+n40 0
+V1880
+H0
+tcase,
+wh24
+tyou
+wh24
+tcan
+wh24
+tadjust
+wh48
+tyour
+wh48
+tenvironment
+wh48
+tvariables
+wh48
+tto
+wh48
+tyour
+n40 0
+V1920
+H0
+ttaste:
+n40 0
+V2200
+H240
+texport
+wh24
+tCPPFLAGS="-I
+wh24
+t/home/me/my_include
+wh24
+t-DWEIRD_FOOBAR"
+n40 0
+V2240
+H240
+t./configure
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p6
+x font 1 R
+f1
+s10
+V160
+H696
+t-6-
+h672
+n40 0
+V280
+H0
+tCPPFLAGS
+wh24
+tare
+wh24
+tthe
+wh24
+tpreprocessor
+wh24
+tflags.
+n40 0
+V360
+H0
+tThe
+wh24
+tconfigure
+wh24
+tscript
+wh24
+tis
+wh24
+tCygnus
+wh24
+tconfigure,
+wh24
+tand
+wh24
+tit
+wh24
+twill
+wh24
+taccept
+n40 0
+x font 3 B
+f3
+V400
+H0
+t--help
+f1
+t.
+wh24
+tIf
+wh24
+tyou
+wh24
+tare
+wh24
+tnot
+wh24
+troot,
+wh24
+tyou
+wh24
+twill
+wh24
+tprobably
+wh24
+thave
+wh24
+tto
+wh48
+tmake
+n40 0
+V440
+H0
+tit
+wh24
+twith
+wh24
+ta
+wh24
+tdifferent
+wf3
+h24
+t--prefix
+wf1
+h24
+toption.
+wh48
+tOur
+wh24
+tfavourite
+wh24
+tlocation
+n40 0
+V480
+H0
+tis
+n40 0
+V760
+H240
+t./configure
+wh24
+t--prefix=$HOME/usr
+n40 0
+V1000
+H0
+tIn
+wh24
+tthis
+wh24
+tcase,
+wh24
+tyou
+wh24
+twill
+wh24
+thave
+wh24
+tto
+wh24
+tset
+wh24
+tup
+wh24
+tMFINPUTS,
+wh48
+tand
+wh48
+tTEXIN
+Chy
+h24
+n40 0
+V1040
+H0
+tPUTS
+wh24
+taccordingly.
+n40 0
+V1120
+H0
+tSince
+wh48
+tGNU
+wh48
+tLilyPond
+wh48
+tcurrently
+wh48
+tis
+wh24
+tbeta,
+wh24
+tyou
+wh24
+tare
+wh24
+tadvised
+wh24
+tto
+n40 0
+V1160
+H0
+talso
+wh24
+tuse
+n40 0
+V1440
+H240
+t--enable-debugging
+n40 0
+V1480
+H240
+t--enable-checking
+n40 0
+V1720
+H0
+tOptions
+wh24
+tto
+wh24
+tconfigure
+wh24
+tinclude:
+n40 0
+f3
+V1840
+H0
+t--enable-printing
+n40 0
+f1
+V1880
+H120
+tEnable
+wh24
+tdebugging
+wh24
+tprint
+wh24
+troutines
+wh24
+t(lilypond
+wf3
+h24
+t-D
+wf1
+h24
+toption)
+n40 0
+f3
+V1960
+H0
+t--enable-optimise
+n40 0
+f1
+V2000
+H120
+tSet
+wh24
+tmaximum
+wh24
+toptimisation:
+wh24
+tcompile
+wh24
+twith
+wf3
+h24
+t-O2
+f1
+t.
+wh72
+tThis
+wh48
+tcan
+n40 0
+V2040
+H120
+tbe
+wh48
+tunreliable
+wh48
+ton
+wh48
+tsome
+wh24
+tcompiler/platform
+wh24
+tcombinations
+n40 0
+V2080
+H120
+t(eg,
+wh24
+tDEC
+wh24
+tAlpha
+wh24
+tand
+wh24
+tPPC)
+n40 0
+f3
+V2160
+H0
+t--enable-profiling
+n40 0
+f1
+V2200
+H120
+tCompile
+wh24
+twith
+wh24
+tsupport
+wh24
+tfor
+wh24
+tprofiling.
+n40 0
+f3
+V2280
+H0
+t--enable-config
+n40 0
+f1
+V2320
+H120
+tOutput
+wh24
+tto
+wh24
+ta
+wh24
+tdifferent
+wh24
+tconfiguration
+wh24
+tfile.
+wh72
+tNeeded
+wh48
+tfor
+n40 0
+V2360
+H120
+tmulti-platform
+wh24
+tbuilds
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p7
+x font 1 R
+f1
+s10
+V160
+H696
+t-7-
+h672
+n40 0
+V280
+H0
+tAll
+wh48
+toptions
+wh24
+tare
+wh24
+tdocumented
+wh24
+tin
+wh24
+tthe
+wx font 3 B
+f3
+h24
+tconfigure
+wf1
+h24
+thelp
+wh24
+tThe
+wh24
+toption
+n40 0
+f3
+V320
+H0
+t--enable-optimise
+wf1
+h24
+tis
+wh24
+trecommended
+wh24
+tfor
+wh24
+tReal
+wh24
+tLife
+wh24
+tusage.
+n40 0
+V400
+H0
+tIf
+wh24
+tyou
+wh24
+tdo
+n40 0
+V680
+H240
+tmake
+wh24
+tall
+n40 0
+V920
+H0
+teverything
+wh24
+twill
+wh24
+tbe
+wh24
+tcompiled,
+wh24
+tbut
+wh24
+tnothing
+wh24
+twill
+wh24
+tbe
+wh48
+tinstalled.
+n40 0
+V960
+H0
+tThe
+wh48
+tresulting
+wh48
+tbinaries
+wh48
+tcan
+wh24
+tbe
+wh24
+tfound
+wh24
+tin
+wh24
+tthe
+wh24
+tsubdirectories
+n40 0
+f3
+V1000
+H0
+tout/
+wf1
+h24
+t(which
+wh24
+tcontain
+wh24
+tall
+wh24
+tfiles
+wh24
+tgenerated
+wh24
+tduring
+wh24
+tcompilation).
+n40 0
+f3
+V1120
+H0
+t7:
+wh24
+tCONFIGURING
+wh24
+tFOR
+wh24
+tMULTIPLE
+wh24
+tPLATFORMS
+n40 0
+f1
+V1240
+H0
+tIf
+wh24
+tyou
+wh24
+twant
+wh24
+tto
+wh24
+tcompile
+wh24
+tLilyPond
+wh24
+twith
+wh24
+tdifferent
+wh24
+tconfiguration
+n40 0
+V1280
+H0
+tsettings,
+wh24
+tthen,
+wh24
+tyou
+wh48
+tcan
+wh48
+tuse
+wh48
+tthe
+wf3
+h48
+t--enable-config
+wf1
+h48
+toption.
+n40 0
+V1320
+H0
+tExample:
+wh48
+tsuppose
+wh24
+tI
+wh24
+twant
+wh24
+tto
+wh24
+tbuild
+wh24
+twith
+wh24
+tand
+wh72
+twithout
+wh24
+tprofil
+Chy
+h24
+n40 0
+V1360
+H0
+ting.
+wh48
+tThen
+wh24
+tI
+Caa
+h24
+td
+wh24
+tuse
+wh24
+tthe
+wh24
+tfollowing
+wh24
+tfor
+wh24
+tthe
+wh24
+tnormal
+wh24
+tbuild,
+n40 0
+V1640
+H264
+t./configure
+wh24
+t--prefix=~
+wh24
+t--disable-optimise
+wh24
+t--enable-checking
+n40 0
+V1680
+H264
+tmake
+n40 0
+V1720
+H264
+tmake
+wh24
+tinstall
+n40 0
+V1960
+H0
+tand
+wh24
+tfor
+wh24
+tthe
+wh24
+tprofiling
+wh24
+tversion,
+wh24
+tI
+wh24
+tspecify
+wh24
+ta
+wh24
+tdifferent
+wh24
+tconfig
+Chy
+h24
+n40 0
+V2000
+H0
+turation.
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p8
+x font 1 R
+f1
+s10
+V160
+H696
+t-8-
+h672
+n40 0
+V280
+H264
+t./configure
+wh24
+t--prefix=~
+wh24
+t--enable-profiling
+wh24
+t--enable-config=optprof
+wh24
+t--enable-optimise
+wh24
+t--disable-checking
+n40 0
+V320
+H264
+tmake
+wh24
+tconfig=optprof
+n40 0
+V360
+H264
+tmake
+wh24
+tconfig=optprof
+wh24
+tinstall
+n40 0
+x font 3 B
+f3
+V640
+H0
+t8:
+wh24
+tINSTALLING
+n40 0
+f1
+V760
+H0
+tIf
+wh24
+tyou
+wh24
+thave
+wh24
+tdone
+wh24
+ta
+wh24
+tsuccessful
+wh24
+tmake,
+wh24
+tthen
+wh24
+ta
+wh24
+tsimple
+n40 0
+V1040
+H240
+tmake
+wh24
+tinstall
+n40 0
+V1280
+H0
+tshould
+wh24
+tdo
+wh24
+tthe
+wh24
+ttrick.
+n40 0
+V1360
+H0
+tIf
+wh24
+tyou
+wh24
+tare
+wh24
+tdoing
+wh24
+tan
+wh24
+tupgrade,
+wh24
+tplease
+wh24
+tremember
+wh24
+tto
+wh24
+tremove
+wh24
+tobso
+Chy
+h24
+n40 0
+V1400
+H0
+tlete
+wf3
+h24
+t.pk
+wf1
+h24
+tand
+wf3
+h24
+t.tfm
+wf1
+h24
+tfiles
+wh24
+tof
+wh24
+tthe
+wh24
+tfonts.
+wh72
+tA
+wh48
+tscript
+wh48
+thas
+wh48
+tbeen
+n40 0
+V1440
+H0
+tprovided
+wh24
+tto
+wh24
+tdo
+wh24
+tthe
+wh24
+twork
+wh24
+tfor
+wh24
+tyou,
+wh24
+tsee
+wf3
+h24
+tbin/clean-fonts.sh
+f1
+t.
+n40 0
+f3
+V1560
+H0
+tCAVEATS
+n40 0
+f1
+V1720
+H0
+to
+h96
+tThe
+wh48
+t-O2
+wh48
+toption
+wh72
+ttriggers
+wh72
+tbugs
+wh24
+ton
+wh24
+tvarious
+wh24
+tplatforms
+n40 0
+V1760
+H120
+t(PowerPC,
+wh24
+tAlpha).
+wh72
+tIf
+wh48
+tyou
+wh48
+texperience
+wh48
+tproblems,
+wh48
+tyou
+n40 0
+V1800
+H120
+tshould
+wh24
+tfirst
+wh24
+ttry
+wh48
+tturning
+wh24
+toff
+wh24
+tthis.
+n40 0
+f3
+V1920
+H0
+tEXAMPLE
+n40 0
+f1
+V2040
+H0
+tThis
+wh24
+tis
+wh24
+twhat
+wh24
+tI
+wh24
+ttype
+wh24
+tin
+wh24
+tmy
+wh24
+txterm:
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p9
+x font 1 R
+f1
+s10
+V160
+H696
+t-9-
+h672
+n40 0
+V280
+H240
+tlilypond
+wh24
+tsomeinput.ly
+n40 0
+V320
+H240
+ttex
+wh24
+tsomeinput.tex
+n40 0
+V360
+H240
+txdvi
+wh24
+tsomeinput&
+n40 0
+V600
+H0
+tThis
+wh24
+tis
+wh24
+twhat
+wh24
+tthe
+wh24
+toutput
+wh24
+tlooks
+wh24
+tlike
+wh24
+tover
+wh24
+there:
+n40 0
+V880
+H240
+tGNU
+wh24
+tLilyPond
+wh24
+t0.0.78
+wh24
+t#4/FlowerLib
+wh24
+t1.1.24
+wh24
+t#0
+n40 0
+V920
+H240
+tParsing
+wh24
+t...
+wh24
+t[/home/hw/share/lilypond/init//
+n40 0
+V960
+H360
+t<..etc..>
+n40 0
+V1000
+H360
+tinit//performer.ly]]][input/kortjakje.ly]
+n40 0
+V1040
+H240
+tCreating
+wh24
+telements
+wh24
+t...[8][16][24][25]
+n40 0
+V1080
+H240
+tPreprocessing
+wh24
+telements...
+n40 0
+V1120
+H240
+tCalculating
+wh24
+tcolumn
+wh24
+tpositions
+wh24
+t...
+wh24
+t[14][25]
+n40 0
+V1160
+H240
+tPostprocessing
+wh24
+telements...
+n40 0
+V1200
+H240
+tTeX
+wh24
+toutput
+wh24
+tto
+wh24
+tsomeinput.tex
+wh24
+t...
+n40 0
+V1240
+H240
+tCreating
+wh24
+tMIDI
+wh24
+telements
+wh24
+t...MIDI
+wh24
+toutput
+wh24
+tto
+wh24
+tsomeinput.midi
+wh24
+t...
+n40 0
+V1360
+H240
+thw:~/musix/spacer$
+wh24
+txdvi
+wh24
+tsomeinput&
+n40 0
+V1400
+H240
+t[1]
+wh24
+t855
+n40 0
+V1640
+H0
+tCheck
+wh24
+tout
+wh24
+tthe
+wh24
+tinput
+wh24
+tfiles,
+wh24
+tsome
+wh24
+tof
+wh24
+tthem
+wh24
+thave
+wh24
+tcomments
+wh24
+tPlease
+n40 0
+V1680
+H0
+trefer
+wh24
+tto
+wh24
+tthe
+wh24
+tman
+wh24
+tpage
+wh24
+tfor
+wh24
+tmore
+wh24
+tinformation.
+n40 0
+x font 3 B
+f3
+V1800
+H0
+t9:
+wh24
+tREDHAT
+wh24
+tLINUX
+n40 0
+f1
+V1920
+H0
+tRedHat
+wh24
+tLinux
+wh24
+tusers
+wh24
+tcan
+wh24
+tcompile
+wh24
+tan
+wh24
+tRPM.
+wh24
+tA
+wh48
+tspec
+wh48
+tfile
+wh48
+tis
+wh48
+tin
+n40 0
+f3
+V1960
+H0
+tmake/out/lilypond.spec
+f1
+t,
+wh48
+tit
+wh48
+tis
+wh48
+tdistributed
+wh48
+talong
+wh24
+twith
+wh24
+tthe
+n40 0
+V2000
+H0
+tsources.
+n40 0
+V2080
+H0
+tYou
+wh24
+tcan
+wh24
+tmake
+wh24
+tthe
+wh24
+trpm
+wh24
+tby
+wh24
+tissuing
+n40 0
+V2560
+H1440
+n40 0
+V2640
+p10
+x font 1 R
+f1
+s10
+V160
+H672
+t-10-
+h672
+n40 0
+V280
+H240
+trpm
+wh24
+t-tb
+wh24
+tlilypond-x.y.z.tar.gz
+n40 0
+V320
+H240
+trpm
+wh24
+t-i
+wh24
+t/usr/src/redhat/RPMS/i386/lilypond-x.y.z
+n40 0
+V560
+H0
+tPrecompiled
+wh72
+ti386
+wh72
+teRedHat
+wh72
+tRPMS
+wh72
+tare
+wh72
+tavailable
+wh72
+tfrom
+n40 0
+V600
+H0
+thttp://linux.umbc.edu/software/lilypond/rpms/.
+n40 0
+x font 3 B
+f3
+V720
+H0
+t10:
+wh24
+tDEBIAN
+wh24
+tGNU/LINUX
+n40 0
+f1
+V840
+H0
+tA
+wh48
+tDebian
+wh48
+tpackage
+wh48
+tis
+wh48
+talso
+wh48
+tavailable;
+wh24
+tcontact
+wh24
+tAnthony
+wh24
+tFok
+n40 0
+V880
+H0
+tfoka@debian.org
+wh24
+t<foka@debian.org>.
+wh48
+tThe
+wh24
+tbuild
+wh24
+tscripts
+wh24
+tare
+wh24
+tin
+n40 0
+V920
+H0
+tthe
+wh24
+tsubdirectory
+wf3
+h24
+tdebian/
+f1
+t.
+n40 0
+f3
+V1040
+H0
+t11:
+wh24
+tWINDOWS
+wh24
+tNT/95
+n40 0
+f1
+V1160
+H0
+tSeparate
+wh24
+tinstructions
+wh24
+ton
+wh24
+tbuilding
+wh24
+tfor
+wh24
+tW32
+wh24
+tare
+wh24
+tavaible
+wh24
+tin
+wh24
+tthe
+n40 0
+V1200
+H0
+tfile
+wh24
+tREADME-W32.yo.
+n40 0
+f3
+V1320
+H0
+t12:
+wh24
+tAUTHORS
+n40 0
+f1
+V1440
+H0
+tHan-Wen
+wh24
+tNienhuys
+wh24
+t<hanwen@cs.uu.nl>
+n40 0
+V1520
+H0
+tJan
+wh24
+tNieuwenhuizen
+wh24
+t<janneke@gnu.org>
+n40 0
+V1600
+H0
+tHave
+wh24
+tfun!
+n40 0
+V2560
+H1440
+n40 0
+x trailer
+V2640
+x stop
diff --git a/NEWS b/NEWS
index dffc1bfbdddc1e04ea5aed8547447970690045d5..95b2f1cbca56f32e565058f2ea42735599ec0dd0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,36 @@
+pl 51.uu2
+       - grace note flags, move Lookup::flag into Stem
+       - faq updates: doc++, Matt's page
+       - fixes for doc++.
+       - bartype string uses "brace" and "bracket" iso. "{" and "["
+       - some of assert()s  replaced by programming_error ()
+
+pl 51.mb1
+       - N.W.Gade: added real grace notes
+       - feta-banier.mf: added grace note flag
+
+pl 51.uu1
+       - use weAreGraceContext \property to determine self_grace_b_
+       - made more engravers grace aware.
+
+pl 50.jcn2
+       - filed egcs bug report for powerpc.
+       - removed unnecessary #ifdef powerpc 
+       - grace and other fixes for auto-beamer
+       - grace and other fixes for (beam-)stem-lengths
+       - input/test/bugs/hairy-grace.ly (urg)
+       - input/test/bugs/grace-accidents.ly (urg)
+       - input/test/bugs/grace-grace.ly (core)
+       - fixes: gnossienne-4.ly
+
+pl 50.hwn2
+       - Timing_translator: add proccing moments to nearest global translator,
+not to top global translator.
+       - cadenza.ly: grace notes.
+       - bf: auto staff switching
 
+************
+pl 51
 pl 50.hwn1
        - grace notes:
          * Grace_iterator
@@ -1229,7 +1261,7 @@ pl5.jcn4
 pl5.jcn3
        - website fixes
 
-pl5.jcn2
+opl5.jcn2
        - extender-*, see input/test/extender.ly
        - bf: half-beam length (urg)
        - fixes: standchen, star
@@ -1459,7 +1491,7 @@ pl 17.jcn3
        - tex output support
        - all output through scheme
        - option: f, output-format=X
-       - geile placebox 
+o      - geile placebox 
        - mf/mfplain.ini
 
 pl 17.jcn2
diff --git a/TODO b/TODO
index 8b98d55d5c272e9cb244e1f7bb4a3409c7c01f0d..9ed49271f00ab66f414c8eecb2579fe77eb40efe 100644 (file)
--- a/TODO
+++ b/TODO
@@ -10,6 +10,7 @@ Grep for TODO and ugh/ugr/urg.
 
 .* BUGS
 . * indent = 0.0 with linewidth=-1.0
+. * music ending in grace notes.
 . * PostScript
 .  * header for PS enteredby = "bla <bla@bar.com>"
 .  * ps/lily.ps see comments.
@@ -17,8 +18,24 @@ Grep for TODO and ugh/ugr/urg.
 . * midi key.
 . * fix singleStaffBracket
 . * declare performers in \midi
+. * check EGCS version
 . * input/test/stem-spacing.ly: 12/4 touches first note
 . * timesig: sometimes bottom digit  too high
+. * [<c8. d> <c16 d> <c8. d> <c16 d> <c8. d> <c16 d>] 
+. * I'm using lilypond version 1.1.50 and have a problem with repeat/alternative.
+I tried this code
+
+ \time 4/4;
+ \repeat semi 2
+ {
+  \partial 4; f'8 g' | a'4 a'8 a'4 g'8 f'4 | f' d'8 c'( )c'2 |
+  f'4 f' 
+ }
+ \alternative
+ {
+  { [g'8 f'] g' a'( | )a'2 r4 }
+  { \partial 2; [g'8 f'] e' f'( | )f'2 r2 }
+ }
 . * fix MIDI
 . * \shape 1st dim skipped? 
 . * turn slope-damping on/off
@@ -54,6 +71,8 @@ preMudelaExample[eps]{}, and change it in document body sometimes.
 
 .* Cleanups needed
 . * \$ and $ identifier syntax in examples.
+. * Key_engraver, Local_key_item
+. * Think of comprehensive solution for "if (grace_b == self_grace_b_)"
 . * Y dimension units: staffspace vs. Point
 . * Beam
 . * Stem
@@ -65,6 +84,7 @@ preMudelaExample[eps]{}, and change it in document body sometimes.
 . * parser
 
 .* TODO before 1.2
+. * Grace_slur_engraver.
 . * Morally pure LilyPond.
 .  * Remove non-free software links.
 .  * Remove meta article LilyPond.
diff --git a/VERSION b/VERSION
index c6ae35befa34bb7187c38b739275e2b8ddbe4616..2284fb9a188b02059e91ccfa67f8177d5b0ba574 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=51
+PATCH_LEVEL=52
 MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
index 996752cfce34d48e6f8d6d22f8a1e7a7aab2d291..4852e8588e80b21322817232266eeb19ad3f05ee 100644 (file)
@@ -63,9 +63,6 @@ Data_file::get_word()
   return s;
 }
 
-/**  get a char
-   Only class member who uses text_file::get
-   */
 char
 Data_file::data_get()
 {
@@ -80,7 +77,6 @@ Data_file::data_get()
   return c;
 }
 
-/// read line, gobble '\n'
 String
 Data_file::get_line()
 {
@@ -92,7 +88,6 @@ Data_file::get_line()
   return s;
 }
 
-/// gobble stuff before first entry on a line.
 void
 Data_file::gobble_leading_white()
 {
index 1eb6d8b4499c4c6314a184e416c8becc9d5cffd0..0c9a7cc085441729f8dfeeeec904a716b18f9b96 100644 (file)
@@ -27,7 +27,7 @@ Directed_graph_node::get_out_edge_arr() const
   return edge_out_l_arr_;
 }
 
-/**
+/*
   Should not copy deps automatically
  */
 Directed_graph_node::Directed_graph_node (Directed_graph_node const&)
index 3da8dfeb4525962d24965925027ed17ca8b67594..0b7be148c803acfda01d170a86fecca18006b9ac 100644 (file)
@@ -14,7 +14,7 @@
 #include "string-convert.hh"
 #include "rational.hh"
 
-/// indent of each level
+/// amount of indentation for each level.
 const int INDTAB = 2;
 
 /*
index 807382880e61624d90875ff9f325dec28de9c5d6..be8e95d680b0bb141abf754f16a4866b28c88545 100644 (file)
@@ -22,7 +22,18 @@ template<class T> INLINE void
 arrcpy (T*dest, T*src, int count)
 {
   for (int i_shadows_local=0; i_shadows_local < count ; i_shadows_local++)
+#ifdef __powerpc__
+    {
+      /*
+       urg: wierd egcs-1.1.2 bug on ppc
+       bug report filed
+      */
+      *dest = *src;
+      dest++, src++;
+    }
+#else
     *dest++ = *src++;
+#endif
 }
 
 template<class T> INLINE void
index 5440064923d2ce59927105528bd3ab92700929c8..9fde76b30522d33a824d2a0603ad854f47e4815d 100644 (file)
@@ -23,6 +23,10 @@ public:
   Text_stream::eof_b;
   Text_stream::get_name;    
 
+  /**
+   Get a char.
+   Only class member who uses text_file::get
+   */
   char data_get();    
   void data_unget (char c) {
     unget (c);
index 02ecb1a88429fbd22fd3aa71e41defed10ba337b..bdfa5e3870dc6984c04d608add6de84e0c909037 100644 (file)
 class File_path : private Array<String>
 {
 public:
-  /// locate a file in the search path
   String find (String nm) const;
 
-  /// add to end of path.
   Array<String>::push;
   String str ()const;
   void add (String str);
index e9d7cd10e7be24d251542f94d220ec7a3446ad0c..24b975949a48e54b950f55cd485238807608a7db 100644 (file)
@@ -139,7 +139,6 @@ public:
   /// index of rightmost element of string  (???)
   int index_last_i (char const* string) const;
 
-  /// index of leftmost #c#
   int index_i (char c) const;
 
   /// index of leftmost occurance of STRING
index 86d44c88c4aa674a0198edf3e7c2f03d492006c8..3959dbbc946366391f69499d31f519dd8fd9039f 100644 (file)
@@ -24,8 +24,6 @@
    @see
    man 3 snprintf
    */
-
-// hmm, this is shorter even than PATH_MAX
 static const int STRING_BUFFER_LEN=1024;
 
 String
index fdf15b17fcd6d27aca3cd85d52c11081af384ee4..5c158b32e7261da245a6172fea50800737a6f477 100644 (file)
@@ -3,7 +3,7 @@
        c2.
        c1
        \grace { [c32 d] }
-
+       c4
        
 
 }}
diff --git a/input/bugs/grace-accident.ly b/input/bugs/grace-accident.ly
new file mode 100644 (file)
index 0000000..5d2cd4c
--- /dev/null
@@ -0,0 +1,7 @@
+%grace-accident.ly
+\score{
+       \context Staff=foo \notes\relative c''{
+%              c8 % remove line to dump core
+               \grace { cis8 dis } e,4
+       }
+}
diff --git a/input/bugs/grace-grace.fly b/input/bugs/grace-grace.fly
new file mode 100644 (file)
index 0000000..8b43d9d
--- /dev/null
@@ -0,0 +1,2 @@
+% core
+\grace a8 \grace b8 c4
diff --git a/input/bugs/hairy-grace.ly b/input/bugs/hairy-grace.ly
new file mode 100644 (file)
index 0000000..e7a3af1
--- /dev/null
@@ -0,0 +1,14 @@
+%hairy grace stuff:
+
+\score{
+       \context Staff=foo \notes\relative c''{
+               % two auto beams 
+               d4 \grace c8 d8 \grace { d16 c16 } d8 c2
+               \property Voice.verticalDirection = 1
+               % colliding beams
+               d4 \grace c8 d8 \grace { d16 c16 } d8 c2
+               \property Voice.verticalDirection = 0
+               % leger lines
+               d,,4 \grace c8 d8 \grace { d16 c16 } d8 c2
+       }
+}
index 21cb6c592241fd3633dc8a6a9feab9d1a4601439..627447148ddf1d2cd852b94a8c81bb7377d4d83c 100644 (file)
@@ -2,7 +2,7 @@
 \score  {
 \notes {
        \context AutoSwitchGrandStaff \relative c' {
-       c8^8 d^8 b^8 a^8 [a,^8 f'^8 g,^8 ~ g]
+       c8 d b a' a, f' g,4 ~ g
 
        }
 }
 \accepts AutoSwitchGrandStaff;
 }
 \translator{
-       \context "Line_group_engraver_group";
+       \type "Engraver_group_engraver";
        \name AutoSwitchGrandStaff;
        \consists "Span_bar_engraver";
        \consists "Vertical_align_engraver";
        \consists "Piano_bar_engraver";
+       \consistsend "Axis_group_engraver";
        minVerticalAlign = 2.*\staffheight;
        maxVerticalAlign = 2.*\staffheight;     
+       switcherName = "Voice";
+       acceptorName = "Thread";
+       staffContextName = "Staff";
 
        \accepts "AutoSwitchContext";
        \accepts "Staff";
 }
 \translator {
-       \context "Engraver_group_engraver";
+       \type "Engraver_group_engraver";
        \name "AutoSwitchContext";
        \consists "Staff_switching_translator";
 }
index fecf639c71e1c6ed0650b32415ad4248e96ea19b..47e235cb33538a6404fef18ac8ca9937d20d8114 100644 (file)
@@ -3,6 +3,6 @@
        \grace c8 c4
        \grace { [c32 c32] } c4
         \grace { [b32 ( c32] } c4
-       \grace c16 [c8 c8]
+       \grace c8 [c8 c8]
 }
 }
index 07cd63aa6ca845a1d8107be5c5c3ae2d879f1766..20cb6b70c884a9cf42a21b88ac9baba5788010b0 100644 (file)
@@ -230,87 +230,102 @@ Auto_beam_engraver::do_pre_move_processing ()
 void
 Auto_beam_engraver::do_removal_processing ()
 {
+  if (stem_l_arr_p_)
+    end_beam ();
   typeset_beam ();
-  if (stem_l_arr_p_ && stem_l_arr_p_->size ())
-    {
-      junk_beam ();
-    }
+}
+
+bool
+Auto_beam_engraver::same_grace_state_b (Score_element* e)
+{
+  bool gr = (e->get_elt_property (grace_scm_sym) != SCM_BOOL_F) ;
+
+  return gr == get_property ("weAreGraceContext",0).to_bool ();
 }
 
 void
 Auto_beam_engraver::acknowledge_element (Score_element_info info)
 {
-  if (Beam *b = dynamic_cast<Beam *> (info.elem_l_))
-    {
-      if (stem_l_arr_p_)
-       {
-         junk_beam ();
-       }
-    }
-  if (Bar *b = dynamic_cast<Bar *> (info.elem_l_))
-    {
-      if (stem_l_arr_p_)
-       {
-         junk_beam ();
-       }
-    }
-
   if (stem_l_arr_p_)
     {
-      Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
-      if (!rhythmic_req)
-       return;
-
-      if (dynamic_cast<Rest *> (info.elem_l_))
-       {
-         end_beam ();
-         return;
-       }
-
-      Stem* stem_l = dynamic_cast<Stem *> (info.elem_l_);
-      if (!stem_l)
-       return;
-
-      if (stem_l->beam_l_)
-       {
-         junk_beam ();
-         return;
-       }
-       
-
-      /*
-       now that we have last_add_mom_, perhaps we can (should) do away
-       with these individual junk_beams
-       */
-      if (rhythmic_req->duration_.durlog_i_ <= 2)
+      if (Beam *b = dynamic_cast<Beam *> (info.elem_l_))
        {
-         end_beam ();
-         return;
+         if (same_grace_state_b (b))
+           junk_beam ();
        }
-
-      Moment start = get_staff_info().time_C_->whole_in_measure_;
-      if (!grouping_p_->child_fit_b (start))
+      else if (Bar *b = dynamic_cast<Bar *> (info.elem_l_))
        {
-         end_beam ();
+         if (same_grace_state_b (b))
+           junk_beam ();
        }
-      else
+      else if (Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_))
        {
-         /*
-           if shortest duration would change
-           reconsider ending/starting beam first.
-          */
-         Moment mom = rhythmic_req->duration_.length_mom ();
-         if (mom < shortest_mom_)
+         if (Rest* rest_l = dynamic_cast<Rest *> (info.elem_l_))
            {
-             shortest_mom_ = mom;
-             consider_end_and_begin ();
+             if (same_grace_state_b (rest_l))
+               end_beam ();
+           }
+         else if (Stem* stem_l = dynamic_cast<Stem *> (info.elem_l_))
+           {
+             /*
+               if we're a nice grace beam, but the new note is regular,
+               gracefully end beam, and consider starting a regular one.
+              */
+             /*
+               When does that happen !? --hwn
+              */
+#if 0
+             if (stem_l_arr_p_ && stem_l_arr_p_->size ()
+                 && grace_b (stem_l_arr_p_->top ())
+                 && !grace_b (stem_l))
+               {
+                   end_beam ();
+                   consider_end_and_begin ();
+                   if (!stem_l_arr_p_)
+                     return;
+               }
+#endif
+             if (same_grace_state_b (stem_l))
+               {
+                 if (stem_l->beam_l_)
+                   junk_beam ();
+                 /*
+                   now that we have last_add_mom_, perhaps we can (should) do away
+                   with these individual junk_beams
+                 */
+                 else if (rhythmic_req->duration_.durlog_i_ <= 2)
+                   end_beam ();
+                 else 
+                   {
+                     Moment start = get_staff_info().time_C_->whole_in_measure_;
+                     if (!grouping_p_->child_fit_b (start))
+                       end_beam ();
+                     else
+                       {
+                         /*
+                           if shortest duration would change
+                           reconsider ending/starting beam first.
+                         */
+                         Moment mom = rhythmic_req->duration_.length_mom ();
+                         if (mom < shortest_mom_)
+                           {
+                             if (stem_l_arr_p_->size ())
+                               {
+                                 shortest_mom_ = mom;
+                                 consider_end_and_begin ();
+                               }
+                             shortest_mom_ = mom;
+                           }
+                         grouping_p_->add_child (start, rhythmic_req->length_mom ());
+                         
+                         stem_l_arr_p_->push (stem_l);
+                         Moment now = now_mom ();
+                         last_add_mom_ = now;
+                         extend_mom_ = extend_mom_ >? now + rhythmic_req->length_mom ();
+                       }
+                   }
+               }
            }
-         grouping_p_->add_child (start, rhythmic_req->length_mom ());
-
-         stem_l_arr_p_->push (stem_l);
-         Moment now = now_mom ();
-         last_add_mom_ = now;
-         extend_mom_ = extend_mom_ >? now + rhythmic_req->length_mom ();
        }
     }
 }
@@ -319,8 +334,6 @@ void
 Auto_beam_engraver::junk_beam () 
 {
   assert (stem_l_arr_p_);
-  /*  for (int i = 0; i < stem_l_arr_p_->size (); i++)
-      (*stem_l_arr_p_)[i]->flag_i_ = 0;*/
   
   delete stem_l_arr_p_;
   stem_l_arr_p_ = 0;
index dd4e90efb81164966c4406a0ba3d8e9460e672a0..31ff0b9c2583125e6ce9542aaf5a53facbbb39d5 100644 (file)
@@ -25,10 +25,6 @@ Bar::do_print () const
 {
 #ifndef NPRINT
   String s = type_str_;
-  if (s  == "{")
-    s = "brace";
-  if (s == "[")
-    s = "bracket";
   DOUT << "type = " << s;
 #endif
 }
@@ -62,8 +58,8 @@ static char const *bar_breaks[][3] ={
   {"||", "||", ""},
   {".|.", ".|.", ""},
   {"", "scorebar", "scorepostbreak"},
-  {"", "{", "{"},
-  {"", "[", "["},  
+  {"", "brace", "brace"},
+  {"", "bracket", "bracket"},  
   {0,0,0}
 };
 
index cb6ec3ef3c413dc991cc802ea6bc0db3490166a1..4e860dcd219ae6b36c3e22bb714a85a1838f7a78 100644 (file)
@@ -138,11 +138,11 @@ Beam_engraver::acknowledge_element (Score_element_info info)
       if (!stem_l || stem_l->beam_l_)
        return;
 
-      bool self_grace = beam_p_->get_elt_property (grace_scm_sym) != SCM_BOOL_F;
+
       bool stem_grace = stem_l->get_elt_property (grace_scm_sym) != SCM_BOOL_F;
 
-      if (!self_grace && stem_grace)
-       return;
+      if (get_property ("weAreGraceContext",0).to_bool () != stem_grace)
+       return;
 
       Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.req_l_);
       if (!rhythmic_req)
index 264cdf5b107ebb9a0d0f090f0a0e858313ff5822..c6ae9c7f896ec8964d66385df1b065e17f0a12b2 100644 (file)
@@ -320,9 +320,11 @@ Beam::set_steminfo ()
       total_count_i++;
     }
 
+  bool grace_b = get_elt_property (grace_scm_sym) != SCM_BOOL_F;
+  String type_str = grace_b ? "grace_" : "";
   int stem_max = (int)rint(paper_l ()->get_var ("stem_max"));
-  Real shorten_f = paper_l ()->get_var (String ("forced_stem_shorten"
-                                             + to_str (multiple_i_ <? stem_max)));
+  Real shorten_f = paper_l ()->get_var (type_str + "forced_stem_shorten"
+                                       + to_str (multiple_i_ <? stem_max));
     
   Real leftx = 0;
   for (int i=0; i < stems_.size (); i++)
@@ -639,8 +641,9 @@ Beam::set_grouping (Rhythmic_grouping def, Rhythmic_grouping cur)
 Molecule
 Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
 {
-  assert (!next || next->hpos_f () > here->hpos_f ());
-  assert (!prev || prev->hpos_f () < here->hpos_f ());
+  if ((next && !(next->hpos_f () > here->hpos_f ())) ||
+      (prev && !(prev->hpos_f () < here->hpos_f ())))
+      programming_error ("Beams are not left-to-right");
 
   Real staffline_f = paper_l ()->rule_thickness ();
   Real interbeam_f = paper_l ()->interbeam_f (multiple_i_);
index afe439cd5d9d2d6a552ebd93daf6cb92dbbb4fea..f362ef5ff1f773df9a4dbd30828431aab8b86824 100644 (file)
@@ -65,7 +65,7 @@ Break_algorithm::find_break_indices () const
   return retval;
 }
 
-///  return all breakable columns
+
 Line_of_cols
 Break_algorithm::find_breaks () const
 {
index 3fdf4303f47b33658e3e9adbcf1f8791c42e7ec3..f93e13e942990681a7a6d6d987de3bfa5654bc43 100644 (file)
@@ -32,12 +32,12 @@ Grace_iterator::do_process_and_next (Moment m)
       delete child_iter_p_;
       child_iter_p_ = 0;
       t->finish ();
-      Music_iterator::do_process_and_next (m);
     }
   else
     {
       warning (_("No Grace context available!")); 
     }
+  Music_iterator::do_process_and_next (m);
 }
 
 Moment
index 05b70e5cf12657a4e7b301030224bf85c19c99c2..484b25368d38973615f3549058e45176689a3246 100644 (file)
@@ -13,8 +13,8 @@
 #include "debug.hh"
 
 /** don't copy anything: an element can only be in one
-  Graphical_axis_group at one time.  */
-Graphical_axis_group::Graphical_axis_group (Graphical_axis_group const&s)
+  Graphical_axis_group at one time. */
+Graphical_axis_group::Graphical_axis_group(Graphical_axis_group const&s)
 {
   axes_ = s.axes_;
   ordered_b_ = s.ordered_b_;
index 6f3eefff8cf12b3caa150daef667866baba4ec1d..18b5ffceb042cb38dbe899319d7a77cd5c236e49 100644 (file)
@@ -32,6 +32,7 @@ private:
   Beam* create_beam_p ();
   void end_beam ();
   void junk_beam ();
+  bool same_grace_state_b (Score_element* e);
   void typeset_beam ();
 
   Moment shortest_mom_;
index c21995c39c1ee509ed6a3332bdc1640469614b46..eacf5ff1adcf16227313a8a780d0715155855472 100644 (file)
@@ -29,7 +29,7 @@ public:
     
   Interval extent (Axis) const;
   virtual void do_print() const;
-  Graphical_axis_group (Graphical_axis_group const&);
+  Graphical_axis_group(Graphical_axis_group const&s);
   Graphical_axis_group ();
   virtual void set_axes (Axis,Axis);
   void remove_all ();
index aef3f27fafed8495335910b6562197b8dacce756..fa5dbc4ff7a5879bd34ee7f46f4d22ccaef7cda2 100644 (file)
@@ -32,6 +32,7 @@ public:
   Array<Musical_pitch> old_accidental_idx_arr_;
 
 
+  bool key_changed_b() const;
     
 protected:
   virtual bool do_try_music (Music *req_l);
index 8109865d24765433c43353e60d9ce94e5badc237..bba7b4cadd8e7a9abd1803c73f1cd5deec565602 100644 (file)
@@ -13,7 +13,7 @@
 #include "parray.hh"
 
 struct Local_key_engraver : Engraver {
-    Local_key_item *key_item_p_;
+  Local_key_item *key_item_p_;
 protected:
   VIRTUAL_COPY_CONS(Translator);
   virtual void do_process_requests();
@@ -21,15 +21,17 @@ protected:
   virtual void do_pre_move_processing();
   virtual void do_creation_processing ();
   virtual void process_acknowledged ();
+  virtual void do_removal_processing ();
 public:
   
   Key local_key_;
-  Key const *key_C_;
+  Key_engraver *key_grav_l_;
   Array<Note_req* > mel_l_arr_;
   Array<Item* > support_l_arr_;
   Link_array<Item  > forced_l_arr_;
   Link_array<Item > tied_l_arr_;
   Local_key_engraver();
+  bool self_grace_b_;
   
 };
 
index e1b827e5237ca2c3c426d0ed5ba27910e0db8ce1..58a7e34ccb98eb13c3ea8e33c8b9ce5827b3f9e0 100644 (file)
@@ -37,7 +37,6 @@ public:
   Molecule ledger_line (Interval) const;
   Molecule fill (Box b) const;
   Molecule filledbox (Box b) const;  
-  Molecule flag (int, Direction) const;
   Molecule hairpin (Real width, Real height, bool decresc, bool continued) const;
   Molecule tuplet_bracket (Real dy, Real dx, Real thick,Real interline, Direction dir) const;
   Molecule rest (int, bool outside, String) const;
index 847ae9ec1220263ad6ef979dfe822a3035774ec2..8eeae2cf307246229d9b8a9200dfaa8f08215a7d 100644 (file)
 #include "string.hh"
 #include "lily-guile.hh"
 
+#ifdef __powerpc__
+#include "protected-scm.hh"
+#endif
+
 /**
   Abstract interface for a Score_element to output itself.
  */
 class Paper_outputter
 {
+#ifdef __powerpc__
+  Protected_scm port_;
+#endif
 public:
   Paper_outputter (Paper_stream *);
   ~Paper_outputter ();
index a909ac952e39062e93f9c5d686652fb8552b45c2..e631280c58b6e35253befbd9620ff311b0dea507 100644 (file)
@@ -23,7 +23,6 @@ struct Stem_info {
   Real interstaff_f_;
   Stem* stem_l_;
 
-
   Stem_info ();
   Stem_info (Stem *, int);
 };
index 04dd3f1ce1ab197c2978cbaa80018da0a4fbfa8f..9f8fb0a7e371979b9d8824bab7aa99f137c448e1 100644 (file)
@@ -100,6 +100,7 @@ public:
   Interval_t<int> head_positions() const;
 
 protected:
+  Molecule flag () const;
   virtual void do_substitute_element_pointer (Score_element*,Score_element*);
   virtual void do_pre_processing();
   virtual Interval do_width() const;
index 519d8f9500060b609f547cc2aaadd726152a54f5..0fc8ad89463021261a922b9d08ba6d3b50869168 100644 (file)
@@ -21,6 +21,12 @@ Key_engraver::Key_engraver ()
   do_post_move_processing ();
 }
 
+bool
+Key_engraver::key_changed_b () const
+{
+  return keyreq_l_ ;
+}
+
 void
 Key_engraver::create_key ()
 {
index 0f1568f29f82f44f2ac714b2e1d064666a685dbd..a9bb8df655cf1121f3f9e94a59f0e95e1510b5ab 100644 (file)
@@ -1,4 +1,5 @@
 #include "leastsquares.hh"
+#include "warn.hh"
 
 void
 Least_squares::OK() const
@@ -6,7 +7,7 @@ Least_squares::OK() const
   assert (input.size() > 1);
   Real dx = 0.0;
   for (int i=1; i < input.size(); i++)
-       dx += abs (input[i-1].x() - input[i].x ());
+    dx += abs (input[i-1].x() - input[i].x ());
 
   assert (dx);
 }
@@ -14,7 +15,6 @@ Least_squares::OK() const
 void
 Least_squares::minimise (Real &coef, Real &offset)
 {
-  OK();
   Real sx = 0.0;
   Real sy = 0.0;
   Real sqx =0.0;
@@ -30,9 +30,13 @@ Least_squares::minimise (Real &coef, Real &offset)
        sxy += x*y;
     }
   int N = input.size();
-  
 
-  coef = (N * sxy - sx*sy)/(N*sqx - sqr (sx));
+  coef =0.0;
+  offset =0.;
+  
+  Real den = (N*sqx - sqr (sx));
+  if (!N || !den)
+    programming_error ("Least_squares::minimise():  Nothing to minimise");
+  coef = (N * sxy - sx*sy)/den;
   offset = (sy - coef * sx)/N;
-       
 }
index c5230c09057a9ed9e5db383c471e9e0227dcab29..1307cba00021bf586da820c024783c911270fb68 100644 (file)
 
 Local_key_engraver::Local_key_engraver()
 {
-  key_C_ = 0;
+  key_grav_l_ = 0;
   key_item_p_ =0;
+  self_grace_b_ = false;
 }
 
 void
 Local_key_engraver::do_creation_processing ()
 {
-/*
+  /*
     UGHGUHGUH.
 
     Breaks if Key_engraver is removed from under us.
@@ -34,15 +35,23 @@ Local_key_engraver::do_creation_processing ()
   Translator * result =
     daddy_grav_l()->get_simple_translator ("Key_engraver");
 
-  if (!result)
+  key_grav_l_ = dynamic_cast<Key_engraver *> (result);
+
+  if (!key_grav_l_)
     {
       warning (_ ("out of tune") + "! " + _ ("can't find") + " Key_engraver");
     }
   else
     {
-      key_C_ = &(dynamic_cast<Key_engraver *> (result))->key_;
-      local_key_ = *key_C_;
+      local_key_ = key_grav_l_->key_;
     }
+
+  self_grace_b_ = get_property ("weAreGraceContext",0 ).to_bool ();
+
+  /*
+    TODO
+    (if we are grace) get key info from parent Local_key_engraver
+  */
 }
 
 void
@@ -84,6 +93,12 @@ Local_key_engraver::process_acknowledged ()
     }
 }
 
+void
+Local_key_engraver::do_removal_processing ()
+{
+  // TODO: signal accidentals to Local_key_engraver the 
+}
+
 void
 Local_key_engraver::do_pre_move_processing()
 {
@@ -107,17 +122,17 @@ Local_key_engraver::acknowledge_element (Score_element_info info)
 {    
   Note_req * note_l =  dynamic_cast <Note_req *> (info.req_l_);
   Note_head * note_head = dynamic_cast<Note_head *> (info.elem_l_);
+
+  bool gr = (info.elem_l_->get_elt_property (grace_scm_sym)!=SCM_BOOL_F);
+  if (gr != self_grace_b_)
+    return;
   
   if (note_l && note_head)
     {
       mel_l_arr_.push (note_l);
       support_l_arr_.push (note_head);
     }
-  else if (dynamic_cast <Key_change_req*> (info.req_l_))
-    {
-      local_key_ = *key_C_;
-    }
-  else if (Tie * tie_l = dynamic_cast<Tie *> (info.elem_l_))
+ else if (Tie * tie_l = dynamic_cast<Tie *> (info.elem_l_))
     {
       tied_l_arr_.push (tie_l-> head_l_drul_[RIGHT]);
     }
@@ -130,8 +145,12 @@ Local_key_engraver::do_process_requests()
   if (time_C_ && !time_C_->whole_in_measure_)
     {
       bool no_res = get_property ("noResetKey",0).to_bool ();
-      if (!no_res && key_C_)
-       local_key_= *key_C_;
+      if (!no_res && key_grav_l_)
+       local_key_= key_grav_l_->key_;
+    }
+  else if (key_grav_l_ && key_grav_l_->key_changed_b ())
+    {
+      local_key_ = key_grav_l_->key_;
     }
 }
 
index b28cc21c592d154fae7f6ac0d277f6c8d1aa427c..0aedf8c2190e593e77b0c0b87d126d13254310cd 100644 (file)
@@ -156,9 +156,9 @@ Lookup::simple_bar (String type, Real h, Paper_def* paper_l) const
 Molecule
 Lookup::bar (String str, Real h, Paper_def *paper_l) const
 {
-  if (str == "[")
+  if (str == "bracket")
     return staff_bracket (h);
-  else if (str == "{")
+  else if (str == "brace")
     return staff_brace (h);
   
   Real kern = paper_l->get_var ("bar_kern");
@@ -309,13 +309,6 @@ Lookup::fill (Box b) const
   return m;
 }
 
-Molecule
-Lookup::flag (int j, Direction d) const
-{
-  char c = (d == UP) ? 'u' : 'd';
-  return  afm_find (String ("flags-") + to_str (c) + to_str (j));
-}
-
 Molecule
 Lookup::rest (int j, bool o, String style) const
 {
index 282ab3cdd13b009f36f4d8669bb10202cef701f0..c5c8dfca3394cd8bb3c936a6ed88182d44c7f5e8 100644 (file)
@@ -65,7 +65,7 @@ Note_column::dir () const
   else if (head_l_arr_.size ())
     return sign (head_positions_interval().center ());
 
-  assert (false);
+  programming_error ("Note column without heads and  stem!");
   return CENTER;
 }
 
index 1df5d85a38a85637893ab26dd1dc40063e5fe05a..bc926f42d31954f608c7f179e9646de44a9c17db 100644 (file)
@@ -30,6 +30,26 @@ Paper_outputter::Paper_outputter (Paper_stream *s)
 {
   outstream_l_ = s;
   output_header ();
+
+#ifdef __powerpc__
+  if (output_global_ch == String ("scm"))
+    {
+      int fd = 1;
+      ofstream * of = dynamic_cast<ofstream*> (outstream_l_->os);
+      if (of)
+       fd = of->rdbuf()->fd();
+      FILE *file = fdopen (fd, "a");
+      port_ = scm_standard_stream_to_port (file, "a", "");
+      scm_display (gh_str02scm (
+       "(primitive-load-path 'lily.scm)\n"
+       "(eval (tex-scm 'all-definitions))\n"
+       ";(eval (ps-scm 'all-definitions))\n"
+       "(display (map (lambda (x) (string-append (eval x) \"%\\n\")) '(\n"
+       ), port_);
+
+      scm_fflush (port_);
+    }
+#else
   if (output_global_ch == String ("scm"))
     *outstream_l_->os << ""
       "(primitive-load-path 'lily.scm)\n"
@@ -37,6 +57,7 @@ Paper_outputter::Paper_outputter (Paper_stream *s)
       ";(eval (ps-scm 'all-definitions))\n"
       "(display (map (lambda (x) (string-append (eval x) \"\\n\")) '(\n"
     ;
+#endif
 }
 
 Paper_outputter::~Paper_outputter ()
@@ -44,10 +65,18 @@ Paper_outputter::~Paper_outputter ()
   SCM scm = gh_list (ly_symbol ("end-output"), SCM_UNDEFINED);
   output_scheme (scm);
 
+#ifdef __powerpc__
   if (String (output_global_ch) == "scm")
     {
-      *outstream_l_->os << ")";
+      scm_display (gh_str02scm (")))\n"), port_);
+      scm_fflush (port_);
     }
+#else
+  if (String (output_global_ch) == "scm")
+    {
+      *outstream_l_->os << ")))";
+    }
+#endif
 }
 
 void
@@ -115,6 +144,9 @@ Paper_outputter::output_molecule (Molecule const*m, Offset o, char const *nm)
     {
       Atom * i = ptr->car_;
 #endif
+#if 0
+    }
+#endif      
       Offset a_off = i->off_;
       a_off += o;
 
@@ -168,11 +200,20 @@ Paper_outputter::output_comment (String str)
 void
 Paper_outputter::output_scheme (SCM scm)
 {
+#ifdef __powerpc__
+  if (String (output_global_ch) == "scm")
+    {
+      scm_write (scm, port_);
+      scm_display (gh_str02scm ("\n"), port_);
+      scm_fflush (port_);
+    }
+#else
   if (String (output_global_ch) == "scm")
     {
       SCM result =  scm_eval (scm_listify (ly_symbol ("scm->string"), ly_quote_scm (scm), SCM_UNDEFINED));
     *outstream_l_->os << ly_scm2string (result)        << endl;
     }
+#endif
   else
     {
       SCM result = scm_eval (scm);
index 8aab13a276565490afec28a4261d0bd0d7ab188b..d1d322af164c393165b26b3418c30ea5f3256fe5 100644 (file)
@@ -71,6 +71,10 @@ Rhythmic_column_engraver::process_acknowledged ()
 void
 Rhythmic_column_engraver::acknowledge_element (Score_element_info i)
 {
+  if (get_property ("weAreGraceContext",0).to_bool () !=
+      (i.elem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F))
+    return ;
+  
   Item * item =  dynamic_cast <Item *> (i.elem_l_);
   if (Stem*s=dynamic_cast<Stem *> (item))
     {
index 9c77ccea57ae7905b9486842676974d9e5233064..fad2d6903aa2993d8dcc6e085093eb6a2cb30897 100644 (file)
@@ -145,9 +145,9 @@ Spacing_spanner::default_bar_spacing (Score_column *lc, Score_column *rc, Moment
   Real durational_distance = 0;
   Moment delta_t =  rc->when_mom () - lc->when_mom () ;
 
-             /*
+  /*
                ugh should use shortest_playing distance
-             */
+  */
   if (delta_t)
     {
       Real k=  paper_l()->arithmetic_constant (shortest);
index d494cdd204afd772f9db2e93599072fdb970b442..048e752936b9176ea2e52daa25da5561790f42bb 100644 (file)
@@ -34,7 +34,7 @@ Piano_bar_engraver::get_span_bar_p () const
 {
   Span_bar *s= new Span_bar;
   s->dim_cache_[X_AXIS]->set_empty (true);
-  s->type_str_ = "{";
+  s->type_str_ = "brace";
   return s;
 }
 
@@ -43,7 +43,7 @@ Staff_group_bar_engraver::get_span_bar_p () const
 {
   Span_bar *s= new Span_bar;
   s->dim_cache_[X_AXIS]->set_empty (true);
-  s->type_str_ = "[";
+  s->type_str_ = "bracket";
   return s;
 }
 
@@ -53,7 +53,7 @@ Staff_group_bar_engraver::acknowledge_element (Score_element_info i)
   Base_span_bar_engraver::acknowledge_element (i);
   if (Span_bar * b = dynamic_cast<Span_bar *> (i.elem_l_))
     {
-      if (b->type_str_ == "{")
+      if (b->type_str_ == "brace")
        b->translate_axis ( -paper_l ()->get_realvar (interline_scm_sym),
                            X_AXIS); // ugh
     }
index 570631c3a7c5603075441f6d5b74790f09e105ec..ae56d110d336be9c994ded5c197ccfd7c4fbfef0 100644 (file)
@@ -19,6 +19,8 @@ class Staff_switching_translator : public Engraver
 protected:
   virtual bool do_try_music (Music* m);
   virtual void do_creation_processing ();
+
+  void default_voice (Direction);
 public:
   Staff_switching_translator ();
   VIRTUAL_COPY_CONS(Translator);
@@ -33,13 +35,22 @@ Staff_switching_translator::do_creation_processing ()
 {
   Translator_group * daddy =daddy_grav_l (); // staff switching context
 
-  staff_handle_drul_[UP].set_translator (daddy->daddy_trans_l_ -> find_create_translator_l ("Staff", "upper"));
-  staff_handle_drul_[DOWN].set_translator (daddy->daddy_trans_l_-> find_create_translator_l ("Staff", "lower"));  
+  Scalar s = get_property("staffContextName", 0);
+  staff_handle_drul_[UP].set_translator (daddy->daddy_trans_l_ -> find_create_translator_l (s, "upper"));
+  staff_handle_drul_[DOWN].set_translator (daddy->daddy_trans_l_-> find_create_translator_l (s, "lower"));  
 
 
   staff_handle_drul_[DOWN].report_to_l ()->set_property ("defaultClef", "bass");
+
+  default_voice (UP);
+}
   
-  my_voice_.set_translator (staff_handle_drul_[UP].report_to_l ()->find_create_translator_l ("Voice", daddy->id_str_));
+
+void
+Staff_switching_translator::default_voice (Direction d)
+{
+  Scalar s = get_property ("acceptorName",0);
+  my_voice_.set_translator (staff_handle_drul_[d].report_to_l ()->find_create_translator_l ("Thread", daddy_trans_l_->id_str_));
 }
 
 bool
@@ -54,6 +65,16 @@ Staff_switching_translator::do_try_music (Music*m)
 
       Translator_group * mv = my_voice_.report_to_l ();
       Translator_group *dest_staff =staff_handle_drul_[staff].report_to_l ();
+      Scalar s = get_property ("switcherName", 0);
+      
+      while (mv && mv->type_str_ != s)
+       {
+         mv = mv -> daddy_trans_l_;
+       }
+
+      if (!mv)
+       default_voice (staff);
+
       if (mv->daddy_trans_l_  != dest_staff)
        {
          mv->daddy_trans_l_->remove_translator_p (mv);
index a78be1a19972565372ddded63e5d9c5f3ae9c7f6..296422cfea1d11d03fb87c75c8bfa80e3c078510 100644 (file)
@@ -124,6 +124,12 @@ Stem_engraver::do_pre_move_processing()
          stem_p_->set_elt_property (length_scm_sym, gh_double2scm (prop.to_f ()));
        }
 
+      prop = get_property ("stemStyle", 0);
+      if (prop.to_bool ())
+       {
+         stem_p_->set_elt_property (style_scm_sym, gh_str02scm (prop.ch_C()));
+       }
+      
       typeset_element(stem_p_);
       stem_p_ = 0;
     }
index 0cbab88f4d23091c72de4f685c1d8054b39452b3..2993559a848849a5a8a812b0facca82022936a55 100644 (file)
@@ -57,12 +57,15 @@ Stem_info::Stem_info (Stem*s, int mult)
 
   // for simplicity, we calculate as if dir == UP
   idealy_f_ *= beam_dir_;
-  
+
+  bool grace_b = stem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F;
+
   int stem_max = (int)rint(paper_l->get_var ("stem_max"));
-  Real min_stem_f = paper_l->get_var (String ("minimum_stem_length")
-                                    + to_str (mult_i_ <? stem_max));
-  Real stem_f = paper_l->get_var (String ("stem_length")
-                                + to_str (mult_i_ <? stem_max))* internote_f;
+  String type_str = grace_b ? "grace_" : "";
+  Real min_stem_f = paper_l->get_var (type_str + "minimum_stem_length"
+                                     + to_str (mult_i_ <? stem_max));
+  Real stem_f = paper_l->get_var (type_str + "stem_length"
+                                 + to_str (mult_i_ <? stem_max))* internote_f;
 
   if (!beam_dir_ || (beam_dir_ == dir_))
     /* normal beamed stem */
@@ -78,9 +81,24 @@ Stem_info::Stem_info (Stem*s, int mult)
       idealy_f_ += stem_f;
       miny_f_ += min_stem_f;
 
-      // lowest beam of (UP) beam must never be lower than second staffline
-      miny_f_ = miny_f_ >? (- 2 * internote_f - beam_f
-       + (mult_i_ > 0) * beam_f + interbeam_f * (mult_i_ - 1));
+      /*
+       lowest beam of (UP) beam must never be lower than second staffline
+
+       Hmm, reference (Wanske?)
+
+       Although this (additional) rule is probably correct,
+       I expect that highest beam (UP) should also never be lower
+       than middle staffline, just as normal stems.
+       
+      */
+      if (!grace_b)
+       {
+         //highest beam of (UP) beam must never be lower than middle staffline
+         miny_f_ = miny_f_ >? 0;
+         //lowest beam of (UP) beam must never be lower than second staffline
+         miny_f_ = miny_f_ >? (- 2 * internote_f - beam_f
+                               + (mult_i_ > 0) * beam_f + interbeam_f * (mult_i_ - 1));
+       }
     }
   else
     /* knee */
index 1adaafbfb1b2c1dec77ee0c5cc41d14f00c803de..7f5129763f78f6cd537736444c1aaec9977894cd 100644 (file)
@@ -173,8 +173,11 @@ Stem::set_default_stemlen ()
     }
   else
     length_f = paper_l ()->get_var ("stem_length0");
-  
-  Real shorten_f = paper_l ()->get_var ("forced_stem_shorten0");
+
+  bool grace_b = get_elt_property (grace_scm_sym) != SCM_BOOL_F;
+  String type_str = grace_b ? "grace_" : "";
+
+  Real shorten_f = paper_l ()->get_var (type_str + "forced_stem_shorten0");
 
   if (!dir_)
     dir_ = get_default_dir ();
@@ -195,7 +198,7 @@ Stem::set_default_stemlen ()
   set_stemend ((dir_ > 0) ? head_positions()[BIGGER] + length_f:
               head_positions()[SMALLER] - length_f);
 
-  if (dir_ * stem_end_f () < 0)
+  if (!grace_b && (dir_ * stem_end_f () < 0))
     set_stemend (0);
 }
 
@@ -284,6 +287,20 @@ Stem::set_spacing_hints ()
     }
 }
 
+Molecule
+Stem::flag () const
+{
+  String style;
+  SCM st = get_elt_property (style_scm_sym);
+  if ( st != SCM_BOOL_F)
+    {
+      st = SCM_CDR(st);
+      style = ly_scm2string (st);
+    }
+
+  char c = (dir_ == UP) ? 'u' : 'd';
+  return lookup_l ()->afm_find (String ("flags-") + to_str (c) + to_str (flag_i_) + style);
+}
 
 Interval
 Stem::do_width () const
@@ -293,7 +310,7 @@ Stem::do_width () const
     ;  // TODO!
   else
     {
-      r = lookup_l ()->flag (flag_i_, dir_).dim_.x ();
+      r = flag ().dim_.x ();
       r += note_delta_f ();
     }
   return r;
@@ -326,7 +343,7 @@ Stem::do_brew_molecule_p () const
 
   if (!beam_l_ && abs (flag_i_) > 2)
     {
-      Molecule fl = lookup_l ()->flag (flag_i_, dir_);
+      Molecule fl = flag ();
       fl.translate_axis(stem_y[dir_]*dy, Y_AXIS);
       mol_p->add_molecule (fl);
     }
index 800fab932bc1fd355a6c22345f9e7b631edf3a7f..10bc8f196b2cced90efdec8ebf77afcda44026dc 100644 (file)
@@ -126,14 +126,19 @@ void
 Timing_translator::do_pre_move_processing()
 {
   timing_req_l_arr_.set_size (0);
-  Global_translator *global_l =
-    dynamic_cast<Global_translator*> (daddy_trans_l_->ancestor_l (100)); // ugh 100.
-
+  Translator *t = this;
+  Global_translator *global_l =0;
+  do
+    {
+      t = t->daddy_trans_l_ ;
+      global_l = dynamic_cast<Global_translator*> (t);
+    }
+  while (!global_l);
 
   /* allbars == ! skipbars */
   bool allbars = ! get_property ("skipBars", 0).to_bool ();
 
-  // urg: multi bar rests: should always must process whole of first bar?
+  // urg: multi bar rests: should always process whole of first bar?
   if (!time_.cadenza_b_ && allbars)
     global_l->add_moment_to_process (time_.next_bar_moment ());
 }
index 4be101d52dd77032e9acad07b56dd87b7e8c4bce..dce0e249ebdeaa732a594507befcfe1cd5d8560e 100644 (file)
@@ -19,21 +19,7 @@ StaffContext=\translator {
        \consists "Rest_collision_engraver";
        \consistsend "Axis_group_engraver";
 
-%{
-       Uncomment to get bar numbers on single staff systems:
-       
-       The Bar_number_engraver puts a number over a staff created
-       at the same level of hierarchy.  This why you have to add it
-       here separately if you want to have numbers on single staff
-       systems: The Bar_number_engraver in Score_engraver will only
-       put numbers on bars that are Score ("system") wide.  Such
-       bars are only created when the toplevel system has multiple
-       children-staffs.
 
-%}
-%{
-       \consists "Bar_number_engraver";
-%}
 
 %{
        The Staff_margin_engraver puts the name of the instrument
@@ -93,7 +79,6 @@ VoiceContext = \translator {
        \type "Engraver_group_engraver";
        \consists "Dynamic_engraver";   % must come before text_engraver.
        \name Voice ;
-       beamAuto = "1";
        \consists "Local_key_engraver";
        
        \consists "Breathing_sign_engraver";
@@ -101,6 +86,7 @@ VoiceContext = \translator {
        \consists "Dot_column_engraver";
        \consists "Stem_engraver";
        \consists "Beam_engraver";
+       beamAuto = "1";
        \consists "Auto_beam_engraver";
        \include "auto-beam-settings.ly";
 %      \consists "Abbreviation_beam_engraver";
@@ -125,18 +111,25 @@ GraceContext=\translator {
        \type "Grace_engraver_group";
        \name "Grace";
        \consists "Note_heads_engraver";
+       \consists "Local_key_engraver";
        \consists "Stem_engraver";
        \consists "Slur_engraver";
        \consists "Timing_engraver";    %UGH.
        \consists "Beam_engraver";
+       beamAuto = "1";
+       \consists "Auto_beam_engraver";
+       \include "auto-beam-settings.ly";
        \consists "Align_note_column_engraver";
        \consists "Font_size_engraver";
        \consists "Rhythmic_column_engraver";
-       
+
+       stemStyle = "grace";
+       weAreGraceContext = "1";
        fontSize = "-1";
        stemLength = "6.0";
        verticalDirection = "1";
 };
+
 \translator{\GraceContext}
 \translator {\VoiceContext}
 
index 8762d5bb878e7e60394f7eaafd75490be499c30f..c3bbd2edadf24eda57558cd79b8403c7e01b0b45 100644 (file)
@@ -12,6 +12,7 @@ interline = \staffheight / 4.0;
 % thickness of stafflines
 staffline = \interline / 10.0;
 
+% urg, need grace_ versions of these too?
 beam_thickness = 0.52 * (\interline - \staffline);
 interbeam = (2.0 * \interline + \staffline - \beam_thickness) / 2.0;
 interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
@@ -27,12 +28,26 @@ stem_length1 = 5.;
 stem_length2 = 4.;
 stem_length3 = 3.;
 
+% urg.
+% if only these ugly arrays were scm,
+% we could override them in the Grace context
+grace_factor = 0.8;
+grace_stem_length0 = \stem_length0 * \grace_factor;
+grace_stem_length1 = \stem_length1 * \grace_factor;
+grace_stem_length2 = \stem_length2 * \grace_factor;
+grace_stem_length3 = \stem_length3 * \grace_factor;
+
 % only used for beams
 minimum_stem_length0 = 0.0 ; % not used
 minimum_stem_length1 = 3. ;
 minimum_stem_length2 = 2.5;
 minimum_stem_length3 = 2.0;
 
+grace_minimum_stem_length0 = 0.0 ; % not used
+grace_minimum_stem_length1 = \minimum_stem_length1 * \grace_factor;
+grace_minimum_stem_length2 = \minimum_stem_length2 * \grace_factor;
+grace_minimum_stem_length3 = \minimum_stem_length3 * \grace_factor;
+
 % stems in unnatural (forced) direction should be shortened,
 % according to [Roush & Gourlay].  Their suggestion to knock off
 % a whole staffspace seems a bit drastical: we'll do half.
@@ -42,6 +57,12 @@ forced_stem_shorten1 = \forced_stem_shorten0;
 forced_stem_shorten2 = \forced_stem_shorten1;
 forced_stem_shorten3 = \forced_stem_shorten2;
 
+% don't shorten grace stems, always up
+grace_forced_stem_shorten0 = 0.;
+grace_forced_stem_shorten1 = \grace_forced_stem_shorten0;
+grace_forced_stem_shorten2 = \grace_forced_stem_shorten1;
+grace_forced_stem_shorten3 = \grace_forced_stem_shorten2;
+
 % there are several ways to calculate the direction of a beam
 % 
 % * MAJORITY : number count of up or down notes
index 7f82930eba2641b4ac4d306e3d72c0a70fc69110..e4ebf1611fc13cebddca3e29e06e7b1ebab116d6 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Titel: LilyPond
-Versie: 1.1.51
-Inschrijf datum: 28JUN99
+Versie: 1.1.52
+Inschrijf datum: 30JUN99
 Beschrijving: @FLAPTEKST@
 Trefwoorden: muziek typezetten midi notatie
 Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       770k lilypond-1.1.51.tar.gz 
+       770k lilypond-1.1.52.tar.gz 
 Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.51.tar.gz 
+       770k lilypond-1.1.52.tar.gz 
 Copi-eer voorwaarden: GPL
 End
index 1a007b35c38db3e83eaac7e68983c5c6d2b8cbd5..b3847761cfb2802fb5fea2adcd55269f911116fa 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 1.1.51
-Entered-date: 28JUN99
+Version: 1.1.52
+Entered-date: 30JUN99
 Description: 
 LilyPond is the GNU Project music typesetter.  This program can print
 beautiful sheet music from a music definition file.  It can also play
@@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       770k lilypond-1.1.51.tar.gz 
+       770k lilypond-1.1.52.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       770k lilypond-1.1.51.tar.gz 
+       770k lilypond-1.1.52.tar.gz 
 Copying-policy: GPL
 End
index 3289839bfcce2552d01b6b5748051251753cf2df..b14254a6327b9cbea4ec9c597aeb13ccf49b8f6e 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.1.51
+Version: 1.1.52
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.51.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.52.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
index 441b1fe1c63e198799c6ce321c231b172130d2ca..a3e1fd036aca4f59df94ea07dfda3a179945c32f 100644 (file)
@@ -14,7 +14,7 @@ SUBDIRS = scripts buildscripts  flower lib lily mf mi2mu po debian \
 #
 
 SCRIPTS = configure aclocal.m4
-README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCEMENT-1.0 \
+README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE-1.0 ANNOUNCE-1.2 \
  COPYING NEWS-0.1 NEWS-1.0 NEWS-0.0 NEWS  TODO AIMS
 README_TXT_FILES = README.txt AUTHORS.txt INSTALL.txt PATCHES.txt
 IN_FILES := $(wildcard *.in)
index 8a3c2823f26decdd5bcc73556d4c64603bb4c68b..91ccd66bf5ee080fb0c023718638866712d00b76 100644 (file)
@@ -142,7 +142,6 @@ fet_beginchar("16th Flag (up)", "u4", "sixteenthflag")
        define_pixels(flare, hip_width, hip_thickness,
                flagspace,
                foot_depth,  foot_thickness);
-
        draw_flag((stemthickness/2,- flagspace), flare, 
                (hip_width, foot_depth), 
                hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
@@ -231,6 +230,34 @@ fet_beginchar("64th Flag (up)", "u6", "sixtyfourthflag")
        draw (0, 0) .. (0,-2 interline);
 fet_endchar;
 
+fet_beginchar("grace 8th Flag (up)", "u3grace", "graceeighthflag")
+       save flare, 
+               hip_depth_ratio, hip_width,
+               foot_depth, foot_width_ratio;
+
+       flare# = 1.0 interline#;
+       hip_depth_ratio = .72; 
+       foot_width_ratio = .8;
+       hip_width# = upflag_width# - hip_thickness#/2;
+
+       foot_depth# =  3 interline#;
+
+       set_char_box(hip_width# * hip_depth_ratio,
+         hip_width# + stemthickness#/2 + right_upflag_space#, 
+         foot_depth# + foot_thickness#/2, stemthickness#/2)
+
+       define_pixels(flare, hip_width, hip_thickness,
+               foot_depth, foot_thickness);
+       draw_flag((stemthickness/2,0), flare, 
+               (hip_width, foot_depth), 
+               hip_depth_ratio, foot_width_ratio, hip_thickness, foot_thickness);
+
+       pickup pencircle scaled stemthickness;
+       draw (0, 0) .. (0,-2 interline);
+       draw (-b ,-foot_depth * hip_depth_ratio) ..
+         (w, -flare);
+fet_endchar;
+
 fet_beginchar("8th (down)", "d3", "deighthflag")
        save flare, 
                hip_depth_ratio, hip_width,
@@ -382,4 +409,41 @@ fet_beginchar("64th (down)", "d6", "dsixtyfourthflag")
        draw (0, 0) .. (0,-2 interline);
        y_mirror_char;
 fet_endchar;
+
+
+fet_beginchar("grace 8th (down)", "d3grace", "dgraceeighthflag")
+       save flare, 
+               hip_depth_ratio, hip_width,
+               foot_depth, foot_width_ratio;
+       save flagspace, total_depth, flag_count;
+       
+       flag_count = 1;
+       flare# = .99 interline#;
+       flagspace# = .9 interline#;     
+       hip_depth_ratio = .72 ;
+       hip_width# = downflag_width# - hip_thickness#/2;
+       total_depth# = 2.85 interline#;
+       (flag_count-1) * flagspace# + foot_depth# = total_depth#;
+
+       foot_width_ratio = .8;
+
+       set_char_box(hip_width# * hip_depth_ratio,
+         hip_width# + stemthickness#/2 + right_downflag_space#,
+         total_depth# + foot_thickness#/2, stemthickness#/2)
+
+       define_pixels(flare, hip_width, hip_thickness,
+               flagspace,
+               foot_depth,  foot_thickness);
+
+       draw_flag((stemthickness/2,- (flag_count-1) *flagspace), flare, 
+               (hip_width, foot_depth), 
+               hip_depth_ratio,foot_width_ratio, hip_thickness, foot_thickness);
+
+
+       pickup pencircle scaled stemthickness;
+       draw (0, 0) .. (0,-2 interline);
+       draw (-b, -foot_depth * hip_depth_ratio) .. (w,-flare);
+       y_mirror_char;
+fet_endchar;
+
 fet_endgroup("flags");
index 9c88e2d9b6b3bb55bdd26aac77e3bcc75b095437..ad64170dff288c119ba782e0ea9b26c9c94c71f9 100644 (file)
@@ -40,7 +40,7 @@ else:
 %      input feta-eindelijk;
 %      input feta-klef;
 %      input feta-toevallig;
-       input feta-schrift;
+%      input feta-schrift;
 %      input feta-haak;
 %      input feta-timesig;
 fi
index e1bd1a22e7c1389dc771cc3ad40fbd74bd386f12..26fbb528fb68c3caea9d39cc8b8179cd90c69dbb 100644 (file)
 global = \notes {
   \key a \minor;
   \time 6/4;
-%  \cadenza 1;
   \skip 1.*34;
   \bar ".|";
 }
   
-x = \context Voice=x \notes {
-  % no beams in grace notes
-  \property Voice.beamAuto = "0"
-}
-
 upper = \context Staff=treble \notes\relative c''{
   \clef violin;
-  \stemup
-  \context Voice=one
+  \property Voice.verticalDirection = 1
   r2 r r 
   r2 r r
-  r4 a'8--(\< a--  a-- a-- c-- \!b--  a--\> gis f \!e 
-  % grace hack
-  < { es8 )c } \context Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
+  r4 a'8--(\< a--  a-- a-- c-- \!b-- a--\> gis f \!e 
+  es8 \grace b({ ))c r4 r2 r
   r2 r r
-  r4 a'8--(\< a--  a-- a-- c-- \!b--  a--\> gis f \!e 
-  < { es8 )c } \context Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
-  r4 g16( a bes a  g a bes a g a bes a  g a bes a g fis es fis 
-  % urg, what a syntax
-  )d4 \tiny fis8 ( *1/2  \normalsize ) gis4*3/4 ~ gis8 r r4 r2
-  r4 g16( a bes a  g a bes a g a bes a  g a bes a g fis es fis 
-  )d4 \tiny fis8(*1/2 \normalsize )gis4*3/4 ~ gis8 r r4 r2
-  \tiny a8(*1/2  \normalsize )f4*3/4 ~ f8 r r2 r
-  r2 r4 a8( b c d c b \tiny b8(*1/2 \normalsize 
-  < { )e8*1/2 )g,8 } \context Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
+  r4 a'8--(\< a--  a-- a-- c-- \!b-- a--\> gis f \!e 
+  es8 } \grace b({ ))c r4 r2 r
+  r4 g16( a bes a  g a bes a g a bes a g a bes a g fis es fis 
+  )d4 } \grace fis8()gis4 ~ gis8 r r4 r2
+  r4 g16( a bes a  g a bes a g a bes a g a bes a g fis es fis 
+  )d4 \grace fis8()gis4 ~ gis8 r r4 r2
+  \grace a8()f4 ~ f8 r r2 r
+  r2 r4 a8( b c d c b \grace b8()e \grace a,())g r4 r2 r
   r2 r4 a8( b c d c b  a b c d c b a b c d c b 
-  \tiny b8(*1/2 \normalsize 
-  < { )e8*1/2 )g,8 } \context Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
-  a2( \tiny e'8(*1/2 \normalsize )f4*3/4 ~ )f8 r r2
+  \grace b8()e \grace a,())g r4 r2 r
+  a2( \grace e'8()f4 ~ )f8 r r2
   r2 r r
-  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
-  \tiny b'8(*1/2 \normalsize 
-  < { )a8*1/2 a8 } \context Voice=x { \stemup s8*1/4 \tiny b8*1/2 ~ } > r4 r2 r
+  fis,4( \grace dis8<)cis4 ais> r2 r
+  \grace b'8()a \grace b()a r4 r2 r
   r4 a'8--(\< a--  a-- a-- c-- \!b--  a--\> gis f \!e 
-  < { es8 )c } \context Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
-  d,4( \tiny fis8(*1/2 \normalsize )gis4*3/4 ~ )gis8 r r4 r2
+  es8 \grace b())c r4 r2 r
+  d,4( \grace fis8()gis4 ~ )gis8 r r4 r2
   f4 ~ f8 r r2 r
   f'8( g a b a g f g a b a g 
-  \tiny f8(*1/2 \normalsize 
-  < { )g8*1/2 )e8 } \context Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
+  \grace f8()g \grace d)e r4 r2 r
   f8( g a b a g f g a b a g 
-  \tiny f8(*1/2 \normalsize 
-  < { )g8*1/2 )e8 } \context Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
-  a,2( \tiny e'8(*1/2 \normalsize )f4*3/4 ~ )f8 r r2
+  \grace f8()g8 \grace d())e r4 r2 r
+  a,2( \grace e'8() f4 ~ )f8 r r2
   r2 r r
-  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
+  fis,4( \grace dis8<)cis4 ais> r2 r
   <e1 g b e> ~ <e g b e>
 }
 
 basloopje = \notes\relative c{
-%      \property Voice.beamAutoEnd = "1/2"
 %  d,8( a' d f a d f d a f d )a
   d,8( a' d f a \translator Staff=treble d f d \translator Staff=bass a f d )a
 }
 
-%{
-bassbeam = \notes{
-  [s2] [s8 \translator Staff=treble s s s] [\translator Staff=bass s2]
-%   [s2] [s2] [s2]
-}
-%}
-
-
 lower = \context Voice=two \notes \relative c{
   \stemdown
   \property Staff.slurVerticalDirection = 1
@@ -162,8 +139,8 @@ lower = \context Voice=two \notes \relative c{
       \remove "Time_signature_engraver";
     }
   }
-  \midi {
-    \tempo 4 = 54;
-  }
+% broken 1.1.51.hwn2
+%  \midi {
+%    \tempo 4 = 54;
+%  }
 }
-
index f31efdade56be67a189e35071f9708d07c7c7e8f..f29cfb833471b59562ea79ad581ddbd793c74a39 100644 (file)
@@ -13,7 +13,7 @@ c2. \p ( |
 ) g4 [g8. ( a16 ] ) g4 |
 c2. \p ( |
 ) g2 g4 |
-\tiny g8*1/2 \normalsize c2 \< ( *7/8 ~ [ \! c8 \> \! ) g ] |
+\grace g8 c2 \< ( ~ [ \! c8 \> \! ) g ] |
 g2 \p r4 |
 g \mf ( d' c~ |
 c ) b r |
@@ -23,7 +23,7 @@ r4 r c \p ( |
 g [g8. ( a16 ] ) g4 |
 R2. |
 r4 r [g8^""^"solo" \mf \< () \! e' ] |
-\tiny d8*1/2 \normalsize g2 \> ( *7/8 [ \! e8. c16 ] |
+\grace d8 g2 \> ( [ \! e8. c16 ] |
 ) g2 r4 |
 R2. |
 r4 r \times 2/3 {[e'8 \f ( g, ) g'] } |
@@ -32,7 +32,7 @@ r r \times 2/3 {[g8 \f ( e ) g] }
 d4 () g r |
 r r [d16 \f ( g, e' d ] |
 [g, d' e ) d ] g,4 r |
-r \tiny g8 \f *1/2 \normalsize d'2 \> ( *7/8|
+r \grace g8 \f d'2 \> (|
 [g,8. a16 g8. a16 \! g8. ) a16 ] |
 g4 r r |
 R2. |
@@ -251,7 +251,7 @@ corII=\notes\relative c'' {
 
 R2.*19 |
 r4 r [g8^"solo" \p (\< \! ) e'] |
-\tiny d8*1/2 \normalsize g2 \> ( *7/8 [e8. ) \! c16 ] |
+\grace d8 g2 \> ( [e8. ) \! c16 ] |
 g2 r 4 |
 r r \times 2/3 {[e'8 \p ( g, ) g' ]} |
 g4 \> () \! e r |
index f53c84e4f879ce037e69af39d5b33a489a091356..0944ec0802ea56b298b09387e5921ec5f1f7fbc3 100644 (file)
@@ -66,8 +66,7 @@ f4 ( \< g |
 a4 \> ) g |
 \! a2 ( |
 [a8_"dim." g f d] |
-<{[b g ][a ) g ] |} 
-  \context Voice=x {s8.. \tiny b8}>
+[b g ] \grace b8 [a ) g ] |
 R2 |
 r4 r8 a'-. \mf |
 [a-. \< a-. a-. \! a-. ] |
@@ -85,9 +84,9 @@ b4. \f bes8 ( |
 [g-. \< f-. e-. \! d-. ] |
 [g, g'16 \f ( a ][ ) g8 g,, \p ] |
 g4^\trill ( a^\trill | % added longer slur and trills
-b^\trill \tiny [a16*1/2 b*1/2] \normalsize[c8*1/2 ) g ] |
+b^\trill \grace{[a16 b]} [c8 ) g ] |
 g4^\trill ( a^\trill |
-b^\trill \tiny [a16*1/2 b*1/2] \normalsize [) c8*1/2 bes' \f ( ] | 
+b^\trill \grace{[a16 b]} [) c8 bes' \f ( ] | 
 ) bes'4.-> a8 |
 [f-. e-. d-. f, ( ] |
 < ) d'4. \fz a'> g,8 ( |
@@ -112,11 +111,11 @@ a ( \< ) e' |
 e-. () \! e-. |
 e \fz \> [ d8 \! c ] |
 b2 \p | % \p added
-\tiny e8*1/2 \normalsize g4 ( \> *3/4 dis | 
+\grace e8 g4 ( \> dis | 
 \! e ) b |
-\tiny e8*1/2 \normalsize g4 ( \> *3/4 dis | 
+\grace e8 g4 ( \> dis | 
 \! e ) b |
-\tiny d8*1/2 \normalsize f2 \fz ( *7/8 |
+\grace d8 f2 \fz ( |
 b,4 [c8 ) b] |
 a2-> ( |
 ) gis4 e |
@@ -124,15 +123,15 @@ a ( ) e' |
 e-.  \< () \! e-. |
 e ( \fz \> [ d8 \! c ] |
 ) b2 \p |
-\tiny e8*1/2 \normalsize g4 ( \> *3/4 dis |
+\grace e8 g4 ( \> dis |
 \! e ) b |
-\tiny e8*1/2 \normalsize g4 ( \> *3/4 dis |
+\grace e8 g4 ( \> dis |
 \! e ) b |
-\tiny d8*1/2 \normalsize f2 \fz ( *7/8 |
+\grace d8 f2 \fz ( |
 b,4 [c8 ) b] |
 a2 \p ( |
 ) gis |
-\tiny a8*1/2 \normalsize d2 ( \> *7/8 |
+\grace a8 d2 ( \> |
 b4 [ c8 \! b ] |
 a2 \p |
 ) gis |
@@ -172,7 +171,7 @@ bes4 ( \< c |
 d4 \> c |
 \! d2 |
 [d8 c][bes g] |
-[e c] \tiny e8*1/4 \normalsize [d *3/4 ) c ] |
+[e c] \grace e8 [d ) c ] |
 R2 |
 r4 r8 d' \mf |
 d2:8 \< |
@@ -190,9 +189,9 @@ d2:8 \< |
 [c-. \< bes-. a-. \! g-. ] |
 [c, c'16 ( \f d] [) c8 c,, \p ] |
 c4^\trill ( d^\trill |
-e^\trill \tiny [d16*1/2 e*1/2] \normalsize [f8 *1/2 ) c ] |
+e^\trill \grace{[d16 e]} [f8 ) c ] |
 c4^\trill ( d^\trill |
-e^\trill \tiny [d16*1/2 e*1/2] \normalsize [f8 *1/2 ) es' \f ( ] |
+e^\trill \grace{[d16 e]} [f8 ) es' \f ( ] |
 ) es'4. d8 |
 [bes-. a-. g-. bes, ( ] |
 ) d'4. \fz c,8 ( |
@@ -215,7 +214,7 @@ f4 g |
 f ) e |
 es2 ( |
 ) d4 r |
-\tiny f'8*1/2 \normalsize a4 \fz ( *3/4 e |
+\grace f'8 a4 \fz ( e |
 f b, |
 ) c r |
 R2 |
@@ -351,9 +350,9 @@ f4. \f e8 ( |
 [cis-. \< d-. e-. \! f-. ] |
 [f \f g16 ( a][ ) g8 g, \p ] |
 g4^\trill ( \< \! a^\trill |
-b^\trill \> \tiny [a16*1/2 b*1/2] \normalsize [ ) c8 *1/2 \! g] |
+b^\trill \> \grace{[a16 b]} [ ) c8 \! g] |
 g4^\trill ( \< \! a^\trill |
-b^\trill \> \tiny [a16*1/2 b*1/2] \normalsize [ ) \! c8 *1/2 g' \f ( ] |
+b^\trill \> \grace{[a16 b]} [ ) \! c8 g' \f ( ] |
 < ) g4.-> bes> a8 |
 [a a a f ( ] |
 <d'4. \fz ) a'> g,8 ( |
@@ -392,7 +391,7 @@ b4:16 \p \< \! c4:16 \> |
 \! b2:16 |
 b4:16 \p \< \! c4:16 \> |
 \! b2:16 |
-\tiny d8*1/2 \normalsize f2 ( \> *7/8 | % grace note c8 corrected to d8
+\grace d8 f2 ( \> | % grace note c8 corrected to d8
 \! ) e |
 b-> ( |
 ) e4 r |
@@ -404,7 +403,7 @@ b4:16 \p \< \! c4:16 \> |
 \! b2:16 |
 b4:16 \p \< \! c4:16 \> |
 \! b2:16 |
-\tiny d8*1/2 \normalsize f2 ( \fz *7/8 |
+\grace d8 f2 ( \fz |
 ) e |
 [ a,16 ( \p d a d ][a d a d] |
 [ b16 d b d ][b d b ) d] |
@@ -477,9 +476,9 @@ bes4. a8 ( \f |
 [fis-. \< g-. a-. \! bes-.] |
 [bes \f c16 ( d][)c8 c, \p ] |
 c4^\trill ( d^\trill |
-e^\trill \tiny [d16*1/2 e*1/2] \normalsize [ f8 *1/2 ) c ] |
+e^\trill \grace{[d16 e]} [ f8 ) c ] |
 c4^\trill ( d^\trill |
-e^\trill \tiny [d16*1/2 e*1/2] \normalsize [ ) f8 *1/2 a ( \f ] |
+e^\trill \grace{[d16 e]} [ ) f8 a ( \f ] |
 <a4. ) c4.> d8 |
 [d d d bes \f (] |
 <bes4. ) g'4.> bes8 (|
index 8a486eff8f9a3113e0f9f21b2709160fd813fe16..b3001a9a3410479bb382a390cf09aa26907adbb6 100644 (file)
@@ -80,7 +80,7 @@ R2*2 |
 r8 [g,-.^""^"solo" \p a-. b-. ] |
 c r r4 |
 R2*10 |
-\tiny d8 \fz *1/2 \normalsize f2 \> ( *7/8 |
+\grace d8 \fz f2 \> ( |
 \! b,4 [c8 b] |
 a2-> |
 ) gis |
@@ -88,15 +88,15 @@ a4 ( \p \< ) e' |
 e-. () \! e-. |
 e ( \> [ d8 \! c ] |
 ) b2 \p |
-\tiny e8*1/2 \normalsize g4 ( \> *3/4 dis |
+\grace e8 g4 ( \> dis |
 \! e ) b |
-\tiny e8*1/2 \normalsize g4 ( \> *3/4 dis |
+\grace e8 g4 ( \> dis |
 \! e_"dim." ) b |
-\tiny d!8 \fz *1/2 \normalsize f2 ( \> *7/8 |
+\grace d!8 \fz f2 ( \> |
 b,4 [ \! c8 b] |
 a2 \p |
 ) gis |
-\tiny a8*1/2 \normalsize d2( \> *7/8 |
+\grace a8 d2( \> |
 \! b4 [ c8 b ] |
 a2 \p |
 ) gis |
@@ -157,7 +157,7 @@ r4 r8 bes, ( |
 ) a8 r g4 ( |
 ) f8 r r4 |
 R2*7 |
-\tiny f8 \f *1/2 \normalsize a4 \> ( *3/4 e |
+\grace f8 \f a4 \> ( e |
 f \! b, |
 ) c r |
 R2*7 |
@@ -390,7 +390,7 @@ a4 \p ( [g8. a16 ] g4 |
 fis ) g8 r r4 |
 a4 ( [g8. a16 ] g4 |
 fis ) g8 r [d^""^"solo" \mf \< () \! b' ] |
-\tiny a8*1/2 \normalsize d2 ( \> *7/8 [b8. \! g16] |
+\grace a8 d2 ( \> [b8. \! g16] |
 ) d2 r4 |
 R2. |
 r4 r \times 2/3 { [b'8^""^"solo" ( \ff d, ) d' ] } |
@@ -428,8 +428,7 @@ b2 ~ |
 b4 a |
 b2 ~ |
 [b8_"dim." a g ) e ] |
-<{[cis ( a  ) b a-. ] | } 
-  \context Voice = x {s8.. \tiny cis8 } >
+[cis ( a  \grace cis ) b a-. ] | 
 [fis''-. f-. f-. e-. ] |
 [e-. \< dis-. dis-. \! d-. ] |
 d r b4 \f ( |
@@ -626,7 +625,7 @@ a4 \p ( [g8. a16 ] g4 |
 fis ) g8 r r4 |
 a4 ( [g8. a16 ] g4 |
 fis ) g8 r [d^""^"solo" \mf \< () \! b' ] |
-\tiny a8*1/2 \normalsize d2 ( \> *7/8 [b8. \! g16] |
+\grace a8 d2 ( \> [b8. \! g16] |
 ) d2 r4 |
 R2. |
 r4 r \times 2/3 { [b'8 ( \f d, ) d' ] } |
@@ -903,7 +902,7 @@ e2 \p \< ~ |
 \! e \> ~ |
 \! e \< ~ |
 \! e \> |
-\tiny \! d'8 \fz ( *1/2 \normalsize ) f2 \> ( *7/8 |
+\grace \! d'8 \fz ( ) f2 \> ( |
 ) \! e4. r8 |
 f,2 \> ( ( |
 [ ) \! e8 d c ) b ] | 
@@ -915,7 +914,7 @@ e2 \p ~
 e ~ |
 e ~ |
 e |
-\tiny d'8 \fz ( *1/2 \normalsize ) f2 \> ( *7/8 |
+\grace d'8 \fz ( ) f2 \> ( |
 ) \! e4. r8 |
 f,2 \p ( |
 ) e4 r |
index ba73aee319b19b9fa35ccba00682735f836135f6..6b4c9079e62733b4237097024c7f6556f4d7d619 100644 (file)
@@ -41,7 +41,7 @@ cad = \notes  \relative c' {
                \bar "" ;
 
        r8 a [b cis]
-%      \grace e16
+       \grace { e8( }
        [d16 cis d e]
        f4 ~ [f16 e d c]
        b4-\turn
@@ -54,13 +54,13 @@ cad = \notes  \relative c' {
        [g8.(_"a tempo" e16 g8. )e16]
        a4. g8 [f8 e8 d8 c8]
        g2 d'2-\trill
-%      \grace { [c32 d] }
+       \grace { [c32 d] }
         c4
        } }
        
 \score {
        \notes { \cad }
-       \paper {
-       }
-       \midi { \tempo 4 = 90; }
+%      \midi { \tempo 4 = 90; }
+       \paper {  casting_algorithm = \Wordwrap;}
+
 }