]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.63 release/0.1.63
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 12 May 1998 09:19:50 +0000 (11:19 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 12 May 1998 09:19:50 +0000 (11:19 +0200)
220 files changed:
AUTHORS.txt
Documentation/Makefile
Documentation/PATCHES.pod
Documentation/index.pod
Documentation/man/Makefile
Documentation/man/ly2dvi.pod
Documentation/mutopia.pod
Documentation/other-packages.pod
Documentation/tex/Makefile
Documentation/tex/colorado.bib
Documentation/tex/engraving.bib
Documentation/tex/fonts.doc
Documentation/tex/mudela.doc
Documentation/topweb.pod
Documentation/vocabulary-data
INSTALL.txt
NEWS
PATCHES.txt
TODO
VERSION
bin/conflily.sh
bin/convert-mudela.pl
bin/doos-dist.sh [new file with mode: 0644]
bin/ls-latex.py
bin/ly2dvi.sh
bin/make-examples.sh
bin/make-patch.py
bin/release.py
bin/rpm-dist.sh [new file with mode: 0644]
bin/show-latest.pl
configure
configure.in
init/a4.ly [new file with mode: 0644]
init/bar-numbering.ly [new file with mode: 0644]
init/book-fragment.ly
init/lily-init.ly
init/no-tape.ly
init/paper.ly [new file with mode: 0644]
init/paper11.ly
init/paper13.ly
init/paper20.ly
init/paper26.ly
init/params.ly
init/score-bar-numbering.ly [new file with mode: 0644]
init/simple-init.ly
init/table20.ly
input/Makefile
input/bugs/Makefile
input/bugs/a.ly
input/bugs/beam-bug.ly
input/bugs/slur-bug.ly
input/cadenza.ly [deleted file]
input/coriolan-alto.ly
input/keys.ly
input/kortjakje.ly
input/minimal.ly [new file with mode: 0644]
input/multi.ly
input/pedal.ly
input/praeludium-fuga-E.ly
input/rhythm.ly
input/scales.ly
input/scripts.ly
input/test/Makefile
input/test/beams.ly
input/test/broken.ly
input/test/collisions.ly
input/test/denneboom.ly
input/test/font-body.ly
input/test/font.ly
input/test/font16.ly
input/test/gourlay.ly
input/test/knee.ly [new file with mode: 0644]
input/test/sleur.ly
input/test/slur-damping.ly [new file with mode: 0644]
input/test/slurs.ly
input/test/spacing.ly
input/test/stem.ly
input/test/title.ly [new file with mode: 0644]
input/tril.ly
input/twinkle-pop.ly
input/twinkle.ly
lib/include/input.hh
lib/include/source-file.hh
lib/include/warn.hh
lib/input.cc
lib/source-file.cc
lib/template.cc
lib/warn.cc
lily/VERSION
lily/atom.cc
lily/beam.cc
lily/break.cc
lily/identifier.cc
lily/include/beam.hh
lily/include/cf-basic.hh [new file with mode: 0644]
lily/include/cf-string.hh [new file with mode: 0644]
lily/include/identifier.hh
lily/include/key.hh
lily/include/lily-proto.hh
lily/include/my-lily-lexer.hh
lily/include/my-lily-parser.hh
lily/include/note-column.hh
lily/include/note-head.hh
lily/include/paper-def.hh
lily/include/scope.hh [new file with mode: 0644]
lily/include/stem-info.hh
lily/include/stem.hh
lily/include/text-item.hh
lily/key.cc
lily/lexer.ll
lily/lyric-grav.cc
lily/my-lily-lexer.cc
lily/my-lily-parser.cc
lily/note-column.cc
lily/paper-def.cc
lily/parser.yy
lily/plet-spanner.cc
lily/scope.cc [new file with mode: 0644]
lily/score.cc
lily/slur.cc
lily/spring-spacer.cc
lily/stem-grav.cc
lily/stem-info.cc
lily/stem.cc
lily/template1.cc
lily/tie.cc
make/Docrules.make
make/Makefile
make/Mutopia.make
make/Rules.make
make/Targets.make
make/Toplevel.make.in
make/Variables.make
make/WWW.make
make/lilypond.spec.in
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
make/rpmrc.in [new file with mode: 0644]
mf/Makefile
mi2mu/template9.cc
mutopia/Coriolan/Makefile
mutopia/Coriolan/clarinetti-part.ly
mutopia/Coriolan/clarinetti.ly
mutopia/Coriolan/clarinetto-1.ly
mutopia/Coriolan/clarinetto-2.ly
mutopia/Coriolan/contrabasso.ly
mutopia/Coriolan/coriolan.ly
mutopia/Coriolan/corni-part.ly
mutopia/Coriolan/corni.ly
mutopia/Coriolan/corno-1.ly
mutopia/Coriolan/corno-2.ly
mutopia/Coriolan/fagotti-part.ly
mutopia/Coriolan/fagotti.ly
mutopia/Coriolan/fagotto-1.ly
mutopia/Coriolan/fagotto-2.ly
mutopia/Coriolan/flauti-part.ly
mutopia/Coriolan/flauti.ly
mutopia/Coriolan/flauto-1.ly
mutopia/Coriolan/flauto-2.ly
mutopia/Coriolan/global.ly
mutopia/Coriolan/oboe-1.ly
mutopia/Coriolan/oboe-2.ly
mutopia/Coriolan/oboi-part.ly
mutopia/Coriolan/oboi.ly
mutopia/Coriolan/part-paper.ly
mutopia/Coriolan/timpani.ly
mutopia/Coriolan/trombe-part.ly
mutopia/Coriolan/trombe.ly
mutopia/Coriolan/trombo-1.ly
mutopia/Coriolan/trombo-2.ly
mutopia/Coriolan/viola.ly
mutopia/Coriolan/violino-1.ly
mutopia/Coriolan/violino-2.ly
mutopia/Coriolan/violoncello.ly
mutopia/J.S.Bach/Makefile
mutopia/J.S.Bach/allemande-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/allemande-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/allemande-urtext.ly [new file with mode: 0644]
mutopia/J.S.Bach/courante-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/courante-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/courante-urtext.ly [new file with mode: 0644]
mutopia/J.S.Bach/menuetto-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/menuetto-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/menuetto-urtext.ly [new file with mode: 0644]
mutopia/J.S.Bach/prelude-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/prelude-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/prelude-urtext.ly [new file with mode: 0644]
mutopia/J.S.Bach/preludes-1.ly
mutopia/J.S.Bach/preludes-2.ly
mutopia/J.S.Bach/preludes-3.ly.m4
mutopia/J.S.Bach/preludes-4.ly
mutopia/J.S.Bach/preludes-5.ly
mutopia/J.S.Bach/preludes-6.ly
mutopia/J.S.Bach/sarabande-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/sarabande-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/sarabande-urtext.ly [new file with mode: 0644]
mutopia/J.S.Bach/scs-paper.ly [new file with mode: 0644]
mutopia/J.S.Bach/scsii-alto.ly [new file with mode: 0644]
mutopia/J.S.Bach/scsii-cello.ly [new file with mode: 0644]
mutopia/J.S.Bach/scsii-menuetto.ly [deleted file]
mutopia/J.S.Bach/solo-cello-suite-ii.ly [new file with mode: 0644]
mutopia/J.S.Bach/wtk1-fugue1.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/J.S.Bach/wtk1-prelude1.ly
mutopia/Makefile
mutopia/W.A.Mozart/Makefile [new file with mode: 0644]
mutopia/W.A.Mozart/cadenza.ly [new file with mode: 0644]
mutopia/W.A.Mozart/horn-concerto-3.ly [new file with mode: 0644]
mutopia/W.A.Mozart/out/dummy.dep [new file with mode: 0644]
mutopia/gallina.ly
mutopia/los-toros-oboe.ly
mutopia/ltor.ly [deleted file]
mutopia/standchen-16.ly
mutopia/standchen-20.ly
mutopia/standchen-easy.ly
mutopia/standchen.ly
tex/lilyponddefs.tex
tex/titledefs.tex
vimrc [new file with mode: 0644]

index ae928060c5e169de966aa1116427c9c5dcde3445..cca297b7b4ba2d23ffb670b705b2c6c5fdafab75 100644 (file)
@@ -61,7 +61,7 @@ CONTRIBUTORS
 
 
 
-6/Apr/98                 LilyPond 0.1.62                        1
+6/Apr/98                 LilyPond 0.1.63                        1
 
 
 
@@ -127,6 +127,6 @@ AUTHORS(1)            LilyPond documentation           AUTHORS(1)
 
 
 
-6/Apr/98                 LilyPond 0.1.62                        2
+6/Apr/98                 LilyPond 0.1.63                        2
 
 
index fc2341ae547e5c51bf224161a83d70a676199e27..c3cf69814f6c12d3f9c274a0a0a39a4b640fd894 100644 (file)
@@ -22,12 +22,12 @@ include ./$(depth)/make/Docrules.make
 
 
 #
-TEXTFILES = $(OUTPODFILES:.pod=.txt)
+TEXTFILES = $(OUTPODFILES:.pod=$(DOTTEXT))
 GROFFFILES = $(OUTPODFILES:.pod=.1)
 HTMLFILES = $(OUTPODFILES:.pod=.html)
 
 
-default: all do-doc
+default: do-doc
 
 #
 # list of distribution files:
@@ -41,20 +41,32 @@ EXTRA_DISTFILES = $(XPMS)   vocabulary-data vocabulary-forms.el  automake.urgh\
        gnu-music-history
 
 # don't do DVI files. They can only be made if lily is installed
-do-doc: $(TEXTFILES)
+do-doc: ugh-mutopia $(TEXTFILES)
 
+readme-topfiles:
+       cd $(depth); for i in $(README_TOPFILES); do \
+       ln -f $$i Documentation/$(outdir); done
 
-$(outdir)/%.txt: $(depth)/%
-       -rm $@
+$(outdir)/%$(DOTTEXT): $(depth)/%$(DOTTEXT)
+       rm -f $@
        ln $< $@
 
 README_TOPFILES=NEWS DEDICATION TODO ANNOUNCE-0.1
-README_TXTFILES=$(addprefix $(outdir)/,$(addsuffix .txt, $(README_TOPFILES)))
+README_TXTFILES=$(addprefix $(outdir)/,$(addsuffix $(DOTTEXT), $(README_TOPFILES)))
 
-local-WWW: $(HTMLFILES) $(README_TXTFILES)  $(giffiles)
+#local-WWW: $(HTMLFILES) $(README_TXTFILES)  $(giffiles)
+local-WWW: $(HTMLFILES) readme-topfiles $(README_TXTFILES) $(giffiles)
 
 # generic targets and rules:
 #
 include $(depth)/make/Targets.make
 include $(depth)/make/Rules.make
 
+# ugh
+check-doc-deps:
+       @echo hi
+
+doc: do-doc
+
+ugh-mutopia: $(outdir)/mutopia.1
+       troff -man -Tascii $< | grotty -b -u -o > $(outdir)/mutopia$(DOTTEXT)
index 45089c039f0b2f54dc7f0fb3c2c472db528b23bf..723bd87573960b680085bd404dc2b73fd7ee2ad7 100644 (file)
@@ -18,13 +18,17 @@ make your fix/add your code
 
 =item *
 
+Add changes to NEWS, and add yourself to Documentation/AUTHORS.pod
+
+=item *
+
 generate a patch, 
 
 =item *
 
 e-mail your patch to one of the mailing lists
 gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
-(or if you're a bit shy, to the maintainer).
+
 
 =back
 
@@ -129,6 +133,6 @@ Then, make a patch as shown above.
 
 =head1 MAINTAINER
 
-Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
 Just keep on sending those patches!
index 8b6ddc24d73590d67a879213cc9edf8d6a5825f0..438075e961e8e36dc6a329861f230add76ff094c 100644 (file)
@@ -14,7 +14,8 @@ version this was.
 =over 4
 
 =item *
-<a href=ANNOUNCE-0.1.txt
+<! urg a href=ANNOUNCE-0.1$(DOTTEXT)>
+<a href=ANNOUNCE-0.1
 >
 The announcement of 0.1
 </a
@@ -22,7 +23,7 @@ The announcement of 0.1
 
 
 =item *
-<a href=DEDICATION.txt
+<a href=DEDICATION
 >
 DEDICATION
 </a
@@ -112,14 +113,14 @@ Manual pages
 =over 5
 
 =item *
-<a href=TODO.txt
+<a href=TODO
 >
 The TODO list.
 </a
 >
 
 =item *
-<a href=NEWS.txt
+<a href=NEWS
 >
 The Change log
 </a
index e7ce73f0ca9fc70656b7b8ccb967860d44d02682..1dc4f661ec44cfce2760ef9b2652042826e0bba2 100644 (file)
@@ -4,7 +4,7 @@ depth = ../..
 include $(depth)/make/Include.make
 include $(depth)/make/Docrules.make
 SECTION=1
-MANTXT = $(addprefix $(outdir)/, $(addsuffix .txt,$(basename $(PODFILES) .pod)))
+MANTXT = $(addprefix $(outdir)/, $(addsuffix $(DOTTEXT),$(basename $(PODFILES) .pod)))
 MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION),$(basename $(PODFILES) .pod)))
 
 default: $(MANTXT) $(MANGROFF)
index 7e585743e78a52f210da7718974df2b61723fd63..0fcbfb90fdeb6b76ac4199ac5f9a846947577a89 100644 (file)
@@ -27,7 +27,17 @@ Set debug mode. There are two levels - in level one some debug
 info is written, in level two the command C<set -x> is run, which
 echoes every command in the ly2dvi script.
 
-=item B<-H,--headers=>
+=item B<-F,--headers=>
+
+Name of additional LaTeX headers file. This is included in the
+tex file at the end of the headers, last line before \begin{document}
+
+=item B<-H,--Heigth=>
+
+Set paper heigth (points). Used together with width and LaTeX name of
+papersize in case of papersize unknown to ly2dvi.
+
+=item B<-F,--headers=>
 
 Name of additional LaTeX headers file. This is included in the
 tex file at the end of the headers, last line before \begin{document}
@@ -47,8 +57,16 @@ Switch off page numbering.
 
 =item B<-O,--orientation=>
 
-Set orientation - portrait is the default.
-(C<-O> landscape produces C<\usepackage[landscape]{article}>)
+Set orientation landscape - obsolete, use C<-L> instead.
+
+=item B<-W,--Width=>
+
+Set paper width (points). Used together with heigth and LaTeX name of
+papersize in case of papersize unknown to ly2dvi.
+
+=item B<-d,--dependencies>
+
+Tell lilypond to make dependencies file.
 
 =item B<-h,--help>
 
@@ -70,7 +88,7 @@ Set output directory.
 =item B<-p,--papersize=>
 
 Specify papersize.
-(C<-p a4paper> produces C<\usepackage[a4paper]{article}>)
+(C<-p a4> produces C<\usepackage[a4paper]{article}>)
 
 =item B<-s,--separate>
 
@@ -105,7 +123,7 @@ Specify the width (pt, mm or cm) of the printed lines.
 
 =item B<papersize="";>
 
-Specify papersize.
+Specify name of papersize.
 
 =back
 
@@ -183,12 +201,20 @@ Set output directory.
 
 =item B<PAPERSIZE=>
 
-Specify papersize.
+Specify name of papersize.
+
+=item B<PHEIGTH=>
+
+Specify paperheight (points - an inch is 72.27, a cm is 28.453 points).
 
 =item B<TMP=>
 
 Temporary directory name.
 
+=item B<PWIDTH=>
+
+Specify paperwidth (points - an inch is 72.27, a cm is 28.453 points).
+
 =back
 
 =head1 SEE ALSO
@@ -226,7 +252,12 @@ to this mailinglist).
 
 =head1 REMARKS
 
-Only one papersize is supported, A4. Information on other sizes
+Many papersizes are now supported. Information on other sizes
 (LaTeX names, horizontal and vertical sizes) should be mailed to
 the author or to the mailing list.
 
+Supported papersizes are:
+
+a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, archA, archB, archC, archD,
+archE, b0, b1, b2, b3, b4, b5, flsa, flse, halfletter, ledger, legal,
+letter, note
index 8b179a78636348653210e979e33bbe3d08d03670..57c0f300022e56ac92baada43d5e60c3bed4913d 100644 (file)
@@ -36,18 +36,21 @@ call The Mutopia Project.
 
 =head1 STATUS
 
-This project is still in its vapourware stage, so don't ask questions
-unless you want to put in effort into The GNU Music project.
-
-Just as an aside, the LilyPond package includes the following music:
+This project is still in its infancy:  we have very little amount of
+music available.  The music is partly downloadable from the website.
+All of it is included in the source archive of LilyPond.
 
 =over 4
 
 =item *
 
 J.S. Bach, Das Wohltemperierte Clavier I: C major Prelude & Fugue, C
-minor fugue.  Solo cello suites: suite II, menuetto (alto version).
-Six small preludes: some preludes.
+minor fugue.  Solo cello suites: suite II.  Six small preludes: some
+preludes.
+
+=item *
+
+W. A. Mozart,  Horn concerto 3, solo part + cadenza.
 
 =item *
 
@@ -57,4 +60,8 @@ F. Schubert, St\"andchen (Serenade) "Leise flehen meine Lieder"
 
 Tarquinio Merula, La Gallina a 2 violini
 
+=item *
+
+Paul Lacome d'Estalenx, La Feria, Los Toros (oboe 1)
+
 =back
index b8b754be83717fa443b69c068f36941acd527664..5d5d5872cd1df30e5fc14b324d92793179541b9c 100644 (file)
@@ -64,7 +64,7 @@ After quarrels,  MusiXTeX has been split into two branches:
 Daniel Taupin's now maintains the branch that still carries 
 the name MusiXTeX.
 
-=item OpusTeX, http://www.inf.ethz.ch/personal/achermann/
+=item OpusTeX, http://www.inf.ethz.ch/personal/acherman/misc.html
 
 Andreas Egler's branch is now called OpusTeX.
 
@@ -202,7 +202,7 @@ publishing, called "Berlioz".
 
 The music font by Adobe.
 
-=item Haskore, http://haskell.systemscz.cs.yale.edu/haskore/onlinetutorial/index.html
+=item Haskore, http://haskell.systemsz.cs.yale.edu/haskore/onlinetutorial/index.html
 
 A programming system for music, based on Haskell, a functional
 programming language.  It outputs MIDI, CSound, NeXTStep MusicKit and
index 34befe747bb7b52112ce147bd3f3b2e6307f2d6a..e9f4cb59f23be676f511d7f354fc0e81fd96e57d 100644 (file)
@@ -11,8 +11,11 @@ EXTRA_DISTFILES= $(BIBFILES) $(DOCFILES)
 
 dvi: $(DVIFILES)
 
-local-WWW: $(OUTDOCFILES:.doc=.ps.gz) $(addprefix $(outdir)/, $(BIBFILES))
-       ls-latex --title 'LaTeX documents about LilyPond' --extension .ps.gz $(BIBFILES) $(DOCFILES) > $(outdir)/index.html
+local-WWW: $(OUTDOCFILES:.doc=.ps.gz) $(addprefix $(outdir)/, $(BIBFILES:.bib=.html))
+       ls-latex --title 'LaTeX documents about LilyPond' $(BIBFILES) $(DOCFILES) > $(outdir)/index.html
 
 $(outdir)/%.bib: %.bib
-       ln $< $@
+       ln -f $< $@
+
+$(outdir)/%.html: %.bib
+       bib2html $< $@
index 1ce4165e245a9cf513d5130d71d20b65f99d3110..890592063ec73c28e5d0af6bc8153bdd5269d970 100644 (file)
 %
 % TITLE=University of Colorado Engraving music bibliography
-% AUTHOR=Alyssa Lamb
+% AUTHOR=Alyssa Lamb (edited & converted to bibtex by HWN)
 %
 
-@Book {
+
+% TODO: fix the labelling.  
+
+@Book {6,
 author ={Jacob, Archibald},
-year={ 1947},
+year={1947},
 title = {Musical handwriting : or, How to put music on paper : A handbook for all musicians, professional and amateur},
-address ={   London}
+address ={London},
 publisher ={Oxford University Press}, 
-subject = { Musical notation},
+note = {Musical notation},
 }
 
-@Book {
-author ={Brandt, Carl, and Roemer, Clinton},
+@Book {15,
+author ={Carl Brandt and Clinton Roemer},
 title = {Standardized Chord Symbol Notation},
-address={Sherman Oaks, CA}
-publisher={Roerick Music Co.}
+address={Sherman Oaks, CA},
+publisher={Roerick Music Co.},
 }
 
-@Book {
+@Book {22,
 author = {Johnson, Harold M},
 year = {1946},
 title = {How to write music manuscript an exercise-method handbook for the  music student, copyist, arranger, composer, teacher},
-publisher={ Carl Fischer, Inc. }
-address= {New York}
-subject = {Musical notation --Handbooks, manuals},
+publisher={Carl Fischer, Inc.},
+address= {New York},
+note = {Musical notation --Handbooks, manuals},
 }
 
-@Book {
+@Book {31,
 title = {Music Printing & Publishing},
-editedby={ Donald W. Krummel \& Stanley Sadie},
-author = {?}
+editors ={Donald W. Krummel \& Stanley Sadie},
+
+author = {?},
 year = {1990},
-series={ The Norton/Grove Handbooks in Music.}
-publisher={W.W. Norton}
+series={The Norton/Grove Handbooks in Music.},
+publisher={W.W. Norton},
 }
 
-@Book {
+@Book {40,
 author={Foss, Hubert},
 title = {Music Printing},
 series = {Practical Printing and Binding},
-address={  London},
-publisher={  Oldhams Press Ltd., Long Acre.}
+address={London},
+publisher={Oldhams Press Ltd., Long Acre},
 }
 
-@Book {
+@Book {48,
 author = {Steele, Robert},
 year = {1903},
 title = {The Earliest English Music Printing},
-address={  London},
+address={London},
 }
-@Book {
+@Book {54,
 author={Austin, Ernest},
 title = {The Story of Music Printing},
-address={ London},
-publisher={Lowe and Brydone Printers, Ltd.}
+address={London},
+publisher={Lowe and Brydone Printers, Ltd.},
 }
 
 }
 
-@Book {
+@Book {63,
+author={?},
 title = {Pictoral History of Music Printing},
-address={E;lhardt, Indiana}
-publisher={H. and A. Selmer, Inc.}
+address={E;lhardt, Indiana},
+publisher={H. and A. Selmer, Inc.},
 }
 
-@Book {
+@Book {69,
 author = {Scholderer, Victor},
 year = {1963},
 title = {Johann Gutenberg},
-address={ London},
-publisher={  British Museum},
+address={London},
+publisher={British Museum},
 }
 
-@Book{
+@Book {77,
 author = {Wintermitz, Emmanuel},
 year = {1955},
 title = {Musical Autographs from Monteverdi to Hindemith},
-address={Princeton}
+address={Princeton},
 publisher={Princeton University Press},
 }
 
-@Book{
+@Book {85,
 author = {Wolf, Johannes},
 year = {1919},
 title = {Handbuch der Notationskunde},
 address={Leipzig},
-publisher={  Breitkopf & Hartel.
+publisher={Breitkopf & Hartel
 }
-@Book{
+
+@Book {92,
 
 author = {Novello, A},
 year = {1847},
 title = {Some Account of the Methods of Musick Printing, with Specimens of the Various Sizes of Moveable Types and of Other Matters},
-address={  London}.
+address={London},
 }
 
-@Book{
-author={Chrsander, F.}
-year={18??}
+@Book {100,
+author={Chrsander, F.},
+year={18??},
 title={A Sketch of the HIstory of Music printing, from the 15th to the 16th century},
 }
-@Book{
+
+@Book {105,
 author = {Squire, W},
 year = {1897},
 title = {Notes on Early Music Printing},
-, title = {Bibliographica},
-, iii, 99.
+journal = {Bibliographica},
+volume={ iii, 99},
 }
 
-@Book{
+@Article{113,
 author = {Meyer, K. and O'Meara, J},
 year = {1935},
 title = {The Printing of Music, 1473-1934},
-, title = {The Dolphin},
-, ii, p.171-207.
-
-@Book{
+journal = {The Dolphin},
+volume={ ii},
+pages={ 171--207},
+}
+%% 4th ver.,
+@Article {120,
 author = {Pattison, B},
 year = {1939},
 title = {Notes on Early Music Printing},
-,title = {The Library},
-, 4th ver., xix, p.389-421. 
+journal = {The Library},
+
+volume={xix},
+pages={389-421}, 
 }
 
-@Book{
+@Book {128,
 author = {Barksdale, A},
 year = {1957},
 title = {The Printed Note: 500 Years of Music Printing and Engraving},
-address={Toledo, Ohio}
-note={(exhibition catalogue, the Toledo Museum of Art).}
+address={Toledo, Ohio},
+note={(exhibition catalogue, the Toledo Museum of Art)},
 }
 
-@Book{
+@Book {136,
 author = {King, H},
 year = {1964},
 title = {Four Hundred Years of Music Printing},
-London.
+address={London},
 }
 
-@Book{
-Gamble, W.  1923 (Rev. 1971).  title = {Music Engraving and Pinting, Historical And Technical Treatise},
-Londond.  
+%(Rev. 1971).
+@Book {143,
+author={Gamble, W},
+year={  1923},
+title = {Music Engraving and Pinting, Historical And Technical Treatise},
+address={London},  
+}
 
-Deutsch, O.F.  1946 (Rev.1961).  title = {Music Publishers' Numbers},
-London. 
+%(Rev.1961).
+@Book{150,
+author={Deutsch, O.F.},
+year ={1946},
+title = {Music Publishers' Numbers},
+address={London},
 }
 
-@Book{
+@Book {151,
 author = {Marco, G.A},
 year = {1962},
 title = {The Earliest Music Printers of Continental Europe: a Checklist of Facsimiles Illustrating Their Work},
-Charlottesville, Virginia.
+address={Charlottesville, Virginia},
 }
 
-@Book{
+@Article {158,
 author = {Kinkeldey, O},
 year = {1932},
 title = {Music And Music Printing in Incunabula},
-, title = {Papers of the Bibliographical Society of America},
-, xxvi, p.89-118.
+journal = {Papers of the Bibliographical Society of America},
+volume={ xxvi},
+pages={89-118},
 }
 
-@Book{
+@Book {166,
 author = {Oldman, C.B},
 year = {1934},
 title = {Collecting Musical First Editions},
-London.
-Also in: Carter, J.  1934. title = {New Paths in Book Collecting},
-London.
+address={London},
+}
+
+@Book{170,
+author={Carter, J},
+year={1934},
+title = {New Paths in Book Collecting},
+address={London},
+}
 
-Krummel, D.W.  1958-9.    title = {Graphic Analysis in Application to Early American Engraved Music},
-, title = {Notes},
-, xvi, p.213.
+@Book {179,
+author={Krummel, D.W.},
+year={1958},
+month={9},
+title = {Graphic Analysis in Application to Early American Engraved Music},
+journal = {Notes},
+volume={xvi},
+pages={213},
 }
 
-@Book{
+@Book {189,
 author = {Krummel, D.W},
 year = {1971},
 title = {Oblong Format in Early Music Books},
-,  title = {The Library},
-, 5th ser., xxvi, p.312.
+journal = {The Library},
+volume={5th ser., xxvi},
+pages={312},
 }
 
-@Book{
+@Book {198,
 author = {King, A.H},
 year = {1973},
 title = {The 50th Anniversary of Music Printing},
-, title = {M_________},
-, cxiv.
 }
 
-@Book{
-Rastall, Richard.  1982. title = {The notation of Western music : an introduction},
-New York, N.Y.:  St. Martin's Press.   
-subject = { Musical notation},
+@Book {204,
+author={Rastall, Richard},
+year={1982},
+ title = {The notation of Western music : an introduction},
+address={New York, N.Y.},
+publisher={St. Martin's Press},
+note = {Musical notation},
 
 
 }
 
-@Book{
+@Book {215,
 author = {Tappelot, Willy},
 year = {1947},
 title = {La Notation Musicale},
-Paris:  Neuchatel. 
+address={Paris},
+publisher={Neuchatel},
 }
 
-@Book{
+@Book {223,
 author = {Williams, C.F. Abdy},
 year = {1903},
 title = {The Story of Notation},
-New York:  Charles Scribner's Sons.
+address={New York},
+publisher={Charles Scribner's Sons},
 }
 
-@Book{
+@Book {231,
 author = {Rosenthal, Carl A},
 year = {1967},
 title = {A Practical Guide to Music Notation},
-New York: MCA Music.
-
-<UL>}
-
-@Book{
-Apel, Willi.  1953. title = {The notation of polyphonic music, 900-1600.},
-Cambridge, Mass.: Mediaeval Academy of America.  
-subject = {Musical notation},
+address={New York},
+publisher={MCA Music},
 }
 
-@Book{
-
+@Book {239,
+author={Apel, Willi},
+year={1953},
+title = {The notation of polyphonic music, 900-1600},
+address={Cambridge, Mass},
+institution={Mediaeval Academy of America},
+note = {Musical notation},
+}
 
-Berger, Anna Maria Busse. 1993.  title = {Mensuration and proportion signs : origins and evolution},
-Oxford, England: Clarendon Press; New York: Oxford University Press .
+@Book {248,
+author={Berger, Anna Maria Busse},
+year={1993},
+title = {Mensuration and proportion signs : origins and evolution},
+address={Oxford, England},
+publisher={Clarendon Press},
+scnd_address={New York},
+scnd_publisher={Oxford University Press },
 }
 
-@Book{
-Parrish, Carl. 1957. title = {The notation of medieval music},
-New York : Norton.  
-subject = {Musical notation},
+@Book {258,
+author={Parrish, Carl},
+year={1957},
+ title = {The notation of medieval music},
+address={New York},
+publisher={Norton},
+note = {Musical notation},
 
 
 }
 
-@Book{
+@Book {269,
 author = {Parrish, Carl},
 year = {1946},
-title = { The Notation of Medieval Music},
-New York: Carl Fischer, Inc.   
+title = {The Notation of Medieval Music},
+address={New York},
+publisher={Carl Fischer, Inc.},
 }
 
-@Book{
+@Book {277,
 author = {Patch, Harry},
 year = {1949},
-title = { Genesis of a Music},
-Madison: University of Wisconsin Press.  
+title = {Genesis of a Music},
+address={Madison},
+publisher={University of Wisconsin Press},
 }
 
-@Book{
-Cage, John. 1969.  title = {Notations},
-New York: Something Else Press.   
-subject = { Music, Manuscripts, Facsimiles},
+@Book {285,
+author={Cage, John},
+year={ 1969},
+  title = {Notations},
+address={New York},
+publisher={Something Else Press},
+note = {Music, Manuscripts, Facsimiles.
 
-(Facsimiles of holographs from the Foundation for Contemporary Performance Arts, with text by 269 composers, but rearranged using   title = {chance operations.},
-) 
-}
+Facsimiles of holographs from the Foundation for Contemporary
+Performance Arts, with text by 269 composers, but rearranged using
+chance operations.,V)} },
 
-@Book{
+@Book {295,
 author = {Gaburo, Virginia},
 year = {1977},
 title = {Notation},
-publisher= {Lingua Press:  La Jolla, California}. 
-subject = { A Lecture about notation, new ideas about},
-
-
+address={publisher= {Lingua Press},
+publisher={La Jolla, California}},
+note = {A Lecture about notation, new ideas about},
 }
 
-@Book{
+@Book {306,
 author = {Risatti, Howard},
 year = {1975},
 title = {New Music Vocabulary},
-Urbana, Illinois: University of Illinois Press.  
-subject = { A Guide to Notational Signs for Contemporary Music},
+address={Urbana, Illinois},
+publisher={University of Illinois Press},
+note = {A Guide to Notational Signs for Contemporary Music},
 
 
 }
 
-@Book{
+@Book {317,
 author = {Boehm, Laszlo},
 year = {1961},
-Modern Music Notation.  New York: G. Schirmer, Inc.  
+title={Modern Music Notation},
+address={New York},
+publisher={G. Schirmer, Inc.},
 }
 
-@Book{
+@Book {325,
 author = {Cowell, Henry},
 year = {1930},
 title = {New Musical Resources},
-New York: Alfred A. Knopf, Inc. 
+address={New York},
+publisher={Alfred A. Knopf, Inc.},
+}
 
+@Article {333,
 author = {Cowell, Henry},
 year = {1927},
 title = {Our Inadequate Notation},
-,title = {Modern Music},
-, Vol. 4, No. 3.  
+journal = {Modern Music},
+volume={4},
+number={3},
 }
 
-@Book{
+@Book {342,
 author = {Bowers, Roger},
 year = {1992},
 title = {Music & Letters},
-v73, n3, August, p347(52)
-
-Some reflection upon notation and proportion in Monteverdi's mass and vespers.
+volume={73},
+number={3},
+month={August},
+pages={347(52)},
+note={Some reflection upon notation and proportion in Monteverdi's mass and vespers},
 }
 
-@Book{
+@Book {353,
 author = {Brainard, Paul},
 year = {1992},
 title = {Current Musicology},
-n50, July-Dec, p21(26) 
-
-Proportional notation in the music of Schutz and his contemporaries in the 17th Century.}
-
-@Book{
-
+number={50},
+month={July-Dec},
+pages={21(26)},
+note={Proportional notation in the music of Schutz and his contemporaries in the 17th Century},
+}
+@Book {362,
 author = {Monelle, Raymond},
 year = {1989},
 title = {Comparative Literature},
-v41, n3, Summer, p252(18)
+volume={41}, number={3}, 
+month={Summer},
+pages={252(18)},
 
-Music notation and the poetic foot.
+note={Music notation and the poetic foot},
 }
 
-@Book{
+@Book {373,
 author = {Pinegar, Sandra},
 year = {1993},
 title = {Current Musicology},
-n53, July, p99(10) 
-The seeds of notation and music paleography.
+number={53},
+month={July},
+pages={99(10)},
+note={The seeds of notation and music paleography.},
+}
 
+@Book {382,
 author = {Smith, Norman E},
 year = {1990},
 title = {Current Musicology},
-n45-47, Jan-Dec, p283(22)
-
-The notation of fractio modi.
+number={45-47},
+month={Jan-Dec},
+pages={283(22)},
+note={The notation of fractio modi.},
 }
 
-@Book{
+@Book {392,
 author = {Treitler, Leo},
 year = {1992},
 title = {The Journal of Musicology},
-v10, n2, Spring, p131(61)
+volume={10},
+number={2},
+month={Spring},
+pages={131(61)},
 
-The   title = {unwritten},
-and   title = {written transmission},
-of medieval chant and the start-up of musical notation. 
+note={ The unwritten and written transmission, of medieval chant
+and the start-up of musical notation.
 
-Notational practice developed in medieval music to address the written tradition for chant which interacted with the unwritten vocal tradition...
+Notational practice developed in medieval music to address the written tradition for chant which interacted with the unwritten vocal tradition.},
 }
 
-@Book{
+@Book {407,
 author = {West, M.L},
 year = {1994},
 title = {Music & Letters},
-v75, n2, May, p161(19)
-The Babylonian musical notation and the Hurrian melodic texts. 
-
-A new way of deciphering the ancient Babylonian musical notation... 
+volume={75},
+number={2},
+month={May},
+pages={161(19)},
+note={The Babylonian musical notation and the Hurrian melodic texts. 
 
+A new way of deciphering the ancient Babylonian musical notation. 
+}
 }
 
-@Book{
+@Book {418,
 author = {Brown, Earle},
 year = {1986},
 title = {Musical Quarterly},
-v72, Spr, p180(22)
-
-The notation and performance of new music.
+volume={72},
+month={Spring},
+pages={180(22)},
+note={The notation and performance of new music.},
 }
 
-@Book{
+@Book {426,
 author = {Eggleston, Suzanne},
 year = {1994},
-
 title = {Notes},
-v51, n2, Dec, p657(7) 
-
-New periodicals
-
-A list of new music periodicals covering the period Jun.-Dec. 1994. Includes aims, formats and a description of the contents of each listed periodical. Includes   title = {Music Notation News},
+volume={51},
+number={2},
+month={Dec},
+pages={657(7)}, 
+journal={New periodicals},
+note={A list of new music periodicals covering the period
+Jun.-Dec. 1994. Includes aims, formats and a description of the
+contents of each listed periodical. Includes Music Notation News},
 
 }
 
-@Book{
+@Book {441,
 
 author = {Fuller, David},
 year = {1989},
 title = {The Journal of Musicology},
-v7, n1, Wntr, p21(8)
-
+volume={7},
+number={1},
+month={Winter},
+pages={21(8)},
+note={
 Notes and inegales unjoined: defending a definition. (written-out inequalities in music notation).        
-}
+}},
 
-@Book{
+@Book {454,
 
 author = {Jones, David Evan},
 year = {1990},
 title = {Perspectives of New Music},
-
-
+note={
 Speech extrapolated. (includes notation)
-
+}
 }
 
-@Book{
+@Book {464,
 
 author = {Lependorf, Jeffrey},
 year = {1989},
-I>Perspectives of New Music</I> v27, n2, Summer, p232(20)
-
-Contemporary notation for the shakuhachi: a primer for composers. (Tradition and Renewal in the Music of Japan) 
+journal={Perspectives of New Music},
+volume={27},
+ number={2},
+month={Summer},
+pages={232(20)},
+note={
+Contemporary notation for the shakuhachi: a primer for composers. (Tradition and Renewal in the Music of Japan) },
 
 }
 
-@Book{
+@Book {478,
 author = {Rastall, Richard},
 year = {1993},
 title = {Music & Letters},
-v74, n4, Nov, p639(2)
-Equal Temperament Music Notation: The Ailler-Brennink Chromatic Notation. Results and Conclusions of the Music Notation Refor by  the Chroma Foundation  (book reviews).
-}
+volume={74}, number={4},
+month={November},
+pages={639(2)},
 
-@Book{
-<UL>
-Francois, Jean-Charles.title = {Perspectives of New Music},
-v30, n1, Wntr, p6(15)
+note={Equal Temperament Music Notation: The Ailler-Brennink
+Chromatic Notation. Results and Conclusions of the Music Notation
+Refor by the Chroma Foundation (book reviews).  },
+}
 
-1992.
-Writing without representation, and unreadable notation. by Jean-Charles Francois. 
-Modern music has outgrown notation. While the computer is used to write down music with accuracy never before achieved, the range of modern sounds has surpassed the relevance of the computer...
+@Book {491,
+author={Francois, Jean-Charles},
+title = {Perspectives of New Music},
+volume={30}, number={1}, month={Winter}, pages={6(15)},
+year={1992},
 }
+%title={Writing without representation, and unreadable notation.},
+%author={Jean-Charles Francois.} 
+%note={Modern music has outgrown notation. While the computer is used to write down music with accuracy never before achieved, the range of modern sounds has surpassed the relevance of the computer.},
+
 
-@Book{
+@Book {501,
 author = {Hamel, Keith A},
 year = {1989},
-
 title = {Perspectives of New Music},
-v27, n1, Wntr, p70(14)
-
-A design for music editing and printing software based on notational syntax. (computer music) 
+volume={27}, number={1}, month={Winter}, pages={70(14)},
+note={A design for music editing and printing software based on notational syntax. (computer music) },
+}
 
index 1da420396f8e0eea00830cc674f7edf10c5b68cd..be4c54c42e274280407134601146cee8e75ef285 100644 (file)
@@ -9,18 +9,10 @@
   ALTeditor =   {},
   title =       {The Notation of Western Music: an
   Introduction},
-  publisher =   {J. M. Dent \6& Sons London},
+  publisher =   {J. M. Dent \& Sons London},
   year =        {1983},
-  key =         {},
-  volume =      {},
-  number =      {},
-  series =      {},
-  address =     {},
-  edition =     {},
-  month =       {},
-  note =        {},
-  comment = {Interesting account of the evolution and origin of common notation starting from neumes, and ending with modern innovations HWN},
-  annote =      {},
+  note = {Interesting account of the evolution and origin of common notation starting from neumes, and ending with modern innovations HWN},
+
 }
 
 @Book{ross,
@@ -35,7 +27,7 @@
   address =     {},
   edition =     {},
   month =       {},
-  comment =     {This is about engraving, i.e.  professional typesetting.  It contains
+  note =        {This is about engraving, i.e.  professional typesetting.  It contains
   directions on good typesetting, but the sections on reproduction
   technicalities, how to use pens and history are interesting.
   Especially the section on Music Typewriters is amusing HWN},
   Translations},
   journal =     {Software Practice and Experience},
   year =        {1994},
-  key =         {},
   volume =      {24},
   number =      {3},
   month =       {march},
   pages =       {289--306},
-  note =        {},
-  annote =      {},
-  comment = {A description of various conversions, decisions and issues relating to this interactive editor HWN},
+  note = {A description of various conversions, decisions and issues relating to this interactive editor HWN},
 }
 
 
 
 @Book {wanske,
-  comment = {I. A very thorough overview of engraving practices of various craftsmen. It includes detailed specs of characters, dimensions etc. II. a thorough overview of a anonymous (by now antiquated) automated system. EDV Means e(lektronischen) D(aten)v(erarbeitung), electronic data processing HWN},
+  note = {I. A very thorough overview of engraving practices of various craftsmen. It includes detailed specs of characters, dimensions etc. II. a thorough overview of a anonymous (by now antiquated) automated system. EDV Means e(lektronischen) D(aten)v(erarbeitung), electronic data processing HWN},
   year =  {1988},
   title = {Musiknotation --- Von der Syntax des Notenstichs zum EDV-gesteuerten Notensatz},
   author = {Helene Wanske},
 
 
 
-@Book{,
-  ALTauthor =   {},
-  ALTeditor =   {},
-  title =       {},
-  publisher =   {},
-  year =        {},
-  key =         {},
-  volume =      {},
-  number =      {},
-  series =      {},
-  address =     {},
-  edition =     {},
-  month =       {},
-  note =        {},
-  annote =      {},
-}
-
 
-
-@Book {,
+@Book {weaner93,
   year =  {1993},
   title = {Standard Music Notation Practice},
   author = {Maxwell Weaner and Walter Boelke},
 
 
 
-@Book {,
-  comment = {Sound (boring) review of the various hairy rhythmic notations used by avant-garde composers HWN},
+@Book {read78,
+  note = {Sound (boring) review of the various hairy rhythmic notations used by avant-garde composers HWN},
   year =  {1978},
   title = {Modern Rhythmic Notation},
   author = {Gardner Read},
 }
 
 
-@Book {,
-  comment = {This is as close to the ``standard'' reference work for music notation issues as one is likely to get. MB},
+@Book {read-notation,
+  note = {(Out of print) This is as close to the ``standard'' reference work for music notation issues as one is likely to get. MB},
   title = {Music Notation: a Manual of Modern Practice},
   author = {Gardner Read},
   totalentry = {(2nd edition)},
   publisher ={Taplinger Publishing},
   address ={New York},
-  note = { (Out of print)},
 }
 
-
-@Book{,
-  ALTauthor =   {},
-  ALTeditor =   {},
-  title =       {},
-  publisher =   {},
-  year =        {},
-  OPTkey =      {},
-  OPTvolume =   {},
-  OPTnumber =   {},
-  OPTseries =   {},
-  OPTaddress =          {},
-  OPTedition =          {},
-  OPTmonth =    {},
-  OPTnote =     {},
-  OPTannote =   {}
-}
-
-@Book {,
+@Book {hader48,
   year =  {1948},
   title = {Aus der Werkstatt eines Notenstechers},
   author = {Karl Hader},
   publisher = {Waldheim--Eberle Verlag},
   address ={Vienna},
 
-  comment = {Hader was the chief-engraver of the Waldheim-Eberle music
+  note = {Hader was the chief-engraver of the Waldheim-Eberle music
   publishers. This book contains the most important rules on engraving
 (according to [Chlapik])},
 
 
 
 
-@Booklet {,
-  comment = {Pamphlet explaining some fine points in music font design HWN},
+@Booklet {mpa96,
+  note = {Pamphlet explaining some fine points in music font design HWN},
   year =  {1996},
   title = {Standard music notation specifications for computer programming. },
   month =  {December},
+  author ={mpa},
   publisher = {MPA},
 }
 
-@TechReport{,
-  comment = {Rules on formatting music formulated for use in computers. Mainly distilled from [Ross] HWN},
-  year =  {1988},
-  title = {Music Formatting Guidelines,},
+@TechReport{roush88,
+  note = {Rules on formatting music formulated for use in computers. Mainly distilled from [Ross] HWN},
+  year = {1988},
+  title = {Music Formatting Guidelines},
   author = {D. Roush},
-  note={Technical Report OSU-CISRC-3/88-TR10}, 
-  institution ={Department of Computer and Information Science, The Ohio State University},
+  number = {OSU-CISRC-3/88-TR10}, 
+  institution = {Department of Computer and Information Science, The Ohio State University},
 }
 
 
 
-@PhdThesis {,
+@PhdThesis {byrd85,
   year =  {1985},
   title = {Music Notation by Computer},
   author = {Donald Byrd},
 }
 
 
-@Article {,
+@Article {byrd74,
   year =  {1974},
   title = {A System for Music Printing by Computer},
   author = {Donald Byrd},
 }
 
 
-@Book {,
-  comment = {If I remember correctly, this was concerned more with an input language than with the typography. SP},
+@Book {smith73,
+  note = {If I remember correctly, this was concerned more with an input language than with the typography. SP},
   year =  {1973},
   title = {Editing and Printing Music by Computer},
   author = {Leland Smith},
 }
 
 
-@PhdThesis {,
+@PhdThesis {gomber75,
   year =  {1975},
   title = {A Computer-Oriented System for Music Printing},
   author = {David A Gomberg},
 }
 
 
-@Book {,
-  comment = {Annual editions since 1985, many containing surveys of music typesetting technology. SP},
+@Book {CASR,
+  note = {Annual editions since 1985, many containing surveys of music typesetting technology. SP},
   title = {Directory of Computer Assisted Research in Musicology},
-  author = {Walter B Hewlett. and Eleanor Selfridge-Field},
+  author = {Walter B Hewlett and Eleanor Selfridge-Field},
   totalentry = {Menlo Park, CA: Center for Computer Assisted Research in the Humanities},
 }
 
 
-@Book {,
+@Book {gomberg,
   title = {A Computer-oriented System for Music Printing},
-  author = {David A.  Gomberg; },
-
+  author = {David A.  Gomberg},
   journal  = {Computers and the Humanities},
   volume={11},
   pages = {63-80},
 }
 
 
-@TechReport {,
-  comment = {Algorithm for generating spacing in one line of (polyphonic) music, tailored for use with MusiCopy. LilyPond uses a variant of it (as of pl 76) HWN},
+@TechReport {gourlay87-spacing,
+  note = {Algorithm for generating spacing in one line of (polyphonic) music, tailored for use with MusiCopy. LilyPond uses a variant of it (as of pl 76) HWN},
   year =  {1987},
   title = {Spacing a Line of Music,},
   author = {John S. Gourlay},
 }
 
 
-@TechReport {,
-  comment = {A brief overview of MusiCopy HWN},
+@TechReport {parish87,
+  note = {A brief overview of MusiCopy HWN},
   year =  {1987},
   title = {MusiCopy: An automated Music Formatting System},
-  author = {Allen Parish, Wael A. Hegazy, John S. Gourlay, Dean K. Roush and F. Javier Sola},
+  author = {Allen Parish and Wael A. Hegazy and John S. Gourlay and Dean K. Roush and F. Javier Sola},
   totalentry = {OSU-CISRC-10/87-TR29},
   institution ={ Department of Computer and Information Science, The Ohio State University},
 }
 
 
-@TechReport {,
-  comment = {This paper discusses the development of algorithms for the formatting of musical scores (from abstract). It also appeared at PROTEXT III, Ireland 1986},
+@TechReport {gourlay87-formatting,
+  note = {This paper discusses the development of algorithms for the formatting of musical scores (from abstract). It also appeared at PROTEXT III, Ireland 1986},
   year =  {1987},
-  title = {Computer Formatting of Music,},
-  author = {John S. Gourlay, A. Parrish, D. Roush, F. Sola, Y. Tien},
+  title = {Computer Formatting of Music},
+  author = {John S. Gourlay and A. Parrish and D. Roush and F. Sola and Y. Tien},
   totalentry = {OSU-CISRC-2/87-TR3},
   institution ={Department of Computer and Information Science, The Ohio State University},
 }
 
 
-@TechReport {,
-  comment = {Describes the "parser" which converts MusiCopy MDL  to MusiCopy Simultaneities & columns HWN},
+@TechReport {hegazy87,
+  note = {Describes the "parser" which converts MusiCopy MDL  to MusiCopy Simultaneities & columns HWN},
   year =  {1987},
   title = {On the Implementation of the MusiCopy Language Processor,},
   author = {Wael A. Hegazy},
 }
 
 
-@TechReport {,
-  comment = {This generalizes TeX's breaking algorithm to music. It also appeared in Document Manipulation and Typography, J.C. van Vliet (ed) 1988. HWN},
+@TechReport {hegazy87-breaking,
+  note = {This generalizes TeX's breaking algorithm to music. It also appeared in Document Manipulation and Typography, J.C. van Vliet (ed) 1988. HWN},
   year =  {1987},
   title = {Optimal line breaking in music},
   author = {Wael A. Hegazy and John S. Gourlay},
 }
 
 
-@TechReport {,
-  comment = {User manual of MusiCopy. Includes an impressive example piece.  HWN},
+@TechReport {roush87,
+  note = {User manual of MusiCopy. Includes an impressive example piece.  HWN},
   year =  {1987},
   title = {Using MusiCopy},
   author = {Dean K. Roush},
 }
 
 
-@TechReport {,
-  comment = {Placement of balls, stems, dots which occur at the same moment ("Simultaneity") HWN},
+@TechReport {parrish87,
+  note = {Placement of balls, stems, dots which occur at the same moment ("Simultaneity") HWN},
   year =  {1987},
   title = {Computer Formatting of Musical Simultaneities,},
   author = {A. Parrish and John S. Gourlay},
 }
 
 
-@TechReport {,
-  comment = {Overview of a procedure for generating slurs HWN},
+@TechReport {sola87,
+  note = {Overview of a procedure for generating slurs HWN},
   year =  {1987},
   title = {Computer Design of Musical Slurs, Ties and Phrase Marks,},
   author = {F. Sola},
 }
 
 
-@TechReport {,
+@TechReport {sola87-beams,
   institution={ Department of Computer and Information Science, The Ohio State University},
-  comment = {Calculating beam slopes HWN},
+  note = {Calculating beam slopes HWN},
   year =  {1987},
   title = {Design of Musical Beams,},
   author = {F. Sola and D. Roush},
 }
 
 
-@Article {,
-  comment = {This paper describes the MusiCopy musicsetting system and an input language to go with it. HWN},
+@Article {gourlay86,
+  note = {This paper describes the MusiCopy musicsetting system and an input language to go with it. HWN},
   year =  {1986},
   title = {A language for music printing},
   author = {John. S. Gourlay},
 
 
 
-@Article {,
-  comment = {A description of Lime internals (which resemble older (before 0.0.68pre) LilyPond data structures somewhat) HWN},
+@Article {haken93,
+  note = {A description of Lime internals (which resemble older (before 0.0.68pre) LilyPond data structures somewhat) HWN},
   year =  {1993},
   title = {The Tilia Music Representation: Extensibility, Abstraction, and Notation Contexts for the Lime Music Editor},
   author = {Lippold Haken and Dorothea Blostein},
-  journal = { Computer Music Journal},
+  journal = {Computer Music Journal},
   volume= {17},
   number={ 3},
   pages = {43--58},
 }
 
-
-@Article {,
-  comment = {This describes an algorithm which uses springs between adjacent columns. This algorithm is a "subclass" of the LilyPond algorithm. HWN},
+@InProceedings{haken95,
   year =  {1995},
   title = {A New Algorithm for Horizontal Spacing of Printed Music},
   author = {Lippold Haken and Dorothea Blostein},
-  totalentry = {Lippold Haken and Dorothea Blostein. ``A New Algorithm for Horizontal Spacing of Printed Music'', International Computer Music Conference, Banff, Sept. 1995},
+  booktitle = { International Computer Music Conference},
+  address={Banff},
+  month={Sept},
   pages = {118-119},
+  note = {This describes an algorithm which uses springs between adjacent columns. This algorithm is a "subclass" of the LilyPond algorithm. HWN},
 }
 
-@Article {,
-  comment = {This paper provides a shallow overview of the algorithm used in LIME for spacing individual lines. HWN},
+@Article {blostein91,
+  note = {This paper provides a shallow overview of the algorithm used in LIME for spacing individual lines. HWN},
   year =  {1991},
   title = {Justification of Printed Music},
   author = {Dorothea Blostein and Lippold Haken},
-  totalentry = {Communications of the ACM},
-  volume={J34},
-  number={ 3},month={ March}, pages = {88-99},
+  journal   = {Communications of the ACM},
+  volume= {J34},
+  number= {3},
+  month= {March},
+  pages = {88-99},
 }
 
 
-@Article {,
-  comment = {Describes a system called MusicEase, and explains that it uses "constraints" (which go unexplained) to automatically position various elements. HWN},
+@Article {rader96,
+  note = {Describes a system called MusicEase, and explains that it uses "constraints" (which go unexplained) to automatically position various elements. HWN},
   year =  {1996},
   title = {Creating Printed Music Automatically},
   author = {Gary M. Rader},
   month={June}, pages = {61--69}},
 
 
-@PhdThesis {,
-  comment = {Don't ask Stephen for a copy. Write to the Bodleian Library, Oxford, or to the British Library, instead. SP},
+@PhdThesis {page88,
+  note = {Don't ask Stephen for a copy. Write to the Bodleian Library, Oxford, or to the British Library, instead. SP},
   year =  {1988},
   title = {Computer Tools for Music Information Retrieval},
   author = {Stephen Dowland Page},
   school ={ Dissertation University of Oxford},
 }
 
-@MastersThesis{,
-  comment = {This dutch thesis describes a simplistic (monophonic) typesetting system, and focuses on the breaking algorithm, which is taken from Hegazy & Gourlay HWN},
+@MastersThesis{roelofs91,
+  note = {This dutch thesis describes a simplistic (monophonic) typesetting system, and focuses on the breaking algorithm, which is taken from Hegazy & Gourlay HWN},
   year =  {1991},
   title = {Een Geautomatiseerd Systeem voor het Afdrukken van Muziek},
   author = {Ren\'e Roelofs},
-  totalentry = {Ren\'e Roelofs. ``Een Geautomatiseerd Systeem voor het Afdrukken van Muziek'' afstudeerscriptie Bestuurlijke informatica, no 45327, Erasmus universiteit Rotterdam, 1991.  (``An automated system for printing music'' Master's Thesis Managerial Computer Science.)},
+  school={Erasmus Universiteit Rotterdam},
+  number={45327},
+  translation = {``An automated system for printing music'' Master's Thesis Managerial Computer Science.},
 }
 
 
-@Article {,
+@Article {filgueiras93,
   year =  {1993},
   title = {Representation and manipulation of music documents in SceX},
   author = {Miguel Filgueiras and Jos\'e Paulo Leal},
 }
 
 
-@Article {,
-  comment = {A paper on a TROFF preprocessor to typeset music. The output shown is not very sophisticated, and contains some typographical atrocities HWN},
+@Article {foxley87,
+  note = {A paper on a TROFF preprocessor to typeset music. The output shown is not very sophisticated, and contains some typographical atrocities HWN},
   year =  {1987},
   title = {Music --- A language for typesetting music scores},
-  author = {Eric Foxley, },
+  author = {Eric Foxley },
   journal={ Software --- Practice and Experience, },
   volume={ 17},
   number={8}, pages = {485-502},
 }
 
 
-@Book {,
+@Book {filgueiras96,
   year =  {1996},
   title = {Implementing a Symbolic Music Processing System},
   author = {Miguel Filgueiras},
   totalentry = {LIACC, Universidade do Porto, 1996; submitted},
 }
 
-@Book {,
+@Book {filgueiras?,
   title = {Some Music Typesetting Algorithms},
   author = {Miguel Filgueiras},
   totalentry = {Miguel Filgueiras. ``Some Music Typesetting Algorithms''. LIACC, Universidade do Porto, forthcoming},
 }
 
 
-@Book {,
-  comment = {A concise, alphabetically ordered list of typesetting and music (notation) issues with a rather simplistic attitude but in most  cases "good-enough" answers JCN},
+@Book {gerou96,
+  note = {A concise, alphabetically ordered list of typesetting and music (notation) issues with a rather simplistic attitude but in most  cases "good-enough" answers JCN},
   year =  {1996},
   title = {Essential Dictionary of Music Notation},
   author = {Tom Gerou and Linda Lusk},
 }
 
 
-@Book {,
-  comment = {An clearly written book for the casually interested reader. It shows some of the conventions and difficulties in printing music HWN},
+@Book {chlapik87,
+  note = {An clearly written book for the casually interested reader. It shows some of the conventions and difficulties in printing music HWN},
   year =  {1987},
   title = {Die Praxis des Notengraphikers},
   author = {Herbert Chlapik},
 }
 
 
-@Book {,
-  comment = {Webpages about engraving (designed with finale users in mind) (sic) HWN},
+@Article {colorado-web,
+  author ={Alyssa Lamb},
+  note = {Webpages about engraving (designed with finale users in mind) (sic) HWN},
   institution = {The University of Colorado},
   title ={The University of Colorado Music Engraving page.},
-  url={http://obenamots.cc.colorado.edu/Musicpress/engraving.html},
+  HTML={http://obenamots.cc.colorado.edu/Musicpress/engraving.html},
+  year={1996}
 }
 
 
-
-
-@Book {,
+@Book {donato63,
   year =  {1963},
   author = {Anthony Donato},
   title ={ Preparing Music Manuscript},
 }
 
 
-@Book {,
+@Book {donemes1900,
   year =  {1900},
   title = {Uitgeven van muziek},
   author = {Donemus},
 }
 
 
-@Book {,
+@Book {Heussenstamm87,
   year =  {1987},
   title = {The Norton Manual of Music Notation},
   author = {George Heussenstamm},
 }
 
 
-@Book {,
+@Book {Karkoshka72,
   year =  {1972},
   title = {Notation in New Music; a critical guide to interpretation and realisation},
   author = {Erdhard Karkoshka},
 }
 
 
-@Book {,
+@Book {Roemer73,
   year =  {1973},
   title = {The Art of Music Copying},
   author = {Clinton Roemer},
 }
 
 
-@Book {,
+@Book {Rosecrans79,
   year =  {1979},
   title = {Music Notation Primer},
   author = {Glen Rosecrans},
 }
 
 
-@Book {,
+@Book {Stone80,
   year =  {1980},
   title = {Music Notation in the Twentieth Century},
   author = {Kurt Stone},
 }
 
 
-@Book {,
-  comment = {This paper deals with some command-line tools for music editing and playback. It doesn't mention notation issues, but does come with the grand idea (not) of using music to monitor complex systems. Imagine your nuclear plant supervisor to use AC/DC for checking the reactor HWN},
+@Book {Langston90,
+  note = {This paper deals with some command-line tools for music editing and playback. It doesn't mention notation issues, but does come with the grand idea (not) of using music to monitor complex systems. Imagine your nuclear plant supervisor to use AC/DC for checking the reactor HWN},
   year =  {1990},
   title = {Unix music tools at Bellcore},
   author = {Peter S. Langston},
 
 
 
-@URL {,
-  comment = {FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN},
+@Article {tablature-web,
+  note = {FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN},
   title = {how to read and write tab: a guide to tab notation},
   author = {Howard Wright},
   email={Howard.Wright@ed.ac.uk},
-  url={ http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html},
+  HTML={ http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html},
 }
 
 
-@URL {,
-  comment = {Specs for NIFF, a comprehensive but binary (yuk) format for notation HWN},
+@Article {niff-web,
+  note = {Specs for NIFF, a comprehensive but binary (yuk) format for notation HWN},
   year =  {1995},
   title = {NIFF6a Notation Interchange File Format},
-  author = {Cindy Grande},
+  author = {Cindy Grande},
   publisher={Grande Software Inc.},
-  url={http://www.jtauber.com/music/encoding/niff/},
+  HTML={http://www.jtauber.com/music/encoding/niff/},
 }
 
 
-@URL {,
+@Article {smdl-web,
+  author={unknown},
   title = {SMDL, Standard Musical Description Language},
-  url={ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
+  HTML={ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
   note={ISO/IEC DIS 10743},
 }
index 200e4bcdd614d97d949d8ca5c5ae677c537f011d..c66fa3bfbd48082e8bab55015556713ffc9d1e3f 100644 (file)
@@ -236,8 +236,8 @@ outcome of the applied recipy.  If, in a complicated case, the result
 "doesn't look good", they will ignore the rules and draw their own
 beams, based on experience.
 
-\item The exact rules probably even don't "really exsist" but in the
-minds of good engravers, in the form of experience
+\item The exact rules probably don't "really exist" but in the minds
+  of good engravers, in the form of experience
 \end{itemize}
 
 We'll propose to do a least-squares solve.  This seems to be the best
@@ -245,8 +245,8 @@ way to calculate the slope for a computerised engraver such as Lily.
 
 It would be nice to have some rules to catch and handle "ugly" cases,
 though.  In general, the slope of the beam should mirror the pitches
-of the notes.  If this "can't be done" because there simply is no
-uniform "trend", it would probably be best to set the slope to zero.
+of the notes.  If this can't be done because there simply is no
+uniform trend, it would probably be best to set the slope to zero.
 
 
 \subsection{Quantising}
index 9ffc13a0badcbfc74edbb3526a90183a773c40c7..0690a64818e438dd7c3c995c59648b1bef39e03a 100644 (file)
@@ -4,12 +4,12 @@
 % has been installed.  The rules have been precooked into the
 % Documentation/Rules.make file; do 
 %
-%   make out/introduction.dvi
+%   make out/mudela.dvi
 %
 % or
 %
-%   mudela-book --outdir=out/ --outname=introduction.mudtex introduction.doc
-%   latex '\nonstopmode \input out/introduction.mudtex'
+%   mudela-book --outdir=out/ --outname=mudela.mudtex mudela.doc
+%   latex '\nonstopmode \input out/mudela.mudtex'
 
 % Hoi Tim, hier staan wat 'enge' commando's (die dingen met een '\'
 % zoals \documentclass en \def\mudela...).
@@ -180,6 +180,8 @@ What is in your window should look like this:
 \end{mudela}
 \end{enumerate}
 
+[talk about ly2dvi]
+
 The remainder of this document is not about \TeX, and mostly not even
 about LilyPond.  What you entered into your text editor in step~1. and
 fed to LilyPond is a special kind of file composed of notenames,
@@ -261,8 +263,16 @@ c'4
 \end{mudela}
 The pitch \verb+c'+ actually consists of two parts: one for the note
 name, and one part for the octave.  The number of apostrophes
-specifies the octave to use, and the letter which note name to use.
-The note names simply are the letters \verb+a+ to \verb+g+.
+specifies the octave to use if you are above central c.  If you want
+the octaves below central c, use the comma, eg, \verb+c,,+ (The comma
+is meant to represent a ``sunken'' apostrophe). The letter specifies
+which note name to use.  The note names simply are the letters
+\verb+a+ to \verb+g+.
+
+By convention, the \verb+a'+ concert pitch is the tone that is used to
+tune instruments.  The exact frequency of this tone has wandered: in
+Baroque time it was 335 Hz, most textbooks will tell you it is 440 Hz,
+and a lot of orchestras nowadays tune at 441.5 Hz.
 
 For example,
 \begin{mudela}[fragment,verbatim]
@@ -273,7 +283,7 @@ The duration of a note is specified as a number: a whole note is
 denoted by 1, the half note by 2, the quarter by 4, and so on.  Here
 are some random notes to show how it works
 \begin{mudela}[fragment,verbatim]
-'c8 c8 c'16 c''32 d''64 b'64 c'''2 c1 c'4 d'4 e'4 f'4 g'4 a'4
+c,8 c8 c'16 c''32 d''64 b'64 c'''2 c1 c'4 d'4 e'4 f'4 g'4 a'4
 \end{mudela}
 
 This gives us already enough material to make simple songs:
@@ -300,7 +310,8 @@ flats ditto.
 
 \begin{table}[h]
   \begin{center}
-    \caption{Defaults note names}\label{notename-tab}
+    \caption{Default note names}\label{notename-tab}
+    
     \begin{tabular}{ll}
       english         &LilyPond\\
       \hline\\
@@ -324,9 +335,76 @@ names.  Included with the example initialisation files are note names
 for different languages, among others English (C sharp is abbreviated
 to cs), Italian, Swedish, Norwegian
 
-\section{Hairy rhythms}
+\section{[chords]}
+
+Up till so far we have only considered music that was rather simple.
+All the music had notes going in one direction, from left to right,
+the one following the other.  You might be wondering if this is all
+Lily could do, or whether is possible to stack notes as well (creating
+\emph{chords}).  Rest assured: we designed LilyPond with the goal mind
+that she must handle any notation construct that can be expressed
+conveniently.  Of course, we did not leave out chords.
+
+In mudela you can form a chord of several notes, by enclosing them in
+pointed parentheses, ie, $\langle$ and $\rangle$, for example a
+D-major chord can be described by
+\begin{mudela}[fragment,verbatim]
+  <d'8  fis'8 a'8 d''8>
+\end{mudela}
+Recall what was said in the previous section about flats and sharps:
+the \texttt{fis} is an f sharp.  Chords can be entered in the music in
+same places that notes can.  As an example we give a snippet of
+``twinkle twinkle little star'' in chords.  The chords may seem, well,
+unconventional, but they mostly serve to show how chords work 
+\begin{mudela}[verbatim, fragment]
+  c''4 c''4 <c''4 g''4> <c''4 e''4 g''4>
+  <c''4 e''4 a''4> <b'4 d''4 a''4> <b'2 d''2 g''2>
+  <a'4 d''4 f''4> <bes'4 d''4 f''4> <bes'4 c''4 e''4> <g'4 c''4 e''4>
+  <e'4 a'4 d''4> <a4 g'4 cis''4> <d'2 f'2 d''2>
+\end{mudela}
+
+\section{Shortcuts}
+
+If you have typed the last example in to a mudela file, you will have
+noticed that the input has lots of repetitions.  You probably made
+some little errors with the right amount of \texttt{'}'s as well.  For
+these reasons, saving keystrokes and preventing errors, mudela has
+some handy shortcuts.  You don't have to type the duration, if it the
+same as the last duration entered.  This saves a considerable number
+of keystrokes, and thus it reduces the potential for errors.  The
+previous example can be reduced to
+\begin{verbatim}
+  c''4 c'' <c'' g''> <c'' e'' g''>
+  <c'' e'' a''> <b' d'' a''> <b'2 d'' g''>
+  <a'4 d'' f''> <bes' d'' f''> <bes' c'' e''> <g' c'' e''>
+  <e' a' d''> <a g' cis''> <d'2 f' d''>
+\end{verbatim}
+
+[WARNING: relative octaves are still experimental!]
+
+The need for quotes can also be reduced: most of the pitch intervals
+in traditional music are small.  Therefore, it makes sense to leave
+out the quotes when the interval is small.  This is called the
+relative mode for octaves.  You can switch it on by entering
+\verb+\octave relative+.  From then on, the pitch of a note will be
+the closest to the last one, Thus, you can enter a scale without using
+octavation quotes:
+\begin{mudela}[fragment,verbatim]
+    \octave relative;   
+    c d e f g a b c  
+\end{mudela}
+
+The twinkle twinkle example reduces to the following input.
+\begin{verbatim}
+  \octave relative; 
+  c'4 c <c g'> <c, e g>
+  <c, e a> <b, d a'> <b,2 d g>
+  <a,4 d f> <bes, d f> <bes, c e> <g, c e>
+  <e, a d> <a,, g' cis'> <d,2 f d'>
+\end{verbatim}
+
+\section{Finishing touch}
 
-\section{Handy input}
 
 
 \chapter{Features}
@@ -359,7 +437,7 @@ c c' c''
 Prefixing the pitch with a quote \verb+'+
 produces a note by one octave lower
 \begin{mudela}[fragment,verbatim,center]
-a 'a ''a
+a a, a,,
 \end{mudela}
 
 \section{Slurs and Ties}
@@ -458,7 +536,7 @@ a2 s-"diminuendo" | a
 \section{Commands}
 
 \begin{mudela}[fragment,verbatim,center]
-\clef "bass"; 'c
+\clef "bass"; c,
 \end{mudela}
 
 and a clef-change
@@ -472,7 +550,7 @@ and a clef-change
 
 \begin{mudela}[fragment,verbatim,center]
 \key fis cis;
-'g 'a 'b cis d e fis g'
+g, a, b, cis d e fis g'
 \end{mudela}
 Note how Mudela allows you to 
 convey a musical message
@@ -513,7 +591,7 @@ and similarly voices
 \begin{mudela}[fragment,verbatim,center]
 <
         { \voiceone c g c g }
-        { \voicetwo 'c2 'g2 }
+        { \voicetwo c,2 g,2 }
 >
 \end{mudela}
 
@@ -803,7 +881,7 @@ is a A-1 pitched crotchet. The ' signifies an octave change.  A-1 is 440
 Hz concert-pitch. \verb+c'+ is also known as the central c. More examples:
 
 \begin{mudela}[fragment,verbatim]
-        'a      % 110
+        a,      % 110
         a       % 220
         A       % 110, uppercase octavates down
         a'      % 440
index e917dc678091e8d7de16eb58b387f62aabd490ea..3c1b47a61c3671358d450a7f775affaedeb12323 100644 (file)
@@ -34,14 +34,14 @@ and the ftp site.
 =over 4
 
 =item *
-<a href=../input/out-www/index.html
+<a href=input/out-www/index.html
 >
 short examples of what LilyPond can do: MIDI, PS, .gif and input.
 </a
 >
 
 =item *
-<a href=../mutopia/out-www/index.html
+<a href=mutopia/out-www/index.html
 >
 examples of what LilyPond can do
 with real music: MIDI, PS, .gif and input 
@@ -61,7 +61,7 @@ top_of_NEWS
 =over 4
 
 =item *
-<a href=../Documentation/out-www/index.html
+<a href=Documentation/out-www/index.html
 >
 All of the LilyPond documentation.
 </a
index fdc193aef242a1aa8dc7eef1e4ea8eed5454dbc1..fb42e711e0382d16c125ad0243e0d83243d1b654 100644 (file)
@@ -124,6 +124,7 @@ liaison:tie:::overbinding::
 liaison rythmique:legato curve:::::
 ligne:line:::::
 ligne supplémentaire:ledger line:::hulplijntje::
+étang de lis:lilypond:lilyteich:lily pond:lelievijver:stagno del giglio:
 majeur (intervalle):major (interval):::groot (interval)::
 membre de phrase:phrase member:::::
 mesure:bar; measure:::maat, maatstreep::
index 70ee6927dd4910a171a9cc472682ae8661ae6cfc..6c7ee5ec6a1399378109fe17cea8fa40b17e49de 100644 (file)
@@ -61,7 +61,7 @@ RECOMMENDED
 
 
 
-6/May/98                 LilyPond 0.1.62                        1
+7/May/98                 LilyPond 0.1.63                        1
 
 
 
@@ -127,7 +127,7 @@ CONFIGURING and COMPILING
 
 
 
-6/May/98                 LilyPond 0.1.62                        2
+7/May/98                 LilyPond 0.1.63                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-6/May/98                 LilyPond 0.1.62                        3
+7/May/98                 LilyPond 0.1.63                        3
 
 
 
@@ -259,7 +259,7 @@ EXAMPLE
 
 
 
-6/May/98                 LilyPond 0.1.62                        4
+7/May/98                 LilyPond 0.1.63                        4
 
 
 
@@ -325,7 +325,7 @@ AUTHORS
 
 
 
-6/May/98                 LilyPond 0.1.62                        5
+7/May/98                 LilyPond 0.1.63                        5
 
 
 
@@ -391,6 +391,6 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-6/May/98                 LilyPond 0.1.62                        6
+7/May/98                 LilyPond 0.1.63                        6
 
 
diff --git a/NEWS b/NEWS
index cd3c31277ce804380740067454ca43512e88c42e..06305c5fb9cedd4649b33d544d1a647e06bf31b2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,82 @@
+pl 63
+       - non_fatal_error () (should use!)
+       - Mozart Horn concerto 3, horn part
+       - bf: plet-spanner
+
+pl 62.jcn11
+       - bf: beam::set-stemlen:iterations 
+       - knee-bug.ly
+       - use knee in menuetto-ii
+       - bit on slope damping
+       - some bf's and doco
+       - bf's scsii
+       - scsii: bf' new: sarabande
+       - bf's allemande, courante
+       - bf: knee: stem through beams
+       - bf: too high beams
+
+pl 62.hwn1
+       - bf jcn8: deep copy Scope (ughugh.  I want GC!)
+       - cleaned Identifier
+       - mudela 0.1.14  'a -> a,
+       - class Scope
+       - .bib updates
+       - key robustifiction for extreme octaves
+       - ly2dvi 0.11
+       - energy "normalisation" removed. 
+       
+pl 62.jcn8
+       - beam: knee input/test/knee.ly
+       - vimrc init for lily
+       - errors display column number too
+       - scsii: bf's, new: allemande, courante
+       - looked at lyric lengthen "mir________." (eerste weigering)
+       - beam: knee [c \stemdown c' \stemup 'c]
+       - expressions parsed at identifier_init
+       - bf: slur/stem/whole x-adjust: 
+         * use note-col width iso mean note-witdth
+         * note-column:width ()
+       - now string variables in paper too -> mudelapapersize
+       - paper_def: real dict -> identifier dict
+       - My_lily_lexer: identifier dict stack
+       - init paper and a4 stuff
+       - \include \string
+       - all rvalues from parser var pool -> access rvalue as \rvalue
+       - string variables
+       - ly2dvi 0.10.jcn1
+         * mudelapiece, mudelaopus (ugh, fix)
+         * textheight
+       - more titledefs
+       - bf: table 20 typeface widths
+       - bf: toplevel/*.txt
+       - bf: ugly Documentation/mutopia fix (should rename dir to Mutopia/ ?)
+       - bf: make examples
+       - www.digicash.com/~jan/lilypond
+       - make website fixes
+       - ambiguity fixes in .ly's
+       - bf: relative-octave warning
+       - relative-octave: guess if ambiguous
+       - ambiguity warning for relative mode
+       - scsii: prelude 
+       - bf: slur gap
+       - bf's: scsii: menuetto
+       - .txt -> $(DOTTEXT)
+       - make website fixes
+       - .txt fixes
+       - bf: typo make-patch
+       - bf: *dist.sh cleanup
+       - bf: release.py
+       - bf: make/Targets doc (removed .txt extension)
+       - rpm-dist.sh
+       - make doos dist fixes
+       - doos-dist.sh windoze dist script
+       -- removed useless spacing hack at spring-spacer.cc:692
+       - bf: los-toros: do multi-bar rests (setting SkipBars = 1)
+       - scsii-menuetto.ly -> menuetto-urtext.ly, -cello.ly and -alto.ly
+       - bf: \octave c'; for relative-octaves
+       - bf: Documentation make
+
+*********
 pl 62
        - no-touch hak.
        - bfs: multi measure rests
index 47ec14729113cf3859aa22c1c2875d9e825dad8e..424a9b233257d6708cd1dc74467a1e0ea2e57840 100644 (file)
@@ -16,11 +16,13 @@ ABSTRACT
 
        o    make your fix/add your code
 
+       o    Add changes to NEWS, and add yourself to
+            Documentation/AUTHORS.pod
+
        o    generate a patch,
 
        o    e-mail your patch to one of the mailing lists gnu-
-            music-discuss@gnu.org or bug-gnu-music@gnu.org (or if
-            you're a bit shy, to the maintainer).
+            music-discuss@gnu.org or bug-gnu-music@gnu.org
 
 GENERATING A PATCH
        In VERSION, set TOPLEVEL_MY_PATCH_LEVEL:
@@ -56,12 +58,10 @@ PREREQUISITES
        o    All items mentioned in INSTALL.  You're not going to
             send a patch that you haven't even built, right?
 
-       o    GNU Diff
-
 
 
 
-28/Apr/98                LilyPond 0.1.62                        1
+12/May/98                LilyPond 0.1.63                        1
 
 
 
@@ -70,6 +70,8 @@ PREREQUISITES
 PATCHES(1)            LilyPond documentation           PATCHES(1)
 
 
+       o    GNU Diff
+
        o    Python (version 1.4 or newer).  You can of course
             make a patch by hand, which would go something like:
 
@@ -122,12 +124,10 @@ SYNCHRONISE
        i.e. configure
           and files generated by configure.
 
-MAINTAINER
-       Han-Wen Nienhuys <hanwen@cs.ruu.nl>
 
 
 
-28/Apr/98                LilyPond 0.1.62                        2
+12/May/98                LilyPond 0.1.63                        2
 
 
 
@@ -136,10 +136,10 @@ MAINTAINER
 PATCHES(1)            LilyPond documentation           PATCHES(1)
 
 
-       Just keep on sending those patches!
-
-
+MAINTAINER
+       Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
+       Just keep on sending those patches!
 
 
 
@@ -193,6 +193,6 @@ PATCHES(1)            LilyPond documentation           PATCHES(1)
 
 
 
-28/Apr/98                LilyPond 0.1.62                        3
+12/May/98                LilyPond 0.1.63                        3
 
 
diff --git a/TODO b/TODO
index 076258f3c533dc2ad14ed510ad564c33852f5de9..51b540901c8c1609eb898062dcd0f72059273c34 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,6 +7,14 @@ Most of the items are marked in the code as well, with full explanation.
 grep for TODO and ugh/ugr/urg
 
 0.2:
+       * w32 blurb
+
+       * make sure all ex's have a mudela-version
+
+       * notes almost touch barline: whitespace at the begin of the bar 
+        should be at fixed at at least (about) one interline.
+        hack at spring-spacer.cc:662 doen't work anymore
+
        * do rest-collisions for Multi_measure_rests as well.
 
        * split error/warning in error/warning/non_fatal_error
@@ -16,7 +24,9 @@ grep for TODO and ugh/ugr/urg
  
        * deps for ly2dvi
 
-       * depracate \duration
+       * document use of ly2dvi more prominently
+
+       * deprecate \duration
 
        * clean up abbrev/plet/beam/abbrevbeam/duration mess in parser.
 
@@ -34,16 +44,24 @@ grep for TODO and ugh/ugr/urg
        * move all hard-coded constants and staffheight dependent to runtime,
          i.e. init/params.ly.  e.g.: stem length params, beam positions
 
+       * fix variable define/lookup parser global<->paper
+
        * fix position of bar number
 
        * fix position of brace in conjunction with bracket
 
+       * fix title/instrument placements; see input/test/title.ly
+
+       * rename
+         - plet -> tuplet
+         - grav -> engraver
+         - measure -> bar
+         - abbreviation-beam -> (measured/unmeasured) tremolo
+
        * libtoolize flowerlib
 
        * shared lib
 
-       * bf: abbrevbeam? 
-
        * robustify Beam (in case of no stems, 32nd notes)
 
        * check for groff / troff/ nroff et
@@ -52,7 +70,6 @@ grep for TODO and ugh/ugr/urg
        - configure.in 
        - clean-fonts.sh
 
-
        * nicen examples:
        - remove all \multi
        - break-up heavily-nested score blocks
@@ -84,13 +101,13 @@ grep for TODO and ugh/ugr/urg
        * the tenuto script is too long and too thin
 
        * the bracket is ugly (wings are too parabolic, should be more circular)
-
        * better hshift (dots, distance, head dependent)
 
        * stem len adjustable
 
 STUFF
        * convert-mudela:
+       - automatically add  a \version if not present.
        - better parsing
        - make smarter
        - fix convert-mudela -e *.ly ;
@@ -103,6 +120,10 @@ STUFF
 
        * give Items/Spanners access to unbroken originals      
 
+       * generalised scopes for Parser/identifiers.
+
+       * speed up PS code.
+
        * scoping for properties
 
        {       c4
@@ -152,8 +173,6 @@ STUFF
 
        * xdvi: PS in magnifying glass.
 
-       * Fix profiling. gprof bugreport?
-
        * GNU patch 2.1: hardcoded limit of 1024 to the linelength
 
        * GNU diff 2.7: diff -rN does not see a new directory with empty file
@@ -256,7 +275,6 @@ languages:
        - Move all Score_elems, into libmutype.a
  
        * Documentation
-       - Doc Mutopia (Music To The People) 
        - Doc (C) stuff of sheet music
        - a better format?  SGML?  TeX?  Info?
        - a tutorial
@@ -310,7 +328,6 @@ languages:
 
        * markers
 
-
 INPUTLANGUAGE
 
        * c4 4 4 4 for c4 c4 c4 c4?
diff --git a/VERSION b/VERSION
index 71356ecbb71446bbdad2b058c376dc8a1df3883f..c63ff42d3c4ab340131bfa5a02c78ece2f8c34a5 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 MAJOR_VERSION=0
 MINOR_VERSION=1
-PATCH_LEVEL=62
+PATCH_LEVEL=63
 MY_PATCH_LEVEL=
 
 # use the above to send patches, always empty for released version:
index 0ca024ad8f2da010df0db603c0b3fab3ce68d71c..0f4fda05d8439e50b5ef038815efcde40de88f71 100755 (executable)
@@ -14,6 +14,7 @@ fi
 #
 #
 current=`basename \`pwd\``
+# (cd ..; rm -f current)
 (cd ..; rm -f current 2>&1 > /dev/null)
 (cd ..; ln -s $current current)
 #
index e4979d35d6e65aec4f18bfbb7a9f092db61a4096..f4bc9a53b5f93092707e6f23ef7e73b64301b63d 100755 (executable)
@@ -170,6 +170,14 @@ sub convert_0_1_9_to_0_1_10
     s/Grandstaff/Grand_staff/;    
 }
 
+sub convert_0_1_10_to_0_1_14
+{
+    while ( /([ \n\t\]\[<>()])\'+[a-zA-Z]/ )
+    {
+       s/([ \n\t\[<>()\]])\'(\'*[a-zA-Z]+)/$1$2,/g;
+    }
+
+}
 ###############################################################
 
 sub    last_conversion
@@ -220,6 +228,7 @@ my %minor_conversions = ("0.0.50" => \&no_conv,
                         ,"0.1.8" => \&convert_0_1_7_to_0_1_8
                         ,"0.1.9" => \&convert_0_1_8_to_0_1_9
                         ,"0.1.10" => \&convert_0_1_9_to_0_1_10
+                        , "0.1.14" => \&convert_0_1_10_to_0_1_14
                         );
 
  
diff --git a/bin/doos-dist.sh b/bin/doos-dist.sh
new file mode 100644 (file)
index 0000000..baef3fc
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+# doos-dist.sh --- make a windoze distribution
+
+latest=lilypond-`show-latest -p`
+{ cd $LILYPOND_SOURCEDIR; cd ..; 
+export LILYPOND_ROOTDIR=`pwd` }
+
+if [ ! -e $LILYPOND_ROOTDIR/doos/zip ]; then
+       doo mkdir -p $LILYPOND_ROOTDIR/doos/zip
+fi
+
+set -x
+
+cd $LILYPOND_ROOTDIR/doos || exit 1
+
+rm -rf lilypond-*
+
+tar xzf $LILYPOND_ROOTDIR/releases/$latest.tar.gz || exit 1
+cd $latest
+
+export PATH=/usr/doos/bin:$PATH
+configure --host=i386-pc-linux --target=i386-pc-cygwin32 --prefix=/usr --enable-debugging --enable-printing --enable-checking
+
+make
+make doosdist
+
+ln out/$latest.exe.zip $LILYPOND_ROOTDIR/doos/zip
+
index 13b413fc7b09b9c720a9af0935bf4d5e078bf127..ef9977a20709f07e09e086c12897c14aa9b5664c 100644 (file)
@@ -65,7 +65,7 @@ def bib_header (fn):
     if bib_title_re.search (s) == -1:
        raise 'huh?'    
     header.title = bib_title_re.group (1)
-    header.outfile = fn
+    header.outfile = regsub.gsub ( '\.bib$', '.html' , fn)
     return header
 
 
@@ -97,7 +97,7 @@ def print_html_head (l,o,h):
 import getopt
 
 (cl_options, files) = getopt.getopt(sys.argv[1:], 
-                                   'e:h', ['help', 'prefix=' ,'extension='
+                                   'e:h', ['help', 'prefix=' 
                                            , 'title='])
 
 tex = ''
@@ -107,8 +107,6 @@ title = ''
 for opt in cl_options:
     o = opt[0]
     a = opt[1]
-    if o == '--extension' or o == '-e':
-       ext = a
     if o == '--prefix' or o == '-p':
        pre = a
     if o == '--title' or o == '-t':
index 2f048fb4da8cedf4960ddca8e6df765058fa4420..3b502f29220f7baaf59c5693b4c5eda3394d5c75 100755 (executable)
@@ -5,17 +5,45 @@
 # Written by Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>
 #  Sat Nov 22 22:26:43 CET 1997
 #
+# $Id: ly2dvi.sh,v 1.16 1998/05/08 21:18:34 janaf Exp $
+#
 #  Original LaTeX file made by Mats Bengtsson, 17/8 1997
 #
 
-VERSION="0.10"
+VERSION="0.11.hwn1"
 NAME=ly2dvi.sh
 IDENTIFICATION="$NAME $VERSION" 
 NOW=`date`
 echo "$IDENTIFICATION" 1>&2
 
+# TODO:
+#  prevent orphaned "Lily is here" strings
+
 # NEWS
 
+#0.11.hwn1
+# - height vs heigth
+# - robustification: give \nonstopmode as LaTeX arg; no hanging if no TeX file.
+# - robustification: notice failed cp.
+
+#0.11
+#      - more papersizes (thanks Han-Wen) - don't expect LaTeX to accept all...
+#      - -W,--Width=       : set paper width  (points)
+#       - -H,--Height=      : set paper height (points)
+#      - -H and -W is used only when an unknown papersize is to be specified,
+#        and has to be combined with a papersize option known to LaTeX
+#NB!   - -F,--headers=     : name of additional LaTeX headers input file.
+#NB!      Changed from -H to -F
+#      - -d,--dependencies : passed to lilypond
+
+
+#0.10.jcn1
+#      - HEIGHT -> HEIGHT
+#      - vertical margins (for a4), same on both sides
+#      - textheight from lilypond output file (mudelapapertextheight)
+#      - piece titling
+#      - mudelapiece, mudelaopus
+#
 #0.10
 #      - -K,--keeplilypond : Keep lilypond output files (default delete)
 #      - -k,--keeply2dvi   : Keep ly2dvi   output files (default delete)
@@ -24,10 +52,10 @@ echo "$IDENTIFICATION" 1>&2
 #      - Could not reinsert "\usepackage[T1]{fontenc}" because
 #        "los-toros" won't work with it
 #      - Ekstra LaTeX headers from input file
-
 #0.9.hwn1
 #       - option to remove output of lily
-# 0.9  - Trap Lilypond abort
+# 0.9
+#      - Trap Lilypond abort
 #      - Replaced "\usepackage[T1]{fontenc}" with
 #        \usepackage[latin1]{inputenc} (takk, Mats)
 #      - Removed "()" around "\LilyIdString" (Janne didn't want it)
@@ -40,7 +68,7 @@ echo "$IDENTIFICATION" 1>&2
 #      - Improved Lilypond error checking
 #      - Output orientation (landscape...). Overrides mudela file
 #        variable orientation="landscape";
-#      - Paper width and heigth put into variables (only A4!)
+#      - Paper width and height put into variables (only A4!)
 #      - Adjusted top margin to default.....
 #
 #TODO
@@ -170,16 +198,19 @@ Usage: $0 [options] file[s]
 
 Options:
   -D,--debug           set debug mode
-  -H,--headers=        name of additional LaTeX headers file
+  -F,--headers=        name of additional LaTeX headers file
+  -H,--Height=         set paper height (points) (see manual page)
   -K,--keeplilypond    keep lilypond output files
   -L,--landscape       set landscape orientation
   -N,--nonumber        switch off page numbering
-  -O,--orientation=    set orientation (landscape or portrait (default))
-  -o,--output=         set output directory
+  -O,--orientation=    set orientation (obsolete - use -L instead) 
+  -W,--Width=          set paper width (points) (see manual page)
+  -d,--dependencies    tell lilypond make a dependencies file
   -h,--help            this help text
   -k,--keeply2dvi      keep ly2dvi output files
   -l,--language=       give LaTeX language (babel)
-  -p,--papersize=      give LaTeX papersize (eg. a4paper)
+  -o,--output=         set output directory
+  -p,--papersize=      give LaTeX papersize (eg. a4)
   -s,--separate        run all files separately through LaTeX
 
   files may be (a mix of) input to or output from lilypond(1)
@@ -198,10 +229,151 @@ then
   $debug_echo $IDENTIFICATION": temporary directory "$TMP" not found, set to /tmp"
   TMP=/tmp
 fi
-LOGFILE=$TMP/lilylog.$$                        # Logfile for lilypond
-PWIDTH=600;                            # Width of A4 paper!
-PHEIGTH=845;                            # Heigth of A4 paper!
+LOGFILE=$TMP/lilylog.$$                        # Logfile for lilypond
+PAPERSIZE=a4                            # Default papersize name
+PWIDTH=597                              # Default paperwidth
+PHEIGHT=845                             # Default paperheight
 PNUM="%"                                # Page numbering on
+LILYOPTS=""                             # Options to lilypond
+#
+setPaperZize() {
+case "$PAPERSIZE" in
+  a0*)
+    PWIDTH=2389
+    PHEIGHT=3381
+    PAPERSIZE=a0paper
+    ;;
+  a1|a1p*)
+    PWIDTH=1690
+    PHEIGHT=2389
+    PAPERSIZE=a1paper
+    ;;
+  a2*)
+    PWIDTH=1194
+    PHEIGHT=1690
+    PAPERSIZE=a2paper
+    ;;
+  a3*)
+    PWIDTH=845
+    PHEIGHT=1194
+    PAPERSIZE=a3paper
+    ;;
+  a4*)
+    PWIDTH=597
+    PHEIGHT=845
+    PAPERSIZE=a4paper
+    ;;
+  a5*)
+    PWIDTH=423
+    PHEIGHT=597
+    PAPERSIZE=a5paper
+    ;;
+  a6*)
+    PWIDTH=298
+    PHEIGHT=423
+    PAPERSIZE=a6paper
+    ;;
+  a7*)
+    PWIDTH=211
+    PHEIGHT=298
+    PAPERSIZE=a7paper
+    ;;
+  a8*)
+    PWIDTH=305
+    PHEIGHT=211
+    PAPERSIZE=a8paper
+    ;;
+  a9*)
+    PWIDTH=105
+    PHEIGHT=305
+    PAPERSIZE=a9paper
+    ;;
+  a10*)
+    PWIDTH=74
+    PHEIGHT=105
+    PAPERSIZE=a10paper
+    ;;
+  b0*)
+    PWIDTH=2847
+    PHEIGHT=4023
+    PAPERSIZE=b0paper
+    ;;
+  b1*)
+    PWIDTH=2012
+    PHEIGHT=2847
+    PAPERSIZE=b1paper
+    ;;
+  b2*)
+    PWIDTH=1423
+    PHEIGHT=2012
+    PAPERSIZE=b2paper
+    ;;
+  b3*)
+    PWIDTH=1006
+    PHEIGHT=1423
+    PAPERSIZE=b3paper
+    ;;
+  b4*)
+    PWIDTH=712
+    PHEIGHT=1006
+    PAPERSIZE=b4paper
+    ;;
+  b5*)
+    PWIDTH=503
+    PHEIGHT=712
+    PAPERSIZE=b5paper
+    ;;
+  archA)
+    PWIDTH=650
+    PHEIGHT=867
+    ;;
+  archB)
+    PWIDTH=867
+    PHEIGHT=1301
+    ;;
+  archC)
+    PWIDTH=1301
+    PHEIGHT=1734
+    ;;
+  archD)
+    PWIDTH=1734
+    PHEIGHT=2602
+    ;;
+  archE)
+    PWIDTH=2602
+    PHEIGHT=3469
+    ;;
+  flsa|flse)
+    PWIDTH=614
+    PHEIGHT=940
+    ;;
+  halfletter)
+    PWIDTH=397
+    PHEIGHT=614
+    ;;
+  ledger)
+    PWIDTH=1229
+    PHEIGHT=795
+    ;;
+  legal)
+    PWIDTH=614
+    PHEIGHT=1012
+    ;;
+  letter)
+    PWIDTH=614
+    PHEIGHT=795
+    ;;
+  note)
+    PWIDTH=542
+    PHEIGHT=723
+    ;;
+  *)
+    echo ""
+    echo $0": unknown papersize -- "$PAPERSIZE
+    echo ""
+    ;;
+esac
+}
 #
 # RC-files ?
 #
@@ -233,7 +405,7 @@ fi
 if [ -z "$MU_DEF" ]
 then
   MU_DEF="mudelatitle mudelasubtitle mudelacomposer \
-          mudelaarranger mudelainstrument"
+          mudelaopus mudelaarranger mudelapiece mudelainstrument"
 fi
 
 #
@@ -249,7 +421,7 @@ SEPFILE=N
 #
 # "x:" x takes argument
 #
-switches="DH:KLNO:hkl:o:p:s\?"
+switches="DF:H:KLNO:W:dhkl:o:p:s\?"
 options=""
 #
 # ugh, "\-" is a hack to support long options
@@ -264,9 +436,12 @@ do
       [ $debug_echo = echo ] && set -x
       debug_echo=echo
       ;;
-    H  )
+    F  )
       LATEXHF=$OPTARG
       ;;
+    H  )
+      PHEIGHT=$OPTARG
+      ;;
     K  )
       KEEP_LILY_OUTPUT=Y
       ;;
@@ -279,6 +454,12 @@ do
     N  )
       PNUM="\pagestyle{empty}"
       ;;
+    W  )
+      PWIDTH=$OPTARG
+      ;;
+    d  )
+      LILYOPTS=$LILYOPTS" -d"
+      ;;
     h  )
       help;
       exit 0
@@ -306,6 +487,15 @@ do
     -)
       $debug_echo "long option: \`$OPTARG'"
       case "$OPTARG" in
+        He*|-He*)
+          PHEIGHT=`echo $OPTARG | sed -e s/"^.*="//`
+          ;;
+        W*|-W*)
+          PWIDTH=`echo $OPTARG | sed -e s/"^.*="//`
+          ;;
+        dep*|-dep*)
+          LILYOPTS=$LILYOPTS" -d"
+          ;;
         d*|-d*)
           [ $debug_echo = echo ] && set -x
           debug_echo=echo
@@ -363,6 +553,31 @@ then
   exit 1
 fi
 #
+#
+mudelaDefs(){
+# Include \def\mudela-definitions
+#
+for L in $MU_DEF
+do
+  SS=$1
+  # LL=`egrep '^\\\\def.'$L'{' $OF`
+  LL=`egrep '^\\\\def.'$L'{' $File`
+  if [ "$LL" = "" ]
+  then
+    LL=`egrep '^\\\\def.'$L'{' $OF`
+  fi
+  if [ "$LL" != "" ]
+  then
+    ##{
+    LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
+    ##}{
+    if [ "$LLL" != "" ]
+    then
+      echo "$SS\\"$L'{'$LLL'}%'                                >> $LatF
+    fi
+  fi
+done
+}
 startFile(){
 #
 # LaTeX file name
@@ -387,6 +602,7 @@ eval `sed -n \\
   -e 's/\\\\def\\\\mudelalatexheaders{\([^}]*\).*$/fLHF=\1;/p' \\
   -e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
   -e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
+  -e 's/\\\\def\\\\mudelapapertextheight{\([^}]*\).*$/THN=\1;/p' \\
   -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
     $File`
 #
@@ -406,6 +622,7 @@ then
 fi
 if [ -n "$PAPERSIZE" ]
 then
+  setPaperZize
   PAPEROPT=$PAPERSIZE
 fi
 #
@@ -460,12 +677,38 @@ then
 fi
 TWp=`echo $TW | sed -e 's/\..*$//'`
 PWp=$PWIDTH
+#
+# Find textheight
+#
+if [ -n "$THN" ]
+then
+  TH=$THN
+  case $TH in
+    *mm)
+      ;;
+    *cm)
+      ;;
+    *pt)
+      ;;
+    *)
+      TH=$TH"pt"
+      ;;
+  esac
+  $debug_echo "Text height = "$TH
+fi
+THp=`echo $TH | sed -e 's/\..*$//'`
+PHp=$PHEIGHT
 if [ "$ORIENTATION" = "landscape" ]
 then
-  PWp=$PHEIGTH
+  PWp=$PHEIGHT
+  PHp=$PWIDTH
 fi
-MARG=`expr $PWp - $TWp`
-MARG=`expr $MARG / 2`"pt"
+HMARG=`expr $PWp - $TWp`
+HMARG=`expr $HMARG / 2`"pt"
+$debug_echo "Text left = "$HMARG
+VMARG=`expr $PHp - $THp`
+VMARG=`expr $VMARG / 2`"pt"
+$debug_echo "Text top = "$VMARG
 #
 # Geometry: /var/lib/texmf/latex/geometry/geometry.dvi
 #
@@ -477,7 +720,7 @@ cat << EOF > $LatF
 % Automatically generated from  $IF, $NOW
 
 \documentclass$PAPER{article}
-\nonstopmode
+
 $LLNG
 \usepackage{geometry}
 \usepackage[latin1]{inputenc}
@@ -485,34 +728,35 @@ $LLNG
 $PNUM
 %\addtolength{\oddsidemargin}{-1cm}
 %\addtolength{\topmargin}{-1cm}
-\setlength{\textwidth}{$TW}
-%\geometry{width=$TW, left=$MARG, top=1cm}
-\geometry{width=$TW, left=$MARG}
+%\setlength{\textwidth}{$TW}
+%\setlength{\textheight}{$TH}
+%\geometry{width=$TW, left=$HMARG, top=1cm}
+%\geometry{width=$TW, left=$HMARG}
+%\geometry{height=$TH, top=$VMARG}
+% \geometry{body={$PWp pt, $PHp pt}, width=$TW, top=$HMARG, height=$TH, top=$VMARG}
+\geometry{width=$TW, top=$HMARG, height=$TH, top=$VMARG}
 \input lilyponddefs
 \input titledefs
 $LLHF
 \begin{document}
 EOF
-#
-# Include \def\mudela-definitions
-#
-for L in $MU_DEF
-do
-  LL=`egrep '^\\\\def.'$L'{' $OF`
-  if [ "$LL" != "" ]
-  then
-    LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
-    if [ "$LLL" != "" ]
-    then
-      echo "\\"$L'{'$LLL'}%'                                >> $LatF
-    fi
-  fi
-done
-#
+mudelaDefs
 cat << EOF >> $LatF
 \makelilytitle
 EOF
 }
+nextFile(){
+cat << EOF >> $LatF
+\def\theopus{}%
+\def\thepiece{}%
+EOF
+mudelaDefs "\\def"
+cat << EOF >> $LatF
+\def\theopus{\mudelaopus}% ugh
+\def\thepiece{\mudelapiece}%
+\makelilypiecetitle
+EOF
+}
 #
 # Conclusion
 #
@@ -524,7 +768,7 @@ EOF
 #
 # Run LaTeX
 #
-latex $LatF || exit 5
+latex '\nonstopmode \input '$LatF || exit 5
 #
 # Rename dvi file
 #
@@ -532,7 +776,9 @@ if [ -f $FN.dvi ]
 then
     RESULT=$BN.dvi
     [ -n "$OUTPUTDIR" ] && RESULT="$OUTPUTDIR/$RESULT"
-    cp $FN.dvi $RESULT
+    
+    cp $FN.dvi $RESULT || exit 5
+
 fi
 #
 # Output some info
@@ -599,10 +845,12 @@ do
       then
         $debug_echo $IDENTIFICATION": Mudela file not found."
         TW=15.5cm
+        TH=25cm
       fi
     else
       $debug_echo $IDENTIFICATION": Mudela file name not found."
       TW=15.5cm
+      TH=25cm
     fi
   else
     #
@@ -614,9 +862,9 @@ do
     # Run lilypond
     # Grab output file names
     #
-    $debug_echo "lilypond "$IF
+    $debug_echo "lilypond "$LILYOPTS $IF
 
-    lilypond $IF 2>&1  | tee $LOGFILE
+    lilypond $LILYOPTS $IF 2>&1  | tee $LOGFILE
     OF=`egrep '^TeX output to ' $LOGFILE | \\
         sed -e 's/TeX output to//' -e 's/\.\.\.//'`
     $debug_echo "==> "$OF
@@ -648,6 +896,8 @@ do
     then
       FFile=$File
       startFile
+    else
+      nextFile
     fi
     cat << EOF >> $LatF
 \input{$File}
index 620a28a7ddee2764a08f38518c379e31edf96cfe..1da09acd9595094a6d7e4890eef758dd957f2d84 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # make-examples
 
-examples="twinkle-pop wtk1-fugue2 standchen-16 standchen-20 wtk1-prelude1 toccata-fuga-E scsii-menuetto cadenza gallina twinkle collisions font font20 scales rhythm multi spacing beams stem"
+examples="twinkle-pop wtk1-fugue2 standchen-16 standchen-20 wtk1-prelude1 toccata-fuga-E prelude-cello menuetto-cello menuetto-alto cadenza gallina twinkle collisions font font20 scales rhythm multi spacing beams sleur stem"
 pss=$(echo $examples | sed "s/[^ ][^ ]*/out\\/&.ps/g")
 
 # cd ~/lelie/current/Documentation/out
index d72c672e0a572899f8ff643ef3dc8cb2b84d448d..9909bf9b730be6beebe2095c8603fb0dae979f19 100755 (executable)
@@ -55,7 +55,9 @@ Patches do not contain automatically generated files, \n\
 i.e. you should rerun autoconf and configure\n\n'
 
 # ugh, how to get rid of .tex files generated by lily?
-pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec']
+# pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec']
+pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec', 
+  'AUTHORS', 'INSTALL', 'PATCHES']
 
 def remove_automatic(dirnames):
     files = []
index fa6a9c4035e770b62ae3600d54007c9998575c03..731a2ee2eae532427ad2ec9943aec9c1441f0d9a 100755 (executable)
@@ -35,7 +35,7 @@ os.link(released_tarball(cur_ver), tarball(cur_ver))
 os.system('python ' + lilydirs.topdir + '/bin/make-patch.py');
 
 pn = 'patch-%s' % version_tuple_to_str(cur_ver)
-os.system('gzip -9 ' + pn)
+os.system('gzip -9 ' + pn)
 pn = pn + '.gz'
 rel_pn = lilydirs.release_dir + '../patches/' + pn;
 
diff --git a/bin/rpm-dist.sh b/bin/rpm-dist.sh
new file mode 100644 (file)
index 0000000..a10b49f
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+# rpm-dist.sh --- make an rpm distribution
+
+latest=lilypond-`show-latest -p`
+{ cd $LILYPOND_SOURCEDIR; cd ..; 
+export LILYPOND_ROOTDIR=`pwd` }
+
+icon=lelie_icon.gif
+rpmrc=$LILYPOND_SOURCEDIR/make/out/rpmrc
+spec=$LILYPOND_SOURCEDIR/make/out/lilypond.spec
+
+if [ ! -e $LILYPOND_ROOTDIR/releases/$icon ]; then
+       make -C $LILYPOND_ROOTDIR/current/Documentation gifs
+       ln $LILYPOND_ROOTDIR/current/Documentation/out/$icon $LILYPOND_ROOTDIR/releases
+fi
+
+# urg
+user=`whoami`
+if [ "x$user" != "xroot" ]; then
+       echo only root wants to build RPMs
+       exit 2
+fi
+
+if [ ! -e $LILYPOND_ROOTDIR/redhat/BUILD ]; then
+       mkdir -p $LILYPOND_ROOTDIR/redhat/BUILD
+       mkdir -p $LILYPOND_ROOTDIR/redhat/RPMS/i386
+       mkdir -p $LILYPOND_ROOTDIR/redhat/SRPMS
+fi
+
+set -x
+cd $LILYPOND_ROOTDIR/redhat || exit 1
+rm -rf lilypond-*
+
+rpm -ba --rcfile $rpmrc $spec
+
index 1c3d14dd0e9818c43f912dc21e552d1b0391697c..2b2c994d000666f82e45bd18e5ae3fdd37ceaa68 100755 (executable)
@@ -1,8 +1,10 @@
 #!@PERL@
 # -*-Perl-*-
 
-
-$reldir="/home/hanwen/musix/releases";
+$LILYPOND_SOURCEDIR="$ENV{LILYPOND_SOURCEDIR}";
+$LILYPOND_ROOTDIR=`cd $LILYPOND_SOURCEDIR/..; pwd`;
+chop ($LILYPOND_ROOTDIR);
+$reldir="$LILYPOND_ROOTDIR/releases";
 
 use FileHandle;
 use Getopt::Long;
@@ -35,7 +37,7 @@ my $last= (pop @versions);
 
 
 if (  $opt_print ) {
-    print $last;
+    print $last . "\n";
 }
 
 if ( $opt_latest) {
index ce55c055630a2c2b5c40601eec829d43df87ce18..b1d2e2802b04f0486f6577daceeed641a46adffa 100755 (executable)
--- a/configure
+++ b/configure
@@ -1785,6 +1785,9 @@ if test $BISON != "error"; then
     fi 
 fi
 
+if test "$INSTALL" = "bin/install-sh"; then
+    export INSTALL="\$\(depth\)/bin/install-sh"
+fi
 
 # ugh autoconf
 if $CXX --version | grep '2\.[78]' > /dev/null ||
@@ -1799,7 +1802,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1803: checking how to run the C++ preprocessor" >&5
+echo "configure:1806: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1812,12 +1815,12 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 1816 "configure"
+#line 1819 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1837,17 +1840,17 @@ echo "$ac_t""$CXXCPP" 1>&6
 
 ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1841: checking for FlexLexer.h" >&5
+echo "configure:1844: checking for FlexLexer.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1846 "configure"
+#line 1849 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
index 73ab40b1f5d2ec2f943f942bd5772ffbd3b5339b..6baa1002a9fae1e8c8fadf7ab1c824a9a146da40 100644 (file)
@@ -268,6 +268,9 @@ if test $BISON != "error"; then
     fi 
 fi
 
+if test "$INSTALL" = "bin/install-sh"; then
+    export INSTALL="\$\(depth\)/bin/install-sh"
+fi
 
 # ugh autoconf
 changequote(<<, >>)dnl
diff --git a/init/a4.ly b/init/a4.ly
new file mode 100644 (file)
index 0000000..e42ee40
--- /dev/null
@@ -0,0 +1,4 @@
+% a4.ly
+
+hsize = 210.0 \mm;
+vsize = 296.9 \mm;
diff --git a/init/bar-numbering.ly b/init/bar-numbering.ly
new file mode 100644 (file)
index 0000000..e642545
--- /dev/null
@@ -0,0 +1,21 @@
+% bar-numbering.ly
+% 
+Staff = \translator {
+       \type "Engraver_group_engraver";
+       defaultclef = violin;
+
+       \consists "Bar_engraver";
+       \consists "Clef_engraver";
+       \consists "Key_engraver";
+       \consists "Meter_engraver";
+       \consists "Local_key_engraver";
+       \consists "Staff_sym_engraver";
+       \consists "Collision_engraver";
+       \consists "Rest_collision_engraver";
+       \consists "Bar_column_engraver";
+       \consists "Bar_number_engraver";
+       \consists "Separating_line_group_engraver";
+       \consists "Line_group_engraver";
+         
+       \accepts "Voice";
+}
index 01762e927eba9e95a094e1c19d29275309d863a5..e8b9f0c1af3343ca581b7695fec1c1b2eb8bb6b1 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "0.1.10";
+\version "0.1.14";
 
 
 \include "declarations.ly"
index 81fec7443fc330ceee53c2dd47c0b4551759c518..a617abfd57c6dfd085015a0fc2612aab658df4a1 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "0.1.13";
+\version "0.1.14";
 
 
 \include "declarations.ly";
index b38ed08471a71d189bd59b22c43a0c99904ebc39..9952b4372975beef696f61faa9a2dbc8108ded30 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "0.1.10";
+\version "0.1.14";
 
 
 \include "declarations.ly"
diff --git a/init/paper.ly b/init/paper.ly
new file mode 100644 (file)
index 0000000..8585b8a
--- /dev/null
@@ -0,0 +1,9 @@
+% paper.ly
+
+linewidth20 = \hsize - 2.5 * \staffheight;
+textheight20 = \vsize - 7.0 * \staffheight;
+linewidth = \staffheight/20.0 * \linewidth20;
+textheight = \staffheight/20.0 * \textheight20;
+
+indent = \linewidth / 14.0;
+
index 4ad47c88aca646115b7041f1f735047b504d724a..2f2d86a5d4a287acf5f86d3677bdf3c01b01b34e 100644 (file)
@@ -4,7 +4,9 @@
 
 paper_eleven = \paper {
        staffheight = 11.0\pt;
+       % a4 paper
        linewidth = 15.0 \cm;
+       textheight = 15.0 \cm;
 
         % ugh see table11 for sizes
        quartwidth = 3.63\pt;
index 664283269157fba95e1e397aaeb0e539ef5046ad..9c1a5d1e64bc96569679f916e93a1ba124763a80 100644 (file)
@@ -4,7 +4,9 @@
 
 paper_thirteen = \paper {
        staffheight = 13.0\pt;
+       % a4 paper
        linewidth = 15.0 \cm;
+       textheight = 18.0 \cm;
 
        % ugh see table13 for sizes
        quartwidth = 4.29\pt;
@@ -16,5 +18,6 @@ paper_thirteen = \paper {
        
        \symboltables { \table_thirteen }
        \include "params.ly";
+       \include "a4.ly";
 }
 
index 0375e79def6cd7af10d4f5f4365619d9ca3045b6..38247adf4a13ba1cca60751d8c86b904e8fad84c 100644 (file)
@@ -4,11 +4,12 @@
 
 paper_twenty = \paper {
        staffheight = 20.0\pt;
-       linewidth = 17.0 \cm;
+       % where to get papersize (e.g. a5, letter)
+       papersize = "a4";
 
        % ugh see table20 for sizes
-       quartwidth =  6.61\pt;
-       wholewidth = 9.90\pt;
+       quartwidth =  6.61\pt
+       wholewidth = 9.90\pt
 
        basicspace = 8.\pt;
        arithmetic_basicspace = 2.;
index 1e38b8bec8ffc65bdcc8588f81bcc1121110ffc4..357e9c2b347cf18780e3c7a5d11aef8f8f46404c 100644 (file)
@@ -4,7 +4,7 @@
 
 paper_twentysix = \paper {
        staffheight = 20.0\pt;
-       linewidth = 17.0 \cm;
+       papersize = "a4";
 
        % ugh see table26 for sizes
        notewidth = 8.59\pt
@@ -16,5 +16,7 @@ paper_twentysix = \paper {
        
        \symboltables { \table_twenty }
        \include "params.ly";
+       linewidth = linewidth20;
+       textheight = textheight20;
 }
 
index f6313c648bcf06ad754a89e693c00d5d808cf9d7..8e9b2e2d90d40dc080810d73d5c5e8a3e673f190 100644 (file)
@@ -1,38 +1,44 @@
 % params.ly
 % generic paper parameters
 
-interline = staffheight / 4.0;
-internote = interline / 2.0;
-staffline = interline / 10.0;
+paperfile = \papersize + ".ly";
+\include \paperfile;
+\include "paper.ly";
 
-beam_thickness = 0.48 * (interline - staffline);
-interbeam = (2.0 * interline - beam_thickness) / 2.0;
-interbeam4 = (3.0 * interline - beam_thickness) / 3.0;
+interline = \staffheight / 4.0;
+internote = \interline / 2.0;
+staffline = \interline / 10.0;
+
+beam_thickness = 0.48 * (\interline - \staffline);
+interbeam = (2.0 * \interline - \beam_thickness) / 2.0;
+interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
 
 % OSU: suggested gap = ss / 5;
-slur_x_gap = interline / 5.0;
-slur_x_minimum = 2.0 * interline;
-tie_x_minimum = slur_x_minimum;
-tie_x_gap = slur_x_gap;
+slur_x_gap = \interline / 5.0;
+slur_x_minimum = 2.0 * \interline;
+slur_slope_damping = 0.3;
+tie_x_minimum = \slur_x_minimum;
+tie_x_gap = \slur_x_gap;
+tie_slope_damping = 0.3;
 
 % ugh: rename to bow (in bezier.cc and fonts.doc too...)
-slur_thickness = 1.8 * staffline;
-slur_height_limit = staffheight;
-slur_ratio = 1.0 / 3.0;
+% slur_thickness = 1.8 * \staffline;
+slur_thickness = 1.4 * \staffline;
+slur_height_limit = \staffheight;
+% mmm, try bit flatter slurs
+% slur_ratio = 1.0 / 3.0;
+slur_ratio = 0.3;
 slur_clip_ratio = 1.2;
-slur_clip_height = 3.0 * staffheight;
+slur_clip_height = 3.0 * \staffheight;
 slur_clip_angle = 100.0;
 slur_rc_factor = 2.4;
 
 % ugh
-notewidth = (quartwidth + wholewidth) / 2.0;
+notewidth = (\quartwidth + \wholewidth) / 2.0;
 
 % ugh
-barsize = staffheight;
-rulethickness = staffline;
-
-% mmm
-indent = linewidth / 14.0;
+barsize = \staffheight;
+rulethickness = \staffline;
 
 % uhm
 unitspace = 22.\pt;
diff --git a/init/score-bar-numbering.ly b/init/score-bar-numbering.ly
new file mode 100644 (file)
index 0000000..3e47d6e
--- /dev/null
@@ -0,0 +1,19 @@
+Score = \translator {
+       \type Score_engraver;
+
+       \consists "Timing_engraver";
+       \consists "Bar_column_engraver";
+       \consists "Bar_number_engraver";
+       \consists "Span_score_bar_engraver";
+       \consists "Score_priority_engraver";
+       \consists "Priority_horizontal_align_engraver";
+       \consists "Vertical_align_engraver";
+
+
+       \accepts "Staff_group";
+       \accepts "Staff";
+       \accepts "Rhythmic_staff";      
+       \accepts "Lyrics";
+       \accepts "Grand_staff";
+}
+
index 9d878ca7bbf2bf305432902ee142f40c303b8bd6..3b39cc6c1a3bb8d522184537676f755a6906a6b1 100644 (file)
@@ -2,10 +2,11 @@
 Gourlay = 1.0
 \include "nederlands.ly" 
 
-\include "paper16.ly"
+\include "paper20.ly"
 
 default_paper = \paper{
-       \paper_sixteen
+       \paper_twenty
 }
 
+\maininput
 
index 52068215815a05bcf1c0efbe0abad808b2b73d82..0ee27d15b3ce6a1860ef2a42b369169e3b638561 100644 (file)
@@ -12,13 +12,13 @@ table_twenty =
     % index TeXstring,         xmin xmax ymin ymax
 
      "style" = \table {
-               "bold"  "\setbold{%}"   0.0\pt  7.50\pt 0.0\pt  8.0\pt
+               "bold"  "\setbold{%}"   0.0\pt  5.50\pt 0.0\pt  8.0\pt
                "dynamic"       "\setdynamic{%}"        0.0\pt  0.0\pt  0.0\pt  10.0\pt
                "finger"        "\setfinger{%}" 0.0\pt  0.0\pt  0.0\pt  5.0\pt
-               "italic"        "\setitalic{%}" 0.0\pt  7.5\pt  0.0\pt  10.0\pt
-               "large" "\setlarge{%}"  0.0\pt  9.50\pt 0.0\pt  12.0\pt
+               "italic"        "\setitalic{%}" 0.0\pt  5.5\pt  0.0\pt  10.0\pt
+               "large" "\setlarge{%}"  0.0\pt  6.50\pt 0.0\pt  12.0\pt
                "number"        "\setnumber{%}" 0.0\pt  8.0\pt  0.0\pt  10.0\pt
-               "roman" "\settext{%}"   0.0\pt  7.5\pt  0.0\pt  10.0\pt
+               "roman" "\settext{%}"   0.0\pt  5.0\pt  0.0\pt  10.0\pt
      }
 
      "dynamics" = \table {
index b74c0c32a3c5bc9e9b10379a471bfc126e2c9b44..07f36f84d16456b43c98e190e58fd5c118122a4e 100644 (file)
@@ -9,6 +9,6 @@ SUBDIRS=test bugs
 
 include $(depth)/make/Mutopia.make
 
-examples=twinkle-pop praeludium-fuga-E cadenza twinkle
+examples=twinkle-pop praeludium-fuga-E twinkle
 
 include $(depth)/make/WWW.make
index b03bae72a4eac4d052a849dd81fcf20f9e216d6b..a221caa99d8f9cc0ef31a712889d50a2100f8cb4 100644 (file)
@@ -7,3 +7,8 @@ depth = ../..
 
 
 include $(depth)/make/Mutopia.make
+
+examples= #beam-bug slur-bug  #why would we want to  demo Lily's errors?
+
+include $(depth)/make/WWW.make
+
index 1c1d75b1571820a326f756b600be42df84fa6843..0c6c3698f585197011729b7412a6d0f16fa17351 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs"
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 shortlong = \melodic{
        \octave c';
@@ -36,8 +36,8 @@ broken = \melodic{
       a' a' a' a'()
       c( c c )c 
       c( c c )'f 
-      'f( c c )c 
-      'f( c c )'f
+      f,( c c )c 
+      f,( c c )'f
 }
 
 \score{
index 75a8669be5732b0716c38dbea6a765f622b5a4c7..571d981736cd0ef97f6bb1c57e8ce48702cf6fc6 100644 (file)
@@ -10,7 +10,7 @@ one = \melodic{
        \octave c';
 %            [e'16 c'' g' f']
        [e'32 c'' g' f']
-       [c32 c] ['b 'b]
+       [c32 c] ['b b,]
        [c8 c]
        [e8 g b]
        [e16 g b] c c c
@@ -21,7 +21,7 @@ one = \melodic{
        [e'8 c'' g' f']
        [e'16 c'' g' f']
        [e'32 c'' g' f']
-       [c32 c] ['b 'b]
+       [c32 c] ['b b,]
        [c8 c]
        [e8 g b]
        [e16 g b] c
index 6de3788161be12e8138edc0b9376a7d48c30f6a2..474bf96c2308a0c2f45e386569dcdae0687b739a 100644 (file)
@@ -4,6 +4,6 @@
        \melodic{
                \octave c; 
                \stemdown; 
-               \[4/5c8( c ''f c c\]1/1 c c c )c |
+               \[4/5c8( c f,, c c\]1/1 c c c )c |
        }
 }
diff --git a/input/cadenza.ly b/input/cadenza.ly
deleted file mode 100644 (file)
index 54abee9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-\header{
-filename =      "cadenza.ly";
-title =         "Cadenza ad libitum";
-description =   "Cadenza to Mozart Horn concerto 3";
-composer =      "unknown";
-enteredby =     "HWN";
-copyright =     "public domain";
-}
-
-%{
-Tested Features: cadenza mode
-
-Ugh.. Wish we had grace notes....  It adds another dimension to this
-piece of music.  %}
-
-\version "0.1.10";
-
-
-cad = \melodic  {
-       \property Score.instrument = "french horn"
-       \type Staff {
-       \cadenza 1;
-       \grouping 1*4;
-       \octave c';
-
-       \clef "violin";
-       c'4.\mf g8
-
-
-       [e'^"accel" () d' c' b]
-       [b() c'] g-\fermata
-               \bar "empty";
-                       c [c_"rubato" e g c']
-       \octave c'';
-       e4. e8 [g () f_"rit" e d]
-
-       dis4() e4
-               \bar "" ;
-               r8 [c16 d] [e f g gis]
-
-       a4-> 'f() 'e g
-       f-> 'd() 'cis e
-
-       d4^\fermata
-               \bar "" ;
-
-       r8 'a ['b cis]
-       [d16 cis d e]
-       f4() [f16 e d c]
-       'b4-\turn
-       \octave c'; [2/3 d'8 c'8 a8]1/1
-       g2
-               \bar "" ;
-       [g16 c e g] [c' e g c']\octave c''; 
-       [e 'g c e] g4^\fermata 
-               \bar "" ;
-       [g8.(_"a tempo" e16 g8. )e16]
-       a4. g8 [f8 e8 d8 c8]
-       'g2 d2-\trill
-       c4
-       }}
-\score {
-       \melodic { \cad }
-       \midi { \tempo 4 = 90; }
-       \paper {
-       }
-}
index 656491bab3e17ceb7e701bdaaec85c6abaf48571..7013335d91ed3872653c08564c84d83b07e48787 100644 (file)
@@ -16,7 +16,7 @@ TestedFeatures:
 % (maybe even sooner :-)
 %
 
-\version "0.1.10";
+\version "0.1.14";
 
 alto1 = \melodic{
        \meter 4/4; 
@@ -42,7 +42,7 @@ alto1 = \melodic{
 }
 
 alto2 = \melodic{ 
-               \octave  'c ;
+               \octave  c, ;
                \textstyle "italic";
                % this should be a \dynamic, rather than text
                [ c8 c8_"cresc. \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \ 
@@ -63,7 +63,7 @@ alto2 = \melodic{
                % the c4 and c2, however are really 16th...
                        % we-ll say "simile" for now...
        % 
-               \octave  'c ;
+               \octave  c, ;
                \type Voice="altodivisi2" {
                \stemdown
                as4: as4: as2}
index 5ea9c767f71ce270a8cd2684bd4cf20d46f07be2..30ec969af80a22e46e0cbc5ccbb4fd9d3cfcf195 100644 (file)
@@ -1,4 +1,4 @@
-\version "0.1.10";
+\version "0.1.14";
 
 
 blah = \melodic{
index e3cac3ecf205eb7195ca7c0897708ae51032a2e7..573fb58e66eefb5f2865f0eb6725227b7a987157 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "public domain";
 Tested Features: example file with comments
 
 %}
-\version "0.1.10";
+\version "0.1.14";
 
 
 % the % is a comment.
@@ -48,14 +48,14 @@ begeleiding = \melodic{
        \octave  c';            % default octave: 1 below the first octave.
 
        %%% theme
-       'c4                     % ' before note means one octave lower.
+       c,4                     % ' before note means one octave lower.
                                % Similarly: ' after means one higher.
-          c    e c     f c     e c     d 'b    c 'a    'f 'g   'c2 |
+          c    e c     f c     e c     d b,    c a,    f, g,   c,2 |
        \octave  c ;
-       e4 'g   d 'g    c 'g    'b 'g   e 'g    d 'g    c 'g    'b 'g
+       e4 g,   d g,    c g,    b, g,   e g,    d g,    c g,    b, g,
        %%%% var 1
        r8 e8()  c4     r8 e8()  c4     r8 f8() c4      r8 e8() c4
-       r8 d8() 'b4     r8 c8() 'a4     r8 'a8() 'f4    r8 'e8() 'c4
+       r8 d8() b,4     r8 c8() a,4     r8 a,8() f,4    r8 e,8() c,4
 }
 
 \score{
diff --git a/input/minimal.ly b/input/minimal.ly
new file mode 100644 (file)
index 0000000..58ba75e
--- /dev/null
@@ -0,0 +1,52 @@
+\notenames {
+ c  = \melodic_request { -1 0 0 }
+}
+
+%default_paper = \paper{
+paper_minimal = \paper{
+ bla = 0.0;
+ blo = 0.0;
+
+ castingalgorithm = 0.0;
+ linewidth = 15.0\cm;
+ staffsize = 20.0\pt;
+ interline = \linewidth / 14.0;
+ notewidth = \interline;
+ internote = \interline / 2.0;
+
+ arithmetic_basicspace = 1.0;
+ arithmetic_multiplier = 1.0;
+ geometric = 0.0;
+
+  Score = \translator {
+   \type Score_engraver;
+   \consists "Note_head_engraver" ;
+  }
+
+ bli = "hi";
+
+ \symboltables { 
+   \texid      "\input lilyponddefs \musixtwentydefs"
+   "balls"  = \table {
+       "2" "\\quartball" 0.00\pt 3.63\pt -1.51\pt 1.51\pt 
+       "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt 
+    }
+    "param" = \table {
+       "fill"  "\hbox{}"
+%       "rule" "\rulesym{%}{%}"
+    }
+  }
+}
+
+default_paper = \paper{
+       \paper_minimal
+}
+
+\score{
+% \melodic_request { -1 0 0 }
+ \melodic{ c'' }
+ \paper{
+  bla = 0.0;
+ }
+}
+
index 27542ccc8b02e02b29b362581497926d18cb951d..acc7015351d1e53084de73f9414290a3a35902db 100644 (file)
@@ -21,7 +21,7 @@ construct to get multiple staffs, it's cleaner
 %}
 
 
-\version "0.1.10";
+\version "0.1.14";
 
 \score{
        \melodic 
index bdf20beb9d437f4ef3eccb75be01196b903d10c7..8232e0ac75c478cc455b5c9033d40cc420122ce6 100644 (file)
@@ -24,7 +24,7 @@
 % \lbheel \lbheel \lfheel \lftoe
 % \rbheel \rbtoe \rfheel \rftoe
 
-\version "0.1.10";
+\version "0.1.14";
 
 \score{
                \melodic {
                        \octave c;
                        % silly chord testing...
 % these should be stacked...
-%                      < 'c-\ltoe 'e-\lheel > < c'-\rtoe e'-\rheel>
-%                      < 'c-\lheel 'e-\ltoe > < c'-\rheel e'-\rtoe> |
-                       < 'c-\ltoe-\lheel 'e > < c'-\rtoe-\rheel e' >
-                       < 'c-\lheel-\ltoe 'e > < c'-\rheel-\rtoe e' > |
+%                      < c,-\ltoe e,-\lheel > < c'-\rtoe e'-\rheel>
+%                      < c,-\lheel e,-\ltoe > < c'-\rheel e'-\rtoe> |
+                       < c,-\ltoe-\lheel e, > < c'-\rtoe-\rheel e' >
+                       < c,-\lheel-\ltoe e, > < c'-\rheel-\rtoe e' > |
                        % 46
 
                        [d16-\lfheel e-\rbtoe fis-\ltoe e-\rbtoe]
index 0b4525b396f4412961e3e6e2f4bb62a8dd56f469..6c590f3cb39b1c88ff81aee99a60b0be24e73954 100644 (file)
@@ -19,7 +19,7 @@
    * organ staff...
 %}
 
-\version "0.1.10";
+\version "0.1.14";
 
 noShift = { \property Voice.hshift = 0 }
 Shift = { \property Voice.hshift = 1 }
@@ -77,9 +77,9 @@ praeludium_pedal = \melodic {
   \clef bass;
 
   % 13
-  r4 'fis4-\ltoe 'e4.-\lheel e8-\rheel | 
+  r4 fis,4-\ltoe e,4.-\lheel e8-\rheel | 
   fis4.-\rtoe fis8-\rtoe fis4-\rtoe [e8-\ltoe a8-\rtoe] | 
-  dis4-\ltoe gis4-\rtoe [cis8-\ltoe 'b!8-\lheel 'ais8-\rtoe 'gis8-\ltoe] |
+  dis4-\ltoe gis4-\rtoe [cis8-\ltoe b,!8-\lheel ais,8-\rtoe gis,8-\ltoe] |
   % 16
 }
 
@@ -152,9 +152,9 @@ fuga2_pedal = \melodic {
 
   % 15
   dis4.-\ltoe e8-\rtoe cis4 |
-  'b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
+  b,4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
   fis4.-\rtoe [e8-\rheel dis8-\rtoe cis8-\ltoe] |
-  dis4-\rtoe e4-\rheel 'e4-\ltoe |
+  dis4-\rtoe e4-\rheel e,4-\ltoe |
   % 19
 }
 
index 2ceedaa4f9350d63d303ed0b57fa54254731e156..5e24efffe321af051353c8e8e64b2da4480c2e9a 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures =         "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "0.1.10";
+\version "0.1.14";
 
 ritme = \melodic{ %\octave ;
        \partial 8;
index 373689564877774139815c5cb1d9e5ee0ead412b..78391cf07e9d3d6ccc61c36d7aa158f36ea4c6ce 100644 (file)
@@ -12,10 +12,10 @@ copyright =  "public domain";
 % scales with accents.
 %
 
-\version "0.1.10";
+\version "0.1.14";
 blah =         \melodic {
                \meter 6/8;     
-               \octave  'c ;
+               \octave  c, ;
                \clef "bass";
                        c4. d
                \octave  c ;
@@ -31,24 +31,24 @@ blah =      \melodic {
                 |[6/9 a  a a a a a a a \! a ]1/1 |
                \octave  c'' ; 
        
-                [6/9'c->-.-\fermata \< 'g->-.-\fermata 
+                [6/9'c->-.-\fermata \< g,->-.-\fermata 
                        d->-.-\fermata a->-.-\fermata
                        e'->-.-\fermata b'-. f''-. c'''->-.-\fermata 
                        \! g'''->-.-\fermata \> ]1/1
 
                [6/9 g'''->-.-\fermata c'''->-.-\fermata
                        f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata 
-                       a->-.-\fermata d->-.-\fermata 'g->-.-\fermata \! 
-                       'c->-.-\fermata ]1/1
+                       a->-.-\fermata d->-.-\fermata g,->-.-\fermata \! 
+                       c,->-.-\fermata ]1/1
                 \octave c;
-               [6/9'c->-.-\fermata \< 'g->-.-\fermata d->-.-\fermata 
+               [6/9'c->-.-\fermata \< g,->-.-\fermata d->-.-\fermata 
                a->-.-\fermata
                        e'->-.-\fermata b'-. f''-. 
                        c'''->-.-\fermata \! g'''->-.-\fermata \> ]1/1
                 [6/9 g'''->-.-\fermata c'''->-.-\fermata
                        f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata 
                        a->-.-\fermata d->-.-\fermata 
-                       'g->-.-\fermata \! 'c->-.-\fermata ]1/1
+                       g,->-.-\fermata \! c,->-.-\fermata ]1/1
                \octave  c' ;
                \octave  c' ;   
                 [2/3 c g d' ]1/1 
index 19c6751e26c2f8f2cf7dacab569a1634248309d9..956a089f7bb45c82ada0596f82fcce1af580679b 100644 (file)
@@ -1,47 +1,47 @@
        
-\version "0.1.10";
+\version "0.1.14";
 
 
 blah =         \melodic {
        \octave c';
-       'c4 ->-.-\fermata-"text"
+       c,4 ->-.-\fermata-"text"
        c ->-.-\fermata-"text"
        c' ->-.-\fermata-"text"
        c'' ->-.-\fermata-"text"
 
-       'd ->-.-\fermata-"text"
+       d, ->-.-\fermata-"text"
        d ->-.-\fermata-"text"
        d' ->-.-\fermata-"text"
        d'' ->-.-\fermata-"text"
 
-       'c ^>^.^\fermata^"text"
+       c, ^>^.^\fermata^"text"
        c ^>^.^\fermata^"text"
        c' ^>^.^\fermata^"text"
        c'' ^>^.^\fermata^"text"
 
-       'd ^>^.^\fermata^"text"
+       d, ^>^.^\fermata^"text"
        d ^>^.^\fermata^"text"
        d' ^>^.^\fermata^"text"
        d'' ^>^.^\fermata ^"text"
 
-       'c _>_._\fermata _"text"
+       c, _>_._\fermata _"text"
        c _>_._\fermata _"text"
        c' _>_._\fermata _"text"
        c'' _>_._\fermata _"text"
 
-       'd _>_._\fermata _"text"
+       d, _>_._\fermata _"text"
        d _>_._\fermata _"text"
        d' _>_._\fermata _"text"
        d'' _>_._\fermata _"text"
                        
        \stemup
-       'b-. c-. d-. e-. f-. g-. a-. b-. c'-.
+       b,-. c-. d-. e-. f-. g-. a-. b-. c'-.
        \stemdown
        a-. b-. c'-. d'-. e'-. f'-. g'-. a'-. b'-.
        \stemup
-       'b-> c-> d-> e-> f-> g-> a-> b-> c'->
+       b,-> c-> d-> e-> f-> g-> a-> b-> c'->
        \stemup
-       'b---. c---. d---. e---. f---. g---. a---. b---. c'---.
+       b,---. c---. d---. e---. f---. g---. a---. b---. c'---.
        \stemboth
 
       \meter 4/4;
index 9fa614ef2e78834654917c33bb571f2d0c9ca70b..c06a326f623a702a1a0fcd4562b0005a85306d91 100644 (file)
@@ -5,9 +5,8 @@
 depth = ../..
 #
 
-
-examples = font20
-
 include $(depth)/make/Mutopia.make
 
+examples=font20 denneboom spacing 
+
 include $(depth)/make/WWW.make
index ff1f127511bb347edf45a89383db73b1c1bb75a6..9e84886ea1a0f6ddaadee466305402999ce2e25b 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "PD";
 
 TestedFeatures =        "beams and beamflags";
 }
-\version "0.1.10";
+\version "0.1.14";
 
 \score{
        <
@@ -41,11 +41,11 @@ TestedFeatures =     "beams and beamflags";
                \melodic { 
                        \octave c';  
                        \meter 8/4;
-                       \stemdown [a'8 'a c e]
-                       \stemdown [a'16 'a c e]
-                       \stemdown [a'32 'a c e]
-                       \stemdown [a'64 'a c e]
-                       \stemdown [a'128 'a c e]
+                       \stemdown [a'8 a, c e]
+                       \stemdown [a'16 a, c e]
+                       \stemdown [a'32 a, c e]
+                       \stemdown [a'64 a, c e]
+                       \stemdown [a'128 a, c e]
                        r32
 
                        \octave c;
index 17a90a08b279b6591f0ec4844ffbed703b81a68f..54a6565f534e928a316ae999c5b2cf0ff43f06a0 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests Feta embedded slurs"
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 shortlong = \melodic{
        c4()c( c c  |
@@ -25,8 +25,8 @@ broken = \melodic{
       a' a' a' a'()
       c( c c )c 
       c( c c )'f 
-      'f( c c )c 
-      'f( c c )'f
+      f,( c c )c 
+      f,( c c )'f
 }
 
 \score{
index ba1be97c6cddd4241aeaa2d564f7b447a0204a2f..fa3106ebc21588c26104efaf0626c548b8d6f1af 100644 (file)
@@ -5,7 +5,7 @@ enteredby =      "HWN,JCN";
 copyright =     "public domain";
 Tested =        "test the Collision resolution ";
 }
-\version "0.1.10";
+\version "0.1.14";
 
 
 
index f870302100282f86793f6d92bcce6d3724580d89..8e955b22e9c19a69b9960bd334f3da1faa941d85 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes";
 
 \include "paper20.ly"
 
-\version "0.1.10";
+\version "0.1.14";
 
 oden = \lyric{ 
        O8 |
@@ -35,10 +35,10 @@ ugloeit = \lyric{
 
 oboom = \melodic{
        \octave c';
-       'g8 |
+       g,8 |
        c8. c16 c4. d8 | 
        e8. e16 e4. e8 | 
-       d  e f4 'b | 
+       d  e f4 b, | 
        d8. c16 c4 r8
 }
 
index b2b222c3415b4085ed21f513414fc1d4fec24fa8..3ca03b6f8c3c7f3b24072dfc76772d008f09cce3 100644 (file)
@@ -1,11 +1,11 @@
-\version "0.1.10";
+\version "0.1.14";
 FontBody=      \melodic{ 
                \octave c';
                \bar "|:";
                \meter 4/4;
                \multi 2  < { \stemup e'\longa a\breve | }
                { \stemdown
-               c1 \clef "bass"; ''b \clef "violin"; c' a'
+               c1 \clef "bass"; b,, \clef "violin"; c' a'
                c2 \clef "alto"; g c' \clef "violin"; a'
                } >
                \stemboth
@@ -20,7 +20,7 @@ FontBody=     \melodic{
                \clef "bass";
                  r1 r2 r4 r8 r16 r32 r64 r128 r128 |
                \multi 2 < { \stemup r2 r2} {\stemdown c c }>
-               \multi 2 < { \stemup ''c1 } {\stemdown r1}>             
+               \multi 2 < { \stemup c,,1 } {\stemdown r1}>             
                \stemboth
                \clef "violin";
                e8_. g'8-> e16^^ g'16_^ 
index 6ae34c8633449c49f8279693c76c18311537e965..1047e9883e375774086088116df1e4d2877244d5 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "font-body.ly"
 \score{
index 1507d2c66e540e6ff919c75fb807eb0b8dbb3f49..bc8c5a1c77664c2c2dd242b6c77803d152328f37 100644 (file)
@@ -7,7 +7,7 @@ description = "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 \include "font-body.ly"
 
 \score{
index f57627fde544a7a9fba2e3d3e5e0613f46224be7..6c627538da313adeda5bcb9b2055807e6858771a 100644 (file)
@@ -4,7 +4,7 @@ copyright =      "PD";
 TestedFeatures =        "This file tests some nasty Gourlay spacings";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 %{
 
diff --git a/input/test/knee.ly b/input/test/knee.ly
new file mode 100644 (file)
index 0000000..502d255
--- /dev/null
@@ -0,0 +1,7 @@
+\version "0.1.14";
+\score{
+       \melodic{
+               \octave relative;
+               [c16 \stemdown c'' \stemboth c,, d]
+       }
+}
index 3026613cae0e5b11119a9ded343b86dbe655dce4..508ba0226a9eddb37b9615e1471ba89f9b3b5f57 100644 (file)
@@ -5,13 +5,13 @@ TestedFeatures =       "This file tests Feta embedded slurs"
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 shortlong = \melodic{
        c4()c( c c  |
        c c c c |
        c c c c |
-       \break;
+       \break
        c c c )c |
 }
 
@@ -22,9 +22,9 @@ dirs = \melodic {
 
 complex = \melodic{
        \octave c';
-       'c16( 'e( 'g( 'b( d( f( a( c'())))))))c4 c4 |
+       c,16( e,( g,( b,( d( f( a( c'())))))))c4 c4 |
        \octave c''';
-       'c16( a( f( d( 'b( 'g( 'e( 'c())))))))c4 c4 |
+       c,16( a( f( d( b,( g,( e,( c,())))))))c4 c4 |
 }
 
 over = \melodic{
@@ -56,24 +56,24 @@ under = \melodic{
        \stemdown 
        f'( \stemboth d d \stemdown )f'
        f'( \stemboth c c \stemdown )f'
-       f'( \stemboth 'b 'b \stemdown )f'
-       f'( \stemboth 'a 'a \stemdown )f'
+       f'( \stemboth b, b, \stemdown )f'
+       f'( \stemboth a, a, \stemdown )f'
        \stemdown
        f'( a a )f'
        f'( g g )f'
        f'( f f )f'
-       f'( 'a 'a )f'
+       f'( a, a, )f'
 
        \stemdown 
-       f'( \stemboth d 'b \stemdown )f'
-       f'( \stemboth 'b d \stemdown )f'
-       f'( \stemboth 'd 'b \stemdown )f'
-       f'( \stemboth 'b 'd \stemdown )f'
+       f'( \stemboth d b, \stemdown )f'
+       f'( \stemboth b, d \stemdown )f'
+       f'( \stemboth d, b, \stemdown )f'
+       f'( \stemboth b, d, \stemdown )f'
        \stemdown
        f'( f a )f'
        f'( a f )f'
-       f'( f 'e )f'
-       f'( 'e f )f'
+       f'( f e, )f'
+       f'( e, f )f'
 }
 
 eccentric = \melodic{
@@ -96,9 +96,9 @@ tiltup = \melodic{
        \stemup
        e( c'' f )e'
        \stemdown 
-       f'( \stemboth 'a 'a \stemdown )f''
+       f'( \stemboth a, a, \stemdown )f''
        \stemdown
-       f'( 'a 'a )f''
+       f'( a, a, )f''
 }
 
 tiltdown = \melodic{
@@ -111,9 +111,9 @@ tiltdown = \melodic{
        \stemup
        e'( c'' f )e
        \stemdown 
-       f''( \stemboth 'a 'a \stemdown )f'
+       f''( \stemboth a, a, \stemdown )f'
        \stemdown
-       f''( 'a 'a )f'
+       f''( a, a, )f'
 }
 
 broken = \melodic{
@@ -126,8 +126,8 @@ broken = \melodic{
       a' a' a' a'()
       c( c c )c 
       c( c c )'f 
-      'f( c c )c 
-      'f( c c )'f
+      f,( c c )c 
+      f,( c c )'f
 }
 
 blend =        \melodic{
@@ -137,8 +137,8 @@ blend =     \melodic{
        f'( c'' c'' )f'
        e( c'' c'' )e
        \stemdown
-       f'( \stemboth 'a 'a \stemdown )f'
-       f'( 'a 'a )f'
+       f'( \stemboth a, a, \stemdown )f'
+       f'( a, a, )f'
 
        \stemboth
        e( c'' c'' )e'
@@ -168,9 +168,9 @@ clipping = \melodic{
        c( c''' c )c''
        c''( c c''' )c
        \stemdown
-       c( \stemup '''c '''c \stemdown )c
-       c( \stemup '''c c \stemdown )''c
-       ''c( \stemup c '''c \stemdown )c
+       c( \stemup c,,, c,,, \stemdown )c
+       c( \stemup c,,, c \stemdown )''c
+       c,,( \stemup c c,,, \stemdown )c
 }
 
 \score{
diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly
new file mode 100644 (file)
index 0000000..6634879
--- /dev/null
@@ -0,0 +1,11 @@
+% test damping
+
+\score{
+       \melodic{
+               \octave relative;
+               c'()b' ~ 'b c
+               c c c c
+               c c c c
+               c c c c
+       }
+}
index 14dedf18fe0653f109f329cd72e14ed813bbc8f8..8574c0f75014b019b2a32c6e67ded473bc594b9b 100644 (file)
@@ -1,12 +1,12 @@
 
-\version "0.1.10";
+\version "0.1.14";
 
 \score{
        \melodic{\octave c';
 
-               'c4 ~ 'c c'' ~ c'' ~ g ~ c ~
+               c,4 ~ c, c'' ~ c'' ~ g ~ c ~
                d ~ e ~ f ~ g ~
-               a ~ b ~ 'c ~ c
+               a ~ b ~ c, ~ c
 
                < c e ( > <)d f> 
                \octave c'';
@@ -23,9 +23,9 @@
 
        {
 %              \octave c';
-%              'c16( 'e( 'g( 'b( d( f( a( c'~ )))))))c4 c4 |
+%              c,16( e,( g,( b,( d( f( a( c'~ )))))))c4 c4 |
 %              \octave c''';
-%              'c16( a( f( d( 'b( 'g( 'e( 'c~ )))))))c4 c4 |
+%              c,16( a( f( d( b,( g,( e,( c,~ )))))))c4 c4 |
 %              \octave c';
 %              c'1() g' () c () g () c |
 
index 710df30c48583e3e9a504b4ec726f05f6a1e51eb..88e7eb85d49b0a99427d21e97db6c3202a0d6ea4 100644 (file)
@@ -6,7 +6,7 @@ copyright =      "public domain";
 TestedFeatures =        "This file tests various spacings";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 multipart = \melodic{ 
     \multi 3 < 
index 8cd604af5f90380bf4f4bff247fed997c8d805ca..60d6700600df622d8baf7d8d0e469b0c7b801ac7 100644 (file)
@@ -8,39 +8,39 @@ of beams";
        
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 beamintervals = \melodic{
                \meter 7/4;
-               \stemup;
+               \stemup
                \octave c';
                [ c8 d ] [ c e ] [ c f ] [ c g ] [ c a ] [ c b ] [ c c' ] |
-               [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
+               [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
                \octave c'';
-               [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
-               \stemdown;
+               [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
+               \stemdown
                \octave c''';
-               [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
+               [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
                \octave c'';
-               [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
+               [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
                [ c d ] [ c e ] [ c f ] [ c g ] [ c a ] [ c b ] [ c c' ] |
        }
 
 \score{
        \melodic{ 
                \octave c';
-               \stemup;
+               \stemup
                \meter 17/4;
-               'g4 'a 'b c d e f g a b c' d' e' f' g' a' b' |
+               g,4 a, b, c d e f g a b c' d' e' f' g' a' b' |
                \stemdown
-               b' a' g' f' e' d' c' b a g f e d c 'b 'a 'g |
-               \beamintervals;
-               \transpose d \beamintervals;
-               \transpose e \beamintervals;
-               \transpose f \beamintervals;
-               \transpose g \beamintervals;
-               \transpose a \beamintervals;
-               \transpose b \beamintervals;
+               b' a' g' f' e' d' c' b a g f e d c b, a, g, |
+               \beamintervals
+               \transpose d \beamintervals
+               \transpose e \beamintervals
+               \transpose f \beamintervals
+               \transpose g \beamintervals
+               \transpose a \beamintervals
+               \transpose b \beamintervals
        }
        \paper{
                gourlay_maxmeasures = 2.;
diff --git a/input/test/title.ly b/input/test/title.ly
new file mode 100644 (file)
index 0000000..cae3d93
--- /dev/null
@@ -0,0 +1,34 @@
+\header{
+filename =     "title.ly";
+title =                "Title";
+subtitle =     "Subtitle";
+composer=      "Composer (xxxx-yyyy)";
+opus =                 "Opus 0";
+arranger =     "Arranger";
+copyright =    "public domain";
+enteredby =    "jcn";
+source =       "urtext";
+piece =                "Piece I";
+instrument=    "Instrument";
+}
+
+\score{
+       \melodic{
+               \octave relative;       
+               c' d e f f e d c \break
+               c d e f f e d c
+       }
+}
+
+\header{ 
+piece =        "Piece II"; 
+opus =                 "Opus 1";
+}
+
+\score{
+       \melodic{
+           f' e d c c d e f \break
+           f e d c c d e f
+       }
+}
+
index 6e9c55bf2f722d4710f70092deef1d89a61b86a4..d4d5f8e261a226d5021025a21feca013c993645f 100644 (file)
@@ -5,7 +5,7 @@ TestedFeatures =         "This file tests trills"
         "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \score{
        \melodic{ 
index fb57977c30ca7add15e976ab9fe7ae1795483996..fd070478e7972d572ca9bf93f8237e37558b101e 100644 (file)
@@ -12,7 +12,7 @@ copyright =    "public domain";
 Tested Features                lyrics and chords
 %}
 
-\version "0.1.10";
+\version "0.1.14";
 
 melodie = \melodic {
         \clef"violin";
index 17d3515621b7a165bc1e3ad8fbea8e92e87d0cd8..5e5127f0779f0a8b0c4ac4764101e01bca8474e5 100644 (file)
@@ -15,7 +15,7 @@ copyright =    "public domain";
 Tested Features: lyrics, interleaving lyrics and staffs
 %}
 
-\version "0.1.10";
+\version "0.1.14";
 
 melody = \melodic{
        \clef violin;
@@ -35,7 +35,7 @@ melody = \melodic{
 
 accompany = \melodic {
        \clef "bass";
-       \octave 'c;
+       \octave c,;
        c4 c' | e' c' | f' c' | e' c' | 
        d' b | c' a | f g | c2 | 
 
@@ -55,15 +55,15 @@ global = \melodic {
 
 tekst = \lyric{ 
        Al-4 tijd is Kort- jak- je ziek,2
-%      midden4 in_de week maar 's_zon- dags niet.2
+%      midden4 in_de week maar s,_zon- dags niet.2
 % ugly hack: insertion of  empty syllables creates columns on extra 
 % moments.  The net result is more spacing.
 %
-       midden8 _8 in_de8 _8 week4 maar 's_zon- dags niet.2
-       's_Zon-4 dags gaat ze naar de kerk,2
+       midden8 _8 in_de8 _8 week4 maar s,_zon- dags niet.2
+       s,_Zon-4 dags gaat ze naar de kerk,2
        met4 een boek vol zil- ver werk.2
        Al-4 tijd is Kort- jak- je ziek,2
-       midden8 _8  in_de8 _8 week4 maar 's_zon- dags niet.2
+       midden8 _8  in_de8 _8 week4 maar s,_zon- dags niet.2
 }
 
 %{
@@ -75,7 +75,7 @@ tekst. Mogen wij ook af en toe ergens op afgeven?
 hegedraagjetekst = \lyric{ 
        Al-4 tijd zuigt Bill Gates mijn piek,2
        "\TeX"4 is slecht- ser dan mu- ziek.2
-       's_Zon-4 dags gaat het door een raam,2
+       s,_Zon-4 dags gaat het door een raam,2
        Weet4 dat ik me er- voor schaam.2
        Al-4 tijd zuigt Bill Gates mijn piek,2
        "\TeX"4 is slecht- ser dan mu- ziek.2
index 767a2e76b80b3016c87d572968f7aa0be6cec110..ac0780b21d39f110bf3b03f127561f5dcfc55972 100644 (file)
@@ -21,6 +21,7 @@ class Input {
 public:
     
     void warning (String) const; // should use member func?
+    void non_fatal_error (String) const;
     void error (String) const;
     void message (String) const;
     void set_spot (Input const &);
index d5346be5f78d09d1a185ccce28ceea0f00e9395c..ccf80eededcf2c5907e639e033e427c52bebfa92 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "proto.hh"
 #include "string.hh"
+#include "interval.hh"
 
 class istream;
 
@@ -28,7 +29,13 @@ public:
   int length_i () const;
   virtual int line_i (char const* pos_ch_c_l ) const;
   String name_str () const;
-  String file_line_no_str (char const* ch_c_l ) const;
+  String file_line_column_str (char const* ch_c_l ) const;
+
+protected:
+  Slice line_slice (char const* pos_ch_C) const;
+  String line_str (char const* pos_ch_C) const;
+  int column_i (char const* pos_ch_C) const;
+  int position_i (char const* pos_ch_C) const;
 
 private:
   String name_str_;
@@ -37,3 +44,4 @@ private:
 };
 
 #endif // SOURCE_FILE_HH //
+
index a65c4aa19a246044e588157c76579a6519331483..27bc4ff75953894cd2fad01d8c9b1d5e2d5ede6f 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  warn.hh -- declare 
+  warn.hh -- declare Error message functions
 
   source file of the LilyPond music typesetter
 
@@ -14,4 +14,5 @@
 
 void warning (String message_str  );
 void error (String message_str);
+void non_fatal_error (String);
 #endif // WARN_HH
index c50b3b733545e46de396617f273dc7136f28e1e4..46ddcb2ca60f8073ac7decafe65cf46fd8caf564 100644 (file)
@@ -1,9 +1,9 @@
 /*
 input.cc -- implement Input
+ input.cc -- implement Input
 
 source file of the LilyPond music typesetter
+ source file of the LilyPond music typesetter
 
 (c)  1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
(c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 #include "proto.hh"
 #include "input.hh"
 
 Input::Input (Source_file*s, char const *cl)
 {
-    source_file_l_=s;
-    defined_ch_C_=cl;
+  source_file_l_=s;
+  defined_ch_C_=cl;
 }
 
 Input::Input ()
 {
-    source_file_l_ = 0;
-    defined_ch_C_ = 0;
+  source_file_l_ = 0;
+  defined_ch_C_ = 0;
 }
 
 Input::Input (Input const &s)
 {
-    source_file_l_ = s.source_file_l_;
-    defined_ch_C_ = s.defined_ch_C_;
+  source_file_l_ = s.source_file_l_;
+  defined_ch_C_ = s.defined_ch_C_;
 }
 
 void
 Input::set_spot (Input const &i)
 {
-    *this  = i;
+  *this = i;
 }
 
+/*
+  Produce almost GNU-compliant error message.  Lily used to be rather
+  GNU-compliant in this too, but correcting mudela is such a breeze if 
+  you('re edidor) know(s) the error column too (there's no GNU standard
+  on columns, is there?).
+
+  Format:
+
+    [file:line:column:][warning:]message
+
+ */
 void
 Input::message (String message_str) const
 {
-    String str = "";
-
-    if (source_file_l_)
-      {
-       str += location_str () + String (": ");
-      }
-
-    str += message_str;
-    if (source_file_l_)
-      {
-       str += ":\n";
-       str += source_file_l_->error_str (defined_ch_C_);
-      }
-    cerr << str << endl;
+  String str;
+  
+  /*
+    marked "Work in prgress" in GNU iostream 
+      libg++ 2.7.2.8
+      libstdc++ 2.8.1
+
+    why not just return always -1 (unknown), 
+    iso breaking the interface?
+
+  int col = cerr.rdbuf ()->column ();
+
+   */
+
+  // well, we don't want to loose first warning...
+  int col = 1;
+  if (col > 0)
+    str += "\n";
+  
+  if (source_file_l_)
+    str += location_str () + String (": ");
+
+  str += message_str;
+  if (source_file_l_)
+   {
+    str += ":\n";
+    str += source_file_l_->error_str (defined_ch_C_);
+   }
+  cerr << str << endl;
 }
 
 void
 Input::warning (String message_str) const
 {
-    message (_ ("warning: ") + message_str);
+  message (_ ("warning: ") + message_str);
 }
 void
 Input::error (String s) const
 {
-    message (_ ("error: ")+ s);
+  message (_ ("error: ")+ s);
 }
 
+void
+Input::non_fatal_error (String s) const
+{
+  message (_ ("Non fatal error: ")+ s);
+}
 String
 Input::location_str () const
 {
-    if (source_file_l_)
-       return source_file_l_->file_line_no_str (defined_ch_C_);
-    else
-       return _ ("(location unknown)");
+  if (source_file_l_)
+    return source_file_l_->file_line_column_str (defined_ch_C_);
+  else
+    return _("(location unknown)");
 }
index c14dcccd6fd2d4953db9b326ec5e0dd463e5fce1..7a7470119d8bc2371bc40aedd847b351793a960d 100644 (file)
@@ -48,13 +48,13 @@ Source_file::istream_l ()
 }
 
 String
-Source_file::file_line_no_str (char const *context_ch_C) const
+Source_file::file_line_column_str (char const *context_ch_C) const
 {
   if  (!ch_C ())
     return _ ("(unknown)");
   else
-    return name_str () + ": "
-      + String (line_i (context_ch_C));
+    return name_str () + ":" + String (line_i (context_ch_C))
+      + ":" + String (position_i (context_ch_C));
 }
 
 String
@@ -70,14 +70,14 @@ Source_file::~Source_file ()
   delete storage_p_;
 }
 
-String
-Source_file::error_str (char const* pos_ch_C) const
+Slice
+Source_file::line_slice (char const* pos_ch_C) const
 {
-  char const* data_ch_C = ch_C ();
-  char const * eof_C_ = data_ch_C + length_i ();
   if (!in_b (pos_ch_C))
-    return _ ("(position unknown)");
+    return Slice (0,0);
 
+  char const* data_ch_C = ch_C ();
+  char const * eof_C_ = data_ch_C + length_i ();
 
   if (pos_ch_C == eof_C_)
     pos_ch_C --;
@@ -97,22 +97,63 @@ Source_file::error_str (char const* pos_ch_C) const
        break;
       }
 
-  //    String (char const* p, int length) is missing!?
-  String line_str ((Byte const*)begin_ch_C, end_ch_C - begin_ch_C);
+  return Slice (begin_ch_C - data_ch_C, end_ch_C - data_ch_C);
+}
 
-  int error_col_i = 0;
-  char const* scan_ch_C = begin_ch_C;
-  while (scan_ch_C < pos_ch_C)
-    if (*scan_ch_C++ == '\t')
-      error_col_i = (error_col_i / 8 + 1) * 8;
+String
+Source_file::line_str (char const* pos_ch_C) const
+{
+  if (!in_b (pos_ch_C))
+    return "";
+
+  Slice line = line_slice (pos_ch_C);
+  char const* data_ch_C = ch_C ();
+  return String ((Byte const*)data_ch_C + line.min (), line.length ());
+}
+
+int
+Source_file::position_i (char const* pos_ch_C) const
+{
+  if (!in_b (pos_ch_C))
+    return 0;
+
+  char const* data_ch_C = ch_C ();
+  return pos_ch_C - (line_slice (pos_ch_C).min () + data_ch_C);
+}
+
+int
+Source_file::column_i (char const* pos_ch_C) const
+{
+  if (!in_b (pos_ch_C))
+    return 0;
+
+  int pos_i = position_i (pos_ch_C);
+  String line = line_str (pos_ch_C);
+
+  int col_i = 0;
+  for (int i = 0; i < pos_i; i++)
+    if (line[i] == '\t')
+      col_i = (col_i / 8 + 1) * 8;
     else
-      error_col_i++;
+      col_i++;
 
-  String str = line_str.left_str (pos_ch_C - begin_ch_C)
+  return col_i;
+}
+
+String
+Source_file::error_str (char const* pos_ch_C) const
+{
+  if (!in_b (pos_ch_C))
+    return _ ("(position unknown)");
+
+  int pos_i = position_i (pos_ch_C);
+  String line = line_str (pos_ch_C);
+  String context = line.left_str (pos_i)
     + String ('\n')
-    + String (' ', error_col_i)
-    + line_str.cut (pos_ch_C - begin_ch_C, INT_MAX); // String::mid should take 0 arg..
-  return str;
+    + String (' ', column_i (pos_ch_C))
+    + line.cut (pos_i, INT_MAX);
+
+  return context;
 }
 
 bool
@@ -121,7 +162,6 @@ Source_file::in_b (char const* pos_ch_C) const
   return (pos_ch_C && (pos_ch_C >= ch_C ()) && (pos_ch_C <= ch_C () + length_i ()));
 }
 
-
 int
 Source_file::line_i (char const* pos_ch_C) const
 {
index 6c117a2a603b56702f6ce9719fc8feb52b4ea060..b9638cea0cd869b7afb14720320e3c86983aaa07 100644 (file)
 #include "cursor.tcc"
 #include "list.tcc"
 
-#if !defined(__CYGWIN32__) && __GNUC_MINOR__ < 8
+// #if!defined(__CYGWIN32__) && __GNUC_MINOR__ < 8 
+// it seems irix (-Dsgi ?)  and sunos (-Dsparc ?)
+
+// see comments in lily/template1.cc mi2mu/template9.cc
+
+#if (defined(__linux__) && (__GNUC_MINOR__ < 8))
 LIST_INSTANTIATE (void *);
 #endif
 
 POINTERLIST_INSTANTIATE (Source_file);
+
index 743af06d6abdf640315c669db48c61d1ea5d3528..afdbd97f4f6e33e4b39b140101cb78195b09e087 100644 (file)
@@ -9,6 +9,11 @@ error (String s)
     exit (1);
 }
 
+void
+non_fatal_error (String s)
+{
+    cerr <<  _ ("error: ") << s << "\n";
+}
 
 void
 warning (String m)
index eb481f9509c87cb954432a1e6fb7f6bca0288c3b..d173a2d56b222c5845101324d4523fd60ffe4a81 100644 (file)
@@ -1,5 +1,5 @@
 MAJOR_VERSION=0
 MINOR_VERSION=1
-PATCH_LEVEL=61
+PATCH_LEVEL=63
 MY_PATCH_LEVEL=
 
index 8c5c2f80e479af95e981b8c56387b4b2a0890c65..eba9660c922c8e1fb3cfdeece3e20509e4162363 100644 (file)
 #include "string.hh"
 #include "varray.hh"
 #include "debug.hh"
+#include "main.hh"
+
+inline bool
+Atom::check_infinity_b ()const
+{
+  bool ridiculous = false;
+#ifndef NDEBUG
+  
+  /* infinity checks. */
+  for (int a = X_AXIS; a < NO_AXES; a++)
+    {
+      Axis ax = (Axis)a;
+      if (abs (off_[ax]) >= 100 CM)
+       {
+         warning (_("ridiculous dimension ") + axis_name_str (ax)  + ", "
+                  +print_dimen(off_[ax]));
+         
+         if (experimental_features_global_b)
+           assert (false);
+
+         ((Atom*)this)->off_[ax] = 0.0;
+         ridiculous = true;
+       }
+    }
+#endif
+  return ridiculous;
+}
+
 
 void
 Atom::print() const
@@ -57,27 +85,6 @@ Atom::str() const
 }
 
 
-bool
-Atom::check_infinity_b ()const
-{
-  bool ridiculous = false;
-#ifndef NDEBUG
-  
-  /* infinity checks. */
-  for (int a = X_AXIS; a < NO_AXES; a++)
-    {
-      Axis ax = (Axis)a;
-      if (abs (off_[ax]) >= 100 CM)
-       {
-         warning (_("ridiculous dimension ") + axis_name_str (ax)  + ", "
-                  +print_dimen(off_[ax]));
-         ((Atom*)this)->off_[ax] = 0.0;
-         ridiculous = true;
-       }
-    }
-#endif
-  return ridiculous;
-}
 String
 Atom::TeX_string() const
 {
index e792aeddbd34b65fbf471d4a775a1ae033b8255d..f60d230e75efc45d94d459ecec81fa94bdcff52c 100644 (file)
@@ -14,7 +14,6 @@
     * centre beam symbol
     * less hairy code
     * redo grouping 
-    * (future) knee: ([\stem 1; c8 \stem -1; c8]
  */
 
 #include <math.h>
@@ -43,6 +42,7 @@ IMPLEMENT_IS_TYPE_B1 (Beam, Spanner);
 Beam::Beam ()
 {
   slope_f_ = 0;
+  solved_slope_f_ = 0;
   left_y_ = 0;
   damping_i_ = 1;
   quantisation_ = NORMAL;
@@ -167,16 +167,28 @@ Beam::set_default_dir ()
   } while (flip(&d) != DOWN);
   
   /* 
-
      [Ross] states that the majority of the notes dictates the
      direction (and not the mean of "center distance")
+
+     But is that because it really looks better, or because he
+     wants to provide some real simple hands-on rules.
+     
+     We have our doubts.
   */
+
+  // fixme.  make runtime.
+  // majority
+  // dir_ = (count[UP] > count[DOWN]) ? UP : DOWN;
+
+  // mean centre distance
   dir_ = (total[UP] > total[DOWN]) ? UP : DOWN;
 
   for (int i=0; i <stems_.size (); i++)
     {
-      Stem *sl = stems_[i];
-      sl->dir_ = dir_;
+      Stem *s = stems_[i];
+      s->beam_dir_ = dir_;
+      if (!s->dir_forced_b_)
+       s->dir_ = dir_;
     }
 }
 
@@ -213,7 +225,6 @@ Beam::solve_slope ()
     }
   else
     {
-
       Real leftx = sinfo[0].x_;
       Least_squares l;
       for (int i=0; i < sinfo.size (); i++)
@@ -238,7 +249,7 @@ Beam::solve_slope ()
   left_y_ *= dir_;
 
   slope_f_ *= dir_;
-
+  solved_slope_f_ = slope_f_;
   /*
     This neat trick is by Werner Lemberg, damped = tanh (slope_f_) corresponds
     with some tables in [Wanske]
@@ -247,10 +258,6 @@ Beam::solve_slope ()
     slope_f_ = 0.6 * tanh (slope_f_) / damping_i_;
 
   quantise_dy ();
-
-  Real sl = slope_f_ * paper ()->internote_f ();
-  paper ()->lookup_l ()->beam (sl, 20 PT, 1 PT);
-  slope_f_ = sl / paper ()->internote_f ();
 }
 
 void
@@ -287,10 +294,10 @@ Beam::quantise_dy ()
   allowed_fraction[2] = (beam_f + staffline_f);
 
 
-    Interval iv = quantise_iv (allowed_fraction, interline_f, dy_f);
-    quanty_f = (dy_f - iv.min () <= iv.max () - dy_f)
-      ? iv.min ()
-      : iv.max ();
+  Interval iv = quantise_iv (allowed_fraction, interline_f, dy_f);
+  quanty_f = (dy_f - iv.min () <= iv.max () - dy_f)
+    ? iv.min ()
+    : iv.max ();
 
 
   slope_f_ = (quanty_f / dx_f) / internote_f * sign (slope_f_);
@@ -424,16 +431,53 @@ void
 Beam::set_stemlens ()
 {
   Real staffline_f = paper ()->rule_thickness ();
+  Real interbeam_f = paper ()->interbeam_f (multiple_i_);
+  Real internote_f = paper ()->internote_f (); 
+  Real beam_f = paper ()->beam_thickness_f ();
+
+  // enge floots
+  Real epsilon_f = staffline_f / 8;
+
+  /* 
+
+   Damped and quantised slopes, esp. in monotone scales such as
+
+      [c d e f g a b c]
+
+   will soon produce the minimal stem-length for one of the extreme 
+   stems, which is wrong (and ugly).  The minimum stemlength should
+   be kept rather small, in order to handle extreme beaming, such as
+
+      [c c' 'c]  %assuming no knee
+      
+   correctly.
+   To avoid these short stems for normal cases, we'll correct for
+   the loss in slope, if necessary.
+
+   [TODO]
+   ugh, another hack.  who's next?
+   Writing this all down, i realise (at last) that the Right Thing to
+   do is to assign uglyness to slope and stem-lengths and then minimise
+   the total uglyness of a beam.
+   Steep slopes are ugly, shortened stems are ugly, lengthened stems
+   are ugly.
+   How to do this?
+   
+   */
+
+  Real dx_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
+  Real damped_slope_dy_f = (solved_slope_f_ - slope_f_) * dx_f / 2;
+  if (abs (damped_slope_dy_f) <= epsilon_f)
+    damped_slope_dy_f = 0;
 
   Real x0 = stems_[0]->hpos_f ();
-  Real dy = 0;
-  // ugh, rounding problems! (enge floots)
-  Real epsilon = staffline_f / 8;
-  do
+  Real dy_f = 0;
+  // urg
+  for (int jj = 0; jj < 10; jj++)
     { 
-      left_y_ += dy * dir_;
-      quantise_left_y (dy);
-      dy = 0;
+      left_y_ += dy_f * dir_;
+      quantise_left_y (dy_f);
+      dy_f = 0;
       for (int i=0; i < stems_.size (); i++)
        {
          Stem *s = stems_[i];
@@ -441,13 +485,34 @@ Beam::set_stemlens ()
            continue;
 
          Real x = s->hpos_f () - x0;
-         s->set_stemend (left_y_ + slope_f_ * x);
+         // urg move this to stem-info
+         Real sy = left_y_ + slope_f_ * x;
+         if (dir_ != s->dir_)
+           sy -= dir_ * (beam_f / 2
+             + (s->mult_i_ - 1) * interbeam_f) / internote_f;
+         s->set_stemend (sy);
          Real y = s->stem_end_f () * dir_;
          Stem_info info (s);
+         if (y > info.maxy_f_)
+           dy_f = dy_f <? info.maxy_f_ - y;
          if (y < info.miny_f_)
-           dy = dy >? info.miny_f_ - y;
+           { 
+             // when all too short, normal stems win..
+             if (dy_f < -epsilon_f)
+               warning ( _("Weird beam shift, check your knees."));
+             dy_f = dy_f >? info.miny_f_ - y;
+           }
        }
-    } while (abs (dy) > epsilon);
+      if (dy_f && damped_slope_dy_f 
+       && (sign (dy_f) == sign (damped_slope_dy_f)))
+       dy_f += damped_slope_dy_f;
+      damped_slope_dy_f = 0;
+      if (abs (dy_f) <= epsilon_f)
+        {
+         DOUT << "Beam::set_stemlens: " << jj << " iterations\n";
+         break;
+       }
+    }
 
   test_pos++;
   test_pos %= 4;
index 42db7970f51e5e5295634657435eaffac54bfab3..cc5c6f92a420487135a4c47b9c07496b01f34129 100644 (file)
@@ -177,9 +177,9 @@ Break_algorithm::solve () const
   Array<Col_hpositions> h= do_solve ();
 
   if (approx_stats_.count_i_)
-    *mlog << _ ("\nApproximated: ") << approx_stats_.str () << "\n";
+    *mlog << _ ("\n(Approximated: ") << approx_stats_.str () << ")\n";
   if (exact_stats_.count_i_)
-    *mlog << _ ("Calculated exactly: ") << exact_stats_.str () << "\n";
+    *mlog << _ ("(Calculated exactly: ") << exact_stats_.str () << ")\n";
   *mlog << _ ("Time: ") << String (timer.read (), "%.2f") << _ (" seconds\n");
 
   return h;
index 82156417d18a19f451bcae478805ab66ab3377cd..69b3ca1c4030cdba12d4d1cd0269971d32c371d8 100644 (file)
 
 IMPLEMENT_IS_TYPE_B(Identifier);
 
+Identifier::Identifier (int code)
+{
+  token_code_i_ = code;
+  accessed_b_ = 0;
+  init_b_ = 0;
+}
+
+
+
+Identifier::Identifier (Identifier const&s)
+  : Input (s)
+{
+  token_code_i_ = s.token_code_i_;
+  accessed_b_ = s.accessed_b_;
+  init_b_ = s.init_b_;
+}
+
 Identifier::~Identifier()
 {
 }
 
 void
-Identifier::error (String expect)
+Identifier::error (String expect) const
 {
   String e (_("Wrong identifier type: "));
   e += String (name()) + _("(expected ") + expect + ")";
   ::error (e);
 }
 
-Identifier::Identifier (int code)
+String
+Identifier::str () const
 {
-  token_code_i_ = code;
-  accessed_b_ = 0;
-  init_b_ = 0;
+  return do_str ();
+}
+
+String
+Identifier::do_str () const
+{
+  return "";
 }
 
 void
-Identifier::print() const
+Identifier::print () const
 {
   DOUT << "identifier ";
-  do_print();
+  do_print ();
+}
+void
+Identifier::do_print () const
+{
 }
 
 /* ugh. */
-#define DEFAULT_PRINT(Class, Content_type, accessor) \
+/* UGH MEMORY LEAK! */
+#define DEFAULT_PRINT(Class, accessor) \
 void \
-Class::do_print() const { \
-  ((Class*)this)->accessor()->print(); \
-} \
-class Class
-
+Class ## _identifier::do_print () const { \
+  Class *cl = ((Class ## _identifier *)this)->accessor();\
+  cl->print (); \
+  delete cl; \
+}
 
-DEFAULT_PRINT(Script_id, General_script_def, script);
-DEFAULT_PRINT(Lookup_id, Lookup, lookup);
-DEFAULT_PRINT(Translator_id, Translator, translator);
-DEFAULT_PRINT(Symtables_id, Symtables, symtables);
-DEFAULT_PRINT(Music_id,Music , music);
-DEFAULT_PRINT(Request_id, Request, request);
-DEFAULT_PRINT(Score_id, Score, score);
-DEFAULT_PRINT(Midi_def_id,Midi_def, mididef);
-DEFAULT_PRINT(Paper_def_id,Paper_def, paperdef);
 
 
-void
-Duration_id::do_print() const
-{}
+DEFAULT_PRINT(General_script_def, script);
+DEFAULT_PRINT(Lookup, lookup);
+DEFAULT_PRINT(Translator, translator);
+DEFAULT_PRINT(Symtables, symtables);
+DEFAULT_PRINT(Music, music);
+DEFAULT_PRINT(Request, request);
+DEFAULT_PRINT(Score, score);
+DEFAULT_PRINT(Midi_def, mididef);
+DEFAULT_PRINT(Paper_def, paperdef);
 
-void
-Real_id::do_print() const
-{
-  DOUT << *data_p_<< "\n";
+/* ugh. */
+#define DUMMY_STR(Class) \
+String \
+Class ## _identifier::do_str () const { \
+  return String (#Class); \
 }
 
-void
-Int_id::do_print() const
-{
-  DOUT << *data_p_<< "\n";
+
+
+DUMMY_STR(General_script_def);
+DUMMY_STR(Lookup);
+DUMMY_STR(Translator);
+DUMMY_STR(Symtables);
+DUMMY_STR(Music);
+DUMMY_STR(Request);
+DUMMY_STR(Score);
+DUMMY_STR(Midi_def);
+DUMMY_STR(Paper_def);
+DUMMY_STR(Duration);
+
+#define STRING_PRINT(Class) \
+void \
+Class ## _identifier::do_print () const\
+{\
+  DOUT << do_str () << "\n";\
+}\
+
+
+STRING_PRINT(Duration);
+STRING_PRINT(Real);
+STRING_PRINT(int);
+STRING_PRINT(String);
+
+#define DEFAULT_STR(Class) \
+String \
+Class ## _identifier::do_str () const\
+{\
+  return String (*data_p_);\
 }
 
+DEFAULT_STR(int);
+DEFAULT_STR(Real);
+DEFAULT_STR(String);
+  
+
+/*
+  fucking C++ blows me.
+ */
 
-#define DEFAULT_ACCESSOR(Idclass, Class, accessor)\
+#define DEFAULT_ACCESSOR(Class, accessor)\
 Class*\
-Idclass::accessor () {\
-  accessed_b_ = true;\
+Class ## _identifier::accessor () const {\
+  ((Class ## _identifier*)this)->accessed_b_ = true;\
   return new Class (*data_p_);\
 }
 
-#define VIRTUAL_ACCESSOR(Idclass, Class, accessor)\
+#define VIRTUAL_ACCESSOR(Class, accessor)\
 Class*\
-Idclass::accessor () {\
-  accessed_b_ = true;\
+Class ## _identifier::accessor () const{\
+  ((Class ## _identifier*)this)->accessed_b_ = true;\
   return (Class*)data_p_->clone();\
 }
 
-#define IMPLEMENT_ID_CLASS(Idclass, Class, accessor)   \
-       IMPLEMENT_IS_TYPE_B1(Idclass,Identifier)\
-       Idclass::~Idclass() { delete data_p_; }\
-       Idclass::Idclass (Class*st, int code):Identifier (code) { data_p_ = st; }\
-
-IMPLEMENT_ID_CLASS(Duration_id, Duration, duration);
-IMPLEMENT_ID_CLASS(Translator_id, Translator, translator);
-IMPLEMENT_ID_CLASS(Int_id, int, intid);
-IMPLEMENT_ID_CLASS(Real_id, Real, real);
-IMPLEMENT_ID_CLASS(Script_id, General_script_def, script);
-IMPLEMENT_ID_CLASS(Lookup_id, Lookup, lookup);
-IMPLEMENT_ID_CLASS(Symtables_id, Symtables, symtables);
-IMPLEMENT_ID_CLASS(Music_id, Music, music);
-IMPLEMENT_ID_CLASS(Score_id, Score, score);
-IMPLEMENT_ID_CLASS(Request_id, Request, request);
-IMPLEMENT_ID_CLASS(Midi_def_id, Midi_def, mididef);
-IMPLEMENT_ID_CLASS(Paper_def_id, Paper_def, paperdef);
-
-Identifier::Identifier (Identifier const&s)
-  : Input (s)
-{
-  assert (false);
-}
+#define IMPLEMENT_ID_CLASS(Class, accessor)    \
+       IMPLEMENT_IS_TYPE_B1(Class ## _identifier,Identifier)\
+       Class ## _identifier::~Class ## _identifier() { delete data_p_; }\
+       Class ## _identifier::Class ## _identifier (Class*st, int code):Identifier (code) { data_p_ = st; }\
+Class ## _identifier::Class ## _identifier (Class ## _identifier const &s) \
+: Identifier (s)\
+{\
+   data_p_ = s.accessor ();\
+} 
+
+
+IMPLEMENT_ID_CLASS(Duration, duration);
+IMPLEMENT_ID_CLASS(Translator, translator);
+IMPLEMENT_ID_CLASS(int, intid);
+IMPLEMENT_ID_CLASS(Real, real);
+IMPLEMENT_ID_CLASS(String, string);
+IMPLEMENT_ID_CLASS(General_script_def, script);
+IMPLEMENT_ID_CLASS(Lookup, lookup);
+IMPLEMENT_ID_CLASS(Symtables, symtables);
+IMPLEMENT_ID_CLASS(Music, music);
+IMPLEMENT_ID_CLASS(Score, score);
+IMPLEMENT_ID_CLASS(Request, request);
+IMPLEMENT_ID_CLASS(Midi_def, mididef);
+IMPLEMENT_ID_CLASS(Paper_def, paperdef);
+
+VIRTUAL_ACCESSOR(Music, music);
+VIRTUAL_ACCESSOR(Request, request);
+VIRTUAL_ACCESSOR(Translator, translator);
+VIRTUAL_ACCESSOR(General_script_def, script);
+
+DEFAULT_ACCESSOR(Duration, duration);
+DEFAULT_ACCESSOR(int, intid);
+DEFAULT_ACCESSOR(Real, real);
+DEFAULT_ACCESSOR(String, string);
+DEFAULT_ACCESSOR(Lookup, lookup);
+DEFAULT_ACCESSOR(Symtables, symtables);
+DEFAULT_ACCESSOR(Score, score);
+DEFAULT_ACCESSOR(Midi_def, mididef);
+DEFAULT_ACCESSOR(Paper_def, paperdef);
 
-DEFAULT_ACCESSOR(Duration_id, Duration, duration);
-VIRTUAL_ACCESSOR(Translator_id,Translator, translator);
-DEFAULT_ACCESSOR(Int_id, int, intid);
-DEFAULT_ACCESSOR(Real_id, Real, real);
-VIRTUAL_ACCESSOR(Script_id, General_script_def, script);
-DEFAULT_ACCESSOR(Lookup_id, Lookup, lookup);
-DEFAULT_ACCESSOR(Symtables_id, Symtables, symtables);
-VIRTUAL_ACCESSOR(Music_id, Music, music);
-DEFAULT_ACCESSOR(Score_id, Score, score);
-VIRTUAL_ACCESSOR(Request_id, Request, request);
-DEFAULT_ACCESSOR(Midi_def_id, Midi_def, mididef);
-DEFAULT_ACCESSOR(Paper_def_id, Paper_def, paperdef);
index 5294d719d07877804912f174240a682388d1d206..e4bad88c1caee13781d2ac97578eff4037ad654c 100644 (file)
@@ -25,6 +25,8 @@ public:
   Link_array<Stem> stems_;
   /// the slope of the beam in posns / point (dimension)   
   Real slope_f_;
+  /// the slope as solved; not quantised or damped
+  Real solved_slope_f_;
 
   /// position of leftmost end of beam  
   Real left_y_;
diff --git a/lily/include/cf-basic.hh b/lily/include/cf-basic.hh
new file mode 100644 (file)
index 0000000..d201ece
--- /dev/null
@@ -0,0 +1,13 @@
+/*   
+  cf-basic.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef CF_BASIC_HH
+#define CF_BASIC_HH
+#endif /* CF_BASIC_HH */
+
diff --git a/lily/include/cf-string.hh b/lily/include/cf-string.hh
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
index b7365e5650cac124374da87652fa60d795208f0f..85a398ae0eb2bc8c9352f93653c76e8814722856 100644 (file)
@@ -12,8 +12,8 @@
 #include "input.hh"
 #include "virtual-methods.hh"
 
-#define IDACCESSOR( Input_staff, staff)\
-virtual Input_staff * staff () { error (#Input_staff); return 0; }
+#define IDACCESSOR(Class, accessor)\
+virtual Class * accessor () const { error (#Class  + String ("_identifier")); return 0; }
 
 /**
    A declarable data structure in mudela. 
@@ -24,53 +24,62 @@ struct Identifier : public Input {
   bool init_b_;
   bool accessed_b_;
   int token_code_i_;
-    
+  Identifier (Identifier const&);    
   Identifier (int code) ;
   virtual ~Identifier() ;
 
+
   void print() const;
   DECLARE_MY_RUNTIME_TYPEINFO;
-  void error (String);
+  void error (String) const;
+  String str () const;
   IDACCESSOR(Translator, translator)
-    IDACCESSOR(Music, music)
-    IDACCESSOR(General_script_def, script)
-    IDACCESSOR(Symtables, symtables)
-    IDACCESSOR(Midi_def, mididef)
-    IDACCESSOR(Paper_def, paperdef)
-    IDACCESSOR(Lookup,lookup)
-    IDACCESSOR(Real,real)
-    IDACCESSOR(Request, request)
-    IDACCESSOR(Score, score)
-    IDACCESSOR(int, intid)
-    IDACCESSOR(Duration, duration)
+  IDACCESSOR(Music, music)
+  IDACCESSOR(General_script_def, script)
+  IDACCESSOR(Symtables, symtables)
+  IDACCESSOR(Midi_def, mididef)
+  IDACCESSOR(Paper_def, paperdef)
+  IDACCESSOR(Lookup,lookup)
+  IDACCESSOR(Real,real)
+  IDACCESSOR(String,string)
+  IDACCESSOR(Request, request)
+  IDACCESSOR(Score, score)
+  IDACCESSOR(int, intid)
+  IDACCESSOR(Duration, duration)
+  VIRTUAL_COPY_CONS (Identifier, Identifier);
 
-    protected:
-  virtual void do_print() const=0;
-private:
-  Identifier (Identifier const&);
+protected:
+  virtual void do_print () const;
+  virtual String do_str () const;
 };
 
-#define DECLARE_ID_CLASS(Idclass, Class, accessor)     \
-struct Idclass : Identifier {\
+#define DECLARE_ID_CLASS(Class, accessor)      \
+struct Class ## _identifier : Identifier {\
                             Class *data_p_;                 \
-                            DECLARE_MY_RUNTIME_TYPEINFO;                           \
-                            Idclass (Class*st, int code);\
-                            virtual Class* accessor ();\
-                            ~Idclass();\
-                            virtual void do_print() const; \
+                            DECLARE_MY_RUNTIME_TYPEINFO; \
+                            Class ## _identifier (Class ## _identifier const&);\
+                            Class ## _identifier (Class*st, int code);\
+                            VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\
+                            virtual Class* accessor () const;\
+                            ~Class ## _identifier();\
+                            virtual void do_print () const; \
+                            virtual String do_str () const; \
 }\
 
 
-DECLARE_ID_CLASS(Translator_id, Translator, translator);
-DECLARE_ID_CLASS(Duration_id, Duration, duration);
-DECLARE_ID_CLASS(Real_id, Real, real);
-DECLARE_ID_CLASS(Script_id, General_script_def, script);
-DECLARE_ID_CLASS(Lookup_id, Lookup, lookup);
-DECLARE_ID_CLASS(Symtables_id, Symtables, symtables);
-DECLARE_ID_CLASS(Music_id, Music, music);
-DECLARE_ID_CLASS(Int_id, int, intid);
-DECLARE_ID_CLASS(Score_id, Score, score);
-DECLARE_ID_CLASS(Request_id, Request, request);
-DECLARE_ID_CLASS(Paper_def_id,Paper_def, paperdef);
-DECLARE_ID_CLASS(Midi_def_id,Midi_def, mididef);
-#endif // IDENTIFIER_
+DECLARE_ID_CLASS(Translator, translator);
+DECLARE_ID_CLASS(Duration, duration);
+DECLARE_ID_CLASS(Real, real);
+DECLARE_ID_CLASS(String, string);
+DECLARE_ID_CLASS(General_script_def, script);
+DECLARE_ID_CLASS(Lookup, lookup);
+DECLARE_ID_CLASS(Symtables, symtables);
+DECLARE_ID_CLASS(Music, music);
+DECLARE_ID_CLASS(int, intid);
+DECLARE_ID_CLASS(Score, score);
+DECLARE_ID_CLASS(Request, request);
+DECLARE_ID_CLASS(Paper_def, paperdef);
+DECLARE_ID_CLASS(Midi_def, mididef);
+
+#endif // IDENTIFIER_HH
+
index da0379919334f6e61da77075bceb71c53350ac7e..5875f84e6bfdef49aed1cfa02922b6f33a0d67f4 100644 (file)
@@ -27,7 +27,8 @@ class Key
 {
   /** for each octave a key. Has to be private since octave 0 isn't member 0.
    */
-  Array<Octave_key> octaves;
+  Array<Octave_key> octaves_;
+  int octave_to_index (int) const;
 public:
   bool multi_octave_b_;
   
index 9f47f8834eafa46ee93d10cb3911d016ac4e4cd8..49f234b8e125569d4aeb356a829ed2bbac0708fa 100644 (file)
@@ -179,6 +179,7 @@ struct Rhythmic_head;
 struct Rhythmic_grouping_req;
 struct Rhythmic_req;
 struct Single_malt_grouping_item;
+struct Scope;
 struct Separating_group_spanner;
 struct Score;
 struct Score_column;
index 8aa5319c28cb28b6a4298ae83df4cd62820e5103..b0bccca7f5183cfd40b42286ad9a691a0ff89163 100644 (file)
@@ -30,14 +30,14 @@ class My_lily_lexer : public Includable_lexer {
   int scan_bare_word (String);
   int scan_escaped_word (String);
 
-  bool post_quotes_b_;
   char escaped_char(char) const;
 public:
   String main_input_str_;
   void * lexval_l;
+  Scope * toplevel_scope_p_;
   
   Notename_table  *note_tab_p_;
-  Dictionary<Identifier*> *identifier_p_dict_p_;
+  Array<Scope*> scope_l_arr_;
   Keyword_table * keytable_p_;
   int errorlevel_i_;
 
@@ -52,7 +52,7 @@ public:
   void pop_state();
   void LexerError (char const *);
   My_lily_lexer();
-  void set_identifier (String,Identifier*i);
+  void set_identifier (String str, Identifier* i, bool unique_b = true);
   ~My_lily_lexer();
   int yylex();
   void print_declarations (bool init_b) const;
index 8c751af072d24e6582eeaf627e529d83d996aff3..c68d4ea4c78065c122e4ca255135bb1a758ea948 100644 (file)
@@ -66,8 +66,8 @@ public:
   void remember_spot();
   Input pop_spot();
     
-  Paper_def*default_paper();
-  Midi_def*default_midi();
+  Paper_def*default_paper_p();
+  Midi_def*default_midi_p();
   void do_yyparse();
   void parser_error (String);
   void clear_notenames();
index 960349f403c46c333658018ae0eb80b67c158d4c..dfcc1cc7ab4c48ecb798b1eb55036801e404bf16 100644 (file)
@@ -34,6 +34,8 @@ public:
   Link_array<Rest> rest_l_arr_;
     
   Interval_t<int> head_positions_interval() const;
+  Interval width () const;
+
   void translate_rests(int dy);
         
   DECLARE_MY_RUNTIME_TYPEINFO;
index 2a18dff66255956887a2e6bb339522e2cd02e078..6ed35ce26357a38ed33972d8b87d1dfc09acc089 100644 (file)
@@ -33,6 +33,7 @@ public:
     */
   Note_head ();
   static int compare (Note_head * const &a, Note_head *const &b) ;
+
 protected:
   virtual Interval do_width () const;
   virtual void do_pre_processing();
index d2728d42f3a307f405f2c3439d6039ecd567d03e..ea7b9d39e329421ae2e86b328c14e75386cc7d14 100644 (file)
 
   Input_engraver should be in here.
  */
-class Paper_def : public Music_output_def {
+class Paper_def : public Music_output_def 
+{
   Lookup *lookup_p_;
-  Dictionary<Real> *real_vars_p_;
+  Scope* scope_p_;
   static int default_count_i_;
+
 protected:
   VIRTUAL_COPY_CONS(Paper_def,Music_output_def);
+
 public:    
   virtual ~Paper_def ();
   DECLARE_MY_RUNTIME_TYPEINFO;
 
   Array<Interval> shape_int_a_;
 
-  /**
-    Set or overwrite a variable
-   */
-  void set_var (String, Real);
-  /**
-    Read a variable.  Crash if it doesn't exist.
-   */
   Real get_var (String) const;
   void reinit ();
   Paper_def ();
@@ -97,6 +93,8 @@ public:
   Real arithmetic_spacing (Moment mom,Real constant) const;
   virtual int get_next_default_count () const;
   String TeX_output_settings_str () const;
+  // urg
+  friend int yyparse (void*);
 };
 
 #endif // Paper_def_HH
diff --git a/lily/include/scope.hh b/lily/include/scope.hh
new file mode 100644 (file)
index 0000000..799e480
--- /dev/null
@@ -0,0 +1,25 @@
+/*   
+  scope.hh -- declare Scope
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#ifndef SCOPE_HH
+#define SCOPE_HH
+
+#include "dictionary.hh"
+#include "lily-proto.hh"
+
+class Scope : public Dictionary<Identifier*> {
+public:
+  void print () const;
+  Scope ();
+  Scope (Scope const &);
+  ~Scope ();
+};
+
+#endif /* SCOPE_HH */
+
index 83ebeaf74b25d2a88fadbfe4b75b08084a0022d7..06a6cb2918f4e741be7dfcfea51bccc9273ecc1e 100644 (file)
 struct Stem_info {
   Real x_;
   int dir_;
+  int beam_dir_;
   Real idealy_f_;
   Real miny_f_;
+  Real maxy_f_;
   int mult_i_;
 
   Stem_info ();
index e9e5cac4c49ff04166749747d03c007ec31a8288..aa6f1b44cabfa09b169b1db343389c9eda05c864 100644 (file)
@@ -69,7 +69,14 @@ public:
   /// maximum number of beams
   int mult_i_;
 
+  /// direction stem (that's me)
   Direction dir_;
+
+  /// is direction explicitely specified?
+  bool dir_forced_b_;
+
+  /// direction of the beam
+  Direction beam_dir_;
     
   /* *************** */
   Stem ();
index 5d9546409bc25cc508572bb0471c3c2b3e0086ab..581446cfd46494e9a95c3d9b5c6fe97b0eb92d81 100644 (file)
@@ -27,9 +27,10 @@ public:
     virtual ~Text_item ();
     DECLARE_MY_RUNTIME_TYPEINFO;
 
-protected:
+//protected:
     // ugh: so, are we a text-def, or can this vary?
     General_script_def* tdef_p_;
+protected:
 
     virtual Interval symbol_height () const;
 
index 9e8b9d40c51448ea19f2165b8c663a59c26b32b1..46a8ce55ac4e49aaaa96afc799219fd40cfa3abd 100644 (file)
@@ -12,7 +12,7 @@
 #include "key.hh"
 #include "debug.hh"
 
-const int OCTAVES=14;          // ugh..
+const int NUMBER_OF_OCTAVES=14;                // ugh..
 const int ZEROOCTAVE=7;
 
 
@@ -41,48 +41,76 @@ Octave_key::clear ()
 Key::Key()
 {
   multi_octave_b_ = false;
-  octaves.set_size (OCTAVES);
+  octaves_.set_size (NUMBER_OF_OCTAVES);
+}
+
+int 
+Key::octave_to_index (int o) const
+{
+  int i = o + ZEROOCTAVE;
+  if (i < 0)
+    {
+      warning ("Don't have that many octaves (" + String (o) + ")");
+      i = 0;
+    }
+  if (i >= NUMBER_OF_OCTAVES)
+    {
+      warning ("Don't have that many octaves (" + String (o) + ")");
+      i = NUMBER_OF_OCTAVES -1;
+    }
+  return i;
 }
 
 Octave_key&
 Key::oct (int i)
 {
-  return octaves[i+ZEROOCTAVE];    
+
+  return octaves_[octave_to_index (i)];    
 }
 
 
 void
 Octave_key::set (int i, int a)
 {
-  assert (a > -3 && a < 3);
+  if (a <= -3)
+    {
+      warning ("Underdone accidentals (" + String (a)+ ")");
+      a = -2;
+    }
+  if (a >= 3)
+    {
+      warning ("Overdone accidentals (" + String (a) + ")");
+      a = 2;
+    }
   accidental_i_arr_[i]=a;
 }
 
 void
 Key::set (int o, int n , int a)
 {
-  octaves[o + ZEROOCTAVE].set (n,a);
+  int   i = octave_to_index (o);
+  octaves_[i].set (n,a);
 }
 
 void
 Key::set (int n, int a)
 {
-  for (int i= 0; i < OCTAVES ; i++)
-    octaves[i].set (n,a);
+  for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
+    octaves_[i].set (n,a);
 }
 void
 Key::clear ()
 {
-  for (int i= 0; i < OCTAVES ; i++)
-    octaves[i].clear ();
+  for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
+    octaves_[i].clear ();
 }
 void
 Key::print () const
 {
-  for (int i= 0; i < OCTAVES ; i++)
+  for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
     {
       DOUT << "octave " << i - ZEROOCTAVE << " Octave_key { ";
-      octaves[i].print ();
+      octaves_[i].print ();
       DOUT << "}\n";
     }
 }
index 7e09d03e58d9f6a8cc50e29af79b9e986ae31842..aefb42336e6437a570223ecaed3d48a279fb0945 100644 (file)
@@ -38,7 +38,6 @@
 void strip_trailing_white (String&);
 void strip_leading_white (String&);
 
-
 #define start_quote()  \
        yy_push_state (quote);\
        yylval.string = new String
@@ -144,6 +143,27 @@ TELP               \\\]
        new_input (s,source_global_l);
        yy_pop_state ();
 }
+<incl>\\{BLACK}*;?{WHITE} { /* got the include identifier */
+       String s = YYText () + 1;
+       strip_trailing_white (s);
+       if (s.length_i () && (s[s.length_i () - 1] == ';'))
+         s = s.left_str (s.length_i () - 1);
+       DOUT << "#include `\\" << s << "'\n";
+       Identifier * id = lookup_identifier (s);
+       if (id) 
+         {
+           String* s_p = id->string ();
+           DOUT << "#include `" << *s_p << "\'\n";
+           new_input (*s_p, source_global_l);
+           delete s_p;
+           yy_pop_state ();
+         }
+       else
+         {
+           String msg ("Undefined identifier: `" + s + "'");   
+           LexerError (msg.ch_C ());
+         }
+}
 <incl>\"[^"]*   { // backup rule
        cerr << "missing end quote" << endl;
        exit (1);
@@ -176,18 +196,7 @@ TELP               \\\]
        exit (1);
 }
 <notes>{
-       {ALPHAWORD}/\'  {
-               post_quotes_b_ = true;
-               return scan_bare_word (YYText ());
-       }
-       \'+             {
-               yylval.i = YYLeng ();
-               if (post_quotes_b_) {
-                       post_quotes_b_ = false;
-                       return POST_QUOTES;
-               } else
-                       return PRE_QUOTES;
-       }
+
        {ALPHAWORD}     {
                return scan_bare_word (YYText ());
 
@@ -375,9 +384,11 @@ My_lily_lexer::scan_escaped_word (String str)
                    DOUT << "(notename)\n";
                    yylval.melreq = mel_l;
                    mel_l->set_spot (Input (source_file_l (), here_ch_C ()));
-                   return NOTENAME_ID;
+                   return NOTENAME_IDENTIFIER;
                }
        }
+       if (check_debug)
+               print_declarations (true);
        String msg ("Unknown escaped string: `" + str + "'");   
        LexerError (msg.ch_C ());
        DOUT << "(string)";
@@ -396,7 +407,7 @@ My_lily_lexer::scan_bare_word (String str)
                    DOUT << "(notename)\n";
                    yylval.melreq = mel_l;
                    mel_l->set_spot (Input (source_file_l (), here_ch_C ()));
-                   return NOTENAME_ID;
+                   return NOTENAME_IDENTIFIER;
                }
        }
 
@@ -416,8 +427,12 @@ My_lily_lexer::lyric_state_b () const
        return YY_START == lyrics;
 }
 
+/*
+ urg, belong to String(_convert)
+ and should be generalised 
+ */
 void
-strip_trailing_white (String&s)
+strip_leading_white (String&s)
 {
        int i=0;
        for (;  i < s.length_i (); i++) 
@@ -428,7 +443,7 @@ strip_trailing_white (String&s)
 }
 
 void
-strip_leading_white (String&s)
+strip_trailing_white (String&s)
 {
        int i=s.length_i ();    
        while (i--) 
@@ -437,3 +452,4 @@ strip_leading_white (String&s)
 
        s = s.left_str (i+1);
 }
+
index f90dcde52c1507397090d63c22c6d45778425196..9c4cb14629f88e1a8f303e5ed7bde281e1d63bd9 100644 (file)
@@ -12,6 +12,7 @@
 #include "paper-def.hh"
 #include "lookup.hh"
 #include "paper-def.hh"
+#include "main.hh"
 
 Lyric_engraver::Lyric_engraver()
 {
@@ -55,6 +56,17 @@ Lyric_engraver::do_pre_move_processing()
 {
   if (lyric_item_p_)
     {
+      /*
+        urg. should check-out deriving from staff/line spanner
+       */
+      if (experimental_features_global_b)
+        {
+         if (lyric_item_p_->tdef_p_->static_name () == Text_def::static_name ())
+           {
+             Text_def* t = (Text_def*)lyric_item_p_->tdef_p_;
+             t->text_str_ += "\\hrule 1mm 10mm 20mm";
+           }
+       }
       typeset_element (lyric_item_p_);
       lyric_item_p_ =0;
     }
index fc6cae778dd6097164c2fca8089a6ee655320e60..b1c484b6397cab9dffe056b43bd08848424b006e 100644 (file)
@@ -20,6 +20,7 @@
 #include "source-file.hh"
 #include "parseconstruct.hh"
 #include "main.hh"
+#include "scope.hh"
 
 static Keyword_ent the_key_tab[]={
   {"accepts", ACCEPTS},
@@ -72,9 +73,9 @@ static Keyword_ent the_key_tab[]={
 My_lily_lexer::My_lily_lexer()
 {
   keytable_p_ = new Keyword_table (the_key_tab);
-  identifier_p_dict_p_ = new Dictionary<Identifier*>;
+  toplevel_scope_p_ = new Scope;
+  scope_l_arr_.push (toplevel_scope_p_);
   errorlevel_i_ = 0;
-  post_quotes_b_ = false;
   note_tab_p_ = new Notename_table;
 }
 
@@ -87,10 +88,10 @@ My_lily_lexer::lookup_keyword (String s)
 Identifier*
 My_lily_lexer::lookup_identifier (String s)
 {
-  if (!identifier_p_dict_p_->elt_b (s))
-    return 0;
-
-  return (*identifier_p_dict_p_)[s];
+  for (int i = scope_l_arr_.size (); i--; )
+    if (scope_l_arr_[i]->elt_b (s))
+      return (*scope_l_arr_[i])[s];
+  return 0;
 }
 
 void
@@ -107,41 +108,34 @@ My_lily_lexer::start_main_input ()
 }
 
 void
-My_lily_lexer::set_identifier (String name_str, Identifier*i)
+My_lily_lexer::set_identifier (String name_str, Identifier* i, bool unique_b)
 {
   Identifier *old = lookup_identifier (name_str);
   if  (old)
     {
-      old->warning(_("redeclaration of \\") + name_str);
+      if (unique_b)
+       old->warning(_("redeclaration of \\") + name_str);
       delete old;
     }
-  (*identifier_p_dict_p_)[name_str] = i;
+  (*scope_l_arr_.top ())[name_str] = i;
 }
 
 My_lily_lexer::~My_lily_lexer()
 {
   delete keytable_p_;
+  delete toplevel_scope_p_ ;
+
 
-  for (Assoc_iter<String,Identifier*>
-        ai (*identifier_p_dict_p_); ai.ok(); ai++)
-    {
-      DOUT << "deleting: " << ai.key()<<'\n';
-      delete ai.val();
-    }
   delete note_tab_p_;
-  delete identifier_p_dict_p_;
 }
+
 void
 My_lily_lexer::print_declarations (bool init_b) const
 {
-  for (Assoc_iter<String,Identifier*> ai (*identifier_p_dict_p_);
-       ai.ok(); ai++)
+  for (int i=scope_l_arr_.size (); i--; )
     {
-      if (ai.val()->init_b_ == init_b)
-       {
-         DOUT << ai.key() << '=';
-         ai.val()->print ();
-       }
+      DOUT << "Scope no. " << i << "\n";
+      scope_l_arr_[i]->print ();
     }
 }
 
index cb1666207b92e7dba06bb348d70ef734c1a6730f..eb380bbd4c5bee7809666675260fb83f40b12c74 100644 (file)
@@ -16,6 +16,9 @@
 #include "parser.hh"
 #include "header.hh"
 #include "file-results.hh"
+#include "midi-def.hh"
+#include "paper-def.hh"
+#include "identifier.hh"
 
 My_lily_parser::My_lily_parser (Sources * source_l)
 {
@@ -177,9 +180,52 @@ My_lily_parser::get_melodic_req (Melodic_req* melodic, int quotes)
     {
       set_nearest (melodic);
       int d = melodic->pitch () - last_melodic_->pitch ();
+      int shift = 0;
       if (quotes && (sign (d) == sign (quotes)))
-       quotes -= sign (quotes);
-      melodic->octave_i_ += quotes;
+       shift -= sign (quotes);
+      if (!quotes && (abs (d) == 6))
+       {
+         String str = _("Octave ambiguity; assuming ");
+         /*
+           [TODO]
+           figure this out.
+
+           If the distance is exactly*) half an octave, there is 
+           no nearest pitch.  In that case, we'll try to guess what 
+           composer/ typist meant.
+           Firstly, we'll do this by comparing the 'notename distance':
+               
+             f b'   % name-distance: f g a b: 3
+
+           is surely a shorter notename distance than
+
+             f 'b  % name-distance: b c d e f: 4
+
+         (should we give a warning at all, or can we safely assume
+         this is a positive interval up?)
+
+         *) It is conceivable that, musically speaking, the interval
+            with the greater pitch-distance is thought to be smaller?
+
+         */
+
+         int name_delta = melodic->notename_i_ - last_melodic_->notename_i_;
+         int name_near = abs (name_delta) % 7;
+         int name_wrap = (7 - abs (name_delta)) % 7;
+         if (name_near != name_wrap)
+           shift = name_near < name_wrap ? sign (name_delta) : -sign (name_delta);
+         else if (sign (last_melodic_->accidental_i_) 
+           != sign (melodic->accidental_i_))
+           shift = last_melodic_->accidental_i_ - melodic->accidental_i_;
+         else
+           shift = -1;
+         String name_str = notename_str (melodic);
+         str += shift > 0 ? name_str + "'" : "'" + name_str;
+         if (sign (d) == sign (shift))
+           shift = 0;
+         melodic->warning (str);
+       }
+      melodic->octave_i_ += quotes + shift;
     }
   else
     {
@@ -193,17 +239,12 @@ My_lily_parser::get_melodic_req (Melodic_req* melodic, int quotes)
          if (e)
            {
              int d = melodic->pitch () - last_melodic_->pitch ();
-             String str = _("Interval bigger than quart");
+             String str = _("Interval greater than quart");
              int n = 1 + (abs (d) - 1) / 12;
              String quote_str ('\'', n);
-#if 0
-             str += d < 0 ? _(", prepend: ") : _(", append: ");
-             str += quote_str;
-#else
              str += _(", relative: ");
              String name_str = notename_str (melodic);
              str += d < 0 ? quote_str + name_str : name_str + quote_str;
-#endif
              melodic->warning (str);
            }
        }
@@ -418,3 +459,17 @@ My_lily_parser::add_notename (String s, Melodic_req * m_p)
   lexer_p_->add_notename (s, m_p);
 }
 
+Paper_def*
+My_lily_parser::default_paper_p ()
+{
+       Identifier *id = lexer_p_->lookup_identifier ("default_paper");
+       return id ? id->paperdef () : new Paper_def ;
+}
+
+Midi_def*
+My_lily_parser::default_midi_p ()
+{
+       Identifier *id = lexer_p_->lookup_identifier ("default_midi");
+       return id ? id->mididef () : new Midi_def ;
+}
+
index c82d2c42c2a95d9bdbf77ecbced709b4638e0a0c..e528b9e956369d94ace5744e9f76161ee7745808 100644 (file)
@@ -43,6 +43,15 @@ Note_column::head_positions_interval() const
 
 }
 
+Interval 
+Note_column::width () const
+{
+  if (head_l_arr_.size ())
+    return head_l_arr_[0]->width ();
+  else
+    return Interval (0,0);
+}
+
 void
 Note_column::do_pre_processing()
 {
index dbb99fd73030778d2904e6599d9fe83d00dcec5f..fc867d6ac4f2015847e6ae1bebc6976c96714a4a 100644 (file)
 #include "assoc-iter.hh"
 #include "score-grav.hh"
 #include "p-score.hh"
+#include "identifier.hh"
 #include "main.hh"
+#include "scope.hh"
 
 
 Paper_def::Paper_def ()
 {
   lookup_p_ = 0;
-  real_vars_p_ = new Dictionary<Real>;
+  scope_p_ = new Scope;
 }
 
 Paper_def::~Paper_def ()
 {
-  delete real_vars_p_;
+  delete scope_p_;
   delete lookup_p_;
 }
 
@@ -36,28 +38,28 @@ Paper_def::Paper_def (Paper_def const&s)
   : Music_output_def (s)
 {
   lookup_p_ = s.lookup_p_? new Lookup (*s.lookup_p_) : 0;
-  lookup_p_->paper_l_ = this;
-  real_vars_p_ = new Dictionary<Real> (*s.real_vars_p_);
-}
-
-void
-Paper_def::set_var (String s, Real r)
-{
-  real_vars_p_->elem (s) = r;
+  if (lookup_p_)
+    {
+      lookup_p_->paper_l_ = this;
+    }
+  scope_p_ = new Scope (*s.scope_p_);
 }
 
 Real
 Paper_def::get_var (String s) const
 {
-  if (! real_vars_p_->elt_b (s))
+  if (!scope_p_->elt_b (s))
     error (_ ("unknown paper variable `")  + s+"'");
-  return real_vars_p_->elem (s);
+  Real * p = scope_p_->elem (s)->real ();
+  Real r = *p;
+  delete p;
+  return r;
 }
 
 Interval
 Paper_def::line_dimensions_int (int n) const
 {
-  if (!shape_int_a_.size ())    
+  if (!shape_int_a_.size ())
     if (n)
       return Interval (0, linewidth_f ());
     else
@@ -178,10 +180,14 @@ Paper_def::print () const
 #ifndef NPRINT
   Music_output_def::print ();
   DOUT << "Paper {";
-  lookup_p_->print ();
-  for (Assoc_iter<String,Real> i (*real_vars_p_); i.ok (); i++)
+  if (lookup_p_)
+    lookup_p_->print ();
+  for (Assoc_iter<String,Identifier*> i (*scope_p_); i.ok (); i++)
     {
-      DOUT << i.key () << "= " << i.val () << "\n";
+      DOUT << i.key () << "= ";
+//      i.val ()->print ();
+// urg
+      DOUT << i.val ()->str () << "\n";
     }
   DOUT << "}\n";
 #endif
@@ -200,8 +206,9 @@ String
 Paper_def::TeX_output_settings_str () const
 {
   String s ("\n ");
-  for (Assoc_iter<String,Real> i (*real_vars_p_); i.ok (); i++)
-    s += String ("\\def\\mudelapaper") + i.key () + "{" + i.val () + "}\n";
+  for (Assoc_iter<String,Identifier*> i (*scope_p_); i.ok (); i++)
+    s += String ("\\def\\mudelapaper") + i.key () 
+      + "{" + i.val ()->str () + "}\n";
   s +=  lookup_p_->texsetting + "% (Tex id)\n";
   return s;
 }
@@ -213,3 +220,4 @@ Paper_def::get_next_default_count () const
 {
   return default_count_i_ ++;
 }
+
index 871e5d97be4c934f78e444873e2586a8d0d9c6b2..94a20a8921ef6bf343461e2dbb769b1b838f1385 100644 (file)
 #include "change-translator.hh"
 #include "file-results.hh"
 #include "mudela-version.hh"
+#include "scope.hh"
 
 // mmm
-Mudela_version oldest_version ("0.1.8");
-Mudela_version version ("0.1.13");
+Mudela_version oldest_version ("0.1.14");
+Mudela_version version ("0.1.14");
 
 
 // needed for bison.simple's malloc() and free()
@@ -191,7 +192,7 @@ yylex (YYSTYPE *s,  void * v_l)
 
 %type <i>      dots
 %token <i>     DIGIT
-%token <melreq>        NOTENAME_ID
+%token <melreq>        NOTENAME_IDENTIFIER
 %token <id>    DURATION_IDENTIFIER
 %token <id>    IDENTIFIER
 %token <id>    MELODIC_REQUEST_IDENTIFIER
@@ -201,6 +202,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %token <id>    SCRIPT_IDENTIFIER
 %token <id>    COMMAND_IDENTIFIER
 %token <id>    REAL_IDENTIFIER
+%token <id>    STRING_IDENTIFIER
 %token <id>    TRANS_IDENTIFIER
 %token <id>    INT_IDENTIFIER
 %token <id>    SCORE_IDENTIFIER
@@ -211,8 +213,7 @@ yylex (YYSTYPE *s,  void * v_l)
 %token <string>        DURATION RESTNAME
 %token <string>        STRING
 %token <i>     UNSIGNED
-%token <i>     POST_QUOTES
-%token <i>     PRE_QUOTES
+
 
 %type <outputdef> output_def
 %type <header>         mudela_header mudela_header_body
@@ -220,12 +221,12 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <i>      open_request_parens close_request_parens
 %type <i>      open_abbrev_parens
 %type <i>      open_plet_parens close_plet_parens
-%type <i>      post_quotes pre_quotes
+%type <i>      sub_quotes sup_quotes
 %type <music>  simple_element music_elt full_element lyrics_elt command_elt
 %type <i>      abbrev_type
 %type <i>      int unsigned
 %type <i>      script_dir
-%type <id>     identifier_init
+%type <id>     identifier_init simple_identifier_init
 %type <duration> explicit_steno_duration notemode_duration
 %type <duration> entered_notemode_duration explicit_duration
 %type <interval>       dinterval
@@ -243,14 +244,16 @@ yylex (YYSTYPE *s,  void * v_l)
 %type <musiclist> Voice Voice_body
 %type <chord>  Chord Chord_body
 %type <paper>  paper_block paper_body
-%type <real>   dim real real_expression
-%type <real>   real_add_expression real_mult_expression real_primary
+%type <real>   dim real
+%type <real>   real_mult_expression real_primary
 %type <real>   unit
 %type <request> abbrev_command_req
 %type <request>        post_request structured_post_request
 %type <pair>   plet_fraction
 %type <request> command_req verbose_command_req
 %type <request>        script_req  dynamic_req
+%type <string> string
+%type <string> string_primary
 %type <score>  score_block score_body
 %type <intarr> shape_array
 %type <script> script_definition script_body mudela_script gen_script_def
@@ -345,7 +348,7 @@ add_declaration:
        STRING {
                THIS->remember_spot ();
        }
-       /* cont */ '=' identifier_init {
+       /* cont */ '=' identifier_init optional_semicolon {
            THIS->lexer_p_->set_identifier (*$1, $4);
            $4->init_b_ = THIS->init_parse_b_;
            $4->set_spot (THIS->pop_spot ());
@@ -354,47 +357,53 @@ add_declaration:
 
 identifier_init:
        score_block {
-               $$ = new Score_id ($1, SCORE_IDENTIFIER);
+               $$ = new Score_identifier ($1, SCORE_IDENTIFIER);
 
        }
        | paper_block {
-               $$ = new Paper_def_id ($1, PAPER_IDENTIFIER);
-
+               $$ = new Paper_def_identifier ($1, PAPER_IDENTIFIER);
        }
        | midi_block {
-               $$ = new Midi_def_id ($1, MIDI_IDENTIFIER);
+               $$ = new Midi_def_identifier ($1, MIDI_IDENTIFIER);
 
        }
        | script_definition {
-               $$ = new Script_id ($1, SCRIPT_IDENTIFIER);
+               $$ = new General_script_def_identifier ($1, SCRIPT_IDENTIFIER);
 
        }
        | Music  {
-               $$ = new Music_id ($1, MUSIC_IDENTIFIER);
+               $$ = new Music_identifier ($1, MUSIC_IDENTIFIER);
 
        }
        | symtables {
-               $$ = new Lookup_id ($1, IDENTIFIER);
+               $$ = new Lookup_identifier ($1, IDENTIFIER);
 
        }
-       | real {
-               $$ = new Real_id (new Real ($1), REAL_IDENTIFIER);
-       }
-       | int   {
-               $$ = new Int_id (new int ($1), INT_IDENTIFIER);
-       }
        | post_request {
-               $$ = new Request_id ($1, POST_REQUEST_IDENTIFIER);
+               $$ = new Request_identifier ($1, POST_REQUEST_IDENTIFIER);
        }
        | melodic_request {
-               $$ = new Request_id ($1, MELODIC_REQUEST_IDENTIFIER);
+               $$ = new Request_identifier ($1, MELODIC_REQUEST_IDENTIFIER);
 
        }
-       | translator_spec {
-               $$ = new Translator_id ($1, TRANS_IDENTIFIER);
-       }
        | explicit_duration {
-               $$ = new Duration_id ($1, DURATION_IDENTIFIER);
+               $$ = new Duration_identifier ($1, DURATION_IDENTIFIER);
+       }
+       | simple_identifier_init
+       ;
+
+simple_identifier_init:
+       real {
+               $$ = new Real_identifier (new Real ($1), REAL_IDENTIFIER);
+       }
+       | string {
+               $$ = new String_identifier ($1, STRING_IDENTIFIER);
+       }
+       | int   {
+               $$ = new int_identifier (new int ($1), INT_IDENTIFIER);
+       }
+       | translator_spec {
+               $$ = new Translator_identifier ($1, TRANS_IDENTIFIER);
        }
        ;
 
@@ -413,12 +422,12 @@ translator_spec_body:
                $$->set_spot (THIS->here_input ());
                delete $2;
        }
-       | translator_spec_body STRING '=' scalar ';'    {
+       | translator_spec_body STRING '=' scalar ';'    { 
                $$-> set_property (*$2, *$4);
                delete $2;
                delete $4;
        }
-       | translator_spec_body CONSISTS STRING ';'      {
+       | translator_spec_body CONSISTS STRING ';' {
                $$->group_l ()->consists_str_arr_.push (*$3);
                delete $3;
        }
@@ -439,7 +448,7 @@ score_block:
                $$ = $4;
                $$->set_spot (THIS->pop_spot ());
                if (!$$->def_p_arr_.size ())
-                       $$->add (THIS->default_paper ());
+                       $$->add (THIS->default_paper_p ());
 
                /* handle error levels. */
                $$->errorlevel_i_ = THIS->error_level_i_;
@@ -492,8 +501,10 @@ intastint_list:
        PAPER
 */
 paper_block:
-       PAPER
-       '{' paper_body '}'      { $$ = $3; }
+       PAPER '{' paper_body '}'        { 
+               $$ = $3;
+               THIS-> lexer_p_->scope_l_arr_.pop ();
+       }
        ;
 
 optional_semicolon:
@@ -503,25 +514,37 @@ optional_semicolon:
 
 paper_body:
        /* empty */                     {
-               $$ = THIS->default_paper ();
+               Paper_def *p = THIS->default_paper_p ();
+               THIS-> lexer_p_-> scope_l_arr_.push (p->scope_p_);
+               $$ = p;
        }
        | PAPER_IDENTIFIER optional_semicolon   {
-               $$ = $1->paperdef ();
+               Paper_def *p = $1->paperdef ();
+               THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
+               $$ = p;
        }
        | paper_body OUTPUT STRING ';'  { 
                $$->outfile_str_ = *$3;
                delete $3;
        }
        | paper_body symtables          { $$->set ($2); }
-       | paper_body STRING '=' real_expression ';'             {
-               $$->set_var (*$2, $4);
-// ugh, huh?
-               current_paper = $$;
+       | paper_body STRING '=' simple_identifier_init optional_semicolon {
+           Identifier* id = $4;
+           id->init_b_ = THIS->init_parse_b_;
+           if (id->is_type_b (Translator_identifier::static_name ()))
+             {
+               $$->assign_translator (*$2, id->translator ());
+               delete id;
+             }
+           else
+             THIS->lexer_p_->set_identifier (*$2, id);
        }
+/*
        | paper_body STRING '=' translator_spec {
                $$-> assign_translator (*$2, $4);
                delete $2;
        }
+*/
        | paper_body SHAPE '=' shape_array ';' {
                $$->shape_int_a_ = *$4;
                delete $4;
@@ -532,28 +555,27 @@ paper_body:
        ;
 
 real_primary:
-       real
-       | dim
-       | STRING {
-// ugh, huh?
-//             $$ = THIS->default_paper ()->get_var (*$1);
-               $$ = current_paper->get_var (*$1);
+       REAL            {
+               $$ = $1;
+       }
+       | REAL_IDENTIFIER               {
+               Real *r_p = $1->real ();
+               $$ = * r_p;
+               DOUT << "Lookup real: " << *r_p << "\n";
+               delete r_p;
        }
-       | '(' real_expression ')' {
+       | dim
+       | '(' real ')' {
                $$ = $2;
        }
        ;
 
-real_expression:
-       real_add_expression
-       ;
-
-real_add_expression:
+real:
        real_mult_expression
-       | real_add_expression '+' real_mult_expression {
+       | real '+' real_mult_expression {
                $$ = $1 + $3;
        }
-       | real_add_expression '-' real_mult_expression {
+       | real '-' real_mult_expression {
                $$ = $1 - $3;
        }
        ;
@@ -586,7 +608,7 @@ midi_block:
        ;
 
 midi_body: /* empty */                 {
-               $$ = THIS->default_midi ();
+               $$ = THIS->default_midi_p ();
        }
        | midi_body STRING '=' translator_spec  {
                $$-> assign_translator (*$2, $4);
@@ -629,7 +651,7 @@ Voice_body:
                $$ = new Voice;
                $$->set_spot (THIS->here_input ());
        }
-       | Voice_body Music              {
+       | Voice_body Music      {
                $$->add ($2);
        }
        ;
@@ -651,8 +673,7 @@ Music:
        | Voice         { $$ = $1; }
        | Chord                 { $$ = $1; }
        | transposed_music      { $$ = $1; }
-       | MUSIC_IDENTIFIER      { $$ = $1->music (); }
-       | MUSIC_IDENTIFIER ';'  { $$ = $1->music (); }
+       | MUSIC_IDENTIFIER { $$ = $1->music (); }
        | MELODIC
                { THIS->lexer_p_->push_note_state (); }
        Music
@@ -859,25 +880,20 @@ post_request:
        }
        ;
 
-pre_quotes:
-       PRE_QUOTES {
-//             int i = $1;
-               $$ = $1;
+sup_quotes:
+       '\'' {
+               $$ = 1;
        }
-       | pre_quotes PRE_QUOTES {
-//             int i = $1 + $2;
-               $$ =  $1 + $2;
+       | sup_quotes '\'' {
+               $$ ++;
        }
        ;
-
-post_quotes:
-       POST_QUOTES {
-//             int i = $1;
-               $$ = $1;
+sub_quotes:
+       ',' {
+               $$ = 1;
        }
-       | post_quotes POST_QUOTES {
-//             int i = $1 + $2;
-               $$ = $1 + $2;
+       | sub_quotes ',' {
+               $$++ ;
        }
        ;
 
@@ -891,17 +907,17 @@ post_quotes:
        jcn
 */
 steno_melodic_req:
-       NOTENAME_ID     {
+       NOTENAME_IDENTIFIER     {
                Melodic_req* m =  $1->clone ()->musical ()->melodic ();
                $$ = THIS->get_melodic_req (m, 0 + THIS->default_octave_i_);
        }
-       | NOTENAME_ID post_quotes       {
+       | NOTENAME_IDENTIFIER sup_quotes        {
                Melodic_req* m =  $1->clone ()->musical ()->melodic ();
                $$ = THIS->get_melodic_req (m, $2 + THIS->default_octave_i_);
        }
-       | pre_quotes NOTENAME_ID         {
-               Melodic_req* m =  $2->clone ()->musical ()->melodic ();
-               $$ = THIS->get_melodic_req (m, -$1 + THIS->default_octave_i_);
+       | NOTENAME_IDENTIFIER sub_quotes         {
+               Melodic_req* m =  $1->clone ()->musical ()->melodic ();
+               $$ = THIS->get_melodic_req (m, -$2 + THIS->default_octave_i_);
        }
        ;
 
@@ -1164,11 +1180,19 @@ voice_command:
 
                        c' -> default_octave_i_ == 1
                */
+
                /* why can't we have \oct 0 iso \oct{c'}*/
-               THIS->default_octave_i_ = 1; }
-/* cont */
+               // because that's silly.
+
+               // for relative octaves, the octave setting is done 
+               // automatically by the parsing of steno_melodic_req!
+               if (!THIS->relative_octave_mode_b_)
+                 THIS->default_octave_i_ = 1; 
+       }
+       /* cont */
        steno_melodic_req {
-               THIS->default_octave_i_ = $3->octave_i_;
+               if (!THIS->relative_octave_mode_b_)
+                 THIS->default_octave_i_ = $3->octave_i_;
                delete $3;
        }
        | OCTAVE STRING {
@@ -1298,7 +1322,7 @@ lyrics_elt:
 pitch_list:                    {
                $$ = new Array<Melodic_req*>;
        }
-       | pitch_list NOTENAME_ID        {
+       | pitch_list NOTENAME_IDENTIFIER        {
                $$->push ($2->clone ()->musical ()->melodic ());
        }
        ;
@@ -1325,21 +1349,30 @@ int:
        }
        ;
 
-real:
-       REAL            {
+string_primary:
+       STRING          {
                $$ = $1;
        }
-       | REAL_IDENTIFIER               {
-               Real *r_p = $1->real ();
-               $$ = * r_p;
-               delete r_p;
+       | STRING_IDENTIFIER     {
+               String *s_p = $1->string ();
+               // $$ = * r_p;
+               $$ = s_p;
+               DOUT << "Lookup string: " << *s_p << "\n";
        }
        ;
 
-
+string:
+       string_primary {
+               $$ = $1;
+       }
+       | string '+' string_primary {
+               *$$ += *$3;
+               delete $3;
+       }
+       ;
 
 dim:
-       real unit       { $$ = $1*$2; }
+       real_primary unit       { $$ = $1*$2; }
        ;
 
 
@@ -1427,17 +1460,3 @@ My_lily_parser::do_yyparse ()
        yyparse ((void*)this);
 }
 
-Paper_def*
-My_lily_parser::default_paper ()
-{
-       Identifier *id = lexer_p_->lookup_identifier ("default_paper");
-       return id ? id->paperdef () : new Paper_def ;
-}
-
-Midi_def*
-My_lily_parser::default_midi ()
-{
-       Identifier *id = lexer_p_->lookup_identifier ("default_midi");
-       return id ? id->mididef () : new Midi_def ;
-}
-
index 6e578441c6c16bd8f60de8cbbcd6d40c9fdbb231..feeacc4db77930bff3f0787b7504686a65e050ca 100644 (file)
 #include "stem.hh"
 #include "text-def.hh"
 
+
+/*
+  UHGUGH THIS IS BROKEN! do not derive from Bow
+ */
 IMPLEMENT_IS_TYPE_B1 (Plet_spanner,Bow);
   
 Plet_spanner::Plet_spanner ()
@@ -103,14 +107,22 @@ Plet_spanner::do_post_processing ()
   do
     {
       Stem* s = stem_l_drul_[d] ? stem_l_drul_[d] : stem_l_drul_[(Direction)-d];
+
       dy_f_drul_[d] = dir_ == s->get_dir () ? s->stem_end_f ()
-       : s->stem_begin_f () + dir_ * nh_f / 2;
+         : s->stem_begin_f () + dir_ * nh_f / 2;
       dy_f_drul_[d] *= .5 * interline_f;
       dy_f_drul_[d] += dir_ * interline_f;
       if (d == RIGHT)
         dx_f_drul_[d] = nw_f;
     }
   while (flip(&d) != LEFT);
+  do {
+    if (stem_l_drul_[d]->empty_b ())
+      {
+       dy_f_drul_[d] = dy_f_drul_[flip (&d)]; // ughugh \[/3 r8 c8 r8 \]/1
+      }
+    }
+  while (flip(&d) != LEFT);
 }
 
 void
diff --git a/lily/scope.cc b/lily/scope.cc
new file mode 100644 (file)
index 0000000..52a185e
--- /dev/null
@@ -0,0 +1,48 @@
+/*   
+  scope.cc --  implement Scope
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+  
+ */
+
+#include "scope.hh"
+#include "assoc-iter.hh"
+#include "debug.hh"
+#include "identifier.hh"
+
+void
+Scope::print () const
+{
+  bool init_b = false;         // ugh
+  for (Assoc_iter<String,Identifier*> ai (*this);  ai.ok(); ai++)
+    {
+      if (ai.val()->init_b_ == init_b)
+       {
+         DOUT << ai.key() << '=';
+         ai.val()->print ();
+       }
+    }
+}
+
+Scope::~Scope ()
+{
+  for (Assoc_iter<String,Identifier*>   ai (*this); ai.ok(); ai++)
+    {
+      DOUT << "deleting: " << ai.key()<<'\n';
+      delete ai.val();
+    }
+}
+
+Scope::Scope (Scope const&s)
+  : Dictionary<Identifier*> (s)
+{
+  for (Assoc_iter<String,Identifier*> ai (s); ai.ok(); ai++)
+    {
+      (*this)[ai.key ()] = ai.val ()->clone ();
+    }
+}
+
+Scope::Scope ()
+{}
index d30579839a9af88321e0baab582835c1398ea897..8f97c31d76d60b195798ed88bd02a497cfa2a158 100644 (file)
@@ -53,8 +53,10 @@ Score::run_translator (Music_output_def *odef_l)
   Cpu_timer timer;
   Global_translator * trans_p = odef_l->get_global_translator_p();
   if (!trans_p)
-    return ;
-
+    {
+      non_fatal_error ("No toplevel translator.");
+      return ;
+    }
   *mlog << _("\nInterpreting music ...");
   trans_p->last_mom_ = music_p_->time_int().max ();
 
index 0971bfd73821688c3b4490fd21438fe94715f780..53b495f911c2574a83ac93b7a193059484ed7298 100644 (file)
@@ -9,6 +9,7 @@
 
 /*
   [TODO]
+    * URG: share code with tie
     * begin and end should be treated as a Script.
     * damping
     * slur from notehead to stemend: c''()b''
@@ -126,15 +127,16 @@ Slur::do_post_processing ()
        */
       if (extrema[d] != spanned_drul_[d]) 
        {
+         // ugh -- check if needed
          dx_f_drul_[d] = -d 
-           *(spanned_drul_[d]->width ().length () -0.5 * notewidth_f);
+           *(spanned_drul_[d]->width ().length () - 0.5 * notewidth_f);
 
          // prebreak
          if (d == RIGHT)
            {
              dx_f_drul_[LEFT] = spanned_drul_[LEFT]->width ().length ();
 
-             // urg
+             // urg -- check if needed
              if (encompass_arr_.size () > 1)
                dx_f_drul_[RIGHT] += notewidth_f;
            }
@@ -144,6 +146,7 @@ Slur::do_post_processing ()
        */
       else if (extrema[d]->stem_l_ && !extrema[d]->stem_l_->transparent_b_) 
         {
+         Real notewidth_f = extrema[d]->width ().length ();
          dy_f_drul_[d] = (int)rint (extrema[d]->stem_l_->height ()[dir_]);
          dx_f_drul_[d] += 0.5 * notewidth_f - d * gap_f;
          if (dir_ == extrema[d]->stem_l_->dir_)
@@ -156,10 +159,14 @@ Slur::do_post_processing ()
        }
       else 
         {
+         Real notewidth_f = extrema[d]->width ().length ();
          dy_f_drul_[d] = (int)rint (extrema[d]->head_positions_interval ()
            [dir_]) * internote_f;
+         dx_f_drul_[d] += 0.5 * notewidth_f - d * gap_f;
        }
       dy_f_drul_[d] += dir_ * interline_f;
+      if (extrema[d]->stem_l_ && (dir_ == extrema[d]->stem_l_->dir_))
+       dy_f_drul_[d] -= dir_ * internote_f;
     }
   while (flip(&d) != LEFT);
 
@@ -190,6 +197,20 @@ Slur::do_post_processing ()
        }
      }
   while (flip(&d) != LEFT);
+
+  /*
+    Avoid too steep slurs.
+      * slur from notehead to stemend: c''()b''
+   */
+  Real damp_f = paper ()->get_var ("slur_slope_damping");
+  Offset d_off = Offset (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT],
+    dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
+  d_off.x () += width ().length ();
+
+  Real ratio_f = abs (d_off.y () / d_off.x ());
+  if (ratio_f > damp_f)
+    dy_f_drul_[(Direction)(- dir_ * sign (d_off.y ()))] -=
+      dir_ * (damp_f - ratio_f) * d_off.x ();
 }
 
 Array<Offset>
index 3855777a58411d0e884eea81d220460d5d44ce1c..2ce41ae76c06b65e9b14f8cacd1215aed56367e3 100644 (file)
@@ -345,7 +345,7 @@ Spring_spacer::solve (Col_hpositions*positions) const
          WARN << _("solution doesn't satisfy constraints.\n") ;
        }
       position_loose_cols (solution_vec);
-      positions->energy_f_ = calculate_energy_f (solution_vec) / energy_normalisation_f_;
+      positions->energy_f_ = calculate_energy_f (solution_vec);
       positions->config = solution_vec;
       positions->error_col_l_arr_ = error_pcol_l_arr();
     }
@@ -567,7 +567,7 @@ Spring_spacer::calc_idealspacing()
   get_ruling_durations(shortest_playing_arr, context_shortest_arr);
 
   Real interline_f = paper_l ()->interline_f ();
-  Real nw_f = paper_l ()->note_width ();
+
 
   Array<Real> ideal_arr_;
   Array<Real> hooke_arr_;
@@ -689,10 +689,6 @@ Spring_spacer::calc_idealspacing()
                + interline_f / 2;
              dist = dist >? minimum;
            }
-
-          // ugh: never let columns touch... try to set over here...
-         // ugh: use j iso i triggers ice in gcc-2.7.2.3 
-          cols_[i].width_[LEFT] -= nw_f / 4;
          ideal_arr_[i] = dist;
        }
     }
index a809545931c777fbaf7b42192305367cc4359732..01ba63ead423bc4075d70d5d5270b5a97bd4c5da 100644 (file)
@@ -79,7 +79,10 @@ Stem_engraver::do_pre_move_processing()
       Scalar prop = get_property ("ydirection");
       dir_ = prop.isnum_b () ? (Direction)int(prop) : CENTER;
       if (dir_)
-       stem_p_->dir_ = dir_;
+       {
+         stem_p_->dir_ = dir_;
+         stem_p_->dir_forced_b_ = true;
+       }
 
       typeset_element(stem_p_);
       stem_p_ = 0;
index d109e96e8062e39faf03ae7958441fc4e21e0086..afe5962a8888e795298e69039ab1afc69f32b9b3 100644 (file)
@@ -25,6 +25,7 @@ Stem_info::Stem_info (Stem const *s)
 {
   x_ = s->hpos_f ();
   dir_ = s->dir_;
+  beam_dir_ = s->beam_dir_;
   mult_i_ = s->mult_i_;
 
   /*
@@ -60,35 +61,56 @@ Stem_info::Stem_info (Stem const *s)
     For simplicity, we'll assume dir = UP and correct if 
     dir = DOWN afterwards.
    */
-  idealy_f_ = s->chord_start_f () * dir_ / internote_f;
+  idealy_f_ = s->chord_start_f () * beam_dir_ / internote_f;
   idealy_f_ *= internote_f;
 
-  idealy_f_ += interbeam_f * mult_i_;
 
-  miny_f_ = idealy_f_;
+  if (!beam_dir_ || (beam_dir_ == dir_))
+    {
+      idealy_f_ += interbeam_f * mult_i_;
+      miny_f_ = idealy_f_;
+      maxy_f_ = INT_MAX;
 
-  // B"arenreiter
-  if (mult_i_ < 3)
-    idealy_f_ += 2.0 * interline_f;
+      // B"arenreiter
+      if (mult_i_ < 3)
+       idealy_f_ += 2.0 * interline_f;
+      else
+       idealy_f_ += 1.5 * interline_f;
+
+      miny_f_ += 1.0 * interline_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));
+    }
   else
-    idealy_f_ += 1.5 * interline_f;
+    {
+      idealy_f_ -= beam_f;
+      maxy_f_ = idealy_f_;
+
+      // B"arenreiter
+      if (mult_i_ < 3)
+       idealy_f_ -= 2.0 * interline_f;
+      else
+       idealy_f_ -= 1.5 * interline_f;
 
-  miny_f_ += 1.0 * interline_f;
+      maxy_f_ -= 1.0 * interline_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));
+      miny_f_ = -INT_MAX;
+    }
 
   idealy_f_ /= internote_f;
   miny_f_ /= internote_f;
-
+  maxy_f_ /= internote_f;
+  miny_f_ /= internote_f;
 
   DOUT << "dir_: " << dir_ << '\n';
   DOUT << "mult_i_: " << mult_i_ << '\n';
   DOUT << "idealy_f_: " << idealy_f_ << '\n';
   DOUT << "miny_f_: " << miny_f_ << '\n';
+  DOUT << "maxy_f_: " << maxy_f_ << '\n';
 
-
+  idealy_f_ = maxy_f_ <? idealy_f_;
   idealy_f_ = miny_f_ >? idealy_f_;
 }
 
index d867f16bf357b1773918b294d84e32e41556db4d..d87ae71b929930d7bd85cd700dc365736cf379a2 100644 (file)
@@ -37,6 +37,8 @@ Stem::Stem ()
   yextent_drul_[DOWN] = yextent_drul_[UP] = 0;
   flag_i_ = 2;
   dir_ = CENTER;
+  beam_dir_ = CENTER;
+  dir_forced_b_ = false;
   stem_xdir_ = LEFT;
   staff_size_i_ = 8;
 
@@ -320,10 +322,11 @@ Stem::note_delta_f () const
     }
   return r;
 }
+
 Real
 Stem::hpos_f () const
 {
-  return note_delta_f () +Item::hpos_f ();
+  return note_delta_f () + Item::hpos_f ();
 }
 
 /*
@@ -337,3 +340,4 @@ void
   head_l_arr_.substitute ((Note_head*)o_l, (Note_head*)n_l);
   rest_l_arr_.substitute ((Rest*)o_l, (Rest*)n_l);
 }
+
index b4a5dbf20926555687254eb4695a63af26394038..1ba5ae801e1e2b9ee332d4143d3cd88d75093d57 100644 (file)
 IPLC_INSTANTIATE(Score_elem);
 IPLC_INSTANTIATE(Spanner);
 IPLC_INSTANTIATE(Idealspacing);
+
+/* these are required at least on IRIX 5 and SunOS 4 */
+
+#if 0
+/* 
+   what gcc version?
+   they're in lib/template.cc too, and break linux/gcc-2.7.2 
+   are you sure they must be here too?
+
+   for now, i'll just change the switch in lib/template.cc
+   jcn
+ */
+
+#if defined (__linux__) && && __GNUC_MINOR__ < 8
+
+#include "list.tcc"
+
+// template class List<void *>;
+// template class Cursor<void *>;
+
+// this should work too, and
+LIST_INSTANTIATE (void *);
+
+#endif
+
+#endif
index 9fe73f7d9ee9a9792e104fc459ead924b3d282a8..c47d0831ace4f2202fa737fe1cbe235e1b4f5c1a 100644 (file)
@@ -62,6 +62,7 @@ Tie::do_add_processing()
 void
 Tie::do_post_processing()
 {
+  // URG: share code with slur!
   assert (head_l_drul_[LEFT] || head_l_drul_[RIGHT]);
 
   Real notewidth = paper ()->note_width ();
@@ -132,6 +133,20 @@ Tie::do_post_processing()
        }
     }
   while (flip(&d) != LEFT);
+
+  /*
+    Avoid too steep ties
+      * slur from notehead to stemend: c''()b''
+   */
+  Real damp_f = paper ()->get_var ("tie_slope_damping");
+  Offset d_off = Offset (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT],
+    dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
+  d_off.x () += width ().length ();
+
+  Real ratio_f = abs (d_off.y () / d_off.x ());
+  if (ratio_f > damp_f)
+    dy_f_drul_[(Direction)(- dir_ * sign (d_off.y ()))] -=
+      dir_ * (damp_f - ratio_f) * d_off.x ();
 }
 
 void
index 578dcea07edaa85999bb0fd805b3dba447bd96ea..fdd23e632f86c7ea0838fd71c44066b175087225 100644 (file)
@@ -1,7 +1,7 @@
 # special rules for the documentation section.
 # There are too many to add to the general rules
 
-.SUFFIXES: .pod .txt .1  .html
+.SUFFIXES: .pod .1 $(DOTTEXT) .html
 
 pod2html=pod2html
 pod2groff=pod2man --center="LilyPond documentation" --section="0"\
@@ -17,13 +17,17 @@ $(outdir)/%.dvi: $(outdir)/%.mudtex
 $(outdir)/%.mudtex: %.doc
        $(depth)/bin/out/mudela-book  --outdir=$(outdir)/ --outname=$(notdir $@) $<
 
-$(outdir)/%.txt: $(outdir)/%.1
+$(outdir)/%$(DOTTEXT): $(outdir)/%.1
        troff -man -Tascii $< | grotty -b -u -o > $@
 
-$(depth)/%.txt: $(outdir)/%.txt
+#$(depth)/%$(DOTTEXT): $(outdir)/%$(DOTTEXT)
+# urg
+# $(depth)/%$(DOTTEXT): out/%$(DOTTEXT)
+#      cp $< $@
+# huh?
+$(outdir)/%$(DOTTEXT): $(depth)/%
        cp $< $@
 
-
 #  perl 5.003/4
 POD2HTML5004=$(POD2HTML) --noindex --infile $< --outfile=$@;  sh $(depth)/bin/add-URLs.sh $@
 
index 7e363dc3db6ae8757c8685ae02a45d05af9ace04..fa2c5ca8a6a9d7b65da420f3ef6374644028afc0 100644 (file)
@@ -22,6 +22,7 @@ SUBDIRS =
 
 LSMENTRY=$(outdir)/lilypond.lsm
 RPMSPEC=$(outdir)/lilypond.spec 
+RPMRC=$(outdir)/rpmrc
 IN_FILES = $(wildcard *.in)
 EXTRA_DISTFILES = $(IN_FILES)
 OUT_DISTFILES= $(outdir)/lelievijver.lsm $(LSMENTRY) $(RPMSPEC)
@@ -34,7 +35,7 @@ include ./$(depth)/make/Files.make
 include ./$(depth)/make/Targets.make
 include ./$(depth)/make/Rules.make
 
-default: $(RPMSPEC) $(LSMENTRY)
+default: $(RPMSPEC) $(LSMENTRY) $(RPMRC)
 
 
 rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README
@@ -47,11 +48,16 @@ sed-version= sed 's!@TOPLEVEL_VERSION@!${TOPLEVEL_VERSION}!g'
 sed-date=sed 's!@DATE@!${date}!g'
 sed-examples = sed 's!@EXAMPLE_LYS@!${rpmexamples} ${rpmmudocs}!g'
 sed-docs=sed 's!@TEXT_DOCS@!${rpmdocs}!g'
+sed-dottext=sed 's!@DOTTEXT@!${DOTTEXT}!g'
+sed-rootdir=sed 's!@LILYPOND_ROOTDIR@!${LILYPOND_ROOTDIR}!g'
 
 $(outdir)/%.spec: %.spec.in $(depth)/VERSION
-       cat $< | $(sed-version) | $(sed-docs) | $(sed-examples) > $@
+       cat $< | $(sed-version) | $(sed-docs) | $(sed-examples) \
+       | $(sed-dottext)> $@
 
 $(outdir)/%.lsm: %.lsm.in $(depth)/VERSION
        cat $< | $(sed-version) | $(sed-date) > $@
 
+$(outdir)/%: %.in
+       cat $< | $(sed-rootdir) > $@
 
index bb489a95d4edc785c928c561b0cef706c00fd3a7..7a7a5ec6bfe8528b48975822f2a42b0399c8ac8a 100644 (file)
@@ -20,9 +20,10 @@ $(outdir)/%.gif: $(outdir)/%.ps
        mv $(name-stem)-page*.gif $(outdir)/
        touch $@
 
-$(outdir)/%.ly.txt: %.ly
+$(outdir)/%.ly$(DOTTEXT): %.ly
        ln -f $< $@
 
 $(outdir)/%.dvi: %.ly
        ly2dvi -o $(outdir)  $< 
+       -mv $(basename $<).midi $(outdir)
 
index 4e4d335a77ffabf8227b77e467ebf1c232424d83..3df1ad41d0e5dac938017e9c6d81cb868428f717 100644 (file)
@@ -47,10 +47,9 @@ $(outdir)/%: %.m4
 %.gz: %
        gzip -c9 $< > $@
 
-
-$(depth)/%.txt: check-doc-deps
+$(depth)/%$(DOTTEXT): check-doc-deps
        rm -f $@
-       ln `find ${depth}/Documentation -name $@ -print|head -1 ` .
+       ln `find ${depth}/Documentation -name ${@F} -print|head -1 ` $@
 
 $(outdir)/%.ps: $(outdir)/%.dvi
        dvips -o $@ $<
index 37135f0f460c426923f97636b94fef08e89813cf..037a6981abff091135b0c689f5ea660ccb255bfb 100644 (file)
@@ -7,8 +7,8 @@
 #      Jan Nieuwenhuizen <jan@digicash.com>
 #      Han-Wen Nienhuys <hanwen@stack.nl>
 
-.PHONY : all clean config default dist doc doc++ dummy exe help lib TAGS html\
-       check-flower-deps check-lib-deps check-doc-deps
+.PHONY : all clean config default dist doc doc++ dummy exe help html lib TAGS\
+       check-flower-deps check-lib-deps check-doc-deps check-html-deps
 
 # target all:
 #
@@ -46,12 +46,11 @@ $(SHAREDLIBRARY):  $(configheader) $(OFILES) $(MODULE_LIBDEPS)
 lib: $(LIBRARY)
 #
 
-
 outdirs: outdir
        $(LOOP)
 
 outdir:
-       -mkdir $(outdir)
+       -mkdir -p $(outdir)
 
 # be careful about deletion.
 clean: localclean
@@ -111,8 +110,10 @@ help:
 #
 
 doc:
-       $(MAKE) -C $(depth)/Documentation do-doc
+#      $(MAKE) -C $(depth)/Documentation do-doc
+       $(MAKE) -C $(depth)/Documentation all
 
+html: $(HTMLFILES)
 
 # ugh. should generate in out/
 dist:
@@ -137,11 +138,11 @@ doosdist:
        chmod -Rf a+rX $(distdir)
 #      ugh, the ugly way, then
        (cd $(distdir); rm -rf $(NO_DOOS_DIST))
-       cp $(lilyout)/lilypond.exe $(distdir)
-       strip -s $(distdir)/lilypond.exe
-       cp $(mi2muout)/mi2mu.exe $(distdir)
-       strip -s $(distdir)/mi2mu.exe
-       (cd ./$(depth); $(ZIP) $(DIST_NAME).exe.zip $(distdir))
+       ln $(lilyout)/lilypond $(distdir)/bin/lilypond.exe
+       strip -s $(distdir)/bin/lilypond.exe
+       ln $(mi2muout)/mi2mu $(distdir)/bin/mi2mu.exe
+       strip -s $(distdir)/bin/mi2mu.exe
+       (cd ./$(depth); $(ZIP) $(outdir)/$(DIST_NAME).exe.zip $(distdir))
 # should be trapped
        rm -rf $(distdir)/
 
@@ -209,6 +210,9 @@ check-lib-deps: check-flower-deps
 check-doc-deps:
        $(MAKE) -C $(depth)/Documentation
 
+check-html-deps:
+       $(MAKE) -C $(depth)/Documentation html
+
 $(LIBLILY): dummy
        $(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib
 
@@ -234,9 +238,6 @@ $(configheader): $(depth)/$(configuration).hh
 WWW: local-WWW
        $(LOOP)
 
-local-WWW:
-
-
 ifneq ($(DEPFILES),)
 include $(DEPFILES)
 endif
index ef9c9ccd7879a42a6d9452196bad3d1ef7451fad..304fabc80c87d1d7a00e815c3ae2422508fd69f8 100644 (file)
@@ -29,8 +29,8 @@ include VERSION
 SCRIPTS = configure configure.in aclocal.m4
 README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE \
  COPYING ONEWS NEWS README TODO \
- INSTALL.txt AUTHORS.txt PATCHES.txt
-EXTRA_DISTFILES = config.make.in config.hh.in .dstreamrc mudela-mode.el VERSION $(README_FILES) $(SCRIPTS) 
+ INSTALL$(DOTTEXT) AUTHORS$(DOTTEXT) PATCHES$(DOTTEXT)
+EXTRA_DISTFILES = config.make.in config.hh.in .dstreamrc mudela-mode.el vimrc VERSION $(README_FILES) $(SCRIPTS) 
 
 
 
@@ -64,26 +64,26 @@ Makefile: make/Toplevel.make.in
        cat $< >> $@
        chmod -w $@
 
-
-website:
+website: examples
        $(MAKE) CONFIGSUFFIX='www' local-WWW
        $(MAKE) CONFIGSUFFIX='www' -C Documentation WWW
-       tar cfz $(outdir)/htmldoc.tar.gz  `find Documentation -type d -name 'out-www' -print` out-www
+       rm -f `find . -name \*.html~ -print`
+       tar cfz $(outdir)/htmldoc.tar.gz  `find Documentation -type d -name 'out-www' -print` out-www index.html
 
 examples:
+       $(MAKE) CONFIGSUFFIX='www' outdirs
        $(MAKE) CONFIGSUFFIX='www' -C input WWW
        $(MAKE) CONFIGSUFFIX='www' -C mutopia WWW
        tar --exclude='*.dvi' --exclude='*.tex' --exclude='*.ps' -czf $(outdir)/examples.tar.gz  `find input mutopia -type d -name 'out-www' -print`
 
+local-WWW: index.html
 
-
-
-
-local-WWW: $(outdir)/index.html
-
-$(outdir)/index.html: Documentation/$(outdir)/topweb.html NEWS
+index.html: Documentation/$(outdir)/topweb.html NEWS
        cp Documentation/$(outdir)/topweb.html $@
        add-html-footer --news=NEWS $@
 
 Documentation/$(outdir)/topweb.html: 
        make -C Documentation/ html
+
+WWW-clean:
+       $(MAKE) CONFIGSUFFIX='www' clean
index 6d6f7a5bdd6bbf84282d474a4078e7b493985393..5c4a7a860d4cbcf841cd48fd93e4b8f72a9e6131 100644 (file)
@@ -94,14 +94,19 @@ TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_
 else
 TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)
 endif
-
 #
 
+# ugh, but it gets hairy without extension..
+DOTTEXT=.txt
+
+# for rpmrc only
+LILYPOND_ROOTDIR=$(shell cd $(depth)/..; pwd)
 
 #
 # fix naming, use TOPLEVEL_ prefix _or_ MODULE?
 DIST_NAME = lilypond-$(TOPLEVEL_VERSION)
-NO_DOOS_DIST = bin flower lib lily make mi2mu out
+# NO_DOOS_DIST = bin flower lib lily make mi2mu out
+NO_DOOS_DIST = flower lib lily make mi2mu out
 #
 
 # list of object files:
index 7f9c96fbea9e0676eae93a583a92c277f2c56f62..fcf0f113dc80cf894ec7e78aae110514983c5772 100644 (file)
@@ -1,6 +1,6 @@
 
 
-ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly.txt, $(examples)))
+ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly$(DOTTEXT), $(examples)))
 ps_examples=$(addprefix $(outdir)/, $(addsuffix .ps.gz, $(examples)))
 gif_examples=$(addprefix $(outdir)/, $(addsuffix .gif, $(examples)))
 
index 594fc775178c259432144f9f7e5be45b53618b0e..0400e189c96d7710a0a34e30ef4edee7897a2dfa 100644 (file)
@@ -32,7 +32,7 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%doc Documentation/out/*.txt
+%doc Documentation/out/*@DOTTEXT@
 %doc Documentation/tex/*.doc
 %doc Documentation/tex/*.bib
 %doc mutopia/*.ly
index b735fc4dda3e3354186014865309fafaee7aecca..adce11819762cbad447bcbe08c5b3d8b8cd52e8c 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.62
-Inschrijf datum: 06MAY98
+Versie: 0.1.63
+Inschrijf datum: 12MAY98
 Beschrijving: LilyPond is de muziek typesetter van het GNU Project.  
                Het programma genereert muziek in zichtbare of 
                hoorbare vorm uit uit een muzikale definitie file: 
@@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       395k lilypond-0.1.62.tar.gz 
+       395k lilypond-0.1.63.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.62.tar.gz 
+       395k lilypond-0.1.63.tar.gz 
 Copi"eer politie: GPL
 End
index b8eb27fcb86737bbaca6bb9a5e5acae461653033..88daadf489af35aaeba440fc343007bedbff5191 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.62
-Entered-date: 06MAY98
+Version: 0.1.63
+Entered-date: 12MAY98
 Description: LilyPond is the GNU Project music typesetter.  The program
                generates visual or auditive output from a music 
                definition file: it can typeset formatted sheet music 
@@ -15,8 +15,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       570k lilypond-0.1.62.tar.gz 
+       570k lilypond-0.1.63.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       570k lilypond-0.1.62.tar.gz 
+       570k lilypond-0.1.63.tar.gz 
 Copying-policy: GPL
 End
index 6f7c2d11c7294b976d5514847a0d50415f718f51..ca0c70fbf4a7555b71e42f9182aa1169e349c355 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.62
+Version: 0.1.63
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.62.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.63.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
diff --git a/make/rpmrc.in b/make/rpmrc.in
new file mode 100644 (file)
index 0000000..9c77a4e
--- /dev/null
@@ -0,0 +1,6 @@
+sourcedir:     @LILYPOND_ROOTDIR@/releases
+topdir:                @LILYPOND_ROOTDIR@/redhat
+builddir:      @LILYPOND_ROOTDIR@/redhat/BUILD
+rpmdir:                @LILYPOND_ROOTDIR@/redhat/RPMS
+srcrpmdir:     @LILYPOND_ROOTDIR@/redhat/SRPMS
+
index 0aebf0952c574c1953f8caae55dece9a5cca118b..940ab88ced4774b0dd852ed3fd023107a8d3b5b4 100644 (file)
@@ -9,11 +9,11 @@ include ./$(depth)/make/Include.make
 #
 
 # list of distribution files:
-# 
+
 TEXFILES = $(wildcard *.tex)
 MFFILES = $(wildcard *.mf)
 EXTRA_DISTFILES =   TODO README  $(MFFILES)
-#
+
 lyout = $(outdir)/
 texout = $(outdir)/
 
@@ -23,12 +23,9 @@ FET_FILES = $(wildcard feta[0-9]*.mf)
 LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
 LOGFILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
 TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
-#
 
 default: $(LYTABLES) $(TEXTABLES) $(LOGFILES)
 
-localclean:
-       rm -f $(LYTABLES) $(TEXTABLES)
 
 $(outdir)/%.dvi: %.mf
        mf $<
index 4e7ee3faad1b6f3f967d897f37acdbe6bee8ae9e..3f9dba334f7fcadeda104401e246edd215d89eb3 100644 (file)
@@ -31,3 +31,28 @@ POINTERLIST_INSTANTIATE(Mudela_voice);
 POINTERLIST_INSTANTIATE(Mudela_column);
 POINTERLIST_INSTANTIATE(Mudela_score);
 
+#if 0
+/* 
+   what gcc version?
+   they're in lib/template.cc too, and break linux/gcc-2.7.2 
+   are you sure they must be here too?
+
+   for now, i'll just change the switch in lib/template.cc
+   jcn
+
+ */
+
+#if defined (__linux__) && && __GNUC_MINOR__ < 8
+
+#include "list.tcc"
+
+// template class List<void *>;
+// template class Cursor<void *>;
+
+// this should work too, and
+LIST_INSTANTIATE (void *);
+
+#endif
+
+#endif
+
index 1b13f7fcf54f8f9973aa6a61fa21ac40f7518aca..46c807edd6f205944defc98d2a7e086cecbbe940 100644 (file)
@@ -8,5 +8,5 @@ depth = ../..
 #
 include ./$(depth)/make/Mutopia.make
 
-examples=coriolan oboi-part
+#examples=coriolan oboi-part
 include $(depth)/make/WWW.make
index 53ff1a74cdfdb94876e4c69656d5793a6546c6d8..ff5f0c7282b44e5ec831762080a5e87ac3dd50f4 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 \include "clarinetti.ly"
index bff0f4f8a0e8af75ac4664ce12a09c766e77add5..217842c7a16201a3a310916454558418de208147 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "clarinetto-1.ly"
 \include "clarinetto-2.ly"
index 0e11954b5e06bcd1d6ec9f89cbb315282ecfab0e..d672bd826c621d6cd674c8071665d522cbab6478 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 clarinetto1 = \melodic{
        \octave c';     
index cc12989f5b2e40d41fa1a01c56717d0c916a98df..285d7497ca9b8b94ebcacca6bfdcfdb5719613d3 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 clarinetto2 = \melodic{
        \octave c';     
@@ -25,6 +25,6 @@ clarinetto2 = \melodic{
        c'4-. r r2 | r1 |
        c'4-. r r2 | b4-. r r2 |
        R1 *5 |
-       r2 r4 'b4-. |
+       r2 r4 b,4-. |
 }
 
index e38cbc120a9a2688528c430de86ea3982a98af57..c1229deec52b88ec69d35656c467434609750a86 100644 (file)
@@ -9,14 +9,14 @@ copyright =    "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 contrabasso = \melodic{
        \octave c;
-       c1\ff ~ | c | 'f4-. r r2 | r1 |
-       c1\ff ~ | c | 'f4-. r r2 | r1 |
-       c1\ff ~ | c | 'fis4-. r r2 | r1 |
-       'g4-. r r2 | 'g4-. r r2 |
+       c1\ff ~ | c | f,4-. r r2 | r1 |
+       c1\ff ~ | c | f,4-. r r2 | r1 |
+       c1\ff ~ | c | fis,4-. r r2 | r1 |
+       g,4-. r r2 | g,4-. r r2 |
        c4\p r4 r2 | c4 r4 r2 | c4 r4 r2 | r1 |
        c'4.-"cresc." c'8 bes4. bes8 | as4. as8 g4\f r4 |
 }
index d012bb23b6f873eaca1d78363666ab08a0dc2b70..0d584d34c3d83b56a910a1a12cfd86d74987eaaf 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 
index 8b468982bdc8461fc0dc445200d934a01c040ec1..0a2eee64645003e959c46c6547c29c99b5d1018d 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 \include "corni.ly"
index 38764214c0ce202d4575af0b94bcf709626326f0..6d3ebdcfd3c8c695aa6172244a4101303976c4d5 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "corno-1.ly"
 \include "corno-2.ly"
@@ -20,8 +20,8 @@ $corni_staff = \type Staff = corni <
 % ugh, key doesn't transpose along
 %              \global
                \meter 4/4;
-               \transpose 'a \$corno1
-               \transpose 'a \$corno2
+               \transpose a, \$corno1
+               \transpose a, \$corno2
        >
 >
 
index 53e2a68f4d485bc1788c68e1c86cb27265290779..44b587ba71625454af5629ad167acb9083145446 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 corno1 = \melodic{
        \octave c';     
index cebe2e3d1ae26bab4cb2f7cd98c1a47420f5155a..c3545bbe475e21a0f275d1739304d13cf40d4b60 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 corno2 = \melodic{
        \octave c';     
index 1b47dc6cf2908d33e81b744a53d7fc79ecd6232e..a786c65738af2f16a1c675b2e4fc100de3fef7c3 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 \include "fagotti.ly"
index 116ba75c62119d6ae887b03cf5750f626cc73fd7..288ba66834e9f37a902be87fab4fc4f401d721b3 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "fagotto-1.ly"
 \include "fagotto-2.ly"
index 9340102b2753e5920406a2d3d6db8486ff821b28..92e38b17cd3a38dc0396d390b9098816a8b4d553 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 fagotto1 = \melodic{
        \octave c;      
index 852af207f3de5f4962c8dfae1cb41e1fbd6c99a1..20a0cd83e7b51e9faef1fed23f09f5c957f10a1e 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 fagotto2 = \melodic{
        \octave c;      
@@ -20,6 +20,6 @@ fagotto2 = \melodic{
        fis4-. r r2 | r1 |
        g4-. r r2 | g4-. r r2 |
        R1 *5 |
-       r2 r4 'g4-. |
+       r2 r4 g,4-. |
 }
 
index 59750180df01a252f030da532e890abe1a23109f..16750b154d69023c5e7153a95fc2480ec3a7da44 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 \include "flauti.ly"
index c1a2bf0aef776412ac52730290616ad87317bcea..ae0d52352c74f59782ec2ccdadc27b441c6d08d3 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "flauto-1.ly"
 \include "flauto-2.ly"
index 71412f636cff46592182e3690958a1a5b364fac9..7d624cfddf2b542743fa3d61383bc96a05b463ab 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 flauto1 = \melodic{
        \octave c'';    
index 3d983054f51bba232ad0742ec9ca32a4c7a46d31..41ecf9fd8feb29bd52980fe76b4c893c49121e80 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 flauto2 = \melodic{
        \octave c'';    
index c01d9861374100f4fb8eb45ba490a71997817e03..a339da0450cdc2cd5c382a2edabebb6dbc387633 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 global = \melodic{
        \meter 4/4;
index 2be8732ec381c68fdeedf49d3cc04961f85835e7..ace20d4fac5c26e7c5e40e39c9d8b676d3caa5ec 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 oboe1 = \melodic{
        \octave c'';    
index 827629ad2d5e39d23abb8b8c4033b22e29a03687..a674f75b4476e456a1f367f78be58cd09616b856 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 oboe2 = \melodic{
        \octave c'';    
@@ -18,8 +18,8 @@ oboe2 = \melodic{
        R1 *2| f4-. r r2 | R1 *3 |
        f4-. r r2 | R1 *3 |
        es4-. r r2 | r1 |
-       es4-. r r2 | 'b4-. r r2 |
+       es4-. r r2 | b,4-. r r2 |
        R1 *5 | 
-       r2 r4 'b4-. |
+       r2 r4 b,4-. |
 }
 
index f3d8ed7c8a88c936cf5a18d6e8f92fa9df6e5c37..247b88b643da78de0eb1eba00c5e26a8ecec66e7 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 \include "oboi.ly"
index 702c5a5d5e587709347464f0b2a1ed627ef408cd..86ba75309c66b944159a7f5607f56d28dcc2e11e 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "oboe-1.ly"
 \include "oboe-2.ly"
index 2c312d834ecf61391cc710d9661a6cf255910d02..c150a934a3fe8fcb6c5f906b872628b4e6fcbaa9 100644 (file)
@@ -1,4 +1,5 @@
-% paper20.ly
+%J.S.Bach/paper20.ly
+\version "0.1.14";
 
 \include "table20.ly"
 \include "paper20.ly"
index e08b14e2d13b367f92ace3f15a167b17b8ab0f3c..ed2a4fb952a9b2103422cfb91e1027f0be83e191 100644 (file)
@@ -9,16 +9,16 @@ copyright =    "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 timpani = \melodic{
        \octave c;      
        R1 *2 | c4-.\ff r r2 | R1 *3 |
        c4-. r r2 | R1 *3 |
        c4-. r r2 | r1 |
-       'g4-. r r2 | 'g4-. r r2 |
+       g,4-. r r2 | g,4-. r r2 |
        R1 *5 |
-       r2 r4 'g4-. |
+       r2 r4 g,4-. |
 }
 
 $timpani_staff = \type Staff = timpani <
index 47911886ab80786514b38b43b3f44b83f5aab45a..2e33514bb06fc660f1debb1f744f28cc372d4d67 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "global.ly"
 \include "trombe.ly"
index bb1e48f0265f5951aa2e0c3cbf69c60eb7e0ad86..c3c3d5d7e1410238fc7a001f7356a630b7169c53 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "trombo-1.ly"
 \include "trombo-2.ly"
index d8d489027ffe03fd344af45036d5ea7c7737061a..05b11dc51dc89beac45c756644ce16449d1f1770 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 trombo1 = \melodic{
        \octave c';     
index f47ef9acbb9130199a2a21ce88c39dee3a77b112..923f42db935796c21017f299e0fa5cc960853fd1 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 trombo2 = \melodic{
        \octave c';     
@@ -18,8 +18,8 @@ trombo2 = \melodic{
        R1 *2 | c4-. r r2 | R1 *3 |
        c4-. r r2 | R1 *3 |
        c4-. r r2 | r1 |
-       'g4-. r r2 | 'g4-. r r2 |
+       g,4-. r r2 | g,4-. r r2 |
        R1 *5 |
-       r2 r4 'g4-. |
+       r2 r4 g,4-. |
 }
 
index c4a34c898272d1fbad1bce2649d50a5d02fb318d..e25c758c1bf02ac57abf5f0066e2739848ae3d60 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 viola = \melodic{
        \octave c;
index 02d10f5512e64d8ab558212f01f288425150a331..4d675f24bd4159917b56171354920e606006a901 100644 (file)
@@ -9,14 +9,14 @@ copyright =    "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 violino1 = \melodic{
        \octave c';     
        c1\ff ~ | c | <as'4-. c'-. f-.> r r2 | r1 |
        c1 ~ | c | <d''4-. d'-. d-.> r r2 | r1 |
        c1 ~ | c | <es''4-. es'-.> r r2 | r1 |
-       <g'4-. c'-. es-.> r r2 | <b4-. d-. 'g-.> r r2 |
+       <g'4-. c'-. es-.> r r2 | <b4-. d-. g,-.> r r2 |
        [c8-.\p es-.] [es()d] [d-. g-.] g4-"ten." |
        [c8-. es-.] [es()d] [d-. g-.] g4-"ten." |
        [c8-. es-.] [es()d] [d-. as-.] [as()g] |
index 1d8447b86f47d8e871cf058b8a155294f85045f2..8230edc6ff097deeebbe6c44a89c449c26ebad07 100644 (file)
@@ -9,14 +9,14 @@ copyright =    "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 violino2 = \melodic{
        \octave c';     
        c1\ff ~ | c | <as'4-. c'-. f-.> r r2 | r1 |
        c1 ~ | c | <as'4-. b-. d-.> r r2 | r1 |
        c1 ~ | c | <c''4-. es'-. fis-.> r r2 | r1 |
-       <c'4-. es-. 'g-.> r r2 | <b4-. d-. 'g-.> r r2 |
+       <c'4-. es-. g,-.> r r2 | <b4-. d-. g,-.> r r2 |
        R1 *3 |
        r2 ['b8-.\p f-.] [f()es] |
        [es8-. as-.] as4.-"cresc." g8-. g4 ~ |
index dcf183f66bb8bb5eba493433c044d7efe805b0fc..4d994a131741bfdd03deaf9c0645cbfc87d45248 100644 (file)
@@ -9,14 +9,14 @@ copyright =    "public domain";
 
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 violoncello = \melodic{
        \octave c;
-       c1\ff ~ | c | 'f4-. r r2 | r1 |
-       c1\ff ~ | c | 'f4-. r r2 | r1 |
-       c1\ff ~ | c | 'fis4-. r r2 | r1 |
-       'g4-. r r2 | 'g4-. r r2 |
+       c1\ff ~ | c | f,4-. r r2 | r1 |
+       c1\ff ~ | c | f,4-. r r2 | r1 |
+       c1\ff ~ | c | fis,4-. r r2 | r1 |
+       g,4-. r r2 | g,4-. r r2 |
        c4\p r4 r2 | c4 r4 r2 | c4 r4 r2 | r1 |
        c'4.-"cresc." c'8 bes4. bes8 | as4. as8 g4\f r4 |
 }
index 6141969190e54241442a80edee674279c1cee4d9..93521cfb7deecc236a30713264e4fd52210f765f 100644 (file)
@@ -6,17 +6,19 @@ depth = ../..
 #
 
 EXTRA_DISTFILES=preludes.tex
+
 # descent order into subdirectories:
 #
 SUBDIRS = 
 # 
 
-
 # generic stuff/Makefile
 #
 include ./$(depth)/make/Mutopia.make
 #
 
-examples=scsii-menuetto wtk1-fugue2 preludes-2
+examples=prelude-cello  menuetto-alto wtk1-fugue2 
+#menuetto-cello -> broken
+#preludes-2 -> broken
 
 include $(depth)/make/WWW.make
diff --git a/mutopia/J.S.Bach/allemande-alto.ly b/mutopia/J.S.Bach/allemande-alto.ly
new file mode 100644 (file)
index 0000000..22906e2
--- /dev/null
@@ -0,0 +1,53 @@
+\header{
+filename =      "allemande-alto.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Allemande";
+% opus =        "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c';
+}
+
+\include "allemande-urtext.ly";
+
+allemande_alto_global = \melodic{
+       \meter 4/4;
+       \key bes;
+       \partial 16;
+       \clef alto;
+       \skip 1*12;
+       \bar ":|:";
+       \skip 1*12;
+       \bar ":|";
+}
+
+allemande_alto_scripts = \melodic{
+}
+
+allemande_alto_staff = \type Staff <
+       \$allemande
+       \$allemande_alto_global
+       \$allemande_alto_scripts
+>
+
+\score{
+       \$allemande_alto_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/allemande-cello.ly b/mutopia/J.S.Bach/allemande-cello.ly
new file mode 100644 (file)
index 0000000..5282f90
--- /dev/null
@@ -0,0 +1,53 @@
+\header{
+filename =      "allemande-cello.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Allemande";
+% opus =        "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c;
+}
+
+\include "allemande-urtext.ly";
+
+allemande_cello_global = \melodic{
+       \meter 4/4;
+       \key bes;
+       \partial 16;
+       \clef bass;
+       \skip 1*12;
+       \bar ":|:";
+       \skip 1*12;
+       \bar ":|";
+}
+
+allemande_cello_scripts = \melodic{
+}
+
+allemande_cello_staff = \type Staff <
+       \$allemande
+       \$allemande_cello_global
+       \$allemande_cello_scripts
+>
+
+\score{
+       \$allemande_cello_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/allemande-urtext.ly b/mutopia/J.S.Bach/allemande-urtext.ly
new file mode 100644 (file)
index 0000000..b3ec3ef
--- /dev/null
@@ -0,0 +1,67 @@
+% allemande-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+comma = "\\sethuge,";
+
+% write as two voices?
+allemande = \melodic{
+       a,16 |
+       <[''d8 g' f' a> bes16()a][g()f e()d][d()cis d()e]['g8 \d bes16()g] |
+       [f( a )d f,] [e8 cis'] <[''d8. a' d> e16] [f g a bes!] |
+       %3
+       <['d8 a' fis' c,> \n d16()es][d()c bes()a][c()bes a()g][d'8. f,16] |
+       [e( g )bes d][c()bes a()g]\n[bes()a g()f]<[f8. a> <f16 a]> |
+       % urg fix
+       [b \n f,( e )d][e \d cis'( d )cis]<'d8. {[d'( )e16]}>\n[f( e d)e] |
+       %6
+       [d( c b )c][b( a gis)a][g8-\prall fis16()e][e' c( a )g] |
+       <[f! e'> a, f d]<\voiceone d {\voicetwo[b f' d b]}>\onevoice
+       [fis( b e )gis] \d [b( d c )b] |
+       %8
+       \n[c( a f )d][d( f e )d][gis'8.-\trill()a16]\d[b d e,()d] |
+       % urg
+       [c( e a')d']< {\voiceone [b8.-\trill a16] a8 } 
+       {\voicetwo e,4 ['dis8 ~ dis32 e( fis gis][a b c d c b c )a]}> |
+       \onevoice
+       %10
+       [d'!16 gis'( a b a gis fis )e]<[c8 e a'> f16()e] [d()c b!()a] |
+       <[gis8 d' b'> e'16()f]\d[e()d c()b]<\voicetwo a8 e' 
+       {\voiceone[d'16()b c()a]}> \onevoice e8 gis |
+       ['a8. cis16][e g!( f! )e][f( a )d gis,] a8.
+       %13
+       e,16 <\voicetwo a, cis'' {\voiceone ['e8. f16]}> \onevoice
+       \n[g!()e fis()a]\n['cis( d )e bes,][a8.-\trill()g16] |
+       [f a''(f)d][g' \n b,()cis a'][g(f e)d][fis d()es c(] |
+       %15
+       [)bes g'('a )g][fis a d c'][bes('fis)g bes][d()a bes()g] |
+       [es(d)es g][c()a bes()g]\d['d(c)d g]\n[bes()'fis g()es] |
+       %17
+       \n[c(bes)c bes'][a(c)es g,]<['c8-\trill fis'>\d g16()a] ['d8 es16()c] |
+       [bes(d )g bes,]['d8 fis]<['g8. g'> a16][bes d g, f] |
+       %19
+       <\voicetwo bes,8. {\voicetwo[e'-\trill()f16]}> [g()e c()bes]
+       \n[a()f' g,()f][e g'( a )bes] |
+       % :-(
+       % [bes( a g )f^\comma]
+       [bes( a g )f^"\\sethuge{\\ '}"]
+       [a()'e f()d][bes d(f)a][d'()a bes()g] |
+       %21
+       ['a(\n)g'(\n cis'())d][e()'g a()'es][f()d bes()d]\d['gis f'(e)d] |
+       % \n[d( cis b )a^\comma][c(a)fis d'][c a( b )d]
+       \n[d( cis b )a^"\\sethuge\\ ,"]
+       [c(a)fis d'][c a( b )d]
+       [f!(d )'gis d'] |
+       %23
+       [cis(e g!)bes][e'()a bes()g][f()'cis d()'gis][a8 cis!] |
+       ['d16 d''(c!)a][bes!(g)e cis'][d a f d] d'8.
+}
+
diff --git a/mutopia/J.S.Bach/courante-alto.ly b/mutopia/J.S.Bach/courante-alto.ly
new file mode 100644 (file)
index 0000000..966700f
--- /dev/null
@@ -0,0 +1,53 @@
+\header{
+filename =      "courante-alto.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Courante";
+% opus =        "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c';
+}
+
+\include "courante-urtext.ly";
+
+courante_alto_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \partial 16;
+       \clef alto;
+       \skip 2.*16;
+       \bar ":|:";
+       \skip 2.*16;
+       \bar ":|";
+}
+
+courante_alto_scripts = \melodic{
+}
+
+courante_alto_staff = \type Staff <
+       \$courante
+       \$courante_alto_global
+       \$courante_alto_scripts
+>
+
+\score{
+       \$courante_alto_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/courante-cello.ly b/mutopia/J.S.Bach/courante-cello.ly
new file mode 100644 (file)
index 0000000..f855077
--- /dev/null
@@ -0,0 +1,53 @@
+\header{
+filename =      "courante-cello.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Courante";
+% opus =        "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c;
+}
+
+\include "courante-urtext.ly";
+
+courante_cello_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \partial 16;
+       \clef alto;
+       \skip 2.*16;
+       \bar ":|:";
+       \skip 2.*16;
+       \bar ":|";
+}
+
+courante_cello_scripts = \melodic{
+}
+
+courante_cello_staff = \type Staff <
+       \$courante
+       \$courante_cello_global
+       \$courante_cello_scripts
+>
+
+\score{
+       \$courante_cello_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/courante-urtext.ly b/mutopia/J.S.Bach/courante-urtext.ly
new file mode 100644 (file)
index 0000000..75b3d69
--- /dev/null
@@ -0,0 +1,68 @@
+% courante-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+
+% write as two voices?
+courante = \melodic{
+       d'16 |
+       [d a f a] ['d f g a]\d[bes()a bes()g] |
+       <\voiceone g4 a {\voicetwo \n cis, ~ [cis16 d e f]}>
+       \onevoice \d[g()f g()e] |
+       [f()d e()c!]\n[bes(a)bes a'][g f e d] |
+       %4
+       % [cis e \n a,(\d(b][[cis d e f][)g )bes-- a e] |
+       [cis e \n a,(b][[cis d e f][)g bes-- a e] |
+       % [f a \n'd(\d( e][f g a bes][)c )bes-- d c] |
+       [f a \n'd( e][f g a bes][)c bes-- d c] |
+       \n<''g4 {f'~ [f16} {c'4 ~ [c16 bes a g]}> [f()es d()es] |
+       %7
+       [d bes(a)bes][d bes e'! bes,][f' bes, g' bes,] |
+       \d['e( g )c' d][e f g a][bes()a bes()g]|
+       \n[a f(e)f][a f bes f,][c' f, d' f,] |
+       %10
+       ['cis( e )a' b][cis d e f][g()f g()e] |
+       [''d( f' )d' e]\n[d()c d()c][b()a b()a] |
+       \n[gis( a )b e,]\n[f()e f()d][e()c d()b] |
+       %13
+       \n[c a'( b c][b a gis)a]['d a' e, a'] |
+       [f a( b c][b a gis)a][f a e, a'] |
+       ['dis a'( b c][b a gis)a]['e a' e, g] |
+       [a e, cis e]['a cis e gis] a8.
+       %17
+       e'16 |
+       [e cis a cis]['e f g a][bes()g cis'()'g] |
+       <\voicetwo f4 {\voiceone d' ~ \stemdown[d16 a d e] }>
+       [f d a, c!] |
+       \n[b f,(d)f]\d['g d'(f)g][b f, d' f,] |
+       %20
+       [e g c,(d][e f g a][)bes! d c g,] |
+       <\voiceone a {\voicetwo [f c'(bes a][g f es d]
+       [)es c' f, es]}> |
+       <\voicetwo bes,4 {\voiceone d ~ [d16 e! f g]}>
+       \onevoice
+       [a bes c d] |
+       %23
+       ['e bes,(a)g][a f' \n'g()f]\d['c()g f' e] |
+       [f a( bes a][g f e )f][g e f d]|
+       [cis g' b, g']['a g' b, g']['cis g' a, g']|
+       %26
+       [f d f a][d a, d' e][f a, f d]|
+       ['g d'(g)a][bes g' a, f']['g e' f, d']|
+       \n[cis(d)e cis][a cis bes cis][a cis g, cis']|
+       %29
+       \n['f d'(e f][e d cis)d]['g d' a d]|
+       \d[bes d(e f][e d cis)d][bes d a d]|
+       ['gis d,(e f][e d cis)d][a d a cis]|
+       [d a f a]['d f a, d]
+       d,8.
+}
+
diff --git a/mutopia/J.S.Bach/menuetto-alto.ly b/mutopia/J.S.Bach/menuetto-alto.ly
new file mode 100644 (file)
index 0000000..e18f00e
--- /dev/null
@@ -0,0 +1,102 @@
+\header{
+filename =      "menuetto-alto.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Menuetto I";
+description =   "Transcribed for Alto";
+source =        "?";
+opus =  "BWV 1008 no. 5";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c';
+}
+
+\include "menuetto-urtext.ly";
+
+menuetto_i_alto_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \clef alto;
+       \skip 2.*8;
+       \bar ":|:";
+       \clef violin;
+       \skip 2.*1;
+       \slurdotted
+       \skip 2.*3;
+       \clef alto;
+       \skip 2.*11;
+       s2._"Fine"
+       \bar ":|";
+}
+
+menuetto_i_alto_scripts = \melodic{
+       s2.
+       s8^"~"^1_2_4 s8*5
+       s2.*5
+       s4 s-\upbow s-\downbow
+       s2.-\upbow
+       s2.*5
+       s2 s4-\upbow
+       s4-\downbow s2
+       s2.*1
+       s2^0 s4
+       s2.*1
+       s4-\downbow s4-\upbow
+}
+
+menuetto_i_alto_staff = \type Staff <
+       \$menuetto_i
+       \$menuetto_i_alto_global
+%      \$menuetto_i_alto_scripts
+>
+
+\score{
+       \$menuetto_i_alto_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 120;
+       }
+}
+
+menuetto_ii_alto_global = \melodic{
+       \meter 3/4;
+       \key fis cis;
+       \clef alto;
+       \skip 2.*8;
+       \bar ":|:";
+       \skip 2.*1;
+       \slurdotted
+       \skip 2.*14;
+       s2._"Menuetto I da Capo"
+       \bar ":|";
+}
+
+menuetto_ii_alto_staff = \type Staff <
+       \$menuetto_ii
+       \$menuetto_ii_alto_global
+%      \$menuetto_ii_alto_scripts
+>
+
+\header{
+piece = "Menuetto II";
+}
+\score{
+       \$menuetto_ii_alto_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 120;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/menuetto-cello.ly b/mutopia/J.S.Bach/menuetto-cello.ly
new file mode 100644 (file)
index 0000000..17cc7c3
--- /dev/null
@@ -0,0 +1,103 @@
+\header{
+filename =      "menuetto-cello.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Menuetto I";
+source =        "?";
+% opus =        "BWV 1008 no. 5";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c;
+}
+
+\include "menuetto-urtext.ly";
+
+menuetto_i_cello_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \clef bass;
+       \skip 2.*8;
+       \bar ":|:";
+       \skip 2.*1;
+       \slurdotted
+       \skip 2.*14;
+       s2._"Fine"
+       \bar ":|";
+}
+
+menuetto_i_cello_scripts = \melodic{
+       s2.
+       s8^"~"^1_2_4 s8 s4 s^4
+       s4^0_1 s_4 s
+       s2.*5
+       s2^3 s4
+       s4 s8_1 s s4
+       s2.
+       s2 s8^4 s
+       s2.
+       s8 s^2 s^4
+       s_2 s s s_0 s_4 s_1
+       s2.*2
+       s4^3_1
+       s^1_3 s4
+       s2.
+       s4_2 s2
+       s8^2_3 s s s^1 s4^1
+}
+
+menuetto_i_cello_staff = \type Staff <
+       \$menuetto_i
+       \$menuetto_i_cello_global
+%      \$menuetto_i_cello_scripts
+>
+
+\score{
+       \$menuetto_i_cello_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 120;
+       }
+}
+
+menuetto_ii_cello_global = \melodic{
+       \meter 3/4;
+       \key fis cis;
+       \clef bass;
+       \skip 2.*8;
+       \bar ":|:";
+       \skip 2.*1;
+       \slurdotted
+       \skip 2.*14;
+       s2._"Menuetto I da Capo"
+       \bar ":|";
+}
+
+menuetto_ii_cello_staff = \type Staff <
+       \$menuetto_ii
+       \$menuetto_ii_cello_global
+%      \$menuetto_ii_cello_scripts
+>
+
+\header{
+piece = "Menuetto II";
+}
+\score{
+       \$menuetto_ii_cello_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 120;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/menuetto-urtext.ly b/mutopia/J.S.Bach/menuetto-urtext.ly
new file mode 100644 (file)
index 0000000..712d06b
--- /dev/null
@@ -0,0 +1,154 @@
+% menuetto-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+menuetto_i_a = \melodic{
+%      \octave relative;
+       <d,2\f f a> bes4  |
+       [bes8 a bes g] a4 |
+       <bes,4 d> g [f8 e] |
+       [f8( e )d cis b a] |
+       <d2 f a> bes!4 |
+       [bes8 a bes g] c!4 | 
+       %7
+       <f, a> <bes, f' d'> <g,, g' e'> |
+       <a,,2. e' cis'> |
+       <a2\f e'> [d8( e16 )f] |
+       \slurdotted
+       [e8( d cis )e a,()g] |
+       a4 ~ d cis |
+       [g'8( f e )f d() c] |
+       %13
+       bes2 c4 |
+       [a8 g a f] <bes,4 e' d'> |
+       <a,, f' c'> [bes8 a g a] |
+       [f8( e )f a g bes] |
+       <fis2^\trill a> bes4 |
+       [c8 bes c a] fis4^\trill |
+       %19
+% dispute
+%      <bes,4 g' d'> <c, g' c> <[d,8 bes'(> )a] |
+       <bes,4 g' d'> <c,, g' c> [bes8()a] |
+       [c8( bes a )bes g()bes] |
+       d4 ~ cis d |
+       [g,8 f g e] f4 |
+       [g,8 g'] <a,4. { e'^\trill ~ d8 }> |
+       <d,2. a' d> |
+}
+
+menuetto_i_b = \melodic{
+%      \octave relative;
+       \slurdotted
+       \skip 2.*1; |
+       <c,8 e> \skip 8*5; |
+       \skip 2.*1; |
+       a,8 \skip 8*5; |
+       \skip 2.*1; |
+       e'8 \skip 8*5; |
+       \onevoice
+       \skip 2.*3; |
+       g8 \skip 8*5; |
+       f2 e4
+       d8 \skip 8*5; |
+       g4 ~ f e
+       f8 \skip 8*5; |
+       \skip 2.*3; |
+       es8 \skip 8*3; d4 |
+       \skip 4*2; d4 |
+       <d8 g> \skip 8*5; |
+% dispute
+%      g2 f4 |
+       g4 \skip 4*1; f4 |
+       cis8 \skip 8*3; d4 |
+}
+
+% UGH, fix this like in sarabande
+menuetto_i_a_voice_urg = \melodic{
+       \skip 2.*1; \voiceone
+       \skip 2.*1; \onevoice
+       \skip 2.*1; \voiceone
+       \skip 2.*1; \onevoice
+       \skip 2.*1; \voiceone
+       \skip 2.*1; \onevoice
+       \skip 2.*3; \voiceone
+       \skip 2.*1; \voiceone
+       \skip 2.*3;
+       \skip 4*2; \onevoice
+       \skip 4*2; \voiceone
+       \skip2.*1; \voiceone
+       \skip 4*2; \onevoice
+       \skip2.*1; \voiceone
+       \skip 2.*1; \onevoice
+       \skip 2*1; \voiceone
+       \skip 4*1;
+       \skip 2.*4; \onevoice
+       \skip 2.*1;
+%      \bar "|.";
+}
+
+menuetto_i_a_voice_urg_urg = \melodic<
+       \$menuetto_i_a_voice_urg
+       \$menuetto_i_a
+>
+
+menuetto_i_b_voice_urg = \melodic{
+       \voicetwo
+       % urg urg, huh?
+       \skip 2.*8; \voicetwo
+}
+
+menuetto_i_b_voice_urg_urg = \melodic<
+       \$menuetto_i_b_voice_urg
+       \$menuetto_i_b
+>
+
+menuetto_i = \type Voice \melodic<
+       { \$menuetto_i_a_voice_urg_urg }
+       { \$menuetto_i_b_voice_urg_urg }
+>
+
+menuetto_ii = \melodic{
+       \slurdotted
+       fis4^\trill [d8( e fis )g] |
+       a4 fis,, a'' |
+       [g,,8()b] e4 g |
+       \slurnormal
+       [d8( cis )b cis a g] |
+       % ugh, forcing knee
+       % Lily's not yet smart enough to decide for herself.
+       \stemup [fis \stemboth d''( cis b a )g] |
+       [b( g a fis e )d] |
+       %7
+       [cis d] g4 [fis8( g16 )a] |
+       <\stemdown a,2. \stemup e'> |
+       \stemboth
+       cis'4^\prall [e8( d cis )b] |
+       cis4 g,, cis'' |
+       [fis,8()a] d4 fis |
+       [b,8()a g()fis \slurdotted g()b] |
+       \slurnormal
+       %13
+       [e, d'( cis )b cis()ais] |
+       % check slur! [d, b' a! g fis )e] |
+       [d,( b' a! g fis )e] |
+       [g( fis e d cis )d] |
+       [b( cis d e fis )g] |
+       [a( g fis g a )b] |
+       c4 dis,, c'' |
+       %19
+       [b8()a c( b a )g] |
+       [fis() g a()fis g()e] |
+       \slurdotted
+       cis4^\trill [a8( b cis )d] |
+       \slurnormal
+       [e( fis g )b] a4 |
+       [g8()fis e()d e()cis] |
+       d2.
+}
+
diff --git a/mutopia/J.S.Bach/prelude-alto.ly b/mutopia/J.S.Bach/prelude-alto.ly
new file mode 100644 (file)
index 0000000..7d66e76
--- /dev/null
@@ -0,0 +1,50 @@
+\header{
+filename =      "prelude-alto.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Pr\\'elude";          % duh
+opus =  "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c';
+}
+
+\include "prelude-urtext.ly";
+
+prelude_alto_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \clef alto;
+       \skip 2.*63;
+       \bar "|.";
+}
+
+prelude_alto_scripts = \melodic{
+}
+
+prelude_alto_staff = \type Staff <
+       \$prelude
+       \$prelude_alto_global
+       \$prelude_alto_scripts
+>
+
+\score{
+       \$prelude_alto_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/prelude-cello.ly b/mutopia/J.S.Bach/prelude-cello.ly
new file mode 100644 (file)
index 0000000..0f3fbf8
--- /dev/null
@@ -0,0 +1,50 @@
+\header{
+filename =      "prelude-cello.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Pr\\'elude";          % duh
+opus =  "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c;
+}
+
+\include "prelude-urtext.ly";
+
+prelude_cello_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \clef bass;
+       \skip 2.*63;
+       \bar "|.";
+}
+
+prelude_cello_scripts = \melodic{
+}
+
+prelude_cello_staff = \type Staff <
+       \$prelude
+       \$prelude_cello_global
+       \$prelude_cello_scripts
+>
+
+\score{
+       \$prelude_cello_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/prelude-urtext.ly b/mutopia/J.S.Bach/prelude-urtext.ly
new file mode 100644 (file)
index 0000000..5424767
--- /dev/null
@@ -0,0 +1,103 @@
+% prelude-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+
+prelude = \melodic{
+       [d,8 f] a4 ~ [a16 f( e )d] |
+       [cis( e g )a] bes4 ~ [bes16 a( g )f] |
+       [e( g a )cis] \d [e8.() bes,16] \n [a16( g f )e] |
+       [f( g a )f] [d8( c! bes )a] |
+       %5
+       [bes16 d( f )a] \d [d8.()c16] [bes( a g )f] |
+       [e( g bes )d] [c( a bes )g] [f( e )g bes,] |
+       \n [a c( e )g] \d [c8.()bes16] \n [a( g f )e] |
+       \d [d( f a )c] [bes( g a )f] \n [e( f )a f] |
+       %9
+       \d [g, bes( d )f] [bes8.() a16] \n [g( f e )g] |
+       % check slur! [a, c( e )g] [c a( e )g] [f( a )'d )es] |
+       [a, c( e )g] [c a( e )g] [f( a )d, es] |
+       [d a( bes )d] [g bes( a )c] \d [bes( g )d' f,] |
+       %12
+       \n[e b( c )e] \d[g d( e )c] [bes( g )e' bes,] |
+       [f8 a] \n c4 ~ [c16 bes( a )g] |
+       [fis a( bes )c] [d, c'( bes )a] [fis' es( d )c] |
+       \d [bes( a )g bes] \n d4 ~ [d16 \d c( bes )a] |
+       %16
+       \n[gis b( c )d] [e, d'( c )b] [gis' \d f ( e )d] |
+       [c( b a )c] [f( e f )gis] [a( f d )c] |
+       \n [b( d gis' )b] \d[d8.()c16] \n[b( a gis )a] |
+       %19
+       \d [c,( e a )c] [e8.()c16] \n [b( a gis )a] |
+       [d,( f a )d] \d[f8.()e16] \n[d( c b )d] |
+       \d[e, d'( c )b] \n[a c( b )a] [d, b'( a )gis] |
+       %22
+       [c, a'( g!)f] [cis g,( f )e] [d f( e )d] |
+       [gis' \d d'( e )f] [b' f,( e )d] [gis,\n d'( c )b] |
+       \d[a( b c )e] [a( b c )a] [e( c a )g!] |
+       % 25
+       % B"arenreiter and Chester say "c bes c"
+       [fis \n a( c )d] \d[es8.()d16] \n[c( bes )c a'] |
+       [bes,( a )bes d] [g, es'( f )g] [a, g'( f )es] |
+       [d( c )d f] [bes,  g'( a )bes] [cis, bes'( a )g] |
+       % 28
+       [f( e )f a] [d, bes'( c! )d] [e,! \d d'( c )bes] |
+       \n[a( g )a c] [f, d'( e )f] [g, f'( e )d ] |
+       [cis g,( f )e] [a, e'( f )g] [cis'( bes! )a g] |
+       %31
+       [f( g )a cis] [d a( g )f] [a f( e )d] |
+       \d[gis' d,( e )f] [ a, f'( e )d] [gis'( f! )e d ] |
+       [cis( b )cis e] [a \n e( cis )e] [a, g'!( f )e] |
+       %34
+       [f( e )f a] [d a( f )a] \n[d, c'!( bes )a] |
+       [g( f )g cis'] [e \d cis( g, )cis'] [a,, g'( f )e ] |
+       [d a' d e] [f d a f] [d c'!( bes )a] |
+       %37
+       \n[g( a )bes d,] [es f g a] [bes g es' g,] |
+       \d[f( g )a cis,][ d e! f g][a f d' f,] |
+       [e( f )g bes,][a b cis d] \d[e bes, g' bes,] |
+       %40
+       [cis,8 a'] \n g'4 ~ [g16 bes( a )g] |
+       [f( e d )e] [f d a' f] [d' a f d] |
+       [gis,8 f'] d'4 [d16 f( e )d] | 
+       [cis( b )a b][cis a d a][e' a, f' a,] |
+       %44
+       [g' \d e( cis )e][a,( cis )e f][g f g e] |
+       [f d( cis )d][a( cis )d e][f e f d] |
+       [e cis( b )cis]\n[a( b )cis d][e d e cis] |
+       %47
+       [d \n b( a )b][f,(gis )b cis][d cis d b] |
+       <g,,4^\fermata e' cis'> r r |
+       [bes16 g( fis)g][es g d g]\d[es( g)bes d,] |
+       [cis--( \n e!( g ))a]\d[bes8.()a16]\n[g( fis )g e'] |
+       %51
+       [f,! d' bes g]\d[a()f e()g][f()d cis()e] |
+       [d bes( a )g][fis--( \n a( c! ))es]\d[d( c bes )a] |
+       [bes g( fis )g][es g d g]\n[es( g )bes d,] |
+       %54
+       <\stemdown cis4 bes' {\voiceone [g'8.( )f16] }> 
+       \n[e!( d cis b][a g f )e] \stemboth |
+       \d[d--( \n a'( d ))e][f( e d c!][bes! a g )f] |
+       \d[e--( \n a( cis ))e][g( f e d][cis b a )g] |
+       [f a( d )f][a d,( f )a][d bes! c! a] |
+       [g,, \d d'( g )a][bes \n g( fis)g][es' g, d' g,] |
+       <a,2. g' cis'>|
+       <a,, f' d'> |
+       <a,, e' d'> |
+       <a,, e' cis'> |
+       <d,, a' f' d' > |
+}
+
+
+
+
+
+
index 96a0ab180e35c22a49a93c4f6c54a8da4557562f..124b1b80194065c56abb8b2439034a5a4d239e03 100644 (file)
@@ -3,6 +3,7 @@ filename =       "preludes-1.ly";
 % mmm
 title =         "DOUZE PETITES PR\'ELUDES";
 opus = "BWV 924";
+piece = "\\numfont 1";
 % blz 1
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 2-Praeambulum I
@@ -12,6 +13,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
+\version "0.1.14";
 one = \melodic{
        \octave c'';
        \textstyle "italic";
@@ -22,71 +24,71 @@ one = \melodic{
        r\f ['b e a-5] r ['b e-3 g-5] 
        r [c-1 e-3 f-4] r ['g d-3 f-5] |
        r ['g-"poco a poco dim." d-4 e] r ['g c-2 e]
-       r ['a-1 c-3 d-4] r ['e 'b-3 d-5] |
-       r ['e 'b c-4] r ['e 'a-2 c]
-       r ['f-1 'a-3 'bes-4] r ['c 'g-3 'bes-5] |
-       r ['c 'g 'a-4] r ['c 'f-2 'a
-       r ['d 'f-2 'b-5] r ['e 'g-2 c-5] |
-       r\p ['d 'g c-5] r ['d 'g 'b-4]
-       r ['c 'g-3 'b-5] r ['c 'fis-2 'a-4] |
-       r [''b 'd 'a-5] r [''b 'd 'g-4]
-       r [''a 'c 'g-5] r [''a 'c 'f!-4] |
+       r ['a-1 c-3 d-4] r ['e b,-3 d-5] |
+       r ['e b, c-4] r ['e a,-2 c]
+       r ['f-1 a,-3 bes,-4] r ['c g,-3 bes,-5] |
+       r ['c g, a,-4] r ['c f,-2 a,
+       r ['d f,-2 b,-5] r ['e g,-2 c-5] |
+       r\p ['d g, c-5] r ['d g, b,-4]
+       r ['c g,-3 b,-5] r ['c fis,-2 a,-4] |
+       r [''b d, a,-5] r [''b d, g,-4]
+       r [''a c, g,-5] r [''a c, f,!-4] |
        % ugh, arpeggio
        <
-               { \voiceone; 'f4 r s }
-               { \voicetwo; <''g4 'd> r s }
+               { \voiceone; f,4 r s }
+               { \voicetwo; <''g4 d,> r s }
        >
        \onevoice;
        % ugh beam across staffs, slur starts at lower staff
-       r16 [''g-1( ''b 'd] |
+       r16 [''g-1( b,, d,] |
        \voiceone;
-       )''b s4 ['g16-1( 'b-2 d] )'b s s s [f-2 g-3 b-5 f-2] |
+       )''b s4 ['g16-1( b,-2 d] )'b s s s [f-2 g-3 b-5 f-2] |
        \onevoice;
        [e-1\f c'-5( g-3 f-2] [e-1 c'-5 g-3 e-2] 
        [)d c'-5( f-3 e-2] [d-1 b-5 f-3 d-2] |
        [)c b-5( e-3 d-2] [c-1 a-5 e-3 c-2] 
-       [)'b-1 a-5( d-3 c-2] ['b-1 g-5 d-3 'b-2] |
-       [)'a g-5 c-4 'b] ['a-"poco a poco dim." fis-5 c-2 'a-1]
-       ['b-2 f d-4 c] ['b f d-4 'b-2] |
-       ['g e c-3 'b] ['a e-5 c-3 'a-1]
-       ['fis-2 d 'b-3 'a] ['g-1 d-5 'b-4 'g-2] |
-       ['e c-5 'a-4 'g-3] ['fis-2 c-5 'a-4 'fis-2] 
-       ['d c-5 'b-4 'a] ['b-4 'g-2 d-5 'f-1] |
-       ['g-4 'e-2 'f-1 d-5] [c-4 'b 'a 'g]
+       [)'b-1 a-5( d-3 c-2] ['b-1 g-5 d-3 b,-2] |
+       [)'a g-5 c-4 b,] ['a-"poco a poco dim." fis-5 c-2 a,-1]
+       ['b-2 f d-4 c] ['b f d-4 b,-2] |
+       ['g e c-3 b,] ['a e-5 c-3 a,-1]
+       ['fis-2 d b,-3 a,] ['g-1 d-5 b,-4 g,-2] |
+       ['e c-5 a,-4 g,-3] ['fis-2 c-5 a,-4 fis,-2] 
+       ['d c-5 b,-4 a,] ['b-4 g,-2 d-5 f,-1] |
+       ['g-4 e,-2 f,-1 d-5] [c-4 b, a, g,]
        [f-5 d-3 es-4 c-2] ['fis-1 es-4 d-3 c-2] |
-       ['b-1 d-5 'b-3 'g-1] ['as-4-"cresc. e rall." 'f-2 'g-3 'd-1]
-       ['es-2 'fis-3 'a-4 c-5] 
+       ['b-1 d-5 b,-3 g,-1] ['as-4-"cresc. e rall." f,-2 g,-3 d,-1]
+       ['es-2 fis,-3 a,-4 c-5] 
        < 
-               { \voiceone; r [c8 'b16] }
-               { \voicetwo; ['d8 'f-2] }
+               { \voiceone; r [c8 b,16] }
+               { \voicetwo; ['d8 f,-2] }
        >
        \onevoice; |
-       <c1\mf 'g 'e>
+       <c1\mf g, e,>
        \bar "|.";
 }
 
 two = \melodic{
        \octave c;
        \textstyle "roman";
-       c4-5 e-3 g-\mordent^"(\\textsharp)" 'g4 |
-       d-\mordent-5 f-3 a-\mordent^"(\\textsharp)" 'a4 |
+       c4-5 e-3 g-\mordent^"(\\textsharp)" g,4 |
+       d-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 |
        e-5 e'-\mordent-1 a-4 b-\upprall |
        c'4 e-4 fis gis-\downprall |
        a4 c-4 d e-\upprall |
        f4-1 e d-3-\prall c |
-       g-\mordent^"(\\textsharp)" 'g g-\mordent 'g |
-       g-\mordent 'g g-\mordent 'g |
+       g-\mordent^"(\\textsharp)" g, g-\mordent g, |
+       g-\mordent g, g-\mordent g, |
        % ugh, f should be at upper staff
-       g-\mordent r r16 ['g-5( 'b-4 d] )f-1 s s s |
+       g-\mordent r r16 ['g-5( b,-4 d] )f-1 s s s |
 %      s [g-5( b-4 d'-2] )f'-1 s s s s \clef violin; [g'-4 b'-2 d''-1] 
        % huh, can't violin anymore (see BUGS)
        s [g-5( b-4 d'-2] )f'-1 s s s s [g'-4 b'-2 d''-1] 
        s s s s \clef bass; |
        <
                { \voiceone; g1 ~ g ~ g ~ g ~ g ~ g ~ g }
-               { \voicetwo; 'g1 ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g }
+               { \voicetwo; g,1 ~ g, ~ g, ~ g, ~ g, ~ g, ~ g, }
        >
-       <c1 'c>
+       <c1 c,>
        \bar "|.";
 }
 
index 9bd557f3f2e61caab2be859d59cc7f84f484b71c..ac159f2903cec8ae368cf5df8b4740f2aca8a6f4 100644 (file)
@@ -2,6 +2,7 @@
 filename =      "preludes-2.ly";
 title =         "2";
 opus = "BWV 939";
+piece = "\\numfont 2";
 % blz 10
 % 
 % Six Petits Pr'eludes
@@ -12,87 +13,88 @@ enteredby =  "jcn";
 copyright =     "public domain";
 }
 
+\version "0.1.14";
 one = \melodic{
        \octave c'';
        \textstyle "italic";
-       r8\mf ['c-1( 'e-2 'g-4] ['e-2 'c-1 'bes-5 'g-3] |
-       [)'a-4\< 'c-1( 'f-2 'a-4] ['f 'c c-5 'a-3] |
-       [)'b-4 'g-1( 'b-2 d-4] ['b-2 'g f-5 \!d-3] |
+       r8\mf [c,-1( e,-2 g,-4] [e,-2 c,-1 bes,-5 g,-3] |
+       [)a,-4\< c,-1( f,-2 a,-4] [f, c, c-5 a,-3] |
+       [)b,-4 g,-1( b,-2 d-4] [b,-2 g, f-5 \!d-3] |
        <
-               {\voiceone; )e2-4\f r4 e-5 }
-               {\voicetwo; <c2 'g> r4 <c 'g> }
+               {\voiceone )e2-4\f r4 e-5 }
+               {\voicetwo <c2 g,> r4 <c g,> }
        >
-       \onevoice; |
+       \onevoice |
        < 
-                { \voiceone; d2-4 r4 d-4 }
-                { \voicetwo; <c2 'a> r4 <c 'a> }
+                { \voiceone d2-4 r4 d-4 }
+                { \voicetwo <c2 a,> r4 <c a,> }
        >
-       \onevoice; |
+       \onevoice |
        < 
-                { \voiceone; d8 }
-                { \voicetwo; <'b8 'g> }
+                { \voiceone d8 }
+                { \voicetwo <b,8 g,> }
        >
-       \onevoice;
-       ['g8-1\mf( 'b-2 d-4] 
+       \onevoice
+       [g,8-1\mf( b,-2 d-4] 
        <
-               { \voiceone; )'b4 e-5 }
-               { \voicetwo; 'g4 'b }
+               { \voiceone )b,4 e-5 }
+               { \voicetwo g,4 b, }
        >
-       \onevoice; |
+       \onevoice |
        <
-               { \voiceone; c2 r4 < {c-5 ~ c8} {'a4 ~ 'a8} > }
-               { \voicetwo; c2 r4 'e4 ~ 'e8 }
+               { \voiceone c2 r4 < {c-5 ~ c8} {a,4 ~ a,8} > }
+               { \voicetwo c2 r4 e,4 ~ e,8 }
        >
-       \onevoice;
-       ['d-1\p( 'fis-2 'a-4] ['fis-2 'd-1 c-5 'a-3] |
-       [)'b-4\< 'g-1( 'b-2 d-4] [ 'b-2 'g-1 f!-5 d-3] |
-       [)e-4 'g-1( c-2 e-4] [c-2 'g g-5 e-3] |
-       [)fis-4 'a-1( c-2 fis-4] [c 'a a-5 \!fis-3] |
+       \onevoice
+       [d,-1\p( fis,-2 a,-4] [fis,-2 d,-1 c-5 a,-3] |
+       [)b,-4\< g,-1( b,-2 d-4] [ b,-2 g,-1 f!-5 d-3] |
+       [)e-4 g,-1( c-2 e-4] [c-2 g, g-5 e-3] |
+       [)fis-4 a,-1( c-2 fis-4] [c a, a-5 \!fis-3] |
        <
-               { \voiceone; )g2-5\f }
-               { \voicetwo; <d2 'b> }
+               { \voiceone )g2-5\f }
+               { \voicetwo <d2 b,> }
        >
-       \onevoice;
+       \onevoice
        r4 b4-2( |
        [c8-1 e-2 g c'] [g-2 e-1 bes-4 g-2] |
-       [)a16->-3 g-2 f-1 e-3] [d c 'b!-3 'a-2] 
-       ['b-3\< 'g-1 'a 'b] [c-1 d e \!f] |
+       [)a16->-3 g-2 f-1 e-3] [d c b,!-3 a,-2] 
+       [b,-3\< g,-1 a, b,] [c-1 d e \!f] |
        g4-5\ff
        <
-               { \voiceone; c2-5 'b4-4 }
-               { \voicetwo; 'g2-2 'd4-1 }
+               { \voiceone c2-5 b,4-4 }
+               { \voicetwo g,2-2 d,4-1 }
        >
-       \onevoice;
+       \onevoice
        <
-               { \voiceone;  c1^5 }
-               { \voicetwo; 'e1_1}
+               { \voiceone  c1^5 }
+               { \voicetwo e,1_1}
        >
-       \onevoice;
+       \onevoice
        \bar "|.";
 }
 
 two = \melodic{
        \octave c;
        <
-               { \voiceone; c1 ~ | c ~ | c }
-               { \voicetwo; 'c1 ~ | 'c ~ | 'c }
+               { \voiceone c1 ~ | c ~ | c }
+               { \voicetwo c,1 ~ | c, ~ | c, }
        >
-       \onevoice; |
+       \onevoice |
        r8 [c-5( e-3 g-1] [e-3 c-5 c' e-4] |
        [)fis-3 d-5( fis-3 a-1] [fis-3 d-5 d' fis-4] |
        )g2-3 r4 g-2( |
-       [)a8 'a-5( c-4 e-2] [c-4 'a-5 g e-3] |
+       [)a8 a,-5( c-4 e-2] [c-4 a,-5 g e-3] |
        )fis2 r4 d-4 |
-       g-\mordent-"(\\textsharp)" 'g4 g-\mordent 'g |
+       g-\mordent-"(\\textsharp)" g,4 g-\mordent g, |
        % mordents in brackets...
-       g-\mordent 'g g-\mordent 'g |
-       g-\mordent 'g g-\mordent 'g |
-       [g8 'g-5( 'b-4 d-2] ['b-4 'g-5 f!-1 d-3] |
+       g-\mordent g, g-\mordent g, |
+       g-\mordent g, g-\mordent g, |
+       [g8 g,-5( b,-4 d-2] [b,-4 g,-5 f!-1 d-3] |
        [)e-2 c-4 e-2 g-1] [e-3 c-5 c' e-4] |
        \textstyle "finger";
        f1^"3\\_1" ~ |
-       [f8 d-3 e-2 c-4] g4-1 'g^"5\\_2" |
-       <c1 'c1>
+       [f8 d-3 e-2 c-4] g4-1 g,^"5\\_2" |
+       <c1 c,1>
        \bar "|.";
 }
 
index fa170f74a8c7832b10888793fbfece48e91def55..fc91c6873767dc6ec707404f46e5db09ce5d54ee 100644 (file)
@@ -2,6 +2,7 @@
 filename =      "preludes-3.ly";
 title =         "3";
 opus =         "BWV 999";
+piece = "\\numfont 3";
 % Pr"aludum in C Moll f"ur Laute
 % blz 16
 % Six Petits Pr'eludes
index 474d012d9d61c04b8031cbe0fbff070943aac6c7..c9098c7b19d3e98e5ca0c455f88d742f34a271c8 100644 (file)
@@ -2,6 +2,7 @@
 filename =      "preludes-4.ly";
 title =         "4";
 opus = "BWV 925";
+piece = "\\numfont 4";
 % blz 8
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 27-Praeludium ex d neutral
@@ -10,18 +11,19 @@ composer =   "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
 }
+\version "0.1.14";
 
 one = \melodic{
        \octave c'';
        \textstyle "italic";
        r16\p_"legato" 
        \textstyle "finger";
-       ['d-1( 'fis-3 'd-1] ['a-2 'b-3 cis-4 'a-3]
+       ['d-1( fis,-3 d,-1] ['a-2 b,-3 cis-4 a,-3]
        [d-3 cis-2 d-1 e-2] [d-1 fis-3 e-2 d-1] |
        \textstyle "finger";
        \stemup; 
        )cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ | 
-       e16\< \stemboth ['a16( cis 'a] [d-2 e fis d-1]
+       e16\< \stemboth ['a16( cis a,] [d-2 e fis d-1]
        [g-3 fis g a-4] [g-3 b a \!g] |
        \stemup
        )fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
@@ -31,30 +33,30 @@ one = \melodic{
        \textstyle "italic";
        [fis_"dim." e fis-3 g] [fis-3 a-5 g fis]
        \textstyle "finger";
-       e4-"2\\_5" ~ e16 ['e( 'fis 'g ] |
+       e4-"2\\_5" ~ e16 ['e( fis, g, ] |
        \textstyle "italic";
-       ['a-4_"dim." 'g-1 'a 'b] ['a-2 c-4 'b 'a]
-       ['g-1 'fis-2 'g-3 'a] ['g-3 'b 'a 'g] |
+       ['a-4_"dim." g,-1 a, b,] ['a-2 c-4 b, a,]
+       ['g-1 fis,-2 g,-3 a,] ['g-3 b, a, g,] |
        \stemup
        )'fis4\p 
        \skip 4*7; |
        \textstyle "finger";
-       d4.\mf cis8-"4\\_5" ~ cis 'b4-5 'a8-"4\\_5" ~ |
+       d4.\mf cis8-"4\\_5" ~ cis b,4-5 a,8-"4\\_5" ~ |
        \textstyle "italic";
-       'a 'g4-5 'fis8-4 ~ ['fis16 'fis-4-"dim." 'e-3 'd-2] 
+       a, g,4-5 fis,8-4 ~ ['fis16 fis,-4-"dim." e,-3 d,-2] 
        \textstyle "finger";
-       'e4-"3\\_5" ~ |
-       ['e16 'e-5 'd 'cis] 'd4-5 ~ ['d16 'd-5 'cis ''b] 'cis4-5 |
+       e,4-"3\\_5" ~ |
+       ['e16 e,-5 d, cis,] d,4-5 ~ ['d16 d,-5 cis, b,,] cis,4-5 |
        \stemboth
-       [''fis16-1\p ''a-2 'd-5\< 'c-4] [''b-1 'd-2 'g-5 'fis-4]
-       ['d-1 'b-5 'a 'g] ['fis-2 'e-1 'd-4 \!'c!-3] |
-       [''b-2 'd-1 'g 'a] ['fis8-\prall 'e16-4 'd-3]
-       ['d8. 'e16~] ['e 'd8 'cis16] |
+       [''fis16-1\p a,,-2 d,-5\< c,-4] [''b-1 d,-2 g,-5 fis,-4]
+       ['d-1 b,-5 a, g,] ['fis-2 e,-1 d,-4 \!'c!-3] |
+       [''b-2 d,-1 g, a,] ['fis8-\prall e,16-4 d,-3]
+       ['d8. e,16~] ['e d,8 cis,16] |
        \stemup
-       r16 ['d-1\< 'fis 'd] ['g 'a 'b 'g-1] [c-3 'b c d] [c e d-4 \!c] |
-       'b4-5 'a ~ ['a8 'g-5 ~] ['g16 'fis8-4 'e16-3] |
-       ['fis8-4 'e-5~] ['e 'd-5~] 'd4 'cis-4 |
-       'd2\p-"rall." ~ ['d16 ''a-2( ''b-3 'cis-4] )'d4-5 |
+       r16 ['d-1\< fis, d,] ['g a, b, g,-1] [c-3 b, c d] [c e d-4 \!c] |
+       b,4-5 a, ~ ['a8 g,-5 ~] ['g16 fis,8-4 e,16-3] |
+       ['fis8-4 e,-5~] ['e d,-5~] d,4 cis,-4 |
+       d,2\p-"rall." ~ ['d16 a,,-2( b,,-3 cis,-4] )'d4-5 |
        \bar "|.";
 }
 
@@ -67,41 +69,41 @@ two = \melodic{
        fis4-1( e8-2 a4 a4 gis8-2 | 
        ) a8
        \translator Staff=treble \octave c''; \stemdown
-       'a4 'a8 'b4.-"2\\_1" cis8 ~ | 
+       a,4 a,8 b,4.-"2\\_1" cis8 ~ | 
        cis8
        \translator Staff=bass \octave c; \stemup
        a8 ~ [a d'] ~ d' d'4-> cis'8 | 
        d'8
        \translator Staff=treble \octave c''; \stemdown
-       d4-> cis8-1 ~ cis 'b4-1 'b8 |
-       r8 'a4 'a8
+       d4-> cis8-1 ~ cis b,4-1 b,8 |
+       r8 a,4 a,8
        \translator Staff=bass \octave c; \stemup
        [g'8-1( fis'-2] )e'4-1 ~ | 
        e'4 d' ~ [d'16 d'-1 cis'-2 b-1] cis'4-2 ~ |
        [cis'8 a-3] d'4.-1 d'4^> cis'8-2 |
        \translator Staff=treble \octave c''; \stemdown
-       'd
+       d,
        \stemboth
-       r16 [''b-1\< 'd-2 ''b~] <'g4-5 'e-3 ''b>
-       r16 ['cis-1 'e-2 \!'cis~] |
-       <'a4-5 'fis-3 'cis> r16 ['d-1 'fis-2 'd~] <'b4-5 'g-3 'd>
-       r16 ['fis-1 'a 'fis~] |
+       r16 [''b-1\< d,-2 b,,~] <'g4-5 e,-3 b,,>
+       r16 ['cis-1 e,-2 \!'cis~] |
+       <'a4-5 fis,-3 cis,> r16 ['d-1 fis,-2 d,~] <'b4-5 g,-3 d,>
+       r16 ['fis-1 a, fis,~] |
        \stemdown
-       'fis4 'e 'd 'cis |
-       ''b ''a ''b4. ''b8 |
-       ''a4
+       fis,4 e, d, cis, |
+       b,, a,, b,,4. b,,8 |
+       a,,4
        \translator Staff=bass \octave c; \stemup
        r16 [b-3 fis-1 a-2] g4-1 r16 [a-3 e-1 g-2] |
        \skip 4*4; \skip 16*1;
        \translator Staff=treble \octave c''; \stemdown
-       'd8.-1 ~ ['d8 'c] 'd4 [''a8 ''g] |
+       d,8.-1 ~ ['d8 c,] d,4 [''a8 g,,] |
        \translator Staff=bass \octave c; \stemup
        [fis'8 c'-1] b4-1 \stemdown <a
        \translator Staff=treble \octave c''; \stemdown
-       ''a4.-2>
+       a,,4.-2>
        \stemdown
-       'a8~ |
-       ['a 'g-3~] ['g16 'e 'fis8~] ['fis16 'd8.~] ['d8. 'cis!16] |
+       a,8~ |
+       ['a g,-3~] ['g16 e, fis,8~] ['fis16 d,8.~] ['d8. cis,!16] |
        \translator Staff=bass \octave c; \stemup
 %      <[d'8-2 a-1> <a~ g]> <a4 [fis16-2> e-1 fis-2 d-1]
        <
@@ -117,8 +119,8 @@ two = \melodic{
 three = \melodic{
        \octave c;
 %      \stemdown;
-       d4-3 c-4 'b e-3 |
-       a16 ['a-5\mf( cis-3 'a-5] [d-2 e-1 fis-2 d-4]
+       d4-3 c-4 b, e-3 |
+       a16 ['a-5\mf( cis-3 a,-5] [d-2 e-1 fis-2 d-4]
        [g-1 fis-3 g a] [g b a g] |
        )fis4 fis e a-4 |
        d'16 \stemboth [d-5\f( fis-3 d-5] [a-2 b-1 cis'-2 a-4]
@@ -128,24 +130,24 @@ three = \melodic{
        [a-4 )fis-5 b-2 a-3] [gis-4 e-5 a-3 g-4] |
        fis4. d8-5 e4-5 a4-3 |
        \stemboth
-       r16 [d-4( fis-2 d-4] [)g8-.-1 'g-.-5]
-       r16 [e-4( g-2 e-4] [)a8-. 'a-.-5] |
-       r16 [fis-4( a fis] [)b8-. 'b-.] r16 [g-4( b g] [)d'8-. d-.] |
-       r16 ['d16-5( 'fis-3 'd] ['a-2 'b-1 cis-2 'a-4] [d 'b-5 d-3 'b]
+       r16 [d-4( fis-2 d-4] [)g8-.-1 g,-.-5]
+       r16 [e-4( g-2 e-4] [)a8-. a,-.-5] |
+       r16 [fis-4( a fis] [)b8-. b,-.] r16 [g-4( b g] [)d'8-. d-.] |
+       r16 ['d16-5( fis,-3 d,] ['a-2 b,-1 cis-2 a,-4] [d b,-5 d-3 b,]
        [fis-2 g a-2 fis-4] |
-       )fis16 ['g( 'b 'g] [d-2 e fis-2 d-4] [)g8-. 'g-.] r16 [cis-4( e cis] |
-       [)fis8-. 'fis-.] \stemdown r16 ['b-4( d 'b] [)e8-. 'e-.] 
-       r16 ['a-4 cis 'a] |
+       )fis16 ['g( b, g,] [d-2 e fis-2 d-4] [)g8-. g,-.] r16 [cis-4( e cis] |
+       [)fis8-. fis,-.] \stemdown r16 ['b-4( d b,] [)e8-. e,-.] 
+       r16 ['a-4 cis a,] |
        \stemboth
-       [d-1 e-3 fis-2 d-4] [g-1 fis-2 e-3 d-1] [cis!-3 'a-5 'b cis]
+       [d-1 e-3 fis-2 d-4] [g-1 fis-2 e-3 d-1] [cis!-3 a,-5 b, cis]
        [d-2 e fis-2 d-4] |
-       [g8 e-3] \stemdown [a 'a] ['b8.-4 'g16-5] 'a4-4 |
+       [g8 e-3] \stemdown [a a,] ['b8.-4 g,16-5] a,4-4 |
        [d8-5 a-2~] [a g-3~] [g g-3] fis4-4 |
        \stemup
        r16 [g-2 b-1 g-3] [d'8.-1 c'16-1] [b8.-2 bes16-3] [a8-1 g] |
        \stemdown
-       r16 ['a-2 cis!-1 a-2] [d-1 e fis d] [e8-1 d-2] [e-1 'a-2] |
-       [d 'a-2~] ['a16 'a-2 'b cis-2] d2 |
+       r16 ['a-2 cis!-1 a-2] [d-1 e fis d] [e8-1 d-2] [e-1 a,-2] |
+       [d a,-2~] ['a16 a,-2 b, cis-2] d2 |
 }
 
 four = \melodic{
@@ -162,8 +164,8 @@ four = \melodic{
        \stemdown
        d1 ~ | 
        d ~ | 
-       'd ~
-       'd2 'd2
+       d, ~
+       d,2 d,2
 }
 
 global  = \melodic{
index 1572329e3ad87530be10bff3f62bf8feb98181c2..3e1f0a394aef27d8308f0bdb6b7f909387c4c2e1 100644 (file)
@@ -1,6 +1,8 @@
 \header{
 filename =      "preludes-5.ly";
 title =         "5";
+piece = "\\numfont 5";
+opus = "BWV 926";
 % blz 2
 % Clavierb"uchlein f"ur W. Fr. Bach
 % Clav. W. Fr. Bach: 4-Praeludium 2
@@ -10,6 +12,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
+\version "0.1.14";
 one = \melodic{
        \octave c';
        \textstyle "italic";
@@ -66,9 +69,9 @@ one = \melodic{
        [cis-1 bes-4 g-2 cis-1 a-5 g-4] |
        [f-3 a f d a-5 f] |
        [d-1 a-5 f-3 d-1 cis-2 d-1] |
-       [e-3\< g-5 e-3 'bes-1 g-5 e-3] |
-       ['bes-1 g-5 e-3 \!cis-2 'a-1 g-5] |
-       [f16-4\mf d-2 c-1 'bes-3] \stemup 'a-2 s16 s8 s4 |
+       [e-3\< g-5 e-3 bes,-1 g-5 e-3] |
+       ['bes-1 g-5 e-3 \!cis-2 a,-1 g-5] |
+       [f16-4\mf d-2 c-1 bes,-3] \stemup a,-2 s16 s8 s4 |
 % ugh
 %      s1 |
        s4 s4 s4 |
@@ -88,7 +91,7 @@ one = \melodic{
        [c'-5 a-3 fis-2 bes-4 g e ] |
        [a-5 fis-"dim. e rall." d g-5 e cis-2] |
        <
-               { \voiceone; <fis2-.-5\p 'a> }
+               { \voiceone; <fis2-.-5\p a,> }
                { \voicetwo; [d32( cis d8. ~] ) d2 }
        > |
        \bar "|.";
@@ -100,13 +103,13 @@ two = \melodic{
        \octave c;
 %      [d32( cis )d8.] r4 r |
        d4-\mordent r r |
-       'd4 r r |
+       d,4 r r |
        d-\mordent r r |
-       'd4 r r |
+       d,4 r r |
        d-\mordent r r |
 %      d r r |
-       'd4 r r |
-       [d8-2 'a-5 d-2 f-1 d-4 f-2] |
+       d,4 r r |
+       [d8-2 a,-5 d-2 f-1 d-4 f-2] |
        [a-1 f-4 a-2 d'-1 a-2 d'-1] |
        gis4-3 r r |
        e-4( )gis-2 e |
@@ -121,32 +124,32 @@ two = \melodic{
        f4-\mordent r r8 e |
        d4 r8 [f-1 e d] |
        [e-2 d-3 cis-4 e-1 d-2 cis-3] |
-       d4-2( )c! 'bes-4 |
-       'a( )a 'a |
-       'a( )a 'a |
-       'a( )a 'a |
-       'a( )a 'a |
-       'bes r r |
-       'bes-5( )bes 'bes |
-       'a r r |
-       'a-2( )d-1 'd |
-       'g r r |
-       'g( )g 'g |
-       'g r r |
-       'g( )g 'g |
-       'a r r |
-       'a( )a 'a |
-       'a r r |
-       'a( )a 'a |
-       'cis r r |
-       'cis( )cis 'cis |
-       'd-4 s16
+       d4-2( )c! bes,-4 |
+       a,( )a a, |
+       a,( )a a, |
+       a,( )a a, |
+       a,( )a a, |
+       bes, r r |
+       bes,-5( )bes bes, |
+       a, r r |
+       a,-2( )d-1 d, |
+       g, r r |
+       g,( )g g, |
+       g, r r |
+       g,( )g g, |
+       a, r r |
+       a,( )a a, |
+       a, r r |
+       a,( )a a, |
+       cis, r r |
+       cis,( )cis cis, |
+       d,-4 s16
        \stemdown
        [g16-1-"m.g." f e] [f-2 a d-3 f] | 
-       'a
+       a,
        \stemup
-       [d-5-"m.d." c 'bes] 'a 
-       \stemdown ['g-2 'f-"m.g." 'e] ['d 'f-4 'a-2 d-1] |
+       [d-5-"m.d." c bes,] a, 
+       \stemdown ['g-2 f,-"m.g." e,] ['d f,-4 a,-2 d-1] |
        \stemup
 %      [f-2\ped a]
        [f-2-"Ped." a]
@@ -158,18 +161,18 @@ two = \melodic{
 %      r1 |
        r4 r r |
 %{
-       ugh, 'forget' the 8 below:
-       [cis-3( e cis 'a] [d16-1 c 'bes 'a] |
+       ugh, forget,' the 8 below:
+       [cis-3( e cis a,] [d16-1 c bes, a,] |
        and lily dumps koor
 lilypond: ../flower/include/varray.hh:116: struct Rhythmic_grouping *& Array<Rhythmic_grouping *>::elem(int) const: Assertion `i >=0&&i<size_' failed.
 Aborted (core dumped)
 %}
-       [cis8-3( e cis 'a] [d16-1 c 'bes 'a] |
-       [)'g8 g a-2( g-3 a-1 'a] |
+       [cis8-3( e cis a,] [d16-1 c bes, a,] |
+       [)'g8 g a-2( g-3 a-1 a,] |
        )d4-3 d'-1 d |
        d r r |
-       'd( )d 'd |
-       'd2. |
+       d,( )d d, |
+       d,2. |
        \bar "|.";
 }
 
index 0eb6d492fe7ce8f8a0fb8e29f9248c4508822dda..b38fd5144e0662c957a7cfef4d1fea63b441a1bd 100644 (file)
@@ -1,6 +1,7 @@
 \header{
 filename =      "preludes-6.ly";
 title =         "6";
+piece = "\\numfont 5";
 opus = "BWV 940";
 % blz 11
 % Six Petits Pr'eludes
@@ -11,6 +12,7 @@ enteredby =    "jcn";
 copyright =     "public domain";
 }
 
+\version "0.1.14";
 one = \melodic{
        \octave c';
        \skip 4*4; |
@@ -60,11 +62,11 @@ three = \melodic{
        a2-2 ~ [a16 a-1( g f] [e-4 f-2 c-5 d] |
        [e32 d e8 f16] [d8.-4 c16-5] \stemboth )c4.-5 d8-4 |
        \stemdown
-       e4 ~ [e16 f-2( e-3 d-4] [cis 'a 'b cis-3] [d-4 e-3 f-2 d-4] |
+       e4 ~ [e16 f-2( e-3 d-4] [cis a, b, cis-3] [d-4 e-3 f-2 d-4] |
        \textstyle "finger";
-       )'bes!2-"5\\_4" 'a ~ |
-       'a 'a |
-       'd cis-5 |
+       )'bes!2-"5\\_4" a, ~ |
+       a, a, |
+       d, cis-5 |
        a1-2
        \bar "|.";
 }
diff --git a/mutopia/J.S.Bach/sarabande-alto.ly b/mutopia/J.S.Bach/sarabande-alto.ly
new file mode 100644 (file)
index 0000000..7d11a7b
--- /dev/null
@@ -0,0 +1,52 @@
+\header{
+filename =      "sarabande-alto.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Sarabande";
+% opus =        "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c';
+}
+
+\include "sarabande-urtext.ly";
+
+sarabande_alto_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \clef alto;
+       \skip 2.*12;
+       \bar ":|:";
+       \skip 2.*16;
+       \bar ":|";
+}
+
+sarabande_alto_scripts = \melodic{
+}
+
+sarabande_alto_staff = \type Staff <
+       \$sarabande
+       \$sarabande_alto_global
+       \$sarabande_alto_scripts
+>
+
+\score{
+       \$sarabande_alto_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/sarabande-cello.ly b/mutopia/J.S.Bach/sarabande-cello.ly
new file mode 100644 (file)
index 0000000..7532301
--- /dev/null
@@ -0,0 +1,52 @@
+\header{
+filename =      "sarabande-cello.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Sarabande";
+% opus =        "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+enteredby =     "JCN";
+copyright =     "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents, 
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+      \octave relative;
+      \octave c;
+}
+
+\include "sarabande-urtext.ly";
+
+sarabande_cello_global = \melodic{
+       \meter 3/4;
+       \key bes;
+       \clef bass;
+       \skip 2.*12;
+       \bar ":|:";
+       \skip 2.*16;
+       \bar ":|";
+}
+
+sarabande_cello_scripts = \melodic{
+}
+
+sarabande_cello_staff = \type Staff <
+       \$sarabande
+       \$sarabande_cello_global
+       \$sarabande_cello_scripts
+>
+
+\score{
+       \$sarabande_cello_staff
+       \include "scs-paper.ly";
+       \midi{ 
+               \tempo 4 = 40;
+       }
+}
+
diff --git a/mutopia/J.S.Bach/sarabande-urtext.ly b/mutopia/J.S.Bach/sarabande-urtext.ly
new file mode 100644 (file)
index 0000000..0b8647f
--- /dev/null
@@ -0,0 +1,83 @@
+% sarabande-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+
+sarabande_a = \melodic{
+%      \octave relative;
+       \voiceone \d['d8.()e16] e4.-\trill([d16 )e] |
+       f4. \onevoice [e8(d)c] |
+       [bes g']\n[f e16(f][g a bes)'d] |
+       cis4.-\trill\d[b8(a)g] |
+       % copy bar 1, half bar 2
+       \voiceone \d[d'8.()e16] e4.-\trill([d16 )e] |
+       %5
+       f'4. \onevoice [d8(d)e] |
+       \n[g bes16()a][c()bes a()g][d'8 f,] |
+       \voiceone e4.-\trill \onevoice \d[d8(c)bes] |
+       \voiceone \n[f' g16()a] a4. [g16()f] |
+       [g8 a16()bes]a4. [c16()d]|
+       % 11
+       \onevoice \d ['e8()f][''c g'][f'()e] |
+       f4 f,2 |
+       \voiceone a''4 \d a4.-\trill()bes8 |
+       [c bes16()a] \onevoice [fis8.-\trill()es16][d8()c] |
+       [bes g']['a fis'][es'()d] |
+       %16
+       \voiceone bes4.-\trill \onevoice [a8(g)f!] |
+       [g bes,()a f'(g)a] |
+       ['d as,()g es'(f)g]|
+       ['cis bes'][a g16()f][e!8 f16()d] |
+       [cis8 e16()a]['a8. g'16]\n[f8()e] |
+       %21
+       \voiceone [d e16()f]f4. [e16()d] |
+       [e8 f16()g]g4. [a16()bes] |
+       \d[a8 cis16()d]['d8 e16(f32)g][f8-\trill \n e16()d] |
+       d4 ['d16 a'( b cis][d e f )g] |
+       %25
+       [a(b c)b] c4. [b16()a] |
+       \d[b(cis d )cis] d4. \n[e16()f] |
+       \onevoice [d(cis)d f,] ['a8 e']\d[d'()cis] |
+       d4 d,,2 |
+}
+
+sarabande_b = \melodic{
+%      \octave relative;
+       \voicetwo
+       d'4 a,2 |
+       <'d4. a'> s8*3 |
+       s2.*2
+       d4 a,2 |
+       <'d4. a'> s8*3 |
+       s2. |
+       <'c4. g'> s8*3  |
+       a4 <bes4. d> r8 |
+       bes4 <g2 f'> |
+       s2.*2 |
+       \d[f8()es] e4. r8 |
+       d4 s2 |
+       s2. |
+       <'g4. d'> s8*3  |
+       s2.*4 |
+       bes4 g2  |
+       g4 <'cis4. bes'> s8 |
+       <'f8 a d'> r r g a4 |
+       s2. |
+       f'4 fis4. s8 |
+       <'g4 d'> gis'4. s8 |
+}
+
+
+sarabande = \type Voice \melodic<
+       \$sarabande_a
+       \$sarabande_b
+>
+
diff --git a/mutopia/J.S.Bach/scs-paper.ly b/mutopia/J.S.Bach/scs-paper.ly
new file mode 100644 (file)
index 0000000..797b91e
--- /dev/null
@@ -0,0 +1,8 @@
+\paper{
+       linewidth= 180.\mm;
+       gourlay_maxmeasures = 10.0;
+       % for simple testing only!
+       castingalgorithm = \Wordwrap; % lots faster on my 486 -- jcn
+       \include "bar-numbering.ly";
+}
+
diff --git a/mutopia/J.S.Bach/scsii-alto.ly b/mutopia/J.S.Bach/scsii-alto.ly
new file mode 100644 (file)
index 0000000..e1fdc23
--- /dev/null
@@ -0,0 +1,9 @@
+\header{
+instrument="Alto";
+}
+
+instrument="alto";
+\include "solo-cello-suite-ii.ly"
+
+
+\version "0.1.14";
diff --git a/mutopia/J.S.Bach/scsii-cello.ly b/mutopia/J.S.Bach/scsii-cello.ly
new file mode 100644 (file)
index 0000000..eb2a23b
--- /dev/null
@@ -0,0 +1,9 @@
+\header{
+instrument="Cello";
+}
+
+instrument="cello";
+\include "solo-cello-suite-ii.ly"
+
+
+\version "0.1.14";
diff --git a/mutopia/J.S.Bach/scsii-menuetto.ly b/mutopia/J.S.Bach/scsii-menuetto.ly
deleted file mode 100644 (file)
index aaf38d3..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-\header{
-filename =      "scsii-menuetto.ly";
-title =         "Cello Suite II, Menuetto I";
-subtitle = "Part V";
-instrument = "Menuetto I";             % duh
-description =   "Cello suite transcribed for Viola";
-source =        "?";
-opus =  "BWV 1008 no. 5";
-composer =      "Johann Sebastian Bach(1685-1750)";
-enteredby =     "JCN";
-copyright =     "public domain";
-}
-
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents, 
- dotted slurs
-%}
-
-\version "0.1.10";
-
-%% Stuff from MPP version
-% \lefttitle{Menuetto}
-% \tempo{Moderato}
-% \metron{4=120}
-%
-% \key\F               % \key is F( f-major )
-%
-% \slope{30}           % Fool MusiXTeX into 30 / 10 steeper beam
-%              % because piece is set very tightly
-
-%{
-  This file has a long heritage.
-  It should probably be rewritten as two separate voices.
-%}
-
-
-IImenuetto = \melodic{
-       \clef"alto";
-       \property Staff.instrument = cello
-       \meter 3/4;
-       \key bes;
-       \octave c';
-
-       <a2 f d \f> bes4-.  |
-       <{\voiceone; [bes8^1 a bes-. g-.] a4-.^4 } {\voicetwo; <e8_2 c_4> }> |
-       \onevoice;
-       <d4 'bes-.> g-. [f8-. e-.] |
-       <{\voiceone; [f8( e )d cis-. 'b-. 'a-.] } {\voicetwo; 'a8 }> |
-       \onevoice;
-       <a2 f d> bes!4-. |
-       <{\voiceone; [bes8 a bes-. g-.] } {\voicetwo; e8 }>
-       \onevoice;
-       c'!4-. | <a-. f> <d'-.-\upbow f 'bes>
-       <e'-.-\downbow g 'g> | <cis'2.-\upbow e 'a> \bar ":|:";
-       \clef "violin";
-       <e'2 a\f>
-       [d'8( e'16 )f'] |
-       \slurdotted;
-       <{\voiceone; [e'8( d' cis'_2 )e' a( )g] } {\voicetwo; g8 }> |
-       \onevoice;
-       <{\voiceone; a4 ~ d' cis'-. } {\voicetwo; f2 e4 }> |
-       \onevoice;
-       <{\voiceone; [g'8^4( f' e' )f' d'^3( ) c'] } {\voicetwo; d8 }> |
-       \onevoice;
-       \clef "alto";
-       <{\voiceone; bes2 c'4 } {\voicetwo; g4 ~ f e }> |
-       \onevoice;
-       <{\voiceone; [a8 g a f] } {\voicetwo; f8 }>
-       \onevoice;
-       <d'4-\upbow e 'bes> |
-       <c'-\downbow f 'a> [bes8 a g a] |
-       [f8( e )f a-. g-. bes-.] |
-       <a2^"0"^\trill fis_3> bes4 |
-       <{\voiceone; [c'8 bes c' a] } {\voicetwo; es8 }>
-       \onevoice;
-       fis4^\trill |
-       <d'4-\downbow g 'bes> <c'-\upbow g c> <[bes8( d> )a] |
-       <{\voiceone; [c'8( bes a )bes g( )bes] } {\voicetwo; <d8 g> }> |
-       \onevoice;
-       <{\voiceone; d'4 ~ cis' d' }  {\voicetwo; g2 f4 }> |
-       \onevoice;
-       <{\voiceone; [g8 f g e] f4 } {\voicetwo; cis8 d4 }> |
-       \onevoice;
-       ['g8 g] <'a4. { e^\trill ~ d8-\upbow }> |
-       \textstyle "italic";            % ugh
-       <d2._"fine" 'a 'd> \bar ":|";
-}
-
-\score{
-       \melodic{ 
-               \IImenuetto 
-       }
-       \paper{
-               linewidth= 185.0\mm;
-       }
-       \midi{ 
-               \tempo 4 = 120;
-       }
-}
diff --git a/mutopia/J.S.Bach/solo-cello-suite-ii.ly b/mutopia/J.S.Bach/solo-cello-suite-ii.ly
new file mode 100644 (file)
index 0000000..61e6e37
--- /dev/null
@@ -0,0 +1,26 @@
+\header{
+filename =      "solo-cello-suite-ii.ly";
+title =         "Solo Cello Suites";
+subtitle = "Suite II";
+opus =  "BWV 1008";
+composer =      "Johann Sebastian Bach(1685-1750)";
+}
+
+% urg
+
+\version "0.1.14";
+% \include "prelude-" + \instrument + ".ly";
+
+i = "prelude-" + \instrument + ".ly";
+ii = "allemande-" + \instrument + ".ly";
+iii = "courante-" + \instrument + ".ly";
+iv = "sarabande-" + \instrument + ".ly";
+v = "menuetto-" + \instrument + ".ly";
+vi = "gigue-" + \instrument + ".ly";
+
+\include \i;
+\include \ii;
+\include \iii;
+\include \iv;
+\include \v;
+% \include \vi;
index fd42f9c4600bb9b4e172bc832f68a7b42fc55756..4c020f6e4d3758d9cb1e6c8e8646836b54f792b6 100644 (file)
@@ -11,7 +11,7 @@ copyright =    "Public Domain";
 %{
        
 %}
-\version "0.1.10";
+\version "0.1.14";
 
 
 global = 
@@ -26,7 +26,7 @@ tenor =
 
         \stemdown
         r8 [c8 d e] [f. g32 f] [e8 a] |
-        [d g] ~ [g16 a g f] [e f e d] [c d c 'b] |
+        [d g] ~ [g16 a g f] [e f e d] [c d c b,] |
         ['a8 fis] g4 ~ [g8 fis16 e] [f8 d] |
         [g f! e d] c r r g ~ |
 %% 5
@@ -77,26 +77,26 @@ soprane =
        [d g] ~ [g16 a g f] [e8 a] ~ [a16 b a g] |
        f2 [e8. fis16] g4 ~
 %% 10
-       g4 fis [g16 f! e d] [c d c 'b] |
-       ['a16 c 'b 'a] 'g8 r8 r16 [c16 'b 'a] ['gis8 e] |
-       [d c16 'b16] ['a 'gis 'a 'b] [c 'fis 'a 'gis] ['b8 'a16 'b]
-       [c8 f e d] ~ [d c16 'b] ['b8. 'a16] |
-       'a4 r4 r2 |
+       g4 fis [g16 f! e d] [c d c b,] |
+       ['a16 c b, a,] g,8 r8 r16 [c16 b, a,] ['gis8 e] |
+       [d c16 b,16] ['a gis, a, b,] [c fis, a, gis,] ['b8 a,16 b,]
+       [c8 f e d] ~ [d c16 b,] ['b8. a,16] |
+       a,4 r4 r2 |
 %% 15
-       r2 r8 ['g8 'a 'b] |
+       r2 r8 ['g8 a, b,] |
        [c8. d32 c] ['b8 c] [d e] [f!. g32 f!] |
        [e8 a d g] ~ [g16 a g f] [e8 a] |
        [d8 bes] [a g16 f] [g f g e] [f g g f32 g] |
        [a16 cis d g] [e8. d16] d8 r8 r4 |
 %% 20
-       r2 r4 r8 'g |
-       ['a 'b] [c. d32 c] ['b8 e 'a d] ~ |
+       r2 r4 r8 g, |
+       ['a b,] [c. d32 c] ['b8 e a, d] ~ |
        [e16 e d c] ['b c d e] [f g a g] [f e d c] |
-       'b4 [c8 d] 'g c4 'b8 |
-       c4 ['b8 'bes8] 'a d4 c8 |
+       b,4 [c8 d] g, c4 b,8 |
+       c4 ['b8 bes,8] a, d4 c8 |
 %% 25
        [d8 e] f4 ~ [f16 a g f] [e f e d] |
-       c2 r16 ['g32 'a 'b!16 c] [d e f8] ~ |
+       c2 r16 ['g32 a, b,!16 c] [d e f8] ~ |
        [f32 c d e f16 g] [a8. b16] <g2 c'2> |
     }
 
@@ -153,26 +153,26 @@ bass =
 %% 5
        r2 r8 [c8 d e] |
        [f. g32 f] [e8 a] [d g] ~ [g16 a g f] |
-       [e f e d] [c d c 'b] ['a8 d a fis] |
+       [e f e d] [c d c b,] ['a8 d a fis] |
        [g16 a bes g] [cis8 d] a4 e4 |
        [a16 b c' d'] [c' b a g] c'8 r8 r4 |
 %% 10
-       r2 r8 ['g8 'a 'b] |
+       r2 r8 ['g8 a, b,] |
        [c. d32 c] ['b8 e] ['a d] ~ [d16 e d c] |
-       'b8 e4 d8 c f!4 e8 ~ |
+       b,8 e4 d8 c f!4 e8 ~ |
        e d4 e8 [f! e16 d] e4 |
-       'a4 r4 r2 |
+       a,4 r4 r2 |
 %% 15
-       r8 ['g8 'a 'b] [c. d32 c] ['b8 e] |
-       ['a8 d] ~ [d16 e d c] ['b8 'bes 'a g'] |
+       r8 ['g8 a, b,] [c. d32 c] ['b8 e] |
+       ['a8 d] ~ [d16 e d c] ['b8 bes, a, g'] |
        ['a8 fis g e] d4 [e8 f!] |
        [g8. a32 g] [f8 bes] [e a] ~ [a16 bes a g] |
        [f e f d] [g8 a] d2 ~ |
 %% 20
-       [d16 e d c] ['b 'a 'g 'fis] ['e8 e fis g] ~ |
+       [d16 e d c] ['b a, g, fis,] ['e8 e fis g] ~ |
        [g a16 g16] [fis8 d] g2 ~ |
        g2 a4 [b8 c'] |
-       [f16 a g f] [e d c 'b] [c d e f] [g8 'g] |
+       [f16 a g f] [e d c b,] [c d e f] [g8 g,] |
        c1 ~ |
 %% 25
        c1 ~ |
index 7af1d7746f1cda589e4b4dd50f205e862f0552c6..aa4418b7188b106d24da3d84f64f0f5faa4059ee 100644 (file)
@@ -13,7 +13,7 @@
  Tested Features: stem direction, multivoice, forced accidentals.
 %}
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "nederlands.ly"                 % for correct parsing of note names
 
@@ -52,9 +52,9 @@ dux = \melodic {
    \translator Staff = treble \stemdown \octave c';
    [g16 fis] [g8 c] [es g16 fis!] [g8 a] |
   [d g16 fis] [g8 a!] [c16 d] es4 [d16 c] |         % forced accident!
-  'bes8 r8 r16 [d e fis] [g a bes8] ~ [bes16 e f g] |
-  [a bes c'8] ~ [c'16 fis16 g a] [bes8 es!16 d] [es8 'g] |
-  ['as f16 es] [f8 'a8] ['bes g16 f] [g8 'b] |
+  bes,8 r8 r16 [d e fis] [g a bes8] ~ [bes16 e f g] |
+  [a bes c'8] ~ [c'16 fis16 g a] [bes8 es!16 d] [es8 g,] |
+  [as, f16 es] [f8 a,8] [bes, g16 f] [g8 b,] |
 %% 20
   [c16 f es d] [c Bes! As G] [F8 as g f] |
   [es d es f] [B c d B] |
@@ -82,15 +82,15 @@ comes = \melodic {
   r8 [g16 fis] [g8 c] [es g16 fis] [g8 a] |
   [d8 g16 fis] [g8 a] [c16 d] es4 [d16 c] |
 %% 5
-  ['bes8 es16 d] [es8 'g8] ['as f16 es] [f8 'a
-  ['bes8 g16 f] [g8 'b] [c8 d16 es] f4 ~ |
-  [f8 es16 d] [c16 'bes! 'as 'g] ['f8 as g f] 
-  [es d es f] ['b c d 'b] |
+  [bes,8 es16 d] [es8 g,8] [as, f16 es] [f8 a,
+  [bes,8 g16 f] [g8 b,] [c8 d16 es] f4 ~ |
+  [f8 es16 d] [c16 bes,! as, g,] [f,8 as g f] 
+  [es d es f] [b, c d b,] |
   [c g16 fis] [g8 d] es4 r8 e8 |
 %% 10 
   [f f16 e] [f8 c8] d4 r8 d |
-  [es8 es16 d] [es8 'bes] [c es16 d] [es8 f] |
-  \stemboth ['bes es16 d] [es8 f] ['as16 'bes] c4 ['bes16 'as] |
+  [es8 es16 d] [es8 bes,] [c es16 d] [es8 f] |
+  \stemboth [bes, es16 d] [es8 f] [as,16 bes,] c4 [bes,16 as,] |
   [G16 Es F G] [As Bes c d] [es d c d] [es f g a] |
   [bes F G As] [Bes c d e] [f es d es] [ f g a b] |
 %% 15
@@ -100,10 +100,10 @@ comes = \melodic {
   r [fis16 e] fis8 r r [G16 F] G8 r8 |
   r8 [A16 G] A8 r r [B16 A] B8 r |
 %% 20
-  r8 [c16 'b] [c8 'g] [As c16 'b] [c8 d] |
+  r8 [c16 b,] [c8 g,] [As c16 b,] [c8 d] |
   [G c16 B] [c8 d] [F16 G] As4 [G16 F] |
   [Es8 c16 B] [c8 G] As4 r8 A |
-  [Bes8 Bes16 A] [Bes8 F8] 'g4 r8 G ~ |
+  [Bes8 Bes16 A] [Bes8 F8] g,4 r8 G ~ |
   [G As16 Bes] [c B c As] F2 ~ |
 %% 25
   [F8 d16 c] [d8 F] [Es es16 d] [es8 G] |
@@ -112,7 +112,7 @@ comes = \melodic {
   [G F16 Es] [F8 D] [As G] r A |
   [B c] [F16 Es D C] C8 [c16 B] [c8 G] |
 %% 30
-  [As c16 B] [c8 <d 'b! 'as!]> [G8 c16 B] [c8 d] |
+  [As c16 B] [c8 <d b,! as,!]> [G8 c16 B] [c8 d] |
   [F16 G] As4 [G16 F] E2 |
 }
 
@@ -143,7 +143,7 @@ bassdux = \melodic {
   r [es d c] [d c16 Bes] [c8 d] |
   [G8 bes16 a] [bes8 d] [es c'16 bes] [c'8 e] |
   [f d'16 c'] [d'8 fis] g4 r16 [G A B] |
-  [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 'b c d] |
+  [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 b, c d] |
 %% 20    
   es8 r r e [f F Es! D] |                           % -> \classic_accidentals
   r [As G F] [G F16 Es] [F8 G] |
index 345b6c341b8fc2fb73393a368ed4d54a2b42eb1a..1de5aa24cdf4fed33ef238884d7998017c2c9225 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "Shay Rojansky";
 copyright =     "Public Domain";
 }
 
-\version "0.1.10";
+\version "0.1.14";
 
 global = 
     \melodic {
@@ -53,27 +53,27 @@ soprane =
        r8 [d16 a] [d' d a d'] r8 [d16 a] [d' d a d'] |
        r8 [d16 f] [b d f b] r8 [d16 f] [b d f b] |
        r8 [c16 g] [c' c g c'] r8 [c16 g] [c' c g c'] |
-       r8 ['a16 c] [f 'a c f] r8 ['a16 c] [f 'a c f] |
-       r8 ['a16 c] [f 'a c f] r8 ['a16 c] [f 'a c f] |
-       r8 ['g16 'b] [f 'g 'b f] r8 ['g16 'b] [f 'g 'b f] |
-       r8 ['g16 c] [e 'g c e] r8 ['g16 c] [e 'g c e] |
+       r8 ['a16 c] [f a, c f] r8 ['a16 c] [f a, c f] |
+       r8 ['a16 c] [f a, c f] r8 ['a16 c] [f a, c f] |
+       r8 ['g16 b,] [f g, b, f] r8 ['g16 b,] [f g, b, f] |
+       r8 ['g16 c] [e g, c e] r8 ['g16 c] [e g, c e] |
 %% 20
-       r8 ['bes16 c] [e 'bes c e] r8 ['bes16 c] [e 'bes c e] |
-       r8 ['a16 c] [e 'a c e] r8 ['a16 c] [e 'a c e] |
-       r8 ['a16 c] [ees 'a c ees] r8 ['a16 c] [ees 'a c ees] |
-       r8 ['b16 c] [d 'b c d] r8 ['b16 c] [d 'b c d] |
-       r8 ['g16 'b] [d 'g 'b d] r8 ['g16 'b] [d 'g 'b d] |
-       r8 ['g16 c] [e 'g c e] r8 ['g16 c] [e 'g c e] |
-       r8 ['g16 c] [f 'g c f] r8 ['g16 c] [f 'g c f] |
-       r8 ['g16 'b] [f 'g 'b f] r8 ['g16 'b] [f 'g 'b f] |
-       r8 ['a16 c] [fis 'a c fis] r8 ['a16 c] [fis 'a c fis] |
-       r8 ['g16 c] [g 'g c g] r8 ['g16 c] [g 'g c g] |
+       r8 ['bes16 c] [e bes, c e] r8 ['bes16 c] [e bes, c e] |
+       r8 ['a16 c] [e a, c e] r8 ['a16 c] [e a, c e] |
+       r8 ['a16 c] [ees a, c ees] r8 ['a16 c] [ees a, c ees] |
+       r8 ['b16 c] [d b, c d] r8 ['b16 c] [d b, c d] |
+       r8 ['g16 b,] [d g, b, d] r8 ['g16 b,] [d g, b, d] |
+       r8 ['g16 c] [e g, c e] r8 ['g16 c] [e g, c e] |
+       r8 ['g16 c] [f g, c f] r8 ['g16 c] [f g, c f] |
+       r8 ['g16 b,] [f g, b, f] r8 ['g16 b,] [f g, b, f] |
+       r8 ['a16 c] [fis a, c fis] r8 ['a16 c] [fis a, c fis] |
+       r8 ['g16 c] [g g, c g] r8 ['g16 c] [g g, c g] |
 %% 30
-       r8 ['g16 c] [f 'g c f] r8 ['g16 c] [f 'g c f] |
-       r8 ['g16 'b] [f 'g 'b f] r8 ['g16 'b] [f 'g 'b f] |
-       r8 ['g16 'bes] [e 'g 'bes e] r8 ['g16 'bes] [e 'g 'bes e] |
+       r8 ['g16 c] [f g, c f] r8 ['g16 c] [f g, c f] |
+       r8 ['g16 b,] [f g, b, f] r8 ['g16 b,] [f g, b, f] |
+       r8 ['g16 bes,] [e g, bes, e] r8 ['g16 bes,] [e g, bes, e] |
 
-       r8 ['f16 'a] [c f c 'a] [c 'a 'f 'a] ['f 'd 'f 'd] |
+       r8 ['f16 a,] [c f c a,] [c a, f, a,] ['f d, f, d,] |
        r8 [g16 b] [d' f' d' b] [d' b g b] [d f e d] |
        <e1 g c'> ||
     }
@@ -124,7 +124,7 @@ bass =
        r16 c8. ~ c4 r16 c8. ~ c4 |
 
        r16 c8. ~ c4 ~ c2 |
-       r16 'b8. ~ 'b4 ~ 'b2 |
+       r16 b,8. ~ b,4 ~ b,2 |
        c1 ||}
 
        % Bass
@@ -137,27 +137,27 @@ bass =
        e e |
        e e |
        d d |
-       'g 'g |
+       g, g, |
        c c |
 %% 20
        c c |
-       'f 'f |
-       'fis 'fis |
-       'aes 'aes |
-       'g 'g |
-       'g 'g |
-       'g 'g |
-       'g 'g |
-       'g 'g |
-       'g 'g |
+       f, f, |
+       fis, fis, |
+       aes, aes, |
+       g, g, |
+       g, g, |
+       g, g, |
+       g, g, |
+       g, g, |
+       g, g, |
 %% 30
-       'g 'g |
-       'g 'g |
-       'c 'c |
+       g, g, |
+       g, g, |
+       c, c, |
        
-       'c 'c |
-       'c 'c |
-       'c1 }>
+       c, c, |
+       c, c, |
+       c,1 }>
     }
 
         
index acb5a44fc0739f3df6f54429fbe23bf0d3200e51..7728ec9abbf0527eebbb0591df0e05e6412681d5 100644 (file)
@@ -7,7 +7,7 @@ depth = ..
 
 # descent order into subdirectories:
 #
-SUBDIRS = J.S.Bach Coriolan
+SUBDIRS = J.S.Bach Coriolan W.A.Mozart
 EXTRA_DISTFILES +=  TODO
 
 examples=standchen gallina
diff --git a/mutopia/W.A.Mozart/Makefile b/mutopia/W.A.Mozart/Makefile
new file mode 100644 (file)
index 0000000..3eafd9f
--- /dev/null
@@ -0,0 +1,21 @@
+
+# subdir level:
+#
+depth = ../..
+#
+
+EXTRA_DISTFILES=
+
+# descent order into subdirectories:
+#
+SUBDIRS = 
+# 
+
+# generic stuff/Makefile
+#
+include ./$(depth)/make/Mutopia.make
+#
+
+examples=cadenza
+
+include $(depth)/make/WWW.make
diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly
new file mode 100644 (file)
index 0000000..1e2500b
--- /dev/null
@@ -0,0 +1,67 @@
+\header{
+filename =      "cadenza.ly";
+title =         "Cadenza ad libitum";
+description =   "Cadenza to Mozart Horn concerto 3";
+composer =      "unknown";
+enteredby =     "HWN";
+copyright =     "public domain";
+}
+
+%{
+Tested Features: cadenza mode
+
+Ugh.. Wish we had grace notes....  It adds another dimension to this
+piece of music.  %}
+
+\version "0.1.14";
+
+
+cad = \melodic  {
+       \property Score.instrument = "french horn"
+       \type Staff {
+       \cadenza 1;
+       \grouping 1*4;
+       \octave c';
+
+       \clef "violin";
+       c'4.\mf g8
+
+
+       [e'^"accel" () d' c' b]
+       [b() c'] g-\fermata
+               \bar "empty";
+                       c [c_"rubato" e g c']
+       \octave c'';
+       e4. e8 [g () f_"rit" e d]
+
+       dis4() e4
+               \bar "" ;
+               r8 [c16 d] [e f g gis]
+
+       a4-> f,() e, g
+       f-> d,() cis, e
+
+       d4^\fermata
+               \bar "" ;
+
+       r8 a, [b, cis]
+       [d16 cis d e]
+       f4() [f16 e d c]
+       b,4-\turn
+       \octave c'; [2/3 d'8 c'8 a8]1/1
+       g2
+               \bar "" ;
+       [g16 c e g] [c' e g c']\octave c''; 
+       [e g, c e] g4^\fermata 
+               \bar "" ;
+       [g8.(_"a tempo" e16 g8. )e16]
+       a4. g8 [f8 e8 d8 c8]
+       g,2 d2-\trill
+       c4
+       }}
+\score {
+       \melodic { \cad }
+       \midi { \tempo 4 = 90; }
+       \paper {
+       }
+}
diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly
new file mode 100644 (file)
index 0000000..cc1a111
--- /dev/null
@@ -0,0 +1,290 @@
+
+
+\version "0.1.14";
+
+allegro = \melodic
+{
+       \octave relative;
+
+       R1*18
+       r2 r4 g'4 |
+       e'4. () c8 [f (d c )b ]
+       [b()c] g4 r8 [g-. c-. e-.]
+       g2. ( [g16-.( f e ))f]
+       dis4 () e4-- r8 [c8-. c-. c-.]
+       c4.( [d16 )e]  f4 () e
+       a,() d g,() c
+       d-. d-. [d8. c16 d8. e16]
+       c4 r r2
+       R1*3
+       c,2 ~ [c8 e( g )c]
+       [c () b ] b4-. r2
+       [c,8 () e g c] [e()g e c]
+       [c()b] b4-- r2
+       c4.() g8 e'4.() c8
+       [g'()d ] d4-- r4 d
+       [d8 () c] c4.( [d16 e] [d8 )c]
+       [c8(-\trill )b] b4 r2 |
+       d2~(  [d8 e16 d] [c8 )b] |
+       [b()a-.] a4-> r8 [a-. a-. a-.]
+       a4 cis e g
+       [g16( fis e )d] d4-. r2 |  %  The g16 really is a grace note.
+       % mark B
+       R1*3
+       r2 r4 [d8 (b ]
+       [a )g d'( b] [a )g e'( c ]
+       [b8 )a] a4 r4 [a8-. a]
+       [a( b c cis] d4 )c
+       [ais8() b] r8 b [b()c] r c
+       [cis ()d] r4 r2
+       g,1 ~ g2 ~ [g8 a16 b] [c()d e c]
+       f4-. d-. b-. g-.
+       r1
+       c,2\p e4 g c e g4. e8 |
+       d4. [e16 fis] [g () fis e d] [c() b a g]
+       a1(-\trill % \grace{g a}
+       )g4 r r2
+       R1*15
+       % mark D
+       bes2 d4 f
+       g,2~ [g8 g'( es )c]|
+       bes4()a. [c8 d es]
+       cis4()d r8 [bes (c )d]
+       es2 () d4 r
+       es2\p () d4 r
+       [c8(\mf g' es )c] bes4()c-.
+       c4.( cis8 )d4 r
+       R1*2
+       es1~es1|
+       e!
+       d
+       c
+       c,
+       e''
+       e,
+       c'2 [b8( a gis )a]
+       [gis8 e gis b ] e4 r |
+       r8 [e, a c] dis4 r
+       r8 [e, a c] dis4 r
+       r8 [e, g b] e4 r
+       r8 [fis, b dis] fis4 r
+       r8 [gis, b d] f4 r
+       r8 [g, b d] f4 r
+       %mark E
+       R1*8
+       r2 r8 [g,-. g-. g-.]
+       e'4.() c8 [f( d c )b]
+       [b()c] g4 r8 [g c e] |
+       g2. ( [g16( f e ))f]
+       dis4()e r8 [c-. c c]
+       c4.( [d16 e] f4 )e
+       a, ( d g, )c
+       d d [
+          % \grace {e}
+          d8. c16 d8. e16] 
+       c4 r r2
+       % mark F
+       R1*3
+       c,2~[c8( e g )c]
+       [c8()b] b4 r2
+       [c,8()e g c ] [e ()g e c]
+       [c()b] b4 r2
+       c2 (bes )a [a8(b c )cis]
+       d2( ~ [d8 e16 d] [d16() c b )c]
+       [c( b a) g] g4 r2 |
+       R1*3
+       r2 r4 [g'8()e]
+       [d()c g'()e] [d()c a'()f]
+       [e()d] d4 r [d8 d]
+       d4~( [d16 e d )e] [g8() f e d] |
+       c4 r r2
+       r1
+       c1 ~
+       c |
+       [c8-. c-.] r c-. [cis()d] r d-. |
+       [dis()e] r e-. [e()f] r f-. |
+       g4-. e-. c-. bes-. |
+       g-.\ff e-. c-. r |
+       a'2 ~ [a8 b16 c] [d e d e]
+       f4. () d8 [f8 ()d f d]
+       [c (e] )g2 [f16 e d c]
+       d1-\trill  % \grace { c d}
+       c4 r r2
+       r1 |
+       % mark H
+       [/3 c8 ()b a ]/1        [/3 g a b]/1 [/3 c d e]/1 [/3 f()e d]/1 |
+       [/3 c () b a ]/1 [/3 g a b]/1 [/3 c d e]/1 [/3 f()e d]/1|
+       c4 \[/3 r8 [g'()e]\]/1 c4 \[/3 r8 [e () c]\]/1 |
+       g4 \[/3 r8 [c8() g] \]/1 [/3 e ()g e]/1 [/3c ()e c]/1|
+       g4 r8 g'\f [a b c d]|
+       d1(-\trill % \grace { c d }
+       )c4 r r2
+       R1*3
+       c1-\trill ( %\grace{c d}
+       )c4 r r2
+       R1*2
+       
+       r4 [c8.^"tutti" c16] c4 c
+       c [c,8. c16] c4 c|
+       c2 r2 \bar "|.";
+       
+}
+
+romanze = \melodic {
+       \octave relative;
+       \key bes;
+       \meter 2/2;
+       c'4.() f8 a,4 a
+       [bes8( c d bes] )g4 r8 g
+       a r bes r c r [d()bes]
+       a2()[g8 a( bes )b]
+       c4. () f8 a,4 a |
+       [bes8 (c d) bes] g4 r8 c,-.
+       [c8( e g )bes] [a( c f ) d]
+       c r e r f r r4
+       % mark A
+       R1*8
+       g4. f8  [e d c bes]
+       [bes( a d )c] c4 r
+       R1*2
+       g'4. f8 [e d c bes]
+       [bes (a d ) c] c4 r
+       r1
+       [c16\mf () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
+       [c16\p () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
+       [c8 c, c c] [c c c c]
+       % mark B
+       c1\f
+       R1*9
+       f''4.(\p )d8 b4 r8 g
+       g'4.() e8 c4 r8 cis |
+       d4(~ [d16 e d )e] [f8 () d f() d]
+       c2()b4 r
+       R1*4
+       e4. ()g8 c,4 ()cis
+       [d8( e f )d] b4 r8 g
+       [c ()e g g] [g( f e )d]
+       c4( % \grace { e}
+       [d8. )c16] [c8 c--( c-- )c--]
+       % mark C
+       des1\sf %\sfp
+       g,1\sf %\sfp
+       c\sf   %\sfp
+       c,\sf  %\sfp
+       R1*3
+       r8 [c c c] c2~
+       [c8 c' c c] c2~
+       [c8 e( g f] [e d c bes]
+       % mark D
+       )a4 r r2
+       R1*3
+       c4. () f8 a,4 a |
+       [bes8 (c d) bes] g4 r8 c,-.
+       [c8( e g )bes] [a( c f ) d]
+       c r e r f4 r4
+       R1*3
+       r2 r4 r8 c,8
+       [c8( e g )bes] [a( c f ) d]
+       c r e r f4 r4   
+       g,1\pp
+       c,2~c4. c8
+       [c8( e g )bes] [a( c f ) d]
+       c r e r f4 r4
+       r1
+       c8-. r e-. r f4 r4
+       c8-. r c,-. r c4 r4|
+        \bar "|.";
+}
+
+rondotheme = \melodic {
+       \octave relative;
+       [c'8 c c] [c c c]
+       c4( cis8 )d r g,
+       [d'8 d d] [d d d]
+       d4( dis8 )e r c |
+       [c()d e] [f g a]
+       [g ()e c] c4 d8
+       e4()d8 e4()f8
+       e4.()d8 r r |
+}
+rondo = \melodic {
+       \partial 8;
+       \octave relative;
+       g'8 |
+       \meter 6/8;
+       \grouping 8*3 8*3;
+       \rondotheme
+       
+       R2.*13 |
+       r8 r-\fermata d' [d e f]
+       [g ()e c-.] [d()e d]
+       c4 c8 [d e f]
+       [g()e c-.] [d()e d-.]
+       c4 r8 r4 r8 |
+       R2.*7
+       % mark A
+       c4.\p [d8 c d]
+       c4 r8 r4 r8
+       e4. [f8 e f]
+       e4 r8 r4 r8
+       g4. e4 c8
+       g2.~
+       [g8 a b] [c d e ]
+       e4.()d8 r r
+       R2.*4
+       e2.~ |
+       [e8 d c] [c b a]
+       d2.~
+       [d8 c b] [b a g]
+       g'4()e8 b4()cis8
+       %mark B
+       d4 r8 r4 r8
+       R2.*3 |
+       r8 [d-. d-.] [d()g d---.]
+       [d()g d-.] [d d d]
+       [d()g] r r4 r8
+       R2.*1
+       r8 [g,-. g-.] [c()e g,-.]
+
+       [c()e g,-.] [c()e g,-.]
+       [c c, c] [c c c]
+       [c c c] [c c c]
+       c4 r8 [c' d e]
+       d4()g8 [c, d e]
+       d4 r8 r4 r8
+       R2. |
+       r4 r8 [c-. d-. e-.]
+       d4()g8 [c, d e]
+       [d()g fis] [e d c]
+       [b () e d] [c b a]
+       % mark C
+       g4 r8 r4r r8
+       R2.
+       
+       
+       
+       
+}
+
+\score
+{
+       {       \property Score.SkipBars = 1
+               \allegro
+       }
+}
+
+%{
+\score
+{
+       {       \property Score.SkipBars = 1
+               \romanze
+       }
+}
+
+\score
+{
+       {       \property Score.SkipBars = 1
+               \rondo
+       }
+}
+%}
diff --git a/mutopia/W.A.Mozart/out/dummy.dep b/mutopia/W.A.Mozart/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index e467d440a15843ee8b44625fd1c20f5b2b499b15..a74a8d63c92d2b445ae0603c4627cb22185c0453 100644 (file)
@@ -43,7 +43,7 @@ Voice engraver by uncommenting the lines in the paper
 definition below. --MB
 %} 
 
-\version "0.1.10";
+\version "0.1.14";
 
 vi1=\melodic{
   \meter 4/4;
index 2fc2ea26a76c083873eb5ca1acff36afd609d71f..f02e0df6592014423e21a68bb454fd53bbca19d2 100644 (file)
@@ -3,263 +3,274 @@ filename =   "los-toros-oboe.ly";
 title =                 "La Feria";
 subtitle = "Los Toros";
 opus =          "";
-composer =      "Paul Lac\\^ome d'Estalenx (1838-1920)";
+composer =      "Paul Lac\\^ome dEstalenx (1838-1920)";
 enteredby =     "jcn";
 copyright =     "public domain";
 latexheaders=    "headers";
 } 
-
-\include "paper16.ly"
+\version "0.1.14";
 
 %{
 Silly latex file dropped; use ly2dvi
+
+Converted to relative octave from los-toros-oboe.ly:
+    :s/[^\\]'/'x/g
+    :s/'x//g
+    (511 substitutions on 155 lines)
+
+    lilypond -f los-toros-oboe 2> bla
+    wc -l bla
+    138
+    138 / 3 =  46 octave quotes of 511 remain!
+
 %}
 
+\include "paper16.ly"
+
 hoboonestart = \melodic{
-% ugh: can't copy: allegro/primo tempo
-       \octave c';
+% ugh: cant copy: allegro/primo tempo
+       \octave relative;
        \textstyle "large";
-       [es'16-.^"Allegro" es'-. es'-. es'-.] [es'8-. d'-.] |
+       [es''16-.^"Allegro" es-. es-. es-.] [es8-. d-.] |
        \textstyle "italic";
 }
 
 hobooneintro = \melodic{
-       \octave c';
+       \octave relative;
 %      \textstyle "roman";
-%      [es'16-.-"Allegro" es'-. es'-. es'-.] [es'8-. d'-.] |
+%      [es''16-.-"Allegro" es-. es-. es-.] [es8-. d-.] |
 %      \textstyle "italic";
-       [f'8.-> es'16(] [)d'8 c'-.] |
-       [bes16( c' d' es'] [)d'8 c'-.] |
+       [f''8.-> es16(] [)d8 c-.] |
+       [bes16( c d es] [)d8 c-.] |
        [bes-. as->~] [as16( g f g] |
-       [as bes c' d'] [)es'8 c'-.] |
-       [d'8-. c'16( bes] )as4 ~ |
-       [as16 g( f g] [as c' bes as] |
+       [as bes c d] [)es8 c-.] |
+       [d8-. c16( bes] )as4 ~ |
+       [as16 g( f g] [as c bes as] |
 %      [)g8 as16 g(] [)f8 g16( f] |
        [)g8 as16 g(] [)f8 g16( f] |
-       [)es8 f16-. g-.] [as-. bes-. c'-. d'-.] |
-       [es'-. es'-. es'-. es'-.] [es'8-. d'-.] |
-       [f'8.-> es'16(] [)d'8 c'-.] |
-       [bes16( c' d' es'] [)d'8 c'-.] |
+       [)es8 f16-. g-.] [as-. bes-. c-. d-.] |
+       [es-. es-. es-. es-.] [es8-. d-.] |
+       [f8.-> es16(] [)d8 c-.] |
+       [bes16( c d es] [)d8 c-.] |
        [bes8 a->~] [a16 g( fis g] |
-       [a bes c' d'] [)es'8 d'16()c'] |
-       [bes-. g-. bes-. d'-.] g'4-> ~ |
-       [g'16 f'( es' d'] [c' es'  d' c'] |
-       [)bes8 c'16( bes] [)a8 bes16( a] |
+       [a bes c d] [)es8 d16()c] |
+       [bes-. g-. bes-. d-.] g4-> ~ |
+       [g16 f( es d] [c es  d c] |
+       [)bes8 c16( bes] [)a8 bes16( a] |
        [)g8  r d'] r |
 }
 
 hoboonemid = \melodic{
-       \octave c';
-       [g16-. g-. g-. g-.] [g8-. f-.] |
+       \octave relative;
+       [g'16-. g-. g-. g-.] [g8-. f-.] |
        as2-> |
        [as16-. as-. as-. as-.] [as8-. g-.] |
        bes2-> |
-       [bes16-. bes-. bes-. bes-.] [bes8-. c'] |
+       [bes16-. bes-. bes-. bes-.] [bes8-. c] |
 
-       r-"cresc." [d'8-. r c'-.] |
-       r\f [d'-. es'-. f'-.] |
-       [g'8.-> es'16] [bes8 g] |
+       r-"cresc." [d8-. r c-.] |
+       r\f [d-. es-. f-.] |
+       [g8.-> es16] [bes8 g] |
 
        % four measures copied from 8 measures back...
        [g16-.\p g-. g-. g-.] [g8-. f-.] |
        as2-> |
        [as16-. as-. as-. as-.] [as8-. g-.] |
        bes2-> |
-       [b16-. b-. b-. b-.] [b8-. c'-.] |
+       [b16-. b-. b-. b-.] [b8-. c-.] |
 
        % same measure
-       [b16-. b-. b-. b-.] [b8-. c'-.] |
+       [b16-. b-. b-. b-.] [b8-. c-.] |
 
-       [b8-.-"cresc." c'-. b-. c'-.] |
-       [d'-. es'-. d'-. es'-.] |
-       [f'\f-. g'-. f'-. g'-.] |
-       [as'-.\< g'-. as'-. bes'-.] |
-       [\!g'16\ff-. g'-. g'-. g'-.] [g'8-. g'-.] |
-       [g'8.-> g'16] [g'8 g'] |
-       [g'8.-> g'16] [g'8 g'] |
-       [f'8.-> f'16] [f'8 f'] |
-       [f'8.-> f'16] [f'8 f'] |
-       [bes'8-. as'16( g'] )f'4 ~ |
-       [f'16 es'( d' es'] [f' as' g' )f'] |
-       [es'( g' f' es'] [d' f' es' d'] |
-       [c' es' d' c'] [b d' c' b] |
-       [a c' bes a] [g bes a g] |
+       [b8-.-"cresc." c-. b-. c-.] |
+       [d-. es-. d-. es-.] |
+       [f\f-. g-. f-. g-.] |
+       [as-.\< g-. as-. bes-.] |
+       [\!g16\ff-. g-. g-. g-.] [g8-. g-.] |
+       [g8.-> g16] [g8 g] |
+       [g8.-> g16] [g8 g] |
+       [f8.-> f16] [f8 f] |
+       [f8.-> f16] [f8 f] |
+       [bes8-. as16( g] )f4 ~ |
+       [f16 es( d es] [f as g )f] |
+       [es( g f es] [d f es d] |
+       [c es d c] [b d c b] |
+       [a c bes a] [g bes a g] |
        [fis a g fis] [e g fis )e] |
        % `a deux
-       [d8 d'] [es'8.-> c'16] |
+       [d8 d'] [es8.-> c16] |
        [a8 bes g es] |
-       [c' d' es'8. bes16] |
-       [g8 es bes c] |
+       [c' d es8. bes16] |
+       [g8 es bes' c,] |
+       [d16-. d-. d-. d-.] [d8.-. es16->] |
+       [d'16-.-"cresc." d-. d-. d-.] [d8.-. es16->] |
        [d16-. d-. d-. d-.] [d8.-. es16->] |
-       [d'16-.-"cresc." d'-. d'-. d'-.] [d'8.-. es'16->] |
-       [d'16-. d'-. d'-. d'-.] [d'8.-. es'16->] |
-       [d'16 d' d' d'] [d'8 es'16-.] r16-\fermata^"court"^"tr\\`es" |
+       [d16 d d d] [d8 es16-.] r16-\fermata^"court"^"tr\\`es" |
        % Un peu plus lent.
        \textstyle "bold";
 
 % ugh
-%      d'4(\<^"Un peu plus lent" \textstyle "italic; _"tr\\`es \\'el\\'egant"
-%      d'4(\^"Un peu plus lent et \\'el\\'egant"<
+%      d4(\<^"Un peu plus lent" \textstyle "italic; _"tr\\`es \\'el\\'egant"
+%      d4(\^"Un peu plus lent et \\'el\\'egant"<
        \textstyle "italic"; 
-       d'4(\<
-       [e'8 \!fis'8] |
-%      [)b'-. a'-.] [g16( fis' e' )d'] |
+       d4(\<
+       [e8 \!fis8] |
+%      [)b-. a-.] [g16( fis e )d] |
        \textstyle "bold";
-       [)b'-.^"Un peu plus lent et \\'el\\'egant" a'-.] [g16( fis' e' )d'] |
+       [)b-.^"Un peu plus lent et \\'el\\'egant" a-.] [''g16( fis' e )d] |
        \textstyle "italic"; 
-       [d'( c' b\< c'] [)\!fis'8-. e'-.] |
-       d4-> ~ [d16 e( fis g] |
-       [a b\< d' fis'] [)\!a'8-. g'-.] |
-       [fis'16( e' a )c'] e'4 ~ |
-       [e'16 d'( e c'] [)b8-. a-.] |
+       [d( c b\< c] [)\!fis'8-. e-.] |
+       d,,4-> ~ [d16 e( fis g] |
+       [a b\< d fis] [)\!a8-. g-.] |
+       [fis16( e a, )c] e4 ~ |
+       [e16 d( e, c'] [)b8-. a-.] |
        g2 ~ |
        [g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
        b2-> ~ |
-       [b8 \[/3 d16( e fis ]1/1 [)g8-"cresc. poco" e'-.] |
-       e'2-> ~ |
-       [e'8 \[/3 d16( e fis ]1/1 [)g8\f d'-.] |
-       [d'8.-> b'16-.] [g'16-. d'-. b-. c'-.] |
-       [d'-. e'-. fis'-. a'-.] [g'8-. e'-.] |
-       fis'2-> ~ |
-       [fis'16 g'-.\< a'-. b'-.] [\!c''8-. c'-.] |
-       [es'8.->(-"espress.") d'16] d'4 ~ |
-       [d'16 e'( fis' a'] [)g'8 b-.] |
-       [b8.->( )c'16] c'4 ~ |
-       [c'16\< cis'( d' \!dis'] [)e'8-.-"dim." fis-.] |
+       [b8 \[/3 d,16( e fis ]1/1 [)g8-"cresc. poco" e'-.] |
+       e2-> ~ |
+       [e8 \[/3 d,,16( e fis ]1/1 [)g8\f d'-.] |
+       [d8.-> b'16-.] [g16-. d-. b-. c-.] |
+       [d-. e-. fis-. a-.] [g8-. e-.] |
+       fis2-> ~ |
+       [fis16 g-.\< a-. b-.] [\!c8-. c,-.] |
+       [es8.->(-"espress.") d16] d4 ~ |
+       [d16 e( fis a] [)g8 b,-.] |
+       [b8.->( )c16] c4 ~ |
+       [c16\< cis( d \!dis] [)e8-.-"dim." fis,-.] |
        [fis8.->( g16] )g4 ~ |
 
        % (only notes! of) five measures copied from 14 measures above
        [g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
        b2->-"cresc." ~ |
-       [b8 \[/3 d16( e fis ]1/1 [)g8 e'-.] |
-       e'2-> ~ |
-       [e'8 \[/3 d16(_"h\\^atez" e fis ]1/1 [)g8\f d'-.] |
-       [d'8.-> b16-.] [g16-.-"cresc." d'-. b-. c'-.] |
-       [d'16\f\< e'-. fis'-. g'-.] [a'-. b-. c'-. \!d'-.] 
+       [b8 \[/3 d,16( e fis ]1/1 [)g8 e'-.] |
+       e2-> ~ |
+       [e8 \[/3 d,,16(_"h\\^atez" e fis ]1/1 [)g8\f d'-.] |
+       [d8.-> b16-.] [g16-.-"cresc." d'-. b-. c-.] |
+       [d16\f\< e-. fis-. g-.] [a-. b,-. c-. \!d-.] 
 }
 
 
 hoboonesecondstart = \melodic{
-       \octave c';
-% ugh: can't copy: allegro/primo tempo
+       \octave relative;
+% ugh: cant copy: allegro/primo tempo
        \textstyle "large";
-       [es'16-.\ff^"Tempo 1$^o$" es'-. es'-. es'-.] [es'8-. d'-.] |
+       [es''16-.\ff^"Tempo 1$^o$" es-. es-. es-.] [es8-. d-.] |
        \textstyle "italic";
        
 }
        
 hoboonelast = \melodic{
-       \octave c';
+       \octave relative;
        % could transpose/copy from measure 19...
-       [d'16-.\p  d'-. d'-. d'-.] [d'8-. c'-.] |
-       es'2-> |
-       [es'16-. es'-. es'-. es'-.] [es'8-. d'-.] |
-       f'2-> |
-       [f'16-. f'-. f'-. f'-.] [f'8-. g'-.] |
-       r8 [a'-.-"cresc." r g'-.] |
-       r [a'-.\f bes'-.\< \!c''-.] |
-       [d''8.->\> \!bes'16] [f'8 d'] |
+       [d''16-.\p  d-. d-. d-.] [d8-. c-.] |
+       es2-> |
+       [es16-. es-. es-. es-.] [es8-. d-.] |
+       f2-> |
+       [f16-. f-. f-. f-.] [f8-. g-.] |
+       r8 [a-.-"cresc." r g-.] |
+       r [a-.\f bes-.\< \!c-.] |
+       [d8.->\> \!bes16] [f8 d] |
 
        % four measures copied from 8 measures back...
-       [d'16-.\p  d'-. d'-. d'-.] [d'8-. c'-.] |
-       es'2-> |
-       [es'16-. es'-. es'-. es'-.] [es'8-. d'-.-"cresc."] |
-       f'2-> |
-       [fis'16-.\p  fis'-. fis'-. fis'-.] [fis'8-. g'-.] |
+       [d16-.\p  d-. d-. d-.] [d8-. c-.] |
+       es2-> |
+       [es16-. es-. es-. es-.] [es8-. d-.-"cresc."] |
+       f2-> |
+       [fis16-.\p  fis-. fis-. fis-.] [fis8-. g-.] |
        % same measure
-       [fis'16-.\p  fis'-. fis'-. fis'-.] [fis'8-. g'-.] |
-       [fis'8-. g'-. fis'-. g'-.] |
-       [a'-. bes'-. a'-. bes'-. ] |
-       [a'-.\f bes'-. a'-. bes'-. ] |
-       [c''-.-"cresc." f'-. g'-. a'-.] |
-       [bes'-. bes'-. ces''8.-> as'16] |
-       [f'8-. ges'-. es'-. ces'-.] |
+       [fis16-.\p  fis-. fis-. fis-.] [fis8-. g-.] |
+       [fis8-. g-. fis-. g-.] |
+       [a-. bes-. a-. bes-. ] |
+       [a-.\f bes-. a-. bes-. ] |
+       [c-.-"cresc." f,-. g-. a-.] |
+       [bes-. bes-. ces8.-> as16] |
+       [f8-. ges-. es-. ces-.] |
        % `a deux
-       [as-. bes-. ces'8.-> ges16] |
+       [as-. bes-. ces8.-> ges16] |
        [es8-. ces'-. ges-. as-.] |
        bes\p r r4 |
-       [bes16-.-"cresc." bes-. bes-. bes-.] [bes8-. ces'->] |
+       [bes16-.-"cresc." bes-. bes-. bes-.] [bes8-. ces->] |
        % same measure
-       [bes16-. bes-. bes-. bes-.] [bes8-. ces'->] |
-       [bes'16-.\ff bes'-. bes'-. bes'-.] [bes'8-. ces''16->] r16^"court"-\fermata |
+       [bes16-. bes-. bes-. bes-.] [bes8-. ces->] |
+       [bes'16-.\ff bes-. bes-. bes-.] [bes8-. ces16->] r16^"court"-\fermata |
        % ugh: eight measures rest (ugh: r1 -> four beats...)
        % eiht measures rest..
        \textstyle "bold";
 %      r2^"Un peu plus lent et \\'el\\'egant"
-%      r2^"\\fetanummer8"
-       r2*8
+       R2*8
 %      r4 r8\p bes |
        r4^"Un peu plus lent et \\'el\\'egant"
-       r8\p bes |
+       r8\p bes,, |
 %      g2->^"Un peu plus lent et \\'el\\'egant" ~ |
        g2-> ~ |
        \textstyle "italic";
-       g8 r r c' |
-       c'2-> ~ |
-       c'8 r r bes'\f |
-       [bes'8.->\f g'16-.] [es'16-. bes-. g-. as-.] |
-       [bes-.-"dim." c'-. d'-. f'-.] [es'8-. c'-.] |
-       d'2-> ~ |
-       [d'16-"dim."( es' f' g'] [)as'8 as-.] |
-       [ces'8.->\p( )bes16-.] bes4 ~ |
-       [bes16( c'! d' f'] [)es'8 g-.] |
+       g8 r r c |
+       c2-> ~ |
+       c8 r r bes'\f |
+       [bes8.->\f g16-.] [es16-. bes-. g-. as-.] |
+       [bes-.-"dim." c-. d-. f-.] [es8-. c-.] |
+       d2-> ~ |
+       [d16-"dim."( es f g] [)'as8 as-.] |
+       [ces8.->\p( )bes16-.] bes4 ~ |
+       [bes16( c! d f] [)es8 g,-.] |
        [g8.->( )as16] as4 ~ |
-       [as16( a bes b] [)c'8-. d-.] |
+       [as16( a bes b] [)c8-. d,-.] |
        % a deux
        [d8.->( ) es16] es4 ~ |
-       es4 r8 bes-. |
+       es4 r8 bes'-. |
        g2-> ~ |
-       g8 r r c' |
-       c'2 ~ |
-       c'8  r r bes' |
-       [bes'8.-> g'16-.] [es'16-. bes-. g-. as-.] |
-       [bes-. c'-. d'-. es'-.] [f'-. g'-. as'-. bes'-.] |
-       d''8-. r c''4-> ~ |
-       [c''16 f'-. g'-. a'-.] [bes'-. c'-. d'-. es'-.] |
-       g'8-. r f'4-> ~ |
-       [f'16 bes-. c'-. d'-.] [es'-. f'-. g'-. as'-.] |
-       c''8 r bes'4 ~ |
-       [bes'8 as'-. g'8.-. e'16-.] |
-       g'8-. r f'4-> ~ |
-       [f'8 es'-. ces'8.-. as16-.] |
+       g8 r r c |
+       c2 ~ |
+       c8  r r bes' |
+       [bes8.-> g16-.] [es16-. bes-. g-. as-.] |
+       [bes-. c-. d-. es-.] [f-. g-. as-. bes-.] |
+       d8-. r c4-> ~ |
+       [c16 f,-. g-. a-.] [bes-. c,-. d-. es-.] |
+       g8-. r f4-> ~ |
+       [f16 bes,-. c-. d-.] [es-. f-. g-. as-.] |
+       c8 r bes4 ~ |
+       [bes8 as-. g8.-. e16-.] |
+       g8-. r f4-> ~ |
+       [f8 es-. ces8.-. as16-.] |
        % `a deux
        \textstyle "large";
-       [ces'8.->^"Plus vite" bes16-.(] [a bes es' d'] |
+       [ces8.->^"Plus vite" bes16-.(] [a bes es d] |
        \textstyle "italic";
-       [)c'!8.-> bes16] [a( bes es' )d'] |
-       [c'->( bes es' )d'] [c'->( bes es' )d'] |
+       [)c!8.-> bes16] [a( bes es )d] |
+       [c->( bes es )d] [c->( bes es )d] |
        % same measure
-       [c'->( bes es' )d'] [c'->( bes es' )d'] |
-       [c'( bes a bes] [c' d' es' e'] |
-       [g' )f' d'( es'] [f' g' as' a'] |
-       [c'' )bes' bes( c'] [d' es' f' g'] |
-       [as' g' f' g'] [as' bes' c'' d''] |
+       [c->( bes es )d] [c->( bes es )d] |
+       [c( bes a bes] [c d es e] |
+       [g )f d( es] [f g as a] |
+       [c )bes bes,( c] [d es f g] |
+       [as g f g] [as bes c d] |
        \textstyle "large";
-       [)es''-.^"Tempo 1$^o$" g'-. g'-. g'-.] [g'8-. g'-.] |
+       [)es-.^"Tempo 1$^o$" g,-. g-. g-.] [g8-. g-.] |
        \textstyle "italic";
-       bes'4.-> g'8-. |
-       gis'2->( |
-       )as'! |
-       [g'16-. g'-. g'-. g'-.] [g'8-. g'-.] |
-       bes'4.-> g'8-. |
-       gis'2->( |
-%      )as'! |
-       )as' |
-       [bes'16-. bes'-. bes'-. bes'-.] [bes'8-. bes'-.] |
-       bes'4.-> g'8-. |
-       [g'16-._"h\\^atez" g'-. g'-. g'-.] [g'8-. g'-.] |
-       g'4.-> g'8-. |
-       es'4.-> es'8-. |
+       bes4.-> g8-. |
+       gis2->( |
+       )as! |
+       [g16-. g-. g-. g-.] [g8-. g-.] |
+       bes4.-> g8-. |
+       gis2->( |
+%      )as! |
+       )as |
+       [bes16-. bes-. bes-. bes-.] [bes8-. bes-.] |
+       bes4.-> g8-. |
+       [g16-._"h\\^atez" g-. g-. g-.] [g8-. g-.] |
+       g4.-> g8-. |
+       es4.-> es8-. |
        bes4.-> bes8-. |
        \textstyle "large";
-       g'4.->^"Presto" g'8-. |
+       g'4.->^"Presto" g8-. |
        \textstyle "italic";
-       es'4.-> es'8-. |
-       [bes-. bes-. es'-. g'-.] |
-       [bes'-. bes-. es'-. g'-.] |
-       bes'-. r r4 |
-       g'8-. r r4 |
-       g'8-. r r4 |
+       es4.-> es8-. |
+       [bes-. bes-. es-. g-.] |
+       [bes-. bes,-. es-. g-.] |
+       bes-. r r4 |
+       g8-. r r4 |
+       g8-. r r4 |
 }
 
 hoboone = \melodic {
@@ -288,56 +299,19 @@ global = \melodic{
 $staff_hoboone = \type Staff = hoboonestaff <
        \global
        \property Staff.instrument = "oboe"
+       % don't expand multi-bar rest
+       \property Score.SkipBars = 1
        \hoboone
 >
 
 a4 = \paper{
-%      \paper_twenty
-       linewidth= 185.\mm;
-       gourlay_maxmeasures = 10.0;
-       Staff = \translator {
-               \type "Engraver_group_engraver";
-               defaultclef = violin;
-
-               \consists "Bar_engraver";
-               \consists "Clef_engraver";
-               \consists "Key_engraver";
-               \consists "Meter_engraver";
-               \consists "Local_key_engraver";
-               \consists "Staff_sym_engraver";
-               \consists "Collision_engraver";
-               \consists "Rest_collision_engraver";
-               \consists "Bar_column_engraver";
-               \consists "Bar_number_engraver";
-               \consists "Separating_line_group_engraver";
-               \consists "Line_group_engraver";
-                 
-               \accepts "Voice";
-       }
+       \include "bar-numbering.ly"
 }
 
 a4sixteen = \paper{
        \paper_sixteen
        linewidth= 193.\mm;
-       Staff = \translator {
-               \type "Engraver_group_engraver";
-               defaultclef = violin;
-
-               \consists "Bar_engraver";
-               \consists "Clef_engraver";
-               \consists "Key_engraver";
-               \consists "Meter_engraver";
-               \consists "Local_key_engraver";
-               \consists "Staff_sym_engraver";
-               \consists "Collision_engraver";
-               \consists "Rest_collision_engraver";
-               \consists "Bar_column_engraver";
-               \consists "Bar_number_engraver";
-               \consists "Separating_line_group_engraver";
-               \consists "Line_group_engraver";
-                 
-               \accepts "Voice";
-       }
+       \include "bar-numbering.ly"
 }
 
 \score{
diff --git a/mutopia/ltor.ly b/mutopia/ltor.ly
deleted file mode 100644 (file)
index afc524c..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-\header{
-filename =      "los-toros-oboe.ly";
-title =                 "La Feria";
-subtitle = "Los Toros";
-opus =          "";
-composer =      "Paul Lac\\^ome dEstalenx (1838-1920)";
-enteredby =     "jcn";
-copyright =     "public domain";
-latexheaders=    "headers";
-} 
-
-%{
-Silly latex file dropped; use ly2dvi
-
-Converted to relative octave from los-toros-oboe.ly:
-    :s/[^\\]'/'x/g
-    :s/'x//g
-    (511 substitutions on 155 lines)
-
-    lilypond -f los-toros-oboe 2> bla
-    wc -l bla
-    138
-    138 / 3 =  46 octave quotes of 511 remain!
-
-%}
-
-\include "paper16.ly"
-
-hoboonestart = \melodic{
-% ugh: cant copy: allegro/primo tempo
-       \octave relative;
-       \textstyle "large";
-       [es''16-.^"Allegro" es-. es-. es-.] [es8-. d-.] |
-       \textstyle "italic";
-}
-
-hobooneintro = \melodic{
-       \octave relative;
-%      \textstyle "roman";
-%      [es''16-.-"Allegro" es-. es-. es-.] [es8-. d-.] |
-%      \textstyle "italic";
-       [f''8.-> es16(] [)d8 c-.] |
-       [bes16( c d es] [)d8 c-.] |
-       [bes-. as->~] [as16( g f g] |
-       [as bes c d] [)es8 c-.] |
-       [d8-. c16( bes] )as4 ~ |
-       [as16 g( f g] [as c bes as] |
-%      [)g8 as16 g(] [)f8 g16( f] |
-       [)g8 as16 g(] [)f8 g16( f] |
-       [)es8 f16-. g-.] [as-. bes-. c-. d-.] |
-       [es-. es-. es-. es-.] [es8-. d-.] |
-       [f8.-> es16(] [)d8 c-.] |
-       [bes16( c d es] [)d8 c-.] |
-       [bes8 a->~] [a16 g( fis g] |
-       [a bes c d] [)es8 d16()c] |
-       [bes-. g-. bes-. d-.] g4-> ~ |
-       [g16 f( es d] [c es  d c] |
-       [)bes8 c16( bes] [)a8 bes16( a] |
-       [)g8  r d'] r |
-}
-
-hoboonemid = \melodic{
-       \octave relative;
-       [g'16-. g-. g-. g-.] [g8-. f-.] |
-       as2-> |
-       [as16-. as-. as-. as-.] [as8-. g-.] |
-       bes2-> |
-       [bes16-. bes-. bes-. bes-.] [bes8-. c] |
-
-       r-"cresc." [d8-. r c-.] |
-       r\f [d-. es-. f-.] |
-       [g8.-> es16] [bes8 g] |
-
-       % four measures copied from 8 measures back...
-       [g16-.\p g-. g-. g-.] [g8-. f-.] |
-       as2-> |
-       [as16-. as-. as-. as-.] [as8-. g-.] |
-       bes2-> |
-       [b16-. b-. b-. b-.] [b8-. c-.] |
-
-       % same measure
-       [b16-. b-. b-. b-.] [b8-. c-.] |
-
-       [b8-.-"cresc." c-. b-. c-.] |
-       [d-. es-. d-. es-.] |
-       [f\f-. g-. f-. g-.] |
-       [as-.\< g-. as-. bes-.] |
-       [\!g16\ff-. g-. g-. g-.] [g8-. g-.] |
-       [g8.-> g16] [g8 g] |
-       [g8.-> g16] [g8 g] |
-       [f8.-> f16] [f8 f] |
-       [f8.-> f16] [f8 f] |
-       [bes8-. as16( g] )f4 ~ |
-       [f16 es( d es] [f as g )f] |
-       [es( g f es] [d f es d] |
-       [c es d c] [b d c b] |
-       [a c bes a] [g bes a g] |
-       [fis a g fis] [e g fis )e] |
-       % `a deux
-       [d8 d'] [es8.-> c16] |
-       [a8 bes g es] |
-       [c' d es8. bes16] |
-       [g8 es bes' 'c] |
-       [d16-. d-. d-. d-.] [d8.-. es16->] |
-       [d'16-.-"cresc." d-. d-. d-.] [d8.-. es16->] |
-       [d16-. d-. d-. d-.] [d8.-. es16->] |
-       [d16 d d d] [d8 es16-.] r16-\fermata^"court"^"tr\\`es" |
-       % Un peu plus lent.
-       \textstyle "bold";
-
-% ugh
-%      d4(\<^"Un peu plus lent" \textstyle "italic; _"tr\\`es \\'el\\'egant"
-%      d4(\^"Un peu plus lent et \\'el\\'egant"<
-       \textstyle "italic"; 
-       d4(\<
-       [e8 \!fis8] |
-%      [)b-. a-.] [g16( fis e )d] |
-       \textstyle "bold";
-       [)b-.^"Un peu plus lent et \\'el\\'egant" a-.] [''g16( fis' e )d] |
-       \textstyle "italic"; 
-       [d( c b\< c] [)\!fis8-. e-.] |
-       ''d4-> ~ [d16 e( fis g] |
-       [a b\< d fis] [)\!a8-. g-.] |
-       [fis16( e 'a )c] e4 ~ |
-       [e16 d( 'e c'] [)b8-. a-.] |
-       g2 ~ |
-       [g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
-       b2-> ~ |
-       [b8 \[/3 'd16( e fis ]1/1 [)g8-"cresc. poco" e'-.] |
-       e2-> ~ |
-       [e8 \[/3 ''d16( e fis ]1/1 [)g8\f d'-.] |
-       [d8.-> b'16-.] [g16-. d-. b-. c-.] |
-       [d-. e-. fis-. a-.] [g8-. e-.] |
-       fis2-> ~ |
-       [fis16 g-.\< a-. b-.] [\!c8-. 'c-.] |
-       [es8.->(-"espress.") d16] d4 ~ |
-       [d16 e( fis a] [)g8 'b-.] |
-       [b8.->( )c16] c4 ~ |
-       [c16\< cis( d \!dis] [)e8-.-"dim." 'fis-.] |
-       [fis8.->( g16] )g4 ~ |
-
-       % (only notes! of) five measures copied from 14 measures above
-       [g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
-       b2->-"cresc." ~ |
-       [b8 \[/3 'd16( e fis ]1/1 [)g8 e'-.] |
-       e2-> ~ |
-       [e8 \[/3 ''d16(_"h\\^atez" e fis ]1/1 [)g8\f d'-.] |
-       [d8.-> b16-.] [g16-.-"cresc." d'-. b-. c-.] |
-       [d16\f\< e-. fis-. g-.] [a-. 'b-. c-. \!d-.] 
-}
-
-
-hoboonesecondstart = \melodic{
-       \octave relative;
-% ugh: cant copy: allegro/primo tempo
-       \textstyle "large";
-       [es''16-.\ff^"Tempo 1$^o$" es-. es-. es-.] [es8-. d-.] |
-       \textstyle "italic";
-       
-}
-       
-hoboonelast = \melodic{
-       \octave relative;
-       % could transpose/copy from measure 19...
-       [d''16-.\p  d-. d-. d-.] [d8-. c-.] |
-       es2-> |
-       [es16-. es-. es-. es-.] [es8-. d-.] |
-       f2-> |
-       [f16-. f-. f-. f-.] [f8-. g-.] |
-       r8 [a-.-"cresc." r g-.] |
-       r [a-.\f bes-.\< \!c-.] |
-       [d8.->\> \!bes16] [f8 d] |
-
-       % four measures copied from 8 measures back...
-       [d16-.\p  d-. d-. d-.] [d8-. c-.] |
-       es2-> |
-       [es16-. es-. es-. es-.] [es8-. d-.-"cresc."] |
-       f2-> |
-       [fis16-.\p  fis-. fis-. fis-.] [fis8-. g-.] |
-       % same measure
-       [fis16-.\p  fis-. fis-. fis-.] [fis8-. g-.] |
-       [fis8-. g-. fis-. g-.] |
-       [a-. bes-. a-. bes-. ] |
-       [a-.\f bes-. a-. bes-. ] |
-       [c-.-"cresc." 'f-. g-. a-.] |
-       [bes-. bes-. ces8.-> as16] |
-       [f8-. ges-. es-. ces-.] |
-       % `a deux
-       [as-. bes-. ces8.-> ges16] |
-       [es8-. ces'-. ges-. as-.] |
-       bes\p r r4 |
-       [bes16-.-"cresc." bes-. bes-. bes-.] [bes8-. ces->] |
-       % same measure
-       [bes16-. bes-. bes-. bes-.] [bes8-. ces->] |
-       [bes'16-.\ff bes-. bes-. bes-.] [bes8-. ces16->] r16^"court"-\fermata |
-       % ugh: eight measures rest (ugh: r1 -> four beats...)
-       % eiht measures rest..
-       \textstyle "bold";
-%      r2^"Un peu plus lent et \\'el\\'egant"
-       R2*8
-%      r4 r8\p bes |
-       r4^"Un peu plus lent et \\'el\\'egant"
-       r8\p ''bes |
-%      g2->^"Un peu plus lent et \\'el\\'egant" ~ |
-       g2-> ~ |
-       \textstyle "italic";
-       g8 r r c |
-       c2-> ~ |
-       c8 r r bes'\f |
-       [bes8.->\f g16-.] [es16-. bes-. g-. as-.] |
-       [bes-.-"dim." c-. d-. f-.] [es8-. c-.] |
-       d2-> ~ |
-       [d16-"dim."( es f g] [)'as8 as-.] |
-       [ces8.->\p( )bes16-.] bes4 ~ |
-       [bes16( c! d f] [)es8 'g-.] |
-       [g8.->( )as16] as4 ~ |
-       [as16( a bes b] [)c8-. 'd-.] |
-       % a deux
-       [d8.->( ) es16] es4 ~ |
-       es4 r8 bes'-. |
-       g2-> ~ |
-       g8 r r c |
-       c2 ~ |
-       c8  r r bes' |
-       [bes8.-> g16-.] [es16-. bes-. g-. as-.] |
-       [bes-. c-. d-. es-.] [f-. g-. as-. bes-.] |
-       d8-. r c4-> ~ |
-       [c16 'f-. g-. a-.] [bes-. 'c-. d-. es-.] |
-       g8-. r f4-> ~ |
-       [f16 'bes-. c-. d-.] [es-. f-. g-. as-.] |
-       c8 r bes4 ~ |
-       [bes8 as-. g8.-. e16-.] |
-       g8-. r f4-> ~ |
-       [f8 es-. ces8.-. as16-.] |
-       % `a deux
-       \textstyle "large";
-       [ces8.->^"Plus vite" bes16-.(] [a bes es d] |
-       \textstyle "italic";
-       [)c!8.-> bes16] [a( bes es )d] |
-       [c->( bes es )d] [c->( bes es )d] |
-       % same measure
-       [c->( bes es )d] [c->( bes es )d] |
-       [c( bes a bes] [c d es e] |
-       [g )f d( es] [f g as a] |
-       [c )bes 'bes( c] [d es f g] |
-       [as g f g] [as bes c d] |
-       \textstyle "large";
-       [)es-.^"Tempo 1$^o$" 'g-. g-. g-.] [g8-. g-.] |
-       \textstyle "italic";
-       bes4.-> g8-. |
-       gis2->( |
-       )as! |
-       [g16-. g-. g-. g-.] [g8-. g-.] |
-       bes4.-> g8-. |
-       gis2->( |
-%      )as! |
-       )as |
-       [bes16-. bes-. bes-. bes-.] [bes8-. bes-.] |
-       bes4.-> g8-. |
-       [g16-._"h\\^atez" g-. g-. g-.] [g8-. g-.] |
-       g4.-> g8-. |
-       es4.-> es8-. |
-       bes4.-> bes8-. |
-       \textstyle "large";
-       g'4.->^"Presto" g8-. |
-       \textstyle "italic";
-       es4.-> es8-. |
-       [bes-. bes-. es-. g-.] |
-       [bes-. 'bes-. es-. g-.] |
-       bes-. r r4 |
-       g8-. r r4 |
-       g8-. r r4 |
-}
-
-hoboone = \melodic {
-       \hoboonestart
-       \hobooneintro
-       \hoboonemid
-       \hoboonesecondstart
-       \hobooneintro
-       \hoboonelast
-}
-
-global = \melodic{
-       \key bes es as;
-       \meter 2/4;
-       \skip 4*110;
-       \key fis; |
-       \bar "||";
-       \skip 4*58;
-       \key bes es as; |
-       \bar "||";
-       \skip 4*220;
-       \bar "|.";
-}
-
-
-$staff_hoboone = \type Staff = hoboonestaff <
-       \global
-       \property Staff.instrument = "oboe"
-       \hoboone
->
-
-a4 = \paper{
-%      \paper_twenty
-       linewidth= 185.\mm;
-       gourlay_maxmeasures = 10.0;
-       Staff = \translator {
-               \type "Engraver_group_engraver";
-               defaultclef = violin;
-
-               \consists "Bar_engraver";
-               \consists "Clef_engraver";
-               \consists "Key_engraver";
-               \consists "Meter_engraver";
-               \consists "Local_key_engraver";
-               \consists "Staff_sym_engraver";
-               \consists "Collision_engraver";
-               \consists "Rest_collision_engraver";
-               \consists "Bar_column_engraver";
-               \consists "Bar_number_engraver";
-               \consists "Separating_line_group_engraver";
-               \consists "Line_group_engraver";
-                 
-               \accepts "Voice";
-       }
-}
-
-a4sixteen = \paper{
-       \paper_sixteen
-       linewidth= 193.\mm;
-       Staff = \translator {
-               \type "Engraver_group_engraver";
-               defaultclef = violin;
-
-               \consists "Bar_engraver";
-               \consists "Clef_engraver";
-               \consists "Key_engraver";
-               \consists "Meter_engraver";
-               \consists "Local_key_engraver";
-               \consists "Staff_sym_engraver";
-               \consists "Collision_engraver";
-               \consists "Rest_collision_engraver";
-               \consists "Bar_column_engraver";
-               \consists "Bar_number_engraver";
-               \consists "Separating_line_group_engraver";
-               \consists "Line_group_engraver";
-                 
-               \accepts "Voice";
-       }
-}
-
-\score{
-       \$staff_hoboone
-       \paper{ \a4 }
-       \midi{
-               \tempo 4 = 80;
-       }
-%      \paper{ \a4sixteen }
-}
-
index e0c3ea2e0ed9b7e792f014f07352c97c891f6624..b91d90c62ea36ff7a7aac3aef8795d0d18fd9408 100644 (file)
@@ -9,6 +9,6 @@ description = "A schubert song in 16 pt";
 copyright =     "public domain";
 } 
 
-\version "0.1.10";
+\version "0.1.14";
 
 \include "standchen.ly"
index 443ef0b9e5f4bdd0232ac6ed2edd6ef70e4c7f10..8d984c14c518576c2f0f5f8e8227b2893b5936a1 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 description = "A schubert song in 20 pt";
 } 
 
-\version "0.1.10";
+\version "0.1.14";
 
 % fool make-website
 % \include "standchen.ly";
index 39d5168ae142be9672d67ae53ccf3967288b0d5f..dcdbfc1599706fcd28c84fd0ef4433b3d77321fd 100644 (file)
@@ -16,7 +16,7 @@ multiple \paper{}s in one \score
 %}
 
 \include "paper16.ly"
-\version "0.1.10";
+\version "0.1.14";
 
 commands = \melodic{
        \skip 2.*4;
@@ -36,16 +36,16 @@ melodie = \melodic{
        \key bes;
        \octave c';
        \duration 8;
-       r \pp < [ d 'a-| > f-| < d 'a-| > f-| < d 'a-| ] > |
+       r \pp < [ d a,-| > f-| < d a,-| > f-| < d a,-| ] > |
 %%2
-       r < [ d 'bes-| > f-| < d 'bes-| > f-| < d 'bes-| ] > |
+       r < [ d bes,-| > f-| < d bes,-| > f-| < d bes,-| ] > |
 %%3
        \textstyle "italic";
-       r_"simile" < [ d 'bes > e < d 'bes > e < d 'bes ] >|
+       r_"simile" < [ d bes, > e < d bes, > e < d bes, ] >|
        \textstyle "roman";
        
 %%4
-       r < [ 'a cis > e < 'a cis > e < 'a cis ] > |
+       r < [ a, cis > e < a, cis > e < a, cis ] > |
 %%5
        [2/3 a() bes a ]1/1 d'4. a |
 %%6
@@ -190,154 +190,154 @@ begeleiding = \melodic{
        \key bes;
        \octave c';
        \duration 2;
-       'd r4 |
+       d, r4 |
 %%2
-       ''bes r4 |
+       bes,, r4 |
 
 %%3
-       ''g r4 |
+       g,, r4 |
 
 %%4
-       ''a r4 |
+       a,, r4 |
 %%5
 \duration 8;
        \multi 2 < { \stemup    
-               [ 'f 'a d 'a d 'a ] 
-               [ 'd 'e 'g 'e 'g 'e ] 
-               [ 'cis 'e 'g 'e 'g 'e ]
-               [ 'd 'a d 'a d 'a ]
+               [ f, a, d a, d a, ] 
+               [ d, e, g, e, g, e, ] 
+               [ cis, e, g, e, g, e, ]
+               [ d, a, d a, d a, ]
                }
        { \stemdown 
-               'd2 r4 
-                ''bes2 r4 
-                ''a2 r4
-               'd2 r4
+               d,2 r4 
+                bes,,2 r4 
+                a,,2 r4
+               d,2 r4
        } >
 %%9
        \stemboth
-       [ 'a e g e g e ] |
+       [ a, e g e g e ] |
 %%10
-       [ 'd 'a d 'a d 'a ] |
+       [ d, a, d a, d a, ] |
 %%11
        \multi 2 <      
        { \stemup
-               [ 'f 'a d 'a d 'a ]
-               [ 'd 'e 'g 'e 'g 'e ] 
-               [ 'e 'g 'bes 'g 'bes 'g ] 
-               [ 'a c f c f c ]
+               [ f, a, d a, d a, ]
+               [ d, e, g, e, g, e, ] 
+               [ e, g, bes, g, bes, g, ] 
+               [ a, c f c f c ]
        } { \stemdown 
-               'd2 r4 
-                ''bes2 r4
-                'c2 r4 
-                'f2 r4 } 
+               d,2 r4 
+                bes,,2 r4
+                c,2 r4 
+                f,2 r4 } 
        >
 %%15
        \stemboth
-       [ 'c 'g 'bes 'g 'bes 'g ] |
+       [ c, g, bes, g, bes, g, ] |
 %%16
-       [ ''f 'c 'f 'c 'f 'c ] |
+       [ f,, c, f, c, f, c, ] |
        \multi 2 <
        { \stemup 
-               [ ''a 'e 'g 'e 'g 'e ][ 'd 'a d 'a d 'a ]
-               [ ''bes 'f 'bes 'f 'bes 'f ][ ''f 'c 'f 'c 'f 'c ] }
+               [ a,, e, g, e, g, e, ][ d, a, d a, d a, ]
+               [ bes,, f, bes, f, bes, f, ][ f,, c, f, c, f, c, ] }
        { \stemdown 
-               ''a2 r4
-               'd2 r4 
-               ''bes2 r4 
-               ''f2 r4 
+               a,,2 r4
+               d,2 r4 
+               bes,,2 r4 
+               f,,2 r4 
        } > 
 %%21
        \stemboth
-       < [ 'e 'c > 'g c 'g c 'g ] |
+       < [ e, c, > g, c g, c g, ] |
 %%22
-       [ 'f 'a c 'a 'f 'c ] |
+       [ f, a, c a, f, c, ] |
        \multi 2 < {
                \stemup
-               [ ''a 'e 'g 'e 'g 'e ] 
-               [ 'd 'fis 'a 'fis 'a 'fis ] 
-               [ ''g 'd 'b 'd 'b 'd ] 
-               [ 'd 'a d 'a d 'a ] 
+               [ a,, e, g, e, g, e, ] 
+               [ d, fis, a, fis, a, fis, ] 
+               [ g,, d, b, d, b, d, ] 
+               [ d, a, d a, d a, ] 
        }
        {\stemdown
-               ''a2 r4 
-               'd2 r4 
-               ''g2 r4 
-               'd2 r4 
+               a,,2 r4 
+               d,2 r4 
+               g,,2 r4 
+               d,2 r4 
        }
        >
        \stemboth
-       < [ 'cis ''a > 'e 'a 'e 'a 'e ] |
+       < [ cis, a,, > e, a, e, a, e, ] |
 %%28
-       [ 'd 'a d 'a d 'a ] |
+       [ d, a, d a, d a, ] |
 %%29
-       [ 'd 'g 'bes 'g 'bes 'g ] |
+       [ d, g, bes, g, bes, g, ] |
 %#%\volta1
 %%30 
-       [ 'd 'fis 'a 'fis 'a 'fis ] |
+       [ d, fis, a, fis, a, fis, ] |
 %%31
-       [ ''a 'e 'a 'e 'a 'e ] |
+       [ a,, e, a, e, a, e, ] |
 %%32
-       [ 'd 'fis 'a 'fis 'a 'fis ] |
+       [ d, fis, a, fis, a, fis, ] |
 %%33
-       [ 'd 'g 'b 'g 'b 'g ] |
+       [ d, g, b, g, b, g, ] |
 %%34
-       [ 'd 'fis 'a 'fis 'a 'fis ] |
+       [ d, fis, a, fis, a, fis, ] |
 %%35
-       [ ''a 'e 'a 'e 'a 'e ] |
+       [ a,, e, a, e, a, e, ] |
 %%36
-       [ 'd 'fis 'a 'fis 'a 'fis ] |
+       [ d, fis, a, fis, a, fis, ] |
 %#%\volta2
 %%37
-       [ ''a 'e 'g 'e ''bes^> 'e ] |
+       [ a,, e, g, e, bes,,^> e, ] |
 %%38
-       [ ''a < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a ] > |
+       [ a,, < e cis a, > < e cis a, > < e cis a, > < e cis a, > < e cis a, ] > |
 %%39
-       [ ''a 'e 'g 'e ''bes^> 'e ] |
+       [ a,, e, g, e, bes,,^> e, ] |
 %%40
-       [ ''a < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a ] > |
+       [ a,, < e cis a, > < e cis a, > < e cis a, > < e cis a, > < e cis a, ] > |
 %%41
-       [ ''ais 'e 'fis 'e 'fis 'e ] |
+       [ ais,, e, fis, e, fis, e, ] |
 %%42
-       < [ 'd ''b > 'fis 'b 'fis 'b 'fis ] |
+       < [ d, b,, > fis, b, fis, b, fis, ] |
 %%43
-       < [ 'e ''b > 'g 'b 'g 'b 'g ] |
+       < [ e, b,, > g, b, g, b, g, ] |
 %%44
-       < [ 'd ''b > 'fis 'b 'fis 'b 'fis ] |
+       < [ d, b,, > fis, b, fis, b, fis, ] |
 %%45
        \multi 2 < { \stemup 
-               [ ''g 'd 'b 'd 'b 'd ] 
-               [ 'd 'a d 'a d 'a ] 
+               [ g,, d, b, d, b, d, ] 
+               [ d, a, d a, d a, ] 
        } {
                \stemdown
-               ''g2 r4
-               'd2 r4 
+               g,,2 r4
+               d,2 r4 
        } >
 
 %%47
        \stemboth
-       < [ 'cis ''a > 'e 'a 'e 'a 'e ] |
+       < [ cis, a,, > e, a, e, a, e, ] |
 %%48
-       [ 'd 'fis 'a 'fis 'a 'fis ] |
+       [ d, fis, a, fis, a, fis, ] |
 %%49
-       [ 'd 'a d 'a d 'a ] |
+       [ d, a, d a, d a, ] |
 %%50
-       [ ''g 'e 'g 'e 'g 'e ] |
+       [ g,, e, g, e, g, e, ] |
 %%51
-       [ ''a 'e 'g 'e 'g 'e ] |
+       [ a,, e, g, e, g, e, ] |
 %%52
-       [ ''d 'd 'fis 'd 'fis 'd ] |
+       [ d,, d, fis, d, fis, d, ] |
 %%53
-       [ 'd 'g 'bes 'g 'bes 'g ] |
+       [ d, g, bes, g, bes, g, ] |
 %%54
-       [ 'd 'fis 'a 'fis 'a 'fis ] |
+       [ d, fis, a, fis, a, fis, ] |
 %%55
-       [ ''a 'e 'g 'e 'g 'e ] |
+       [ a,, e, g, e, g, e, ] |
 %%56
-       [ ''d ''a 'd ''a 'd ''a ] |
+       [ d,, a,, d, a,, d, a,, ] |
 %%57
-       [ ''d ''a 'd ''a 'd ''a ]
+       [ d,, a,, d, a,, d, a,, ]
 %%58
-       < 'd2.^\fermata ''d2. > |
+       < d,2.^\fermata d,,2. > |
  }
 
 
index 03148d90a0ba71fadd61ecdfbb948008575c7124..605c3fc03120c8592c61fad6a1d08c49f7fb8a78 100644 (file)
@@ -14,7 +14,7 @@ copyright =    "public domain";
 multiple \paper{}s in one \score 
 %}
 
-\version "0.1.10";
+\version "0.1.14";
 
 $vocal_verse1 = \melodic{
        \octave c';
@@ -164,42 +164,42 @@ $treble_intro = \melodic{
        \octave c';
        \clef violin;
        % ugh: i'd like to type this!
-       %r8\pp [<'g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.>] |
-       r8\pp <['g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.]> |
-       r8 <['as-. c-.> <c-. es-.> <'as-. c-.> <c-. es-.> <'as-. c-.]> |
-       r8 <['as-. c-.> <c-. d-.> <'as-. c-.> <c-. d-.> <'as-. c-.]> |
-       r8 <['g-. 'b-.> <'b-. d-.> <'g-. 'b-.> <'b-. d-.> <'g-. 'b-.]> |
-       \break;
+       %r8\pp [<g,-. c-.> <c-. es-.> <g,-. c-.> <c-. es-.> <g,-. c-.>] |
+       r8\pp <[g,-. c-.> <c-. es-.> <g,-. c-.> <c-. es-.> <g,-. c-.]> |
+       r8 <[as,-. c-.> <c-. es-.> <as,-. c-.> <c-. es-.> <as,-. c-.]> |
+       r8 <[as,-. c-.> <c-. d-.> <as,-. c-.> <c-. d-.> <as,-. c-.]> |
+       r8 <[g,-. b,-.> <b,-. d-.> <g,-. b,-.> <b,-. d-.> <g,-. b,-.]> |
+       \break
        
 }
 
 $treble_verse1 = \melodic{
        \octave c';
 %      \clef violin;
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['f c> <c d> <'f c> <c d> <'f c]> |
-       r8 <['f 'g 'b> <'g 'b d> <'f 'g 'b> <'g 'b d> <'f 'g 'b]> |
-       r8 <['es 'g c> <'g c es> <'es 'g c> <'g c es> <'es 'g c]> |
+       r8 <[g, c> <c es> <g, c> <c es> <g, c]> |
+       r8 <[f, c> <c d> <f, c> <c d> <f, c]> |
+       r8 <[f, g, b,> <g, b, d> <f, g, b,> <g, b, d> <f, g, b,]> |
+       r8 <[es, g, c> <g, c es> <es, g, c> <g, c es> <es, g, c]> |
        <g'4.( b> <)f'8 d'> <[/3 f' d'> <es' c'> <d' b]1/1> |
        <c'2. es'> |
-       r8 <['g c> <c es> <'g c> <c es> <'g c]> |
-       r8 <['f c> <c d> <'f c> <c d> <'f c]> |
-       r8 <['f 'as 'bes> <'as 'bes d> <'f 'g 'bes> <'g 'bes d> <'f 'g 'bes]> |
-       r8 <['es 'g 'bes> <'g 'bes es> <'es 'g 'bes> <'g 'bes es]> 
+       r8 <[g, c> <c es> <g, c> <c es> <g, c]> |
+       r8 <[f, c> <c d> <f, c> <c d> <f, c]> |
+       r8 <[f, as, bes,> <as, bes, d> <f, g, bes,> <g, bes, d> <f, g, bes,]> |
+       r8 <[es, g, bes,> <g, bes, es> <es, g, bes,> <g, bes, es]> 
        <{ es'( | )bes4. as8}{ c'( | )d4.( )f8 } > 
        < [/3 f as> <es g> <d f]1/1> |
        <es2. g> |
-       r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> |
-       r8 <['es 'g> <'g c> <'es 'g> <'g c> <'es 'g]> |
-       r8\pp <['es 'as c> <'as c es> <'es 'as c> <'as c es> <'es 'as c]> |
-       r8 <['es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes]> |
+       r8 <[f, g,> <g, b,> <f, g,> <g, b,> <f, g,]> |
+       r8 <[es, g,> <g, c> <es, g,> <g, c> <es, g,]> |
+       r8\pp <[es, as, c> <as, c es> <es, as, c> <as, c es> <es, as, c]> |
+       r8 <[es, g, bes,> <g, bes, es,> <es, g, bes,> <g, bes, es,> <es, g, bes,]> |
        % [/3 as\grace( bes )
        [/3 as8(( g )as]1/1 c'4.-> ) as8 |
        g2. |
-       r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> |
-       r8 <['e 'g> <'g c> <'e 'g> <'g c> <'e 'g]> |
-       r8 <['f 'a c> <'a c f> <'f 'a c> <'a c f> <'f 'a c]> |
-       r8 <['e 'g c> <'g c e> <'e 'g c> <'g c e> <'e 'g c]> |
+       r8 <[f, g,> <g, b,> <f, g,> <g, b,> <f, g,]> |
+       r8 <[e, g,> <g, c> <e, g,> <g, c> <e, g,]> |
+       r8 <[f, a, c> <a, c f> <f, a, c> <a, c f> <f, a, c]> |
+       r8 <[e, g, c> <g, c e> <e, g, c> <g, c e> <e, g, c]> |
        <{[/3 f'8\f( e' f']1/1 a'4. )f'8 } {\[/3 f e f \] a4. f8 } > |
        <e2 e'> r4 |
 }
@@ -208,11 +208,11 @@ $treble_eentje = \melodic{
        \octave c';
        <f2\mf as!(> <[as8.->( c'> <)f16 )as]> |
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
-       <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
+       <f4. g> <[b,8-. g-.(> <d-. g-.> <f-. )g-.]> |
        <e2 g\pp> <e4 g> |
        <f2\mf a(> <[a8.( c'> <)f16 )a]> |
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
-       <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
+       <f4. g> <[b,8-. g-.(> <d-. g-.> <f-. )g-.]> |
        <e2. g> |
 }
 
@@ -220,12 +220,12 @@ $treble_through = \melodic{
        \octave c';
        r2. |
        % lily: 221: warning: Junking request: Span_dynamic_req: the \>
-       <['g8.\< g> <'g16 g> <'b8. b> <\!'b16\> b16> <d8. d'> <d16 d']> |
+       <[g,8.\< g> <g,16 g> <b,8. b> <\! b,16\> b16> <d8. d'> <d16 d']> |
        % lily: 222: warning: Can't find cresc to end.
-       < { c4( )'b } { c'4( )b } > \!r |
+       < { c4( )b, } { c'4( )b } > \!r |
 % ugh
-%      <'g4. g> <'b8 b> <[d8.-> d'->> c'16] |
-       <'g4. g> <'b8 b> [d'8.-> c'16] |
+%      <g,4. g> <b,8 b> <[d8.-> d'->> c'16] |
+       <g,4. g> <b,8 b> [d'8.-> c'16] |
 % ugh, ugh: connecting chords
        < { d2.\f( )a2} { e2. ~ e2 } { b2. c2 }> r4 |
        < 
@@ -241,110 +241,110 @@ $treble_through = \melodic{
                }
        >
        % 4 bars copied from end verse1
-       r8 <['f\p 'a c> <'a c f> <'f 'a c> <'a c f> <'f 'a c]> |
-       r8 <['e 'g c> <'g c e> <'e 'g c> <'g c e> <'e 'g c]> |
+       r8 <[f,\p a, c> <a, c f> <f, a, c> <a, c f> <f, a, c]> |
+       r8 <[e, g, c> <g, c e> <e, g, c> <g, c e> <e, g, c]> |
        <{[/3 f'8\f( e' f']1/1 a'4. )f'8 } {\[/3 f e f \] a4. f8 } > |
        <e2 e'> r4 |
        <es2 es'> r4 |
        <d2 d'> r4 |
-       <'b2 b> r4 |
+       <b,2 b> r4 |
        <c2 c'> <e4\pp g> |
 
        % four copied from begin eentje
        <f2\mf as!(> <[as8.->( c'> <)f16 )as]> |
        <e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
-       <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
+       <f4. g> <[b,8-. g-.(> <d-. g-.> <f-. )g-.]> |
        \textstyle "italic";
        <e2._"dim." g> |
-       <'g2. e g> |
-       <'g2.-\fermata e g> |
+       <g,2. e g> |
+       <g,2.-\fermata e g> |
 }
 
 $bass_intro = \melodic{
        \octave c;
        \clef bass;
-       <'c2 c> r4 |
-       <''as2 'as> r4 |
-       <''f2 'f> r4 |
-       <''g2 'g> r4 |
+       <c,2 c> r4 |
+       <as,,2 as,> r4 |
+       <f,,2 f,> r4 |
+       <g,,2 g,> r4 |
 }
 
 $bass_verse1 = \melodic{
        \octave c;
 %      \clef bass;
-       <'c2 c> r4 |
-       <''as2 'as> r4 |
-       <''g2 'g> r4 |
-       <'c2 c> r4 |
-       <''g8 'g> <[g d'> <d' f'> <g d'> <d' f'> <g d']> |
-       <'c8 c> <[g c'> <c' es'> <g c'> <c' es'> <g c']> |
-       <'c2 c> r4 |
-       <''as2 'as> r4 |
-       <''bes2 'bes> r4 |
-       <''es2 'es> r4 |
-       ''bes8 <['bes f> <f bes> <'bes f> <f bes> <'bes f]> |
-       ''es8 <['bes es> <es g> <'bes es> <es g> <'bes es]> |
-       <''g2 'g> r4 |
-       <'c2 c> r4 |
-       <''as2 'as> r4 |
-       <''es2 'es> r4 |
-       <''bes8 'bes> <[f bes> <bes d'> <f bes> <bes d'> <f bes]> |
-       <''es8 'es> <[es g bes> <g bes es'> <es g bes> <g bes es'> <es g bes]> |
-       <''g2 'g> r4 |
-       <'c2 c> r4 |
-       <''f2 'f> r4 |
-       <'c2 c> r4 |
-       <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
-       'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+       <c,2 c> r4 |
+       <as,,2 as,> r4 |
+       <g,,2 g,> r4 |
+       <c,2 c> r4 |
+       <g,,8 g,> <[g d'> <d' f'> <g d'> <d' f'> <g d']> |
+       <c,8 c> <[g c'> <c' es'> <g c'> <c' es'> <g c']> |
+       <c,2 c> r4 |
+       <as,,2 as,> r4 |
+       <bes,,2 bes,> r4 |
+       <es,,2 es,> r4 |
+       bes,,8 <[bes, f> <f bes> <bes, f> <f bes> <bes, f]> |
+       es,,8 <[bes, es> <es g> <bes, es> <es g> <bes, es]> |
+       <g,,2 g,> r4 |
+       <c,2 c> r4 |
+       <as,,2 as,> r4 |
+       <es,,2 es,> r4 |
+       <bes,,8 bes,> <[f bes> <bes d'> <f bes> <bes d'> <f bes]> |
+       <es,,8 es,> <[es g bes> <g bes es'> <es g bes> <g bes es'> <es g bes]> |
+       <g,,2 g,> r4 |
+       <c,2 c> r4 |
+       <f,,2 f,> r4 |
+       <c,2 c> r4 |
+       <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+       c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
 }
 
 $bass_eentje = \melodic{
        \octave c;
-       <'c8 c> <[c f as!> <f as c'> <c f as> <f as c'> <c f as]> |
-       'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
-       <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
-       'c8 <[e g> <g c'> <e g> <g c'> <e g]> |
-       <'c8 c> <[c f a> <f a c'> <c f a> <f a c'> <c f a]> |
-       'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
-       <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
-       'c8 <[e g> <g c'> <e g> <g c'> <e g]> |
+       <c,8 c> <[c f as!> <f as c'> <c f as> <f as c'> <c f as]> |
+       c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+       <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+       c,8 <[e g> <g c'> <e g> <g c'> <e g]> |
+       <c,8 c> <[c f a> <f a c'> <c f a> <f a c'> <c f a]> |
+       c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+       <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+       c,8 <[e g> <g c'> <e g> <g c'> <e g]> |
 }
 
 $bass_through = \melodic{
        \octave c;
-       <''g8 'g> <['g 'b d> <'b d f> <'g 'b d> <'as!-> b-> d->> <'b d f]> |
-       <''g8 'g> <['g d> <d f> <'g d> <'as-> b-> d->> <'b d f]> |
+       <g,,8 g,> <[g, b, d> <b, d f> <g, b, d> <as,!-> b-> d->> <b, d f]> |
+       <g,,8 g,> <[g, d> <d f> <g, d> <as,-> b-> d->> <b, d f]> |
        % copied
-       <''g8 'g> <['g d> <d f> <'g d> <'as-> b-> d->> <'b d f]> |
-       <''g8 'g> <['g d e> <d f> <'g d> <'gis-> 'b-> d->> <'b d f]> |
-       <''gis8 'gis> <[d e> <e b> <d e> <e b> <d e]> |
-       <''a8 'a> <[c e> <e a> <c e> <e a> <c e]> |
-       <''a8 'a> <['a d f> <d f a> <'a d f> <d f a> <'a d f]> |
-       <''a8 'a> <['a c e> <c e a> <'a c e> <c e a> <'a c e]> |
+       <g,,8 g,> <[g, d> <d f> <g, d> <as,-> b-> d->> <b, d f]> |
+       <g,,8 g,> <[g, d e> <d f> <g, d> <gis,-> b,-> d->> <b, d f]> |
+       <gis,,8 gis,> <[d e> <e b> <d e> <e b> <d e]> |
+       <a,,8 a,> <[c e> <e a> <c e> <e a> <c e]> |
+       <a,,8 a,> <[a, d f> <d f a> <a, d f> <d f a> <a, d f]> |
+       <a,,8 a,> <[a, c e> <c e a> <a, c e> <c e a> <a, c e]> |
        % 4 bars copied from end verse1
-       <''f2 'f> r4 |
-       <'c2 c> r4 |
-       <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
-       'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
-
-       <'c8 c> <[c es! g> <es g c'> <c es! g> <es g c'> <c es! g]> |
-       <''f8 'f> <[d f> <f as!> <d f> <f as!> <d f]> |
-       <''g8 'g> <[d f> <f g> <d f> <f g> <d f]> |
-       'c8 <[c e> <e g> <c e> <e g> <c e]> |
-       'c8 <[c f> <f as> <c f> <f as> <c f]> |
-       'c8 <[c e> <e g> <c e> <e g> <c e]> |
-       ''g8 <['g d> <d f> <'g d> <d f> <'g d]> |
+       <f,,2 f,> r4 |
+       <c,2 c> r4 |
+       <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+       c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+
+       <c,8 c> <[c es! g> <es g c'> <c es! g> <es g c'> <c es! g]> |
+       <f,,8 f,> <[d f> <f as!> <d f> <f as!> <d f]> |
+       <g,,8 g,> <[d f> <f g> <d f> <f g> <d f]> |
+       c,8 <[c e> <e g> <c e> <e g> <c e]> |
+       c,8 <[c f> <f as> <c f> <f as> <c f]> |
+       c,8 <[c e> <e g> <c e> <e g> <c e]> |
+       g,,8 <[g, d> <d f> <g, d> <d f> <g, d]> |
        % copied from two bars back
-       'c8 <[c e> <e g> <c e> <e g> <c e]> |
-       'c8 <[c e> <e g> <c e> <e g> <c e]> |
-       <'c2._\fermata 'g c> |
+       c,8 <[c e> <e g> <c e> <e g> <c e]> |
+       c,8 <[c e> <e g> <c e> <e g> <c e]> |
+       <c,2._\fermata g, c> |
 }
                
 global = \melodic{
        \meter 3/4; 
        \key bes es as;
        \skip 4 * 12;
-       \break;
+       \break
        \skip 4 * 234;
        \bar "|.";
 }
@@ -420,26 +420,8 @@ $grand_staff = \type Grand_staff<
 >
 
 a4 = \paper{
-       gourlay_maxmeasures = 7.;
        linewidth= 193.\mm;
-Score = \translator {
-       \type Score_engraver;
-
-       \consists "Timing_engraver";
-       \consists "Bar_column_engraver";
-       \consists "Bar_number_engraver";
-       \consists "Span_score_bar_engraver";
-       \consists "Score_priority_engraver";
-       \consists "Priority_horizontal_align_engraver";
-       \consists "Vertical_align_engraver";
-
-
-       \accepts "Staff_group";
-       \accepts "Staff";
-       \accepts "Rhythmic_staff";      
-       \accepts "Lyrics";
-       \accepts "Grand_staff";
-}
+       \include "score-bar-numbering.ly";
 }
 
 \score{
index 8a345d603c0b32229a76c89ce29f9241a62906ea..771a7416a2c5c55dafe40778b7ff34e8a1ca25f5 100644 (file)
                 \font\italicfont=cmti10 scaled \magstep1
                 \font\boldfont=cmbx10
                 \font\largefont=cmbx12
+                \font\hugefont=cmbx15 scaled \magstep 2
         \else
                 \def\settext##1{{\normalfont\normalsize ##1}}
                 \def\setitalic##1{\textit{\normalsize ##1}}
                 \def\setbold##1{\textbf{\normalsize ##1}}
                 \def\setlarge##1{\textbf{\large ##1}}
+                \def\sethuge##1{\textbf{\huge ##1}}
         \fi
   }
   \def\cmrsixteen{
                 \font\italicfont=cmti9
                 \font\boldfont=cmbx8
                 \font\largefont=cmbx10
+                \font\hugefont=cmbx12 scaled \magstep 2
         \else
                 \def\settext##1{{\normalfont\footnotesize ##1}}
                 \def\setitalic##1{\textit{\small ##1}}
                 \def\setbold##1{\textbf{\footnotesize ##1}}
                 \def\setlarge##1{\textbf{\normalsize ##1}}
+                \def\sethuge##1{\textbf{\huge ##1}}
         \fi
   }
-  \def\cmreleven{
-          \font\smalltextfont=cmr5
-          \font\meterfont=cmbx8
-          \font\textmusic=cmmi8
-        \ifundefined{documentclass}
-                \font\normaltextfont=cmr6
-                \font\italicfont=cmti6
-                \font\boldfont=cmbx6
-                \font\largefont=cmbx8
-        \else
-                \def\settext##1{{\normalfont\tiny ##1}}
-                \def\setitalic##1{\textit{\tiny ##1}}
-                \def\setbold##1{\textbf{\tiny ##1}}
-                \def\setlarge##1{\textbf{\footnotesize ##1}}
-        \fi
-  }
-  
   \def\cmrthirteen{
           \font\smalltextfont=cmr6
           \font\meterfont=cmbx9
                 \font\italicfont=cmti7
                 \font\boldfont=cmbx7
                 \font\largefont=cmbx9
+                \font\hugefont=cmbx12
         \else
                 \def\settext##1{{\normalfont\scriptsize ##1}}
                 \def\setitalic##1{\textit{\scriptsize ##1}}
                 \def\setbold##1{\textbf{\scriptsize ##1}}
                 \def\setlarge##1{\textbf{\small ##1}}
+                \def\sethuge##1{\textbf{\huge ##1}}
+        \fi
+  }
+  \def\cmreleven{
+          \font\smalltextfont=cmr5
+          \font\meterfont=cmbx8
+          \font\textmusic=cmmi8
+        \ifundefined{documentclass}
+                \font\normaltextfont=cmr6
+                \font\italicfont=cmti6
+                \font\boldfont=cmbx6
+                \font\largefont=cmbx8
+                \font\hugefont=cmbx10
+        \else
+                \def\settext##1{{\normalfont\tiny ##1}}
+                \def\setitalic##1{\textit{\tiny ##1}}
+                \def\setbold##1{\textbf{\tiny ##1}}
+                \def\setlarge##1{\textbf{\footnotesize ##1}}
+                \def\sethuge##1{\textbf{\huge ##1}}
         \fi
   }
 \def\musixsixteendefs{
         \def\setitalic#1{\italicfont #1}
         \def\setbold#1{\boldfont #1}
         \def\setlarge#1{\largefont #1}
+        \def\sethuge#1{\hugefont #1}
 \fi
 
 \def\setdynamic#1{\dynfont #1}
index f134e99e2a86ca3a3162f989d04d63ca42632a7c..d7118eabb7f29fbe1c7c458e279e60e75ea2b221 100644 (file)
@@ -12,6 +12,8 @@
 \def\thecomposer{}
 \def\thearranger{}
 \def\theinstrument{}
+\def\theopus{}
+\def\thepiece{}
 %
 % duh.  LaTeX has a \title too.
 \renewcommand*{\title}[1]{\def\thetitle{#1\\}}
 \newcommand*{\composer}[1]{\def\thecomposer{#1\\}}
 \newcommand*{\arranger}[1]{\def\thearranger{#1}}
 \newcommand*{\instrument}[1]{\def\theinstrument{#1}}
+\newcommand*{\opus}[1]{\def\theopus{#1}}
+\newcommand*{\piece}[1]{\def\thepiece{#1}}
 %
 \newcommand*{\mudelatitle}[1]{\def\thetitle{#1\\}}
 \newcommand*{\mudelasubtitle}[1]{\def\thesubtitle{#1\\}}
 \newcommand*{\mudelacomposer}[1]{\def\thecomposer{#1\\}}
 \newcommand*{\mudelaarranger}[1]{\def\thearranger{#1}}
 \newcommand*{\mudelainstrument}[1]{\def\theinstrument{#1}}
+\newcommand*{\mudelaopus}[1]{\def\theopus{#1}}
+\newcommand*{\mudelapiece}[1]{\def\thepiece{#1}}
 %
 \def\makelilytitle
 {
   {\center\bfseries\huge\center\thetitle}
         \par
-       {\center\bfseries\large\thesubtitle}
-  %\bigskip
-  {\flushleft\theinstrument\hfill\scshape\thecomposer}{\hfill\thearranger}
+       {\center\bfseries\Large\thesubtitle}
+  \bigskip
+  {\flushright\scshape\thecomposer\par}
+  % urg
+  \edef\saveparskip{\parskip}\parskip-5mm
+  {\flushright\theopus\par}
+  {\flushright\thearranger\par}
+  \parskip\saveparskip
+  {\center\large\theinstrument\par}
+  {\flushleft\scshape\large\thepiece}
+}
+\def\makelilypiecetitle
+{
+  \bigskip
+  {\flushright\theopus\par}
+  {\flushleft\scshape\large\thepiece}
 }
 \endinput
+
diff --git a/vimrc b/vimrc
new file mode 100644 (file)
index 0000000..52f632c
--- /dev/null
+++ b/vimrc
@@ -0,0 +1,24 @@
+:version 4.0
+"
+" some handy key mappings
+"
+" F7  prev error
+map \e[18~ :cp\r
+"
+" F8  next error
+map \e[19~ :cn\r
+"
+" F9  make
+map \e[20~ :w\r:se makeprg=make\ -k\r:make\r
+"
+" F10 run buffer through lily
+map \e[21~ :w\r:se makeprg=lilypond\ %:t\r:make\r
+"
+" F11 check buffer for quarts
+map \e[23~ :w\r:se makeprg=lilypond\ -Q%:t\r:make\r
+"
+"
+" errorformat for lily (with columns) and gcc
+" (how to see multiple-line error messages?)
+"
+se errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,In\ file\ included\ from\ %f:%l:,\^I\^Ifrom\ %f:%l%m