--- /dev/null
+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
+
--- /dev/null
+[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
+
+
+++ /dev/null
-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
-
-
- 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
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.
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)
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),
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)
-
- 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
+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
pl5.jcn3
- website fixes
-pl5.jcn2
+opl5.jcn2
- extender-*, see input/test/extender.ly
- bf: half-beam length (urg)
- fixes: standchen, star
- tex output support
- all output through scheme
- option: f, output-format=X
- - geile placebox
+o - geile placebox
- mf/mfplain.ini
pl 17.jcn2
.* 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.
. * 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
.* 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
. * parser
.* TODO before 1.2
+. * Grace_slur_engraver.
. * Morally pure LilyPond.
. * Remove non-free software links.
. * Remove meta article LilyPond.
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
return s;
}
-/** get a char
- Only class member who uses text_file::get
- */
char
Data_file::data_get()
{
return c;
}
-/// read line, gobble '\n'
String
Data_file::get_line()
{
return s;
}
-/// gobble stuff before first entry on a line.
void
Data_file::gobble_leading_white()
{
return edge_out_l_arr_;
}
-/**
+/*
Should not copy deps automatically
*/
Directed_graph_node::Directed_graph_node (Directed_graph_node const&)
#include "string-convert.hh"
#include "rational.hh"
-/// indent of each level
+/// amount of indentation for each level.
const int INDTAB = 2;
/*
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
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);
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 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
@see
man 3 snprintf
*/
-
-// hmm, this is shorter even than PATH_MAX
static const int STRING_BUFFER_LEN=1024;
String
c2.
c1
\grace { [c32 d] }
-
+ c4
}}
--- /dev/null
+%grace-accident.ly
+\score{
+ \context Staff=foo \notes\relative c''{
+% c8 % remove line to dump core
+ \grace { cis8 dis } e,4
+ }
+}
--- /dev/null
+% core
+\grace a8 \grace b8 c4
--- /dev/null
+%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
+ }
+}
\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";
}
\grace c8 c4
\grace { [c32 c32] } c4
\grace { [b32 ( c32] } c4
- \grace c16 [c8 c8]
+ \grace c8 [c8 c8]
}
}
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 ();
}
}
}
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;
{
#ifndef NPRINT
String s = type_str_;
- if (s == "{")
- s = "brace";
- if (s == "[")
- s = "bracket";
DOUT << "type = " << s;
#endif
}
{"||", "||", ""},
{".|.", ".|.", ""},
{"", "scorebar", "scorepostbreak"},
- {"", "{", "{"},
- {"", "[", "["},
+ {"", "brace", "brace"},
+ {"", "bracket", "bracket"},
{0,0,0}
};
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)
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++)
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_);
return retval;
}
-/// return all breakable columns
+
Line_of_cols
Break_algorithm::find_breaks () const
{
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
#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_;
Beam* create_beam_p ();
void end_beam ();
void junk_beam ();
+ bool same_grace_state_b (Score_element* e);
void typeset_beam ();
Moment shortest_mom_;
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 ();
Array<Musical_pitch> old_accidental_idx_arr_;
+ bool key_changed_b() const;
protected:
virtual bool do_try_music (Music *req_l);
#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();
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_;
};
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;
#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 ();
Real interstaff_f_;
Stem* stem_l_;
-
Stem_info ();
Stem_info (Stem *, int);
};
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;
do_post_move_processing ();
}
+bool
+Key_engraver::key_changed_b () const
+{
+ return keyreq_l_ ;
+}
+
void
Key_engraver::create_key ()
{
#include "leastsquares.hh"
+#include "warn.hh"
void
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);
}
void
Least_squares::minimise (Real &coef, Real &offset)
{
- OK();
Real sx = 0.0;
Real sy = 0.0;
Real sqx =0.0;
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;
-
}
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.
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
}
}
+void
+Local_key_engraver::do_removal_processing ()
+{
+ // TODO: signal accidentals to Local_key_engraver the
+}
+
void
Local_key_engraver::do_pre_move_processing()
{
{
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]);
}
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_;
}
}
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");
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
{
else if (head_l_arr_.size ())
return sign (head_positions_interval().center ());
- assert (false);
+ programming_error ("Note column without heads and stem!");
return CENTER;
}
{
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"
";(eval (ps-scm 'all-definitions))\n"
"(display (map (lambda (x) (string-append (eval x) \"\\n\")) '(\n"
;
+#endif
}
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
{
Atom * i = ptr->car_;
#endif
+#if 0
+ }
+#endif
Offset a_off = i->off_;
a_off += o;
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);
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))
{
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);
{
Span_bar *s= new Span_bar;
s->dim_cache_[X_AXIS]->set_empty (true);
- s->type_str_ = "{";
+ s->type_str_ = "brace";
return s;
}
{
Span_bar *s= new Span_bar;
s->dim_cache_[X_AXIS]->set_empty (true);
- s->type_str_ = "[";
+ s->type_str_ = "bracket";
return s;
}
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
}
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);
{
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
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);
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;
}
// 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 */
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 */
}
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 ();
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);
}
}
}
+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
; // TODO!
else
{
- r = lookup_l ()->flag (flag_i_, dir_).dim_.x ();
+ r = flag ().dim_.x ();
r += note_delta_f ();
}
return r;
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);
}
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 ());
}
\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
\type "Engraver_group_engraver";
\consists "Dynamic_engraver"; % must come before text_engraver.
\name Voice ;
- beamAuto = "1";
\consists "Local_key_engraver";
\consists "Breathing_sign_engraver";
\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";
\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}
% 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;
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.
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
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
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
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
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>
#
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)
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);
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,
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");
% input feta-eindelijk;
% input feta-klef;
% input feta-toevallig;
- input feta-schrift;
+% input feta-schrift;
% input feta-haak;
% input feta-timesig;
fi
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
\remove "Time_signature_engraver";
}
}
- \midi {
- \tempo 4 = 54;
- }
+% broken 1.1.51.hwn2
+% \midi {
+% \tempo 4 = 54;
+% }
}
-
) 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 |
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'] } |
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. |
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 |
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-. ] |
[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 ( |
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 |
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 |
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 \< |
[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 ( |
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 |
[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 ( |
\! 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 |
\! 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] |
[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 (|
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 |
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 |
) 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 |
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' ] } |
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 ( |
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' ] } |
\! 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 ] |
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 |
\bar "" ;
r8 a [b cis]
-% \grace e16
+ \grace { e8( }
[d16 cis d e]
f4 ~ [f16 e d c]
b4-\turn
[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;}
+
}