]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.60 release/0.1.60
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 29 Apr 1998 01:29:36 +0000 (03:29 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 29 Apr 1998 01:29:36 +0000 (03:29 +0200)
107 files changed:
.dstreamrc
Documentation/Makefile
Documentation/PATCHES.pod
Documentation/colorado.bib [deleted file]
Documentation/engraving.bib [deleted file]
Documentation/faq.pod
Documentation/fonts.tex [deleted file]
Documentation/index.pod
Documentation/man/Makefile
Documentation/man/index.pod [new file with mode: 0644]
Documentation/mudela.doc [deleted file]
Documentation/tex/Makefile [new file with mode: 0644]
Documentation/tex/colorado.bib [new file with mode: 0644]
Documentation/tex/engraving.bib [new file with mode: 0644]
Documentation/tex/fonts.doc [new file with mode: 0644]
Documentation/tex/mudela.doc [new file with mode: 0644]
Documentation/tex/out/dummy.dep [new file with mode: 0644]
INSTALL.txt
NEWS
PATCHES.txt
TODO
VERSION
bin/genheader.py [changed mode: 0644->0755]
bin/ls-latex.py [new file with mode: 0644]
bin/make-patch.py
bin/make-website.py
bin/mf-to-table.py
bin/mutopia-index.py
configure
configure.in
flower/NEWS
flower/VERSION
flower/include/config.hh [deleted file]
flower/include/full-storage.hh
flower/include/varray.hh
flower/include/varray.icc [new file with mode: 0644]
init/feta11.ly [new file with mode: 0644]
init/feta13.ly [new file with mode: 0644]
init/feta16.ly [new file with mode: 0644]
init/feta19.ly [new file with mode: 0644]
init/feta20.ly [new file with mode: 0644]
init/feta23.ly [new file with mode: 0644]
init/feta26.ly [new file with mode: 0644]
input/bugs/a.ly [new file with mode: 0644]
input/bugs/multi-slope.ly [new file with mode: 0644]
input/bugs/slur-broken.ly [new file with mode: 0644]
input/dummy.tex [deleted file]
input/part.ly
input/test/broken.ly [new file with mode: 0644]
input/test/sleur.ly
lily/VERSION
lily/bar-number-grav.cc
lily/bezier.cc
lily/bow.cc
lily/multi-measure-rest-engraver.cc
lily/slur.cc
make/Docrules.make
make/Files.make
make/Targets.make
make/Toplevel.make.in
make/Variables.make
make/WWW.make
make/out/lelievijver.lsm
make/out/lilypond.lsm
make/out/lilypond.spec
mutopia/Coriolan/Makefile
mutopia/Coriolan/clarinetti-part.ly
mutopia/Coriolan/clarinetto-1.ly
mutopia/Coriolan/clarinetto-2.ly
mutopia/Coriolan/corni-part.ly
mutopia/Coriolan/corno-1.ly
mutopia/Coriolan/corno-2.ly
mutopia/Coriolan/fagotti-part.ly
mutopia/Coriolan/fagotto-1.ly
mutopia/Coriolan/fagotto-2.ly
mutopia/Coriolan/flauti-part.ly
mutopia/Coriolan/flauto-1.ly
mutopia/Coriolan/flauto-2.ly
mutopia/Coriolan/music.ly [new file with mode: 0644]
mutopia/Coriolan/oboe-1.ly
mutopia/Coriolan/oboe-2.ly
mutopia/Coriolan/oboi-part.ly
mutopia/Coriolan/timpani.ly
mutopia/Coriolan/trombe-part.ly
mutopia/Coriolan/trombo-1.ly
mutopia/Coriolan/trombo-2.ly
mutopia/Coriolan/violino-2.ly
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/Makefile
mutopia/TODO
mutopia/los-toros-oboe-16.tex
mutopia/los-toros-oboe.ly
mutopia/standje.ly
test/bow.cc
tex/feta11.tex [new file with mode: 0644]
tex/feta13.tex [new file with mode: 0644]
tex/feta16.tex [new file with mode: 0644]
tex/feta19.tex [new file with mode: 0644]
tex/feta20.tex [new file with mode: 0644]
tex/feta23.tex [new file with mode: 0644]
tex/feta26.tex [new file with mode: 0644]
tex/lilyponddefs.tex

index dedc100f505ee504646c5526a6237dbb0d9cc229..1e6bbc084b5ea8f8b3c71209040b8da841999d4f 100644 (file)
@@ -23,20 +23,27 @@ Vector                      0
 
 # lily
 Atom                   0
+Axis_group_administration      0
 Bar                    0
 Beam                   0
+Bow                    0
+Bezier_bow             1
 Change_iterator                0
 Chord                  0
 Chord_iterator         0
 Clef_item              0
 Col_configuration      0
+Col_hpositions         0
 Colinfo                        0
 Colinfo                        0
 Collision              0
+Column_rod             0
 Engraver               0
 Engraver_group_engraver 0
+Graphical_element      0
 Group_change_req       0
 Head_column            0
+Horizontal_align_item  0
 Idealspacing           0
 Ineq_constrained_qp    0
 Input_translator       0
@@ -50,9 +57,12 @@ Midistrings          0
 Mixed_qp               0
 Music                  0
 Music_iterator         0
+Music_output_def       0
+Note_column            0
 Note_head              0
 Note_performer         0
 Note_req               0
+Paper_column           0
 Paper_score                    1
 Paper_def              0
 Performer              0
@@ -62,6 +72,7 @@ Request_iterator      0
 Rest_collision         0
 Rest_collision_engraver 0
 Rest_req               0
+Rhythmic_head  0
 Rhythmic_req           0
 Score                  1
 Score_column           0
@@ -71,12 +82,15 @@ Score_performer             0
 Script_column          0
 Script_def             0
 Script_req             0
+Single_malt_grouping_item      0
 Slur                   0
+Spacer_rod             0
 Spacing_problem        0
 Spanner                        0
 Spring_spacer          0
 Staff                  0
 Staff_commands         0
+Staff_symbol           0
 Stem                   0
 Stem                   0
 Stem_req               0
@@ -86,22 +100,13 @@ Symtables          0
 Text_def               0
 Text_req               0
 Time_description       0
+Translation_property   0
+Translator             0
+Translator_group       0
 Voice                  0
 Voice_iterator         0
 Word_wrap              0
+
 delete_identifiers     0
 parse_duration         0
 parse_pitchmod         0
-Translator_group       0
-Translator             0
-Music_output_def       0
-Graphical_element      0
-Axis_group_administration      0
-Horizontal_align_item  0
-Single_malt_grouping_item      0
-Note_column    0
-Rhythmic_head  0
-Paper_column   0
-Paper_column   0
-Staff_symbol   0
-Column_rod     0
index 27248c9ad8793ac4e29d0a09372b13da4ecdc2cf..44f2d7792e401d9bd9029b852297a205f2f1d20d 100644 (file)
@@ -8,7 +8,7 @@ depth = ..
 # identify module:
 #
 NAME = Documentation
-SUBDIRS=man
+SUBDIRS=man tex
 
 #
 
@@ -22,13 +22,10 @@ include ./$(depth)/make/Docrules.make
 
 
 #
-DOCFILES = $(wildcard *.doc)
-OUTPODFILES = $(addprefix $(outdir)/,$(PODFILES))
-BIBFILES= $(wildcard *.bib)
 TEXTFILES = $(OUTPODFILES:.pod=.txt)
 GROFFFILES = $(OUTPODFILES:.pod=.1)
 HTMLFILES = $(OUTPODFILES:.pod=.html)
-DVIFILES = $(addprefix $(outdir)/, $(DOCFILES:.doc=.dvi))
+
 
 
 default: do-doc
@@ -41,15 +38,13 @@ giffiles=$(XPMS:.xpm=.gif)
 gifs: $(addprefix $(outdir)/, $(giffiles))
 
 
-EXTRA_DISTFILES = $(XPMS)  $(DOCFILES)  vocabulary-data vocabulary-forms.el fonts.tex automake.urgh $(BIBFILES)
+EXTRA_DISTFILES = $(XPMS)   vocabulary-data vocabulary-forms.el  automake.urgh
 
 # don't do DVI files. They can only be made if lily is installed
 do-doc: $(TEXTFILES)
 
 html: $(HTMLFILES)
 
-dvi: $(DVIFILES)
-
 # generic targets and rules:
 #
 include $(depth)/make/Targets.make
index 7fbc7480c0c6b2c9d76cfaa9f0a5e0e472e276d5..45089c039f0b2f54dc7f0fb3c2c472db528b23bf 100644 (file)
@@ -94,6 +94,20 @@ The Lily directory structure, which looks like:
 
 =back
        
+=head1 APPLYING PATCHES
+
+If you're following LilyPond development regularly, you probably want to
+download just the patch for each subsequent release.
+After downloading the patch (into the patches directory, of course), simply 
+apply it:
+
+    gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E
+
+and don't forget to make automatically generated files:
+
+    autoconf 1)
+    configure
+
 =head1 SYNCHRONISE
 
 If you're not very quick with sending your patch, there's a good chance
@@ -104,10 +118,15 @@ Your best bet is to download the latest release, and apply your patch
 against this new source tree:
 
     cd lilypond-0.1.49
-    zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+    gzip -dc ../patches/patch-0.1.48.jcn1.gz | patch -p1 -E
+    autoconf 1)
+    configure
 
 Then, make a patch as shown above.
 
+1) patches don't include automatically generated files, i.e. F<configure>
+   and files generated by F<configure>.
+
 =head1 MAINTAINER
 
 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
diff --git a/Documentation/colorado.bib b/Documentation/colorado.bib
deleted file mode 100644 (file)
index 2955972..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-%
-% from the University of Colorado Engraving page (by Alyssa Lamb)
-%
-
-@Book {
-author ={Jacob, Archibald},
-year={ 1947},
-title = {Musical handwriting : or, How to put music on paper : A handbook for all musicians, professional and amateur},
-address ={   London}
-publisher ={Oxford University Press}, 
-subject = { Musical notation},
-}
-
-@Book {
-author ={Brandt, Carl, and Roemer, Clinton},
-title = {Standardized Chord Symbol Notation},
-address={Sherman Oaks, CA}
-publisher={Roerick Music Co.}
-}
-
-@Book {
-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},
-}
-
-@Book {
-title = {Music Printing & Publishing},
-editedby={ Donald W. Krummel \& Stanley Sadie},
-author = {?}
-year = {1990},
-series={ The Norton/Grove Handbooks in Music.}
-publisher={W.W. Norton}
-}
-
-@Book {
-author={Foss, Hubert},
-title = {Music Printing},
-series = {Practical Printing and Binding},
-address={  London},
-publisher={  Oldhams Press Ltd., Long Acre.}
-}
-
-@Book {
-author = {Steele, Robert},
-year = {1903},
-title = {The Earliest English Music Printing},
-address={  London},
-}
-@Book {
-author={Austin, Ernest},
-title = {The Story of Music Printing},
-address={ London},
-publisher={Lowe and Brydone Printers, Ltd.}
-}
-
-}
-
-@Book {
-title = {Pictoral History of Music Printing},
-address={E;lhardt, Indiana}
-publisher={H. and A. Selmer, Inc.}
-}
-
-@Book {
-author = {Scholderer, Victor},
-year = {1963},
-title = {Johann Gutenberg},
-address={ London},
-publisher={  British Museum},
-}
-
-@Book{
-author = {Wintermitz, Emmanuel},
-year = {1955},
-title = {Musical Autographs from Monteverdi to Hindemith},
-address={Princeton}
-publisher={Princeton University Press},
-}
-
-@Book{
-author = {Wolf, Johannes},
-year = {1919},
-title = {Handbuch der Notationskunde},
-address={Leipzig},
-publisher={  Breitkopf & Hartel.} 
-}
-@Book{
-
-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}.
-}
-
-@Book{
-author={Chrsander, F.}
-year={18??}
-title={A Sketch of the HIstory of Music printing, from the 15th to the 16th century},
-}
-@Book{
-author = {Squire, W},
-year = {1897},
-title = {Notes on Early Music Printing},
-, title = {Bibliographica},
-, iii, 99.
-}
-
-@Book{
-author = {Meyer, K. and O'Meara, J},
-year = {1935},
-title = {The Printing of Music, 1473-1934},
-, title = {The Dolphin},
-, ii, p.171-207.
-
-@Book{
-author = {Pattison, B},
-year = {1939},
-title = {Notes on Early Music Printing},
-,title = {The Library},
-, 4th ver., xix, p.389-421. 
-}
-
-@Book{
-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).}
-}
-
-@Book{
-author = {King, H},
-year = {1964},
-title = {Four Hundred Years of Music Printing},
-London.
-}
-
-@Book{
-Gamble, W.  1923 (Rev. 1971).  title = {Music Engraving and Pinting, Historical And Technical Treatise},
-Londond.  
-
-Deutsch, O.F.  1946 (Rev.1961).  title = {Music Publishers' Numbers},
-London. 
-}
-
-@Book{
-author = {Marco, G.A},
-year = {1962},
-title = {The Earliest Music Printers of Continental Europe: a Checklist of Facsimiles Illustrating Their Work},
-Charlottesville, Virginia.
-}
-
-@Book{
-author = {Kinkeldey, O},
-year = {1932},
-title = {Music And Music Printing in Incunabula},
-, title = {Papers of the Bibliographical Society of America},
-, xxvi, p.89-118.
-}
-
-@Book{
-author = {Oldman, C.B},
-year = {1934},
-title = {Collecting Musical First Editions},
-London.
-Also in: Carter, J.  1934. title = {New Paths in Book Collecting},
-London.
-
-Krummel, D.W.  1958-9.    title = {Graphic Analysis in Application to Early American Engraved Music},
-, title = {Notes},
-, xvi, p.213.
-}
-
-@Book{
-author = {Krummel, D.W},
-year = {1971},
-title = {Oblong Format in Early Music Books},
-,  title = {The Library},
-, 5th ser., xxvi, p.312.
-}
-
-@Book{
-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{
-author = {Tappelot, Willy},
-year = {1947},
-title = {La Notation Musicale},
-Paris:  Neuchatel. 
-}
-
-@Book{
-author = {Williams, C.F. Abdy},
-year = {1903},
-title = {The Story of Notation},
-New York:  Charles Scribner's Sons.
-}
-
-@Book{
-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},
-}
-
-@Book{
-
-
-Berger, Anna Maria Busse. 1993.  title = {Mensuration and proportion signs : origins and evolution},
-Oxford, England: Clarendon Press; New York: Oxford University Press .
-}
-
-@Book{
-Parrish, Carl. 1957. title = {The notation of medieval music},
-New York : Norton.  
-subject = {Musical notation},
-
-
-}
-
-@Book{
-author = {Parrish, Carl},
-year = {1946},
-title = { The Notation of Medieval Music},
-New York: Carl Fischer, Inc.   
-}
-
-@Book{
-author = {Patch, Harry},
-year = {1949},
-title = { Genesis of a Music},
-Madison: University of Wisconsin Press.  
-}
-
-@Book{
-Cage, John. 1969.  title = {Notations},
-New York: Something Else Press.   
-subject = { Music, Manuscripts, Facsimiles},
-
-(Facsimiles of holographs from the Foundation for Contemporary Performance Arts, with text by 269 composers, but rearranged using   title = {chance operations.},
-) 
-}
-
-@Book{
-author = {Gaburo, Virginia},
-year = {1977},
-title = {Notation},
-publisher= {Lingua Press:  La Jolla, California}. 
-subject = { A Lecture about notation, new ideas about},
-
-
-}
-
-@Book{
-author = {Risatti, Howard},
-year = {1975},
-title = {New Music Vocabulary},
-Urbana, Illinois: University of Illinois Press.  
-subject = { A Guide to Notational Signs for Contemporary Music},
-
-
-}
-
-@Book{
-author = {Boehm, Laszlo},
-year = {1961},
-Modern Music Notation.  New York: G. Schirmer, Inc.  
-}
-
-@Book{
-author = {Cowell, Henry},
-year = {1930},
-title = {New Musical Resources},
-New York: Alfred A. Knopf, Inc. 
-
-author = {Cowell, Henry},
-year = {1927},
-title = {Our Inadequate Notation},
-,title = {Modern Music},
-, Vol. 4, No. 3.  
-}
-
-@Book{
-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.
-}
-
-@Book{
-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{
-
-author = {Monelle, Raymond},
-year = {1989},
-title = {Comparative Literature},
-v41, n3, Summer, p252(18)
-
-Music notation and the poetic foot.
-}
-
-@Book{
-author = {Pinegar, Sandra},
-year = {1993},
-title = {Current Musicology},
-n53, July, p99(10) 
-The seeds of notation and music paleography.
-
-author = {Smith, Norman E},
-year = {1990},
-title = {Current Musicology},
-n45-47, Jan-Dec, p283(22)
-
-The notation of fractio modi.
-}
-
-@Book{
-author = {Treitler, Leo},
-year = {1992},
-title = {The Journal of Musicology},
-v10, n2, Spring, p131(61)
-
-The   title = {unwritten},
-and   title = {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...
-}
-
-@Book{
-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... 
-
-}
-
-@Book{
-author = {Brown, Earle},
-year = {1986},
-title = {Musical Quarterly},
-v72, Spr, p180(22)
-
-The notation and performance of new music.
-}
-
-@Book{
-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},
-
-}
-
-@Book{
-
-author = {Fuller, David},
-year = {1989},
-title = {The Journal of Musicology},
-v7, n1, Wntr, p21(8)
-
-Notes and inegales unjoined: defending a definition. (written-out inequalities in music notation).        
-}
-
-@Book{
-
-author = {Jones, David Evan},
-year = {1990},
-title = {Perspectives of New Music},
-
-
-Speech extrapolated. (includes notation)
-
-}
-
-@Book{
-
-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) 
-
-}
-
-@Book{
-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).
-}
-
-@Book{
-<UL>
-Francois, Jean-Charles.title = {Perspectives of New Music},
-v30, n1, Wntr, p6(15)
-
-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{
-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) 
-
diff --git a/Documentation/engraving.bib b/Documentation/engraving.bib
deleted file mode 100644 (file)
index ad34b6a..0000000
+++ /dev/null
@@ -1,561 +0,0 @@
-@Book{rastall,
-  author =      {Richard Rastall},
-  ALTeditor =   {},
-  title =       {The Notation of Western Music: an
-  Introduction},
-  publisher =   {J. M. Dent \6& 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 =      {},
-}
-
-@Book{ross,
-  author =      {Ted Ross},
-  title =       {Teach yourself the art of music engraving and processing},
-  publisher =   {Hansen House},
-  year =        {1987},
-  key =         {},
-  volume =      {},
-  number =      {},
-  series =      {},
-  address =     {},
-  edition =     {},
-  month =       {},
-  comment =     {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},
-  annote =      {},
-}
-
-@Article{blostein94,
-  author =      {Dorothea Blostein and Lippold Haken},
-  title =       {The Lime Music Editor: A Diagram Editor Involving Complex
-  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},
-}
-
-
-
-@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},
-  year =  {1988},
-  title = {Musiknotation --- Von der Syntax des Notenstichs zum EDV-gesteuerten Notensatz},
-  author = {Helene Wanske},
-  publisher = {Schott-Verlag},
-  address = {Mainz},
-  isbn = {ISBN 3-7957-2886-x},
-}
-
-
-
-
-@Book{,
-  ALTauthor =   {},
-  ALTeditor =   {},
-  title =       {},
-  publisher =   {},
-  year =        {},
-  key =         {},
-  volume =      {},
-  number =      {},
-  series =      {},
-  address =     {},
-  edition =     {},
-  month =       {},
-  note =        {},
-  annote =      {},
-}
-
-
-
-@Book {,
-  year =  {1993},
-  title = {Standard Music Notation Practice},
-  author = {Maxwell Weaner and Walter Boelke},
-  totalentry = {revised edition by Arnold Broido and Daniel Dorff.},
-  publisher = { Music Publisher's Association of the United States Inc},
-  address = {New York}
-}
-
-
-
-@Book {,
-  comment = {Sound (boring) review of the various hairy rhythmic notations used by avant-garde composers HWN},
-  year =  {1978},
-  title = {Modern Rhythmic Notation},
-  author = {Gardner Read},
-  publisher = {Indiana University Press},
-}
-
-
-@Book {,
-  comment = {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 {,
-  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
-  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},
-  year =  {1996},
-  title = {Standard music notation specifications for computer programming. },
-  month =  {December},
-  publisher = {MPA},
-}
-
-@TechReport{,
-  comment = {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},
-}
-
-
-
-@PhdThesis {,
-  year =  {1985},
-  title = {Music Notation by Computer},
-  author = {Donald Byrd},
-  institution = {Dissertation Indiana University},
-}
-
-
-@Article {,
-  year =  {1974},
-  title = {A System for Music Printing by Computer},
-  author = {Donald Byrd},
-  journal = {Computers and the Humanities},
-  volume ={ 8},
-  pages ={161-72},
-}
-
-
-@Book {,
-  comment = {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},
-  totalentry = {Journal of Music Theory},
-  volume={ 17},
-  pages ={292-309},
-}
-
-
-@PhdThesis {,
-  year =  {1975},
-  title = {A Computer-Oriented System for Music Printing},
-  author = {David A Gomberg},
-  school = {Washington University},
-}
-
-
-@Book {,
-  comment = {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},
-  totalentry = {Menlo Park, CA: Center for Computer Assisted Research in the Humanities},
-}
-
-
-@Book {,
-  title = {A Computer-oriented System for Music Printing},
-  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},
-  year =  {1987},
-  title = {Spacing a Line of Music,},
-  author = {John S. Gourlay},
-  totalentry = {OSU-CISRC-10/87-TR35},
-  institution ={ Department of Computer and Information Science, The Ohio State University},
-}
-
-
-@TechReport {,
-  comment = {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},
-  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},
-  year =  {1987},
-  title = {Computer Formatting of Music,},
-  author = {John S. Gourlay, A. Parrish, D. Roush, F. Sola, 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},
-  year =  {1987},
-  title = {On the Implementation of the MusiCopy Language Processor,},
-  author = {Wael A. Hegazy},
-  number = { OSU-CISRC-10/87-TR34},
-  institution={ Department of Computer and Information Science, The Ohio State University},
-}
-
-
-@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},
-  year =  {1987},
-  title = {Optimal line breaking in music},
-  author = {Wael A. Hegazy and John S. Gourlay},
-  totalentry = { OSU-CISRC-8/87-TR33},
-  institution={Department of Computer and Information Science, The Ohio State University, },
-}
-
-
-@TechReport {,
-  comment = {User manual of MusiCopy. Includes an impressive example piece.  HWN},
-  year =  {1987},
-  title = {Using MusiCopy},
-  author = {Dean K. Roush},
-  totalentry = { OSU-CISRC-18/87-TR31},
-  institution={ Department of Computer and Information Science, The Ohio State University},
-}
-
-
-@TechReport {,
-  comment = {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},
- institution={ Department of Computer and Information Science, The Ohio State University},
-}
-  totalentry = { OSU-CISRC-10/87-TR28},
-}
-
-
-@TechReport {,
-  comment = {Overview of a procedure for generating slurs HWN},
-  year =  {1987},
-  title = {Computer Design of Musical Slurs, Ties and Phrase Marks,},
-  author = {F. Sola},
-  institution={ Department of Computer and Information Science, The Ohio State University},
-  totalentry = { OSU-CISRC-10/87-TR32},
-}
-
-
-@TechReport {,
-  institution={ Department of Computer and Information Science, The Ohio State University},
-  comment = {Calculating beam slopes HWN},
-  year =  {1987},
-  title = {Design of Musical Beams,},
-  author = {F. Sola and D. Roush},
-  totalentry = { OSU-CISRC-10/87-TR30},
-}
-
-
-@Article {,
-  comment = {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},
-  journal = { Communications of the ACM},
-   volume= { 29 },
-  number ={5},
-  pages = {388--401},
-}
-
-
-
-
-@Article {,
-  comment = {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},
-  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},
-  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},
-  pages = {118-119},
-}
-
-@Article {,
-  comment = {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},
-}
-
-
-@Article {,
-  comment = {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},
-  journal = {Computer},
-  volume={ 29},
-  number={6},
-  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},
-  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},
-  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.)},
-}
-
-
-@Article {,
-  year =  {1993},
-  title = {Representation and manipulation of music documents in SceX},
-  author = {Miguel Filgueiras and Jos\'e Paulo Leal},
-  journal= { Electronic Publishing},
-  volume={ 6},
-  number={4}, pages = {507--518},
-
-}
-
-
-@Article {,
-  comment = {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, },
-  journal={ Software --- Practice and Experience, },
-  volume={ 17},
-  number={8}, pages = {485-502},
-
-}
-
-
-@Book {,
-  year =  {1996},
-  title = {Implementing a Symbolic Music Processing System},
-  author = {Miguel Filgueiras},
-  totalentry = {LIACC, Universidade do Porto, 1996; submitted},
-}
-
-@Book {,
-  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},
-  year =  {1996},
-  title = {Essential Dictionary of Music Notation},
-  author = {Tom Gerou and Linda Lusk},
-  publisher = {Alfred Publishing},
-  address ={Van Nuys CA},
-  isbn ={  ISBN 0-88284-768-6},
-}
-
-
-@Book {,
-  comment = {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},
-  publisher = {Doblinger},
-  isbn ={ ISBN 3-9000 035-96-2},
-}
-
-
-@Book {,
-  comment = {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},
-}
-
-
-
-
-@Book {,
-  year =  {1963},
-  author = {Anthony Donato},
-  title ={ Preparing Music Manuscript},
-  address ={ Englewood Cliffs, NJ},
-  publisher={Prentice-Hall},
-}
-
-
-@Book {,
-  year =  {1900},
-  title = {Uitgeven van muziek},
-  author = {Donemus},
-  publisher= {Donemus Amsterdam},
-}
-
-
-@Book {,
-  year =  {1987},
-  title = {The Norton Manual of Music Notation},
-  author = {George Heussenstamm},
-  address= { New York},
-  publisher={ Norton},
-}
-
-
-@Book {,
-  year =  {1972},
-  title = {Notation in New Music; a critical guide to interpretation and realisation},
-  author = {Erdhard Karkoshka},
-  translator={Ruth Koenig},
-  publisher={Praeger Publishers},
-  address={ New York},
-  note ={(Out of print)},
-}
-
-
-@Book {,
-  year =  {1973},
-  title = {The Art of Music Copying},
-  author = {Clinton Roemer},
-  publisher={ Roerick music co.},
-  address= { Sherman Oaks (CA)},
-}
-
-
-@Book {,
-  year =  {1979},
-  title = {Music Notation Primer},
-  author = {Glen Rosecrans},
-  publisher={Passantino},
-  address={New York},
-}
-
-
-@Book {,
-  year =  {1980},
-  title = {Music Notation in the Twentieth Century},
-  author = {Kurt Stone},
-  publisher= {Norton},
-  address={New York},
-  note ={(Out of print)},
-
-}
-
-
-@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},
-  year =  {1990},
-  title = {Unix music tools at Bellcore},
-  author = {Peter S. Langston},
-  journal={ Software --- Practice and Experience},
-  volume={20},
-  number={S1},
-  pages={47--61},
-}
-
-
-
-@URL {,
-  comment = {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},
-}
-
-
-@URL {,
-  comment = {Specs for NIFF, a comprehensive but binary (yuk) format for notation HWN},
-  year =  {1995},
-  title = {NIFF6a Notation Interchange File Format},
-  author = {Cindy Grande, },
-  publisher={Grande Software Inc.},
-  url={http://www.jtauber.com/music/encoding/niff/},
-}
-
-
-@URL {,
-  title = {SMDL, Standard Musical Description Language},
-  url={ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
-  note={ISO/IEC DIS 10743},
-}
index 9611c995d0d571a66023c1bf134166e17cef2a47..01ff8a6d8962c5a4b48fac9dce999bb824bc5a19 100644 (file)
@@ -26,6 +26,19 @@ forget to remove the stale F<bison.simple> as well.
 
 If the problem persists, then please mail me.
 
+Q: I upgraded by applying a patch, and now my configure/build breaks.
+
+A: Patches don't include automatically generated files, i.e. F<configure>
+   and files generated by F<configure>.  Regenerate them yourself:
+
+    autoconf
+    configure
+
+You might need to create some extra "out" directories.  Do this
+with
+
+       make outdirs
+
 Q: Some of your neat scripts fail, what directories do you use:
 
 A: [This only applies if you don't do C<make install>, and develop out
diff --git a/Documentation/fonts.tex b/Documentation/fonts.tex
deleted file mode 100644 (file)
index a9e1940..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-\documentclass{article}
-\def\kdots{,\ldots,}
-\title{Not the Font-En-Tja font}
-\author{HWN \& JCN} 
-\begin{document}
-\maketitle
-
-
-\section{Introduction}
-
-This document are some design notes of the Feta font.  Feta (not an
-abbreviation of Font-En-Tja) is a font of music symbols.  All MetaFont
-sources are original.  The symbols are modelled after various editions
-of music, notably
-\begin{itemize}
-\item B\"arenreiter
-\item Hofmeister
-\item Breitkopf
-\item Durand \& C'ie
-\end{itemize}
-
-The best references on Music engraving are Wanske\cite{wanske} and
-Ross\cite{ross} quite some of their insights were used.  Although it
-is a matter of taste, I'd say that B\"arenreiter has the finest
-typography of all.
-
-
-\section{Bezier curves for slurs}
-
-Objective:  slurs in music are curved objects designating that notes
-should fluently bound.  They are drawn as smooth curves, with their
-center thicker and the endings tapered.
-
-There are some variants: the simplest slur shape only has the width as
-parameter.  Then we give some suggestions for tuning the shapes.  The
-simple slur algorithm is used for drawing ties as well.
-
-
-
-\subsection{Simple slurs}
-
-Long slurs are flat, whereas short slurs look like small circle arcs.
-Details are given in Wanske\cite{ross} and Ross\cite{wanske}.  The
-shape of a slur can be given as a Bezier curve with four control
-points:
-
-\begin{eqnarray*}
-  B(t) &=& (1-t)^3c_1 +3(1-t)^2tc_2 + 3(1-t)t^2c_3 + t^3c_4.
-\end{eqnarray*}
-
-We will assume that the slur connects two notes of the same
-pitch.  Different slurs can be created by rotating the derived shape.
-We will also assume that the slur has a vertical axis of symmetry
-through its center.  The left point will be the origin.     So we have
-the following equations for the control points $c_1\kdots c_4$.
-
-\begin{eqnarray*}
-c_1&=& (0,0)\\
-c_2&=& (i, h)\\
-c_3&=& (b-i, h)\\
-c_4&=& (b, 0)
-\end{eqnarray*}
-
-The quantity $b$ is given, it is the width of the slur.  The
-conditions on the shape of the slur for small and large $b$ transform
-to
-\begin{eqnarray*}
- h \to h_{\infty} , &&\quad b \to \infty\\
- h \approx r_{0} b, &&\quad b \to 0.
-\end{eqnarray*}
-To tackle  this, we  will  assume that $h   = F(b)$, for  some kind of
-$F(\cdot)$.  One function that satisfies the above conditions is
-$$
-F(b) = h_{\infty} \frac{2}{\pi} \arctan \left( \frac{\pi r_0}{2
-h_{\infty}} b \right).
-$$
-
-For satisfying results we choose $h_{\infty} = 2\cdot \texttt{interline}$
-and $r_0 = \frac 13$.
-
-\subsection{Height correction}
-
-Aside from being a smooth curve, slurs should avoid crossing
-enclosed notes and their stems.
-
-An easy way to achieve this is to extend the slur's height,
-so that the slur will curve just above any disturbing notes.
-
-The parameter $i$ determines the flatness of the curve.  Satisfying
-results have been obtained with $i = h$.
-
-The formula can be generalised to allow for corrections in the shape, 
-\begin{eqnarray*}
-c_1&=& (0,0)\\
-c_2&=& (i', h')\\
-c_3&=& (b-i', h')\\
-c_4&=& (b, 0)
-\end{eqnarray*}
-Where
-$$
-i' = h(b) (1 + i_{corr}), \quad h' = h(b) (1 + h_{corr}).
-$$
-
-The default values for these corrections are $0$.  A $h_{corr}$ that is
-negative, makes the curve flatter in the center.  A $h_{corr}$ that is
-positive make the curve higher. 
-
-At every encompassed note's x position the difference $\delta _y$ 
-between the slur's height and the note is calculated.  The greatest 
-$\delta _y$ is used to calculate $h_{corr}$ is by lineair extrapolation.
-
-However, this simple method produces satisfactory results only for 
-small and symmetric disturbances.
-
-
-\subsection{Tangent method correction}
-
-A somewhat more elaborate\footnote{While staying in the realm 
-of emperic computer science} way of having a slur avoid 
-disturbing notes is by first defining the slur's ideal shape 
-and then using the height correction.  The ideal shape of a 
-slur can be guessed by calculating the tangents of the disturbing 
-notes:
-% a picture wouldn't hurt...
-\begin{eqnarray*}
-  y_{disturb,l} &=& \rm{rc}_l x\\
-  y_{disturb,r} &=& \rm{rc}_r + c_{3,x},
-\end{eqnarray*}
-where
-\begin{eqnarray*}
-  \rm{rc}_l &=& \frac{y_{disturb,l} - y_{encompass,1}}
-    {x_{disturb,l} - x_{encompass,1}}\dot x\\
-  \rm{rc}_r &=& \frac{y_{encompass,n} - y_{disturb,r}}
-    {x_{encompass,n} - x_{disturb,r}} \dot x + c_{3,x}.
-\end{eqnarray*}
-
-We assume that having the control points $c_2$ and $c_3$ located 
-on tangent$_1$ and tangent$_2$ resp. 
-% t: tangent
-\begin{eqnarray*}
-  y_{tangent,l} &=& \alpha \rm{rc}_l x\\
-  y_{tangent,r} &=& \alpha \rm{rc}_r + c_{3,x}.
-\end{eqnarray*}
-
-Beautiful slurs have rather strong curvature at the extreme
-control points.  That's why we'll have $\alpha > 1$.
-Satisfactory resulsts have been obtained with
-$$
-  \alpha \approx 2.4.
-$$
-
-The positions of control points $c_2$ and $c_3$ are obtained
-by solving with the height-line
-\begin{eqnarray*}
-  y_h &=& \rm{rc}_h + c_h.
-\end{eqnarray*}
-
-The top-line runs through the points disturb$_{left}$ and
-disturb$_{right}$.  In the case that 
-$$
-z_{disturb,l} = z_{disturb,r},
-$$
-we'll have 
-$$
-  \angle(y_{tangent,l},y_h) = \angle(y_{tangent,r},y_h).
-$$
-
-
-
-\section{Sizes}
-
-Traditional engraving uses a set of 9 standardised sizes for Staffs
-(running from 0 to 8).  
-
-We have tried to measure these (helped by a magnifying glass), and
-found the staffsizes in  table~\ref{fonts:staff-size}.  One should note that
-these are estimates, so I think there could be a measuring error of ~
-.5 pt.  Moreover [Ross] states that not all engravers use exactly
-those sizes.
-
-\begin{table}[h]
-  \begin{center}
-    \begin{tabular}{lll}
-Staffsize       &Numbers                &Name\\
-\hline\\
-26.2pt  &No. 0\\
-22.6pt  &No. 1          &Giant/English\\
-21.3pt  &No. 2          &Giant/English\\
-19.9pt  &No. 3          &Regular, Ordinary, Common\\
-19.1pt  &No. 4          &Peter\\
-17.1pt  &No. 5          &Large middle\\
-15.9pt  &No. 6          &Small middle\\
-13.7pt  &No. 7          &Cadenza\\
-11.1pt  &No. 8          &Pearl\\
-
-    \end{tabular}
-    \caption{Foo}
-    \label{fonts:staff-size}
-  \end{center}
-\end{table}
-
-Ross states that the dies (the stamps to make the symbols) come in
-12 different sizes.
-
-\bibliographystyle{plain}
-\bibliography{engraving}
-
-
-
-\end{document}
index 3470425b5b1f5335c3ef2eecb0dab0182ca4e095..cc2376a15e595b0e92a8505e4954f8f5c04fa929 100644 (file)
@@ -20,7 +20,7 @@ version this was.
 
 =over 4
 
-=item http://sca.uwaterloo.ca/~praetzel/lilypond/
+=item http://sca.uwaterloo.ca/lilypond/
 
 Eric Praetzel was kind enough to provide a mirror of both the website
 and the ftp site.  
@@ -131,7 +131,7 @@ The lilypond logo (medium size, format: .gif)
 
 =back
 
-=head2 Documentation: manpages, manuals
+=head2 Documentation: manuals
 
 
 =over 4
@@ -144,41 +144,6 @@ PS documents about LilyPond
 >
 
 
-=item *
-<a href=mi2mu.html
->
-manual page for mi2mu, the MIDI convertor.
-</a
->
-
-=item *
-<a href=lilypond.html
->
-The manual page
-</a
->
-
-=item *
-<a href=ly2dvi.html
->
-Easy titling for LilyPond
-</a
->
-
-=item *
-<a href=convert-mudela.html
->
-The mudela convertor: convert-mudela
-</a
->
-
-=item *
-<a href=mudela-book.html
->
-mudela in TeX: mudela-book
-</a
->
-
 =back
 
 =head2 The program
index 67d1357ae617eab4d5c041634086952dd5f57537..dd1319b14d7a78687e0aa35699d88e3ae6924006 100644 (file)
@@ -13,3 +13,5 @@ INSTALLATION_OUT_FILES=$(MANGROFF)
 INSTALLATION_DIR=$(mandir)/man$(SECTION)
 
 include $(depth)/make/Install_outfiles.make
+
+WWW: $(OUTPODFILES:.pod=.html)
diff --git a/Documentation/man/index.pod b/Documentation/man/index.pod
new file mode 100644 (file)
index 0000000..e633352
--- /dev/null
@@ -0,0 +1,50 @@
+=head1 NAME
+
+The Manuals of LilyPond -- the GNU Project music typesetter
+
+=head1 DESCRIPTION
+
+These are the manpages that document LilyPond.
+
+
+=head2 Documentation: manpages, manuals
+
+
+=over 4
+
+=item *
+<a href=mi2mu.html
+>
+manual page for mi2mu, the MIDI convertor.
+</a
+>
+
+=item *
+<a href=lilypond.html
+>
+The manual page
+</a
+>
+
+=item *
+<a href=ly2dvi.html
+>
+Easy titling for LilyPond
+</a
+>
+
+=item *
+<a href=convert-mudela.html
+>
+The mudela convertor: convert-mudela
+</a
+>
+
+=item *
+<a href=mudela-book.html
+>
+mudela in TeX: mudela-book
+</a
+>
+
+=back
diff --git a/Documentation/mudela.doc b/Documentation/mudela.doc
deleted file mode 100644 (file)
index 60d906a..0000000
+++ /dev/null
@@ -1,1166 +0,0 @@
-% -*-tex-*-
-
-% this document should be run through the mudela-book script after lilypond
-% has been installed.  The rules have been precooked into the
-% Documentation/Rules.make file; do 
-%
-%   make out/introduction.dvi
-%
-% or
-%
-%   mudela-book --outdir=out/ --outname=introduction.mudtex introduction.doc
-%   latex '\nonstopmode \input out/introduction.mudtex'
-
-% Hoi Tim, hier staan wat 'enge' commando's (die dingen met een '\'
-% zoals \documentclass en \def\mudela...).
-% Daar moet je je niets van aantrekken, ga gewoon naar Introduction
-% en begin te tiepen.
-
-\documentclass{report}
-\usepackage{a4wide}
-\title{Mudela}
-\author{Jan Nieuwenhuizen \& Han-Wen Nienhuys}
-\date{March 2, 1998}
-
-\def\file#1{\verb+#1+}
-
-% ugh: trick to get examples not generate par
-% these are for 16pt
-\def\mudelapaperlinewidth{-28.452756}%
-\def\mudelapaperindent{28.452756}%
-\def\mudelapaperrulethickness{0.400000}%
-\def\mudelapaperbarsize{16.000000}%
-\def\mudelapaperinterline{4.000000}%
-\def\mudelapapernotewidth{5.930000}%
-\def\mudelapaperwholewidth{8.640000}%
-\def\mudelapaperunitspace{22.000000}%
-\def\mudelapaperbasicspace{4.000000}%
-\def\mudelapapergeometric{0.000000}%
-\def\mudelapaperarithmetic_basicspace{2.000000}%
-\def\mudelapaperarithmetic_multiplier{4.800000}%
-\def\mudelapaperinterbeam{3.140000}%
-\def\mudelapapergourlay_energybound{100000.000000}%
-\def\mudelapapergourlay_maxmeasures{14.000000}%
-% huh?
-% \def\exampleheight{2\mudelapaperbarsize pt}
-\def\exampleheight{2cm}
-
-% ful of pars, needs the above
-\input lilyponddefs
-% generates par
-\musixsixteendefs
-\def\musixsixteendefs{}
-% generates par
-\turnOnPostScript%
-\def\turnOnPostScript{}
-% generates par
-\def\interscoreline{}
-% 
-
-\begin{document}
-\maketitle
-
-%\def\interexample{\hskip15mm$\Longrightarrow$\hskip15mm}
-%\def\interexample{\hbox to10mm{\hfill\hbox to0pt{\hss\vbox to\exampleheight{\vss$\Longrightarrow$\vss}\hss}\hfill}}
-\def\interexample{}
-\def\preexample{\par}
-\def\postexample{\par\medskip}
-
-\def\file#1{{\texttt{#1}}}
-\setcounter{secnumdepth}{-1}
-
-\chapter{A tutorial}
-
-\emph{\Large ***Under construction***}
-
-\section{Introduction}
-
-This chapter is a gentle introduction to using LilyPond to typeset
-simple music.
-
-LilyPond is a so called ``batch'' program.  This means, that you use a
-text editor (such as \texttt{emacs} or \texttt{vi}) to create an input
-file.  When you are done editing your input file, you save it, and you
-run LilyPond on the file.  If Lily finds any errors in your input file
-then she\footnote{ We're sure that if computer programs could have
-gender, LilyPond would be a female computer program.  So we will refer
-to the program as a she. This gender-bending is not to tease you, dear
-reader.  We do it in real life as well. In the past two years LilyPond
-has become sort of a baby daughter to us, keeping us awake at night,
-but also providing us lots of joy.  We hope you do not mind our little
-aberration from computer-manual tradition.
-% 
-% The name LilyPond is actually sort of a girl's name.  Can you guess which
-% one ?
-%
-} will complain.  If everything is well, than she'll generate a file, that
-you can process further to view or print.
-
-Using LilyPond to print or view some music is a procedure with four
-steps.  To get you started we'll run down the full procedure for you
-once.
-
-\begin{enumerate}
-\item
-Fire up your favourite editor (if you know none, try \texttt{joe silly.ly}),
-and key in the following text:
-\begin{verbatim}
-\score {
-        <
-        \type Staff = aStaff \melodic { g'2 e'4 }
-        \type Lyrics = yell \lyric { Air2 ball!4 }
-        >
-        \paper {}
-}
-\end{verbatim}
-
-Save your file as \file{silly.ly}.
-
-%The input files for LilyPond have the default extension \file{.ly}.
-
-\item
-Run LilyPond on your newly created file: enter \verb+lilypond silly+.
-LilyPond will then print all kinds of mumbo jumbo that can safely be
-ignored.  You might see something like this:
-\begin{verbatim}
-GNU LilyPond 0.1.55/FlowerLib 1.1.39
-Parsing ... [/home/hanwen/musix/spacer/init/lily-init.ly[/home/hanwen/
-
-        ... stuff left out here ...
-
-                                Documentation/silly.ly]
-Interpreting music ...[1] (time: 0.04 seconds)
-Preprocessing elements... 
-Calculating column positions ... [2]
-Approximated: 1 lines, (with an average of 4.0 columns)
-Time: 0.01 seconds
-warning: Can not solve this casting problem exactly; revert to Word_wrap
-[2]Time: 0.00 seconds
-
-Postprocessing elements...
-TeX output to silly.tex ...
-\end{verbatim}
-All has gone well; there were some warning but no errors.  The output
-is a TeX file, and it is called \file{silly.tex}.  \file{TeX} is
-usually spelled as \TeX.  It is batch program for typesetting text,
-developed by the great programmer and scientist Donald Knuth to
-typeset his famous The Art of Computer Programming bookseries.  As you
-can see \TeX\ can be adapted to do a lot more.  In fact, the document
-that you are reading now was also done with \TeX.
-\item
-  To do something useful with the output you have to run \TeX\ on it
-  first.  Run the command \verb+tex silly+.  The output should resemble this:
-\begin{verbatim}
-This is TeX, Version 3.14159 (C version 6.1)
-(silly.tex
-Babel <v3.6h> and hyphenation patterns for american, dutch, loaded.
-(/home/hanwen/lib/texmf/tex/lilypond/lilyponddefs.tex
-(/home/hanwen/lib/texmf/tex/lilypond/dyndefs.tex)
-(/home/hanwen/lib/texmf/tex/lilypond/fetdefs.tex
-(/home/hanwen/lib/texmf/tex/lilypond/feta20.tex)
-(/home/hanwen/lib/texmf/tex/lilypond/lily-ps-defs.tex))) [1] )
-Output written on silly.dvi (1 page, 3084 bytes).
-Transcript written on silly.log.
-\end{verbatim}
-  The human translation is ``everything went OK, the result is one
-  page long, and I put it in \file{silly.dvi}.''
-
-\item The \file{silly.dvi} file is a description of how a piece of
-text looks when it is printed.  You can view it, or print it.  If you
-are using a Unix system equipped with X-Windows, then you can issue
-the command \file{xdvi silly} to view the result.  If this is not the
-case, consult your local \TeX\ guru on printing and viewing DVI files.
-What is in your window should look like this:
-\begin{mudela}
-\score {
-        <
-        \type Staff = aStaff \melodic { g'2 e'4 }
-        \type Lyrics = yell \lyric { Air2 ball!4 }
-        >
-}
-\end{mudela}
-\end{enumerate}
-
-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,
-special words and punctation.  The remainder of this document explains
-how to combine these elements to express a piece of music in the
-language that LilyPond understands.  In other words, we try to explain
-how to use LilyPond, and not how LilyPond works.  For want of a better
-name we call this language Mudela (short for Music Description
-Language).
-
-This document does not cover all of Mudela.  Due to technical details,
-the precise working of Mudela is coupled to the innards of LilyPond.
-If you really want to know all the details, your best bet would be to
-get the sources to LilyPond and read the parser and scanner source.
-They are in \file{lilypond-x.y.z/lily/parser.y},
-\file{lilypond-x.y.z/lily/lexer.l\footnote{Of course, it would be even
-better if you would improve LilyPond and send the resulting diffs to
-us.  But that would a really different ballpark (And we haven't
-started with the programming guide yet.)}
-
-In the following sections the basic elements of Mudela are presented.
-We don't want to bore you too much with details, so we will leave-out
-some red tape that's needed for a valid piece of Mudela: to be
-precise, we will write \verb+X Y Z+, when we really mean
-\begin{verbatim}
-\score {
-        \melodic { X Y Z }
-        \paper {}
-}
-\end{verbatim}
-Usually, we will also print the resulting fragment of music on the
-right just as it was produced by LilyPond.  
-
-For the remainder we will assume that you can carry out steps 1 to 4
-from the above instruction.  We will also assume that you know how
-music notation works.  If you are not familiar with the English terms
-for music notation, then you should consult XXXX [FIXME], it contains
-a glossary of musical terms.
-
-\section{Music copying versus music definition}
-
-If you have done music copying before, then using LilyPond may seem
-awkward to you in the beginning.  The purpose of LilyPond is informally
-explained by the term ``music typesetter.''
-
-This may give the impression that the program is like a drawing tool
-that lets you control precisely how the music is formatted.  This is
-not the case: not only does the program print musical symbols,
-LilyPond also tries to make esthetic decisions---to be precise, we
-programmed her to do what we find pretty.  You do not have complete
-control over what is happening.  On the other hand, good engraving is
-a very complex trade, so it is a Good Thing that you do not have to
-worry about what is happening.
-
-Secondly, LilyPond operates on musical definitions.  This really is
-something different from graphical definitions.  If you copy music by
-hand from a printed score, you don't have to know what the score
-means; you just copy the symbols.  With LilyPond such a thing is not
-possible: we expect you to enter the meaning of the score, not the
-score itself.  If put more concretely: you do not enter ``black
-notehead without flag, fourth staff line'', but ``a quarter note,
-pitch d$^2$''.  LilyPond will figure out from the musical info what
-kind of graphic presentation is needed.
-
-This has some drawbacks: most notably, it is difficult to enter sheet
-music that you cannot read.  On the other hand, any piece of music
-once entered can be played and transposed automatically.
-
-
-\section{When you know the notes to print\ldots}
-
-The basic building block of music is the note.  You can have LilyPond
-print a note by specifying its pitch and the duration.  The pitch of
-the central C, also known as c$^1$, is written as \verb+c'+.  A quarter
-note duration is written as \verb+4+.  So, to print quarter note with
-central C pitch, you enter the following
-\begin[fragment,verbatim,center]{mudela}
-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+.
-
-For example,
-\begin[fragment,verbatim]{mudela}
-  c'4 d'4 e'4 c'4 c''4 d''4 e''4 f''4 g''4 a''4 b''4 c'''4
-\end{mudela}
-
-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[fragment,verbatim]{mudela}
-'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
-\end{mudela}
-
-This gives us already enough material to make simple songs:
-\begin[fragment,verbatim]{mudela}
-        c''4 d''4 e''4 c''4
-        e''4 f''4 g''2
-        g''8 a''8 g''8 f''8 e''4 c''4
-        c''4 g'4 c''2
-\end{mudela}
-
-There is only one part about pitches that we haven't told you:
-chromatically altered pitches.  The names ``a'' to ``g'' for typing
-pitches are convenient: they are short, pronounceable and they
-resemble the normal vocabulary for pitches.
-
-Enter flats and sharps.  In English there is no standard terse word
-for C sharp or C flat.  For this reason, we implemented a different,
-non-english convention for entering altered pitches, see
-table~\ref{notename-tab}: one makes a note sharp by adding the suffix
-``--is'' to the name, one makes the a note flat by adding the suffix
-``--es.''  For a double sharp you simply add another ``--is'' suffix,
-flats ditto.
-
-
-\begin{table}[h]
-  \begin{center}
-    \caption{Defaults note names}\label{notename-tab}
-    \begin{tabular}{ll}
-      english         &LilyPond\\
-      \hline\\
-      c double flat   &ceses\\
-      c flat          &ces\\
-      c natural       &c\\
-      c sharp         &cis\\
-      c double sharp  &cisis\\
-    \end{tabular}
-    
-  \end{center}
-\end{table}
-
-Variations on this convention are used in a number of germanic
-languages, notably Dutch, German, Swedish, and Norwegian.  To be
-precise, LilyPond actually defaults to dutch notenames, with aes,
-aeses, ees and eeses added for consistency.
-
-If you are not comfortable with these names, you can make your own
-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{Handy input}
-
-% \subsection{Durations}
-
-However, having only quarter notes may get a bit dull.
-Durations are entered as their reciproce values
-% a1 a2 a4 a a8 a a16 a a32 a a64 a a a a
-\begin[fragment,verbatim,center]{mudela}
-a1 a2 a4 a a8 a a16 a32 a64
-\end{mudela}
-note that you only have to specify
-the duration when it changes:
-Lily assumes a note has the same duration as the previous one.
-
-Now we can already write a little tune
-\begin[fragment,verbatim,center]{mudela}
-c d e c | c d e c | e f g2
-\end{mudela}
-As you'll probably have guessed,
-the vertical bar (pipe) \verb+|+ may be used to mark
-measures.
-
-In the scale shown above
-we left-out the last c note of the next octave.
-Postfixing the pitch with a quote \verb+'+
-produces a note by one octave higher
-\begin[fragment,verbatim,center]{mudela}
-c c' c''
-\end{mudela}
-
-Prefixing the pitch with a quote \verb+'+
-produces a note by one octave lower
-\begin[fragment,verbatim,center]{mudela}
-a 'a ''a
-\end{mudela}
-
-\section{Slurs and Ties}
-
-A tie connects two adjacent noteheads
-
-\begin[fragment,verbatim,center]{mudela}
-e' ~ e
-\end{mudela}
-
-Whereas a slur rather connects `chords', 
-and tries to avoid crossing stems
-
-\begin[fragment,verbatim,center]{mudela}
-e'( )e
-\end{mudela}
-
-And of course, such a (legato) slur can span several notes
-\begin[fragment,verbatim,center]{mudela}
-c( d e )f
-\end{mudela}
-
-\section{Beams and Plets}
-
-A beam is 
-\begin[fragment,verbatim,center]{mudela}
-[a8 a] [a16 a a a]
-\end{mudela}
-
-Here's a beamed triplet
-\begin[fragment,verbatim,center]{mudela}
-[/3 a8 a a]/1
-\end{mudela}
-
-a triplet without a beam
-\begin[fragment,verbatim,center]{mudela}
-\[/3 a4 a8\]
-\end{mudela}
-
-and a combination
-\begin[fragment,verbatim,center]{mudela}
-[/3 a8 a16 a] a8 \]
-\end{mudela}
-
-Abbreviations
-\begin[fragment,verbatim,center]{mudela}
-c1:16 [:16 e1 g]
-\end{mudela}
-
-\begin[fragment,verbatim,center]{mudela}
-c4:32 [:16 c8 d8]
-\end{mudela}
-
-\section{Notenames}
-
-Lily has predefined sets of notenames
-for various languages%
-\footnote{These are Dutch, English, German, Italian and Swedish.
-Simply include the language specific init file \file{<language.ly>}.}.
-The default set are the ones we like best are the Dutch notenames.
-
-A sharp is formed by adding \verb+is+
-\begin[fragment,verbatim,center]{mudela}
-cis dis eis fis gis ais bis
-\end{mudela}
-
-and a flat is formed by adding \verb+es+%
-%\footnote{Exceptions: \verb+es+ and \verb+as+.}
-\footnote{Exceptions: {\tt es} and {\tt as}.}
-\begin[fragment,verbatim,center]{mudela}
-ces des es fes ges as bes
-\end{mudela}
-
-With the obvious names for double sharps
-\begin[fragment,verbatim,center]{mudela}
-cisis disis eisis fisis gisis aisis bisis
-\end{mudela}
-
-and double flats
-\begin[fragment,verbatim,center]{mudela}
-ceses deses eses feses geses ases beses
-\end{mudela}
-See why we like-em?
-
-There are two special `notenames', the rest
-\begin[fragment,verbatim,center]{mudela}
-r16 [a a a]
-\end{mudela}
-
-and the space
-\begin[fragment,verbatim,center]{mudela}
-a2 s-"diminuendo" | a
-\end{mudela}
-
-
-\section{Commands}
-
-\begin[fragment,verbatim,center]{mudela}
-\clef "bass"; 'c
-\end{mudela}
-
-and a clef-change
-\begin[fragment,verbatim,center]{mudela}
-\clef "violin"; f' e' \clef "alto"; d' c'
-\end{mudela}
-
-\begin[fragment,verbatim,center]{mudela}
-\meter 3/4; c g g |
-\end{mudela}
-
-\begin[fragment,verbatim,center]{mudela}
-\key fis cis;
-'g 'a 'b cis d e fis g'
-\end{mudela}
-Note how Mudela allows you to 
-convey a musical message
-rather than forces you to produce a list of typesetting commands.
-If the music a \verb+cis+, you type a \verb+cis+.
-Depending on the key and context of the note
-Lily will determine what accidentals to typeset.
-
-A reminder accidental can be forced by
-using an exclamation mark \verb+!+
-on a pitch a reminder accidental
-\begin[fragment,verbatim,center]{mudela}
-cis d e cis | c! d e c |
-\end{mudela}
-
-\begin[fragment,verbatim,center]{mudela}
-\meter 2/4;
-\bar "|:"; c c \bar ":|:"; c c \bar ":|"; c c \bar "|."; 
-\end{mudela}
-
-\section{Chords and Voices}
-
-Here's a simple chord
-\begin[fragment,verbatim,center]{mudela}
-<c e g>
-\end{mudela}
-
-here are a few
-\begin[fragment,verbatim,center]{mudela}
-<
-        { c()d()c }
-        { e()f()e }
-        { g()a()g }
->
-\end{mudela}
-
-and similarly voices
-\begin[fragment,verbatim,center]{mudela}
-<
-        { \voiceone c g c g }
-        { \voicetwo 'c2 'g2 }
->
-\end{mudela}
-
-
-\section{A complete example}
-%\label{se:complete}
-
-A Mudela file needs some red tape
-
-\begin[verbatim,center]{mudela}
-\score{
-        \melodic {
-                \octave c';
-                c d e c |
-                c d e c |
-                e f g2 |
-        }
-}
-\end{mudela}
-
-\section{Lyrics}
-
-\begin[verbatim,center]{mudela}
-\score{
-        < 
-                \melodic{ 
-                        \octave c'; 
-                        c d e c | c d e c |
-                        e f g2 | e4 f g2
-                        \bar "|.";
-                }
-                \type Lyrics \lyric{ 
-                        Fr\`e-4 re Ja- que
-                        Fr\`e- re Ja- que
-                        Dor- mez vous?2
-                        Dor-4 mez vous?2
-                }
-        >
-}
-\end{mudela}
-
-\section{Variables}
-
-
-\section{Ly2dvi}
-Check-out this handy little script 
-that not only may save you quite some keystrokes,
-but produces titles and takes care of
-margins and (hopefully) papersizes.
-See \file{ly2dvi (1)}.
-
-\chapter{Input format reference}
-
-October 8, 1997
-
-This document describes the the GNU LilyPond input format, which is an
-effective language for defining music.  We call this language (rather
-arrogantly) The Musical Definition Language or Mudela, for
-short.\footnote{If anybody comes up with a better name, we'd gladly
-  take this. Gourlay already uses Musical Description Language,
-  G-Sharp Score Definition Language.  ISO standard 10743 defines a
-  Standard Music Description Language.  We're not being original here}
-
-The first aim of Mudela is to define a piece of music, being complete
-from both from a musical typesetting, as from a musical performing
-point of view.
-
-The Musical Definition Language (Mudela), has a logical structure,
-making use of identifiers, that allows for flexible input, and
-definition reuse. See \file{MANIFESTO} for reasons and design considerations.
-
-The below included for explanatory purposes only (i.e., for a complete
-and up-to-date definition, see \file{lily/parser.y} and
-\file{lily/lexer.l}):
-
-As a related note, you should take a look at the examples and the init
-files, as this document does not cover every aspect of mudela yet, and
-may be out of date.\footnote{Ok, I am being pessimistic here.  This
-  just is a disclaimer.  Docs usually are written after the program
-  itself.}  This document intends to give an idea of how it works, it
-is not a guide on how to use it.  
-
-
-\section{Basic elements}
-
-\subsection{Files}
-
-The de-facto extension of Mudela is \file{.ly}. Files may be included by
-entering \verb+\include+ at the start of a line:
-
-\begin{verbatim}
-\include "a_file.ly"
-\end{verbatim}
-
-
-\subsection{Comments}
-
-Line comments are introduced by a
-\verb+%+. 
-Block comments are delimited
-by 
-\verb+%{+ 
-and
-\verb+%}+. 
-They do not nest.
-
-\subsection{Versions}
-
-Occasionally, small changes in syntax across different versions of
-Mudela might give syntax errors. To warn you about possible
-incompatibilities, you can specify the Mudela version for which the
-inputfile was written,
-\begin{verbatim}
-\version "0.0.50";
-\end{verbatim}
-
-A perl-script which tries to convert to newer versions
-(\file{convert-mudela}) is included in the LilyPond distribution.
-
-\subsection{Words}
-
-Keywords are preceded by a backslash: \verb+\+. They contain
-alphabetic characters only.
-
-Identifiers in their normal form consist start with a backslash, a
-alpha character, followed by alpha-numerics. Identifiers can contain
-any characters (except whitespace, 
- and \verb+%+), if you use this construct:
-
-\begin{verbatim}
-\$i'm_a_weird!!!identifier
-\end{verbatim}
-
-(which is the identifier with the name
-\verb+i'm_a_weird!!!identifier+).  \verb+$+ Takes any sequence of
-characters which are not whitespace, \verb+$+ and \verb+%+.
-\verb+$i'm_a_weird!!!string+
-\def\foobar{$} % silly fontlock mode 
-
-\subsection{Nesting characters}
-
-Mudela uses the brace (\verb+{+ and \verb+}+) for most hierarchical
-structures.  For chords the \verb+<+ and the \verb+>+ are used as
-nesting braces.
-
-\subsection{Constants}
-
-Please note that -.5 is not a Real.
-
-\begin{verbatim}
-"I am a string"
--1.2e3          % a real
-12              % an int
-\end{verbatim}
-
-        
-\subsection{Identifiers}
-
-When assigning identifiers you use
-
-\begin{verbatim}
-string = ...
-\end{verbatim}
-
-If you reuse identifiers, then the previous contents will be thrown
-away after the right hand is evaluated, eg
-\begin{verbatim}
-bla = \melodic { \bla }
-\end{verbatim}
-is legal
-
-When using identifiers they have to be escaped:
-
-\begin{verbatim}
-oboe = \melodic { ... }
-\score{ \melodic { \oboe }}
-\end{verbatim}
-
-The left-hand part of the assignment is really a string, so 
-\begin{verbatim}
-"Foo bar 4 2 " = \melodic { .. }
-\end{verbatim}
-
-is also a valid assignment (but you would have trouble referencing to it)
-
-
-\subsection{Hierarchical structures}
-
-The general structure consists of declarations:
-\begin{verbatim}
-IDENTIFIER = \TYPE{
-        <type specific data>
-}
-\end{verbatim}
-and instantiations:
-
-\begin{verbatim}
-\TYPE{ <type specific data> }
-\end{verbatim}
-
-(Currently, \verb+\score+ is the only type that can be instantiated
-at top level. Currently declarations can only be done at top level)
-
-Most instantiations that use an IDENTIFIER are specified as follows:
-
-\begin{verbatim}
-\TYPE{ IDENTIFIER [...] }
-\end{verbatim}
-
-Some exceptions on this rule have been made to prevent inputting
-Mudela becoming tedious
-
-
-\subsection{Modes:}
-
-To simplify different aspects of music definition (entering the notes
-and manipulating them) Mudela has a number of different input "modes":
-
-\begin{description}
-
-
-\item[Normal mode]
-
-At the start of parsing, Mudela assumes normal mode.
-In Normal mode, a word is looked up in the following order:
-\begin{description}
-\item{\verb+word+}    string
-\item{\verb|"string"|} string
-\item{\verb|\word|} keyword, identifier
-\end{description}
-In normal mode, a word is assumed to start with an alphabetic
-character, followed by alpha-numeric characters.
-
-\item[Note mode] Note mode is introduced by the keyword
-  \verb+\melodic+.  In Note mode, a word is looked up in the following
-  order:
-\begin{description}
-\item{\verb+word+} notename, string
-\item{\verb|"string"|} string
-\item{\verb|\word|} keyword, identifier
-\end{description}
-
-In Note mode a word is considered to have alphabetic characters only,
-so the underscore (\_) is illegal.  If you accidently mistype a
-notename, the parser will assume that you are entering a string (and
-it will most likely complain that you should be in \verb|\lyrics| mode to
-do lyrics)
-
-
-\item[Lyric mode] Lyrics mode (and thus Simple mudela) is introduced
-  by the keyword \verb+\lyrics+.  Because of the various control
-  characters that can appear in lyrics, eg, ``foreign language''
-  accents, the inputting a string containing these has been made very
-  easy.
-
-In Lyrics mode, a word is looked up in the following order:
-\begin{description}
-\item{\verb+word+}    string (thus a lyric)
-\item{\verb|"string"|} string
-\item{\verb|\word|} keyword, identifier
-\end{description}
-
-In Lyric mode every sequence of non-digit and non-white characters
-starting with an alphabetic character or the \_ is considered a word.
-
-\begin{verbatim}
-a&@&@&TSI|{[    % a word
-1THtrhortho     % not a "word"
-Leise Fl\"u\ss{}teren meine Sapfe       % 4 words
-_ _ _ _         % 4 words: 4 spaces
-\end{verbatim}
-\end{description}
-
-These modes are of a lexical nature. Normal and Note mode largely
-resemble each other, save the possibility of entering Reals, 
-meaning of \verb+_+ and the resolution of words
-
-\subsection{Notes}
-
-You enter a note by giving the name and the reciprocal of the duration:
-
-\begin[fragment,verbatim]{mudela}
-a'4     % Dutch names
-\end{mudela}
-
-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[fragment,verbatim]{mudela}
-        'a      % 110
-        a       % 220
-        A       % 110, uppercase octavates down
-        a'      % 440
-        a''     % 880
-        'as4.*2/3
-\end{mudela}
-
-The last one  is an A flat, (just below 110 Hz concert-pitch). The \verb+*2/3+
-signifies that this note is part of a triplet (3 in stead of 2). The
-duration is one and a half quarter note (\verb+4.+) times 2/3.
-
-Notenames are just a special kind of identifiers, and can be declared
-for any language appropriate (see \file{init/dutch.ly}).  The default language
-for notenames is defined to be Dutch. In Dutch, the notenames are
-a,b,c,d,e,f and g. Sharps are formed by adding the extension "is",
-flats by adding ``es''
-
-\begin{verbatim}
-% double sharp
-cisis disis eisis fisis gisis aisis bisis
-% sharps
-cis dis eis fis gis ais bis
-% naturals
-c d e f g a b 
-% flats
-ces des es fes ges as bes
-% double flats
-ceses deses eses feses geses ases beses
-\end{verbatim}
-
-Rests are named r or s
-\begin{verbatim}
-r       % print a rest
-s       % a "space" rest, nothing is printed.
-\end{verbatim}
-
-These notenames along with duration are enough material to construct
-simple melodies:
-
-\begin[verbatim,fragment]{mudela}
-\octave c';
-c4 c4 g4 g4 a4 a4 g2
-f4 f4 e4 e4 d4 d4 c2
-\end{mudela}
-
-Music is able to express more. generally speaking, the other
-'features' are either connected between notes (slurs, beams: spanning
-requests) or attached to notes (eg. accents). The former are
-implemented as START and STOP stop features and then attached to the note.
-
-\begin{description}
-\item{[ and ]}      start and stop a beam
-\item{( and )}      start and stop a slur
-\end{description}
-
-example: 
-\begin[verbatim,fragment]{mudela}
-  \octave c';
-  [c8 () d8 () e8  
-  e8(] [)g8 <c'8] e'8>              % NO nesting!
-  [2/3 c8 c8 c8]1/1       % a triplet
-\end{mudela}
-
-Please note that these two characters do \emph{not} necessarrily nest,
-they should be attached to the note.  For this reason, the construct
-\verb+[ <c4 c4>]+ will generate a parse error.
-  
-\subsection{Slurs and Ties}
-
-Ties connect the noteheads of adjacent notes. They are entered as follows:
-
-\begin[verbatim,fragment]{mudela}
-a'4 ~ a''4
-\end{mudela}
-
-Slurs connect whole chords, and try to avoid crossing stems. They are
-entered as follows:
-
-\begin[verbatim,fragment]{mudela}
-a'4(  )a''4
-\end{mudela}
-
-\subsection{Scripts}
-
-Symbols which can be put at either side (above or below) of a staff
-are entered as follows:
-\begin[verbatim,fragment]{mudela}
-        a-^     % marcato, direction: default
-        %a^-     % portato, direction: above note
-        a_.     % staccato, direction: below note
-        a^\fermata      % predefined identifier
-        c_"marcato"     % add a text
-        c^"marcato"
-        c-"marcato"
-\end{mudela}
-
-If you want to define your own scripts refer to \file{init/script.ly} for
-details.
-
-
-Dynamics can be put after the notename:
-\begin{verbatim}
-a4 \dynamic { 0 } % 0 = fff, 7 = ppp
-\end{verbatim}
-
-Mudela defines the following dynamic identifiers:
-
-\begin{verbatim}
-ppp pp p mp mf f ff fff sfz fz fp
-\end{verbatim}
-and the following abbreviations:
-\begin{verbatim}
-\<      %start crescendo
-\>      % start decrescendo
-\!      % end crescendo/decrescendo
-\end{verbatim}
-
-\subsection{Defaults}
-
-If omit the duration of a note, a default value is substituted. For
-this default value mudela uses the last duration explicitly entered.
-
-Thus the following inputs are  equivalent
-\begin{verbatim}
-c4 c4 c16 c16 c16 s16 c4 c16
-c4 c c16 c c c c4 c16
-\end{verbatim}
-
-If you are typing music which does not lie in the "small" and "large"
-octave, you can prevent having to type \verb+'+ all the time by using the
-\verb+\octave+ command: These two lines have the same pitch.
-\begin{verbatim}
-c'' d'' e'' c d e c d e
-\octave c''; c d e ''c ''d ''e \octave c; c d e
-\end{verbatim}
-
-By default the setting of \verb+\octave+ is 0.
-
-\subsection{Lyrics}
-
-Lyrics in Mudela resemble Simple mudela a lot, with notes substituted
-by text. 
-
-All syllables are entered separately, separated by whitespace 
-\begin{verbatim}
-Twin-4 kle4 twin-4 kle4 ... 
-\end{verbatim}
-
-Two syllables or words that compose a single
-duration entry are bound together using an underscore 
-\begin{verbatim}
-He_could4 not4
-\end{verbatim}
-
-\section{Composition: forming bigger structures}
-
-The previous examples tacitly assumed that a sequence of notes is
-printed in a left to right manner. This is not entirely correct, you
-will get the bigger picture in this section. 
-
-In mathematics you can form expressions by combining expressions,
-which are ultimately some kind of atom or terminal symbol.  The same
-goes for mudela: there are some basic building blocks, and by
-combining those you create complex music.
-
-You can combine music in three ways:
-\begin{itemize}
-\item If you enclose a sequence of music-elements in braces ( \verb+{+
-    and \verb+}+ ), then you form another kind of music called (Voice) with those pieces.
-  The duration of the Voice is the sum of the durations of its elements
-\begin{verbatim}
-{ c c g g a a g2 }      % twinkle twinkle
-{ { c c g g} { a a g2 } }
-\end{verbatim}
-\item You can stack music by enclosing a sequence of music elements
-  with \verb+<+ and \verb+>+. This is called a Chord.  The duration of a Chord is
-  the union of the durations of its elements Example:
-\begin{verbatim}
-<a4 {cis8 cis8} e'4>      % a-major chord
-\end{verbatim}
-\item 
-  You can form music by transposing music:
-\begin{verbatim}
-\transpose  
-                d       % from c to the d that's one octave down
-                { e4 f4 }       % the horizontal music
-\end{verbatim}
-\end{itemize}
-
-Of course you can also combine these three mechanisms.
-\begin{verbatim}
-{ c <c e> <c e g> <c e g \transpose d' dis > }  % 4 increasing chords
-\end{verbatim}
-
-The basic building block in Mudela is called Request. Examples of
-Requests are: Timing (such as Meter), Rhythmic, Melodic, Note (which is a combination of
-Rhythmic and Melodic), Musicscript (put an accent over a note or
-rest), etc.  For the actual up to date listing, you should consult the
-LilyPond source code: the Request types form a big class hierarchy.
-
-Normally you don't enter Requests directly, since that would be
-tedious.  Mudela has standard abbreviations for the most common
-combination of Requests. If you enter \verb+c4+, this is an
-abbreviation for:
-\begin{verbatim}
-Request_chord{
-  Note_req{
-    notename: 0 acc: 0 oct: -1
-    duration { 4}
-  }
-  Stem_req{
-    duration { 4}
-  }  
-}
-\end{verbatim}
-
-The \verb+Request_chord+ is a special kind of chord which only allows
-Requests as its elements.  The examples of the previous section were
-processed with \verb+{+ and \verb+}+ enclosing the input.
-
-\subsection{Durations}
-
-A duration always starts with the duration type (1,2,4 etc), and then
-any optional multipliers/dots.  Old fashioned durations can be entered
-as follows
-\begin{verbatim}
-'c\breve
-gis'\longa
-\end{verbatim}
-
-
-        
-\subsection{Meters/groupings}
-
-A meter has this form:
-\begin{verbatim}
-\meter 3/4 ;
-\end{verbatim}
-
-Rhythmic grouping is  a concept closely associated with this. For
-example, in a 5/8 meter, the counts are grouped 2+3. In mudela this is
-entered as
-\begin{verbatim}
-\grouping  8*2 8*3 ;
-\end{verbatim}
-You can start the piece with a partial measure, the command takes the
-same syntax as grouping: 
-\begin{verbatim}
-\partial 16*3 4;
-\end{verbatim}
-
-Make the piece start with a upstep [english translation?]
-lasting 1 3/4 quarter notes.
-
-These commands are also "voice elements", and constitute ``Music''
-(consisting of stuff with duration 0).
-
-
-\subsection{Voicegroups}
-
-
-[OUTDATED]
-
-If more than one "voice" is in a staff, then you have the option of
-putting the different voices into so called voicegroups: members of
-the same voicegroup share certain characteristics, among others:
-
-        - dynamics
-        - text
-        - beams and stems
-        - scripts
-
-For the actual list, see the init file \file{init/register.ly}
-
-Putting different musical lines in to the same voicegroup effectively
-makes LilyPond try to form chords of all those lines. Putting
-different musical lines in to different voicegroups effectively makes
-LilyPond try to set those lines as independently as possible. 
-
-[adsolete. Has to be fixed in lily]
-
-You can set the voicegroup of a voice with the command \verb+\group+, e.g.,
-
-\begin{verbatim}        
-        oboeI = \melodic { 
-                \group "oboes"; 
-                [e8 f8
-                \group "+solo";
-                [g16 a16 g16 fis16]
-                \group "-";
-                g8 f8
-        }
-        oboeII = \melodic { \group "oboes";
-                c8 d8]
-                e4
-                e8 d8
-        }
-        ///     ...
-
-        \staff { 
-                melodicregs \melodic{ oboeI }
-                \melodic { oboeII}
-}
-\end{verbatim}
-
-In this example, the two oboe voices share one staff and are initially
-in the voicegroup called "oboes". They will share beams, dynamics etc.
-After two quarter notes, oboeI "pushes" its group: a new voicegroup is
-created, called "oboes+solo". The \verb+\group "-"+ command makes the
-voice enter "oboes" again.
-
-Please do note that [] are voicegroup wide; the previous input is
-valid: the beam, started in oboeI, voicegroup "oboes" is also ended in
-voicegroup "oboes", albeit not in oboeI but oboeII
-
-This concept may seem contorted, but it allows you to set the separate
-oboe parts without changing the \verb+oboeI+ and \verb+oboeII+ (assuming that
-you edit the [] in the example.)
-
-The construct
-\begin{verbatim}
-< { .... } {......} >
-\end{verbatim}
-makes a chord (all horizontal parts are in the same voicegroup). The construct
-\begin{verbatim}
-\multi 2 < { ....} { .... } >
-\end{verbatim}
-creates horizontal parts which behave independently. You will have to
-set voicegroup features by hand (\verb+\stem+ and \verb+\hshift+. See examples)
-
-The construct
-\begin{verbatim}
-\multi 3 < { ....} { .... } >
-\end{verbatim}
-creates  a chord with each part in a different staff
-
-
-\subsection{Examples}
-
-Examples are included with the GNU LilyPond distribution. For the sake of
-maintenance no long examples are included in this document.
-
-
-\section{History}
-
-This language has a number of roots. First and foremost, GNU
-LilyPond's predecessor mpp was the inspiration of the Note-mode input.
-Secondly, the hierarchical structure looks a lot like Rayce's (Rayce
-is a raytracer that I've written as a hobby project. ), which in turn
-owes a lot to POVRay.
-
-Now, we know, musictypesetting and raytracing do not necessarily
-require the same input format, and we know that a lot more ways exist
-to convert music to ASCII, but we did give this language some
-thoughts. As always suggestions are appreciated.
-
-\end{document}
-
-
diff --git a/Documentation/tex/Makefile b/Documentation/tex/Makefile
new file mode 100644 (file)
index 0000000..8d2ea58
--- /dev/null
@@ -0,0 +1,15 @@
+
+depth=../..
+include ./$(depth)/make/Include.make 
+include ./$(depth)/make/Docrules.make
+#
+
+DOCFILES = $(wildcard *.doc)
+OUTDOCFILES = $(addprefix $(outdir)/, $(DOCFILES))
+BIBFILES= $(wildcard *.bib)
+EXTRA_DISTFILES= $(BIBFILES) $(DOCFILES)
+
+dvi: $(DVIFILES)
+
+local-WWW: $(OUTDOCFILES:.doc=.ps.gz)
+       ls-latex --extension .ps.gz $(DOCFILES) > $(outdir)/index.html
diff --git a/Documentation/tex/colorado.bib b/Documentation/tex/colorado.bib
new file mode 100644 (file)
index 0000000..2955972
--- /dev/null
@@ -0,0 +1,452 @@
+%
+% from the University of Colorado Engraving page (by Alyssa Lamb)
+%
+
+@Book {
+author ={Jacob, Archibald},
+year={ 1947},
+title = {Musical handwriting : or, How to put music on paper : A handbook for all musicians, professional and amateur},
+address ={   London}
+publisher ={Oxford University Press}, 
+subject = { Musical notation},
+}
+
+@Book {
+author ={Brandt, Carl, and Roemer, Clinton},
+title = {Standardized Chord Symbol Notation},
+address={Sherman Oaks, CA}
+publisher={Roerick Music Co.}
+}
+
+@Book {
+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},
+}
+
+@Book {
+title = {Music Printing & Publishing},
+editedby={ Donald W. Krummel \& Stanley Sadie},
+author = {?}
+year = {1990},
+series={ The Norton/Grove Handbooks in Music.}
+publisher={W.W. Norton}
+}
+
+@Book {
+author={Foss, Hubert},
+title = {Music Printing},
+series = {Practical Printing and Binding},
+address={  London},
+publisher={  Oldhams Press Ltd., Long Acre.}
+}
+
+@Book {
+author = {Steele, Robert},
+year = {1903},
+title = {The Earliest English Music Printing},
+address={  London},
+}
+@Book {
+author={Austin, Ernest},
+title = {The Story of Music Printing},
+address={ London},
+publisher={Lowe and Brydone Printers, Ltd.}
+}
+
+}
+
+@Book {
+title = {Pictoral History of Music Printing},
+address={E;lhardt, Indiana}
+publisher={H. and A. Selmer, Inc.}
+}
+
+@Book {
+author = {Scholderer, Victor},
+year = {1963},
+title = {Johann Gutenberg},
+address={ London},
+publisher={  British Museum},
+}
+
+@Book{
+author = {Wintermitz, Emmanuel},
+year = {1955},
+title = {Musical Autographs from Monteverdi to Hindemith},
+address={Princeton}
+publisher={Princeton University Press},
+}
+
+@Book{
+author = {Wolf, Johannes},
+year = {1919},
+title = {Handbuch der Notationskunde},
+address={Leipzig},
+publisher={  Breitkopf & Hartel.} 
+}
+@Book{
+
+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}.
+}
+
+@Book{
+author={Chrsander, F.}
+year={18??}
+title={A Sketch of the HIstory of Music printing, from the 15th to the 16th century},
+}
+@Book{
+author = {Squire, W},
+year = {1897},
+title = {Notes on Early Music Printing},
+, title = {Bibliographica},
+, iii, 99.
+}
+
+@Book{
+author = {Meyer, K. and O'Meara, J},
+year = {1935},
+title = {The Printing of Music, 1473-1934},
+, title = {The Dolphin},
+, ii, p.171-207.
+
+@Book{
+author = {Pattison, B},
+year = {1939},
+title = {Notes on Early Music Printing},
+,title = {The Library},
+, 4th ver., xix, p.389-421. 
+}
+
+@Book{
+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).}
+}
+
+@Book{
+author = {King, H},
+year = {1964},
+title = {Four Hundred Years of Music Printing},
+London.
+}
+
+@Book{
+Gamble, W.  1923 (Rev. 1971).  title = {Music Engraving and Pinting, Historical And Technical Treatise},
+Londond.  
+
+Deutsch, O.F.  1946 (Rev.1961).  title = {Music Publishers' Numbers},
+London. 
+}
+
+@Book{
+author = {Marco, G.A},
+year = {1962},
+title = {The Earliest Music Printers of Continental Europe: a Checklist of Facsimiles Illustrating Their Work},
+Charlottesville, Virginia.
+}
+
+@Book{
+author = {Kinkeldey, O},
+year = {1932},
+title = {Music And Music Printing in Incunabula},
+, title = {Papers of the Bibliographical Society of America},
+, xxvi, p.89-118.
+}
+
+@Book{
+author = {Oldman, C.B},
+year = {1934},
+title = {Collecting Musical First Editions},
+London.
+Also in: Carter, J.  1934. title = {New Paths in Book Collecting},
+London.
+
+Krummel, D.W.  1958-9.    title = {Graphic Analysis in Application to Early American Engraved Music},
+, title = {Notes},
+, xvi, p.213.
+}
+
+@Book{
+author = {Krummel, D.W},
+year = {1971},
+title = {Oblong Format in Early Music Books},
+,  title = {The Library},
+, 5th ser., xxvi, p.312.
+}
+
+@Book{
+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{
+author = {Tappelot, Willy},
+year = {1947},
+title = {La Notation Musicale},
+Paris:  Neuchatel. 
+}
+
+@Book{
+author = {Williams, C.F. Abdy},
+year = {1903},
+title = {The Story of Notation},
+New York:  Charles Scribner's Sons.
+}
+
+@Book{
+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},
+}
+
+@Book{
+
+
+Berger, Anna Maria Busse. 1993.  title = {Mensuration and proportion signs : origins and evolution},
+Oxford, England: Clarendon Press; New York: Oxford University Press .
+}
+
+@Book{
+Parrish, Carl. 1957. title = {The notation of medieval music},
+New York : Norton.  
+subject = {Musical notation},
+
+
+}
+
+@Book{
+author = {Parrish, Carl},
+year = {1946},
+title = { The Notation of Medieval Music},
+New York: Carl Fischer, Inc.   
+}
+
+@Book{
+author = {Patch, Harry},
+year = {1949},
+title = { Genesis of a Music},
+Madison: University of Wisconsin Press.  
+}
+
+@Book{
+Cage, John. 1969.  title = {Notations},
+New York: Something Else Press.   
+subject = { Music, Manuscripts, Facsimiles},
+
+(Facsimiles of holographs from the Foundation for Contemporary Performance Arts, with text by 269 composers, but rearranged using   title = {chance operations.},
+) 
+}
+
+@Book{
+author = {Gaburo, Virginia},
+year = {1977},
+title = {Notation},
+publisher= {Lingua Press:  La Jolla, California}. 
+subject = { A Lecture about notation, new ideas about},
+
+
+}
+
+@Book{
+author = {Risatti, Howard},
+year = {1975},
+title = {New Music Vocabulary},
+Urbana, Illinois: University of Illinois Press.  
+subject = { A Guide to Notational Signs for Contemporary Music},
+
+
+}
+
+@Book{
+author = {Boehm, Laszlo},
+year = {1961},
+Modern Music Notation.  New York: G. Schirmer, Inc.  
+}
+
+@Book{
+author = {Cowell, Henry},
+year = {1930},
+title = {New Musical Resources},
+New York: Alfred A. Knopf, Inc. 
+
+author = {Cowell, Henry},
+year = {1927},
+title = {Our Inadequate Notation},
+,title = {Modern Music},
+, Vol. 4, No. 3.  
+}
+
+@Book{
+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.
+}
+
+@Book{
+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{
+
+author = {Monelle, Raymond},
+year = {1989},
+title = {Comparative Literature},
+v41, n3, Summer, p252(18)
+
+Music notation and the poetic foot.
+}
+
+@Book{
+author = {Pinegar, Sandra},
+year = {1993},
+title = {Current Musicology},
+n53, July, p99(10) 
+The seeds of notation and music paleography.
+
+author = {Smith, Norman E},
+year = {1990},
+title = {Current Musicology},
+n45-47, Jan-Dec, p283(22)
+
+The notation of fractio modi.
+}
+
+@Book{
+author = {Treitler, Leo},
+year = {1992},
+title = {The Journal of Musicology},
+v10, n2, Spring, p131(61)
+
+The   title = {unwritten},
+and   title = {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...
+}
+
+@Book{
+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... 
+
+}
+
+@Book{
+author = {Brown, Earle},
+year = {1986},
+title = {Musical Quarterly},
+v72, Spr, p180(22)
+
+The notation and performance of new music.
+}
+
+@Book{
+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},
+
+}
+
+@Book{
+
+author = {Fuller, David},
+year = {1989},
+title = {The Journal of Musicology},
+v7, n1, Wntr, p21(8)
+
+Notes and inegales unjoined: defending a definition. (written-out inequalities in music notation).        
+}
+
+@Book{
+
+author = {Jones, David Evan},
+year = {1990},
+title = {Perspectives of New Music},
+
+
+Speech extrapolated. (includes notation)
+
+}
+
+@Book{
+
+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) 
+
+}
+
+@Book{
+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).
+}
+
+@Book{
+<UL>
+Francois, Jean-Charles.title = {Perspectives of New Music},
+v30, n1, Wntr, p6(15)
+
+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{
+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) 
+
diff --git a/Documentation/tex/engraving.bib b/Documentation/tex/engraving.bib
new file mode 100644 (file)
index 0000000..ad34b6a
--- /dev/null
@@ -0,0 +1,561 @@
+@Book{rastall,
+  author =      {Richard Rastall},
+  ALTeditor =   {},
+  title =       {The Notation of Western Music: an
+  Introduction},
+  publisher =   {J. M. Dent \6& 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 =      {},
+}
+
+@Book{ross,
+  author =      {Ted Ross},
+  title =       {Teach yourself the art of music engraving and processing},
+  publisher =   {Hansen House},
+  year =        {1987},
+  key =         {},
+  volume =      {},
+  number =      {},
+  series =      {},
+  address =     {},
+  edition =     {},
+  month =       {},
+  comment =     {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},
+  annote =      {},
+}
+
+@Article{blostein94,
+  author =      {Dorothea Blostein and Lippold Haken},
+  title =       {The Lime Music Editor: A Diagram Editor Involving Complex
+  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},
+}
+
+
+
+@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},
+  year =  {1988},
+  title = {Musiknotation --- Von der Syntax des Notenstichs zum EDV-gesteuerten Notensatz},
+  author = {Helene Wanske},
+  publisher = {Schott-Verlag},
+  address = {Mainz},
+  isbn = {ISBN 3-7957-2886-x},
+}
+
+
+
+
+@Book{,
+  ALTauthor =   {},
+  ALTeditor =   {},
+  title =       {},
+  publisher =   {},
+  year =        {},
+  key =         {},
+  volume =      {},
+  number =      {},
+  series =      {},
+  address =     {},
+  edition =     {},
+  month =       {},
+  note =        {},
+  annote =      {},
+}
+
+
+
+@Book {,
+  year =  {1993},
+  title = {Standard Music Notation Practice},
+  author = {Maxwell Weaner and Walter Boelke},
+  totalentry = {revised edition by Arnold Broido and Daniel Dorff.},
+  publisher = { Music Publisher's Association of the United States Inc},
+  address = {New York}
+}
+
+
+
+@Book {,
+  comment = {Sound (boring) review of the various hairy rhythmic notations used by avant-garde composers HWN},
+  year =  {1978},
+  title = {Modern Rhythmic Notation},
+  author = {Gardner Read},
+  publisher = {Indiana University Press},
+}
+
+
+@Book {,
+  comment = {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 {,
+  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
+  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},
+  year =  {1996},
+  title = {Standard music notation specifications for computer programming. },
+  month =  {December},
+  publisher = {MPA},
+}
+
+@TechReport{,
+  comment = {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},
+}
+
+
+
+@PhdThesis {,
+  year =  {1985},
+  title = {Music Notation by Computer},
+  author = {Donald Byrd},
+  institution = {Dissertation Indiana University},
+}
+
+
+@Article {,
+  year =  {1974},
+  title = {A System for Music Printing by Computer},
+  author = {Donald Byrd},
+  journal = {Computers and the Humanities},
+  volume ={ 8},
+  pages ={161-72},
+}
+
+
+@Book {,
+  comment = {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},
+  totalentry = {Journal of Music Theory},
+  volume={ 17},
+  pages ={292-309},
+}
+
+
+@PhdThesis {,
+  year =  {1975},
+  title = {A Computer-Oriented System for Music Printing},
+  author = {David A Gomberg},
+  school = {Washington University},
+}
+
+
+@Book {,
+  comment = {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},
+  totalentry = {Menlo Park, CA: Center for Computer Assisted Research in the Humanities},
+}
+
+
+@Book {,
+  title = {A Computer-oriented System for Music Printing},
+  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},
+  year =  {1987},
+  title = {Spacing a Line of Music,},
+  author = {John S. Gourlay},
+  totalentry = {OSU-CISRC-10/87-TR35},
+  institution ={ Department of Computer and Information Science, The Ohio State University},
+}
+
+
+@TechReport {,
+  comment = {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},
+  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},
+  year =  {1987},
+  title = {Computer Formatting of Music,},
+  author = {John S. Gourlay, A. Parrish, D. Roush, F. Sola, 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},
+  year =  {1987},
+  title = {On the Implementation of the MusiCopy Language Processor,},
+  author = {Wael A. Hegazy},
+  number = { OSU-CISRC-10/87-TR34},
+  institution={ Department of Computer and Information Science, The Ohio State University},
+}
+
+
+@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},
+  year =  {1987},
+  title = {Optimal line breaking in music},
+  author = {Wael A. Hegazy and John S. Gourlay},
+  totalentry = { OSU-CISRC-8/87-TR33},
+  institution={Department of Computer and Information Science, The Ohio State University, },
+}
+
+
+@TechReport {,
+  comment = {User manual of MusiCopy. Includes an impressive example piece.  HWN},
+  year =  {1987},
+  title = {Using MusiCopy},
+  author = {Dean K. Roush},
+  totalentry = { OSU-CISRC-18/87-TR31},
+  institution={ Department of Computer and Information Science, The Ohio State University},
+}
+
+
+@TechReport {,
+  comment = {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},
+ institution={ Department of Computer and Information Science, The Ohio State University},
+}
+  totalentry = { OSU-CISRC-10/87-TR28},
+}
+
+
+@TechReport {,
+  comment = {Overview of a procedure for generating slurs HWN},
+  year =  {1987},
+  title = {Computer Design of Musical Slurs, Ties and Phrase Marks,},
+  author = {F. Sola},
+  institution={ Department of Computer and Information Science, The Ohio State University},
+  totalentry = { OSU-CISRC-10/87-TR32},
+}
+
+
+@TechReport {,
+  institution={ Department of Computer and Information Science, The Ohio State University},
+  comment = {Calculating beam slopes HWN},
+  year =  {1987},
+  title = {Design of Musical Beams,},
+  author = {F. Sola and D. Roush},
+  totalentry = { OSU-CISRC-10/87-TR30},
+}
+
+
+@Article {,
+  comment = {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},
+  journal = { Communications of the ACM},
+   volume= { 29 },
+  number ={5},
+  pages = {388--401},
+}
+
+
+
+
+@Article {,
+  comment = {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},
+  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},
+  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},
+  pages = {118-119},
+}
+
+@Article {,
+  comment = {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},
+}
+
+
+@Article {,
+  comment = {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},
+  journal = {Computer},
+  volume={ 29},
+  number={6},
+  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},
+  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},
+  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.)},
+}
+
+
+@Article {,
+  year =  {1993},
+  title = {Representation and manipulation of music documents in SceX},
+  author = {Miguel Filgueiras and Jos\'e Paulo Leal},
+  journal= { Electronic Publishing},
+  volume={ 6},
+  number={4}, pages = {507--518},
+
+}
+
+
+@Article {,
+  comment = {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, },
+  journal={ Software --- Practice and Experience, },
+  volume={ 17},
+  number={8}, pages = {485-502},
+
+}
+
+
+@Book {,
+  year =  {1996},
+  title = {Implementing a Symbolic Music Processing System},
+  author = {Miguel Filgueiras},
+  totalentry = {LIACC, Universidade do Porto, 1996; submitted},
+}
+
+@Book {,
+  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},
+  year =  {1996},
+  title = {Essential Dictionary of Music Notation},
+  author = {Tom Gerou and Linda Lusk},
+  publisher = {Alfred Publishing},
+  address ={Van Nuys CA},
+  isbn ={  ISBN 0-88284-768-6},
+}
+
+
+@Book {,
+  comment = {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},
+  publisher = {Doblinger},
+  isbn ={ ISBN 3-9000 035-96-2},
+}
+
+
+@Book {,
+  comment = {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},
+}
+
+
+
+
+@Book {,
+  year =  {1963},
+  author = {Anthony Donato},
+  title ={ Preparing Music Manuscript},
+  address ={ Englewood Cliffs, NJ},
+  publisher={Prentice-Hall},
+}
+
+
+@Book {,
+  year =  {1900},
+  title = {Uitgeven van muziek},
+  author = {Donemus},
+  publisher= {Donemus Amsterdam},
+}
+
+
+@Book {,
+  year =  {1987},
+  title = {The Norton Manual of Music Notation},
+  author = {George Heussenstamm},
+  address= { New York},
+  publisher={ Norton},
+}
+
+
+@Book {,
+  year =  {1972},
+  title = {Notation in New Music; a critical guide to interpretation and realisation},
+  author = {Erdhard Karkoshka},
+  translator={Ruth Koenig},
+  publisher={Praeger Publishers},
+  address={ New York},
+  note ={(Out of print)},
+}
+
+
+@Book {,
+  year =  {1973},
+  title = {The Art of Music Copying},
+  author = {Clinton Roemer},
+  publisher={ Roerick music co.},
+  address= { Sherman Oaks (CA)},
+}
+
+
+@Book {,
+  year =  {1979},
+  title = {Music Notation Primer},
+  author = {Glen Rosecrans},
+  publisher={Passantino},
+  address={New York},
+}
+
+
+@Book {,
+  year =  {1980},
+  title = {Music Notation in the Twentieth Century},
+  author = {Kurt Stone},
+  publisher= {Norton},
+  address={New York},
+  note ={(Out of print)},
+
+}
+
+
+@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},
+  year =  {1990},
+  title = {Unix music tools at Bellcore},
+  author = {Peter S. Langston},
+  journal={ Software --- Practice and Experience},
+  volume={20},
+  number={S1},
+  pages={47--61},
+}
+
+
+
+@URL {,
+  comment = {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},
+}
+
+
+@URL {,
+  comment = {Specs for NIFF, a comprehensive but binary (yuk) format for notation HWN},
+  year =  {1995},
+  title = {NIFF6a Notation Interchange File Format},
+  author = {Cindy Grande, },
+  publisher={Grande Software Inc.},
+  url={http://www.jtauber.com/music/encoding/niff/},
+}
+
+
+@URL {,
+  title = {SMDL, Standard Musical Description Language},
+  url={ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
+  note={ISO/IEC DIS 10743},
+}
diff --git a/Documentation/tex/fonts.doc b/Documentation/tex/fonts.doc
new file mode 100644 (file)
index 0000000..a9e1940
--- /dev/null
@@ -0,0 +1,210 @@
+\documentclass{article}
+\def\kdots{,\ldots,}
+\title{Not the Font-En-Tja font}
+\author{HWN \& JCN} 
+\begin{document}
+\maketitle
+
+
+\section{Introduction}
+
+This document are some design notes of the Feta font.  Feta (not an
+abbreviation of Font-En-Tja) is a font of music symbols.  All MetaFont
+sources are original.  The symbols are modelled after various editions
+of music, notably
+\begin{itemize}
+\item B\"arenreiter
+\item Hofmeister
+\item Breitkopf
+\item Durand \& C'ie
+\end{itemize}
+
+The best references on Music engraving are Wanske\cite{wanske} and
+Ross\cite{ross} quite some of their insights were used.  Although it
+is a matter of taste, I'd say that B\"arenreiter has the finest
+typography of all.
+
+
+\section{Bezier curves for slurs}
+
+Objective:  slurs in music are curved objects designating that notes
+should fluently bound.  They are drawn as smooth curves, with their
+center thicker and the endings tapered.
+
+There are some variants: the simplest slur shape only has the width as
+parameter.  Then we give some suggestions for tuning the shapes.  The
+simple slur algorithm is used for drawing ties as well.
+
+
+
+\subsection{Simple slurs}
+
+Long slurs are flat, whereas short slurs look like small circle arcs.
+Details are given in Wanske\cite{ross} and Ross\cite{wanske}.  The
+shape of a slur can be given as a Bezier curve with four control
+points:
+
+\begin{eqnarray*}
+  B(t) &=& (1-t)^3c_1 +3(1-t)^2tc_2 + 3(1-t)t^2c_3 + t^3c_4.
+\end{eqnarray*}
+
+We will assume that the slur connects two notes of the same
+pitch.  Different slurs can be created by rotating the derived shape.
+We will also assume that the slur has a vertical axis of symmetry
+through its center.  The left point will be the origin.     So we have
+the following equations for the control points $c_1\kdots c_4$.
+
+\begin{eqnarray*}
+c_1&=& (0,0)\\
+c_2&=& (i, h)\\
+c_3&=& (b-i, h)\\
+c_4&=& (b, 0)
+\end{eqnarray*}
+
+The quantity $b$ is given, it is the width of the slur.  The
+conditions on the shape of the slur for small and large $b$ transform
+to
+\begin{eqnarray*}
+ h \to h_{\infty} , &&\quad b \to \infty\\
+ h \approx r_{0} b, &&\quad b \to 0.
+\end{eqnarray*}
+To tackle  this, we  will  assume that $h   = F(b)$, for  some kind of
+$F(\cdot)$.  One function that satisfies the above conditions is
+$$
+F(b) = h_{\infty} \frac{2}{\pi} \arctan \left( \frac{\pi r_0}{2
+h_{\infty}} b \right).
+$$
+
+For satisfying results we choose $h_{\infty} = 2\cdot \texttt{interline}$
+and $r_0 = \frac 13$.
+
+\subsection{Height correction}
+
+Aside from being a smooth curve, slurs should avoid crossing
+enclosed notes and their stems.
+
+An easy way to achieve this is to extend the slur's height,
+so that the slur will curve just above any disturbing notes.
+
+The parameter $i$ determines the flatness of the curve.  Satisfying
+results have been obtained with $i = h$.
+
+The formula can be generalised to allow for corrections in the shape, 
+\begin{eqnarray*}
+c_1&=& (0,0)\\
+c_2&=& (i', h')\\
+c_3&=& (b-i', h')\\
+c_4&=& (b, 0)
+\end{eqnarray*}
+Where
+$$
+i' = h(b) (1 + i_{corr}), \quad h' = h(b) (1 + h_{corr}).
+$$
+
+The default values for these corrections are $0$.  A $h_{corr}$ that is
+negative, makes the curve flatter in the center.  A $h_{corr}$ that is
+positive make the curve higher. 
+
+At every encompassed note's x position the difference $\delta _y$ 
+between the slur's height and the note is calculated.  The greatest 
+$\delta _y$ is used to calculate $h_{corr}$ is by lineair extrapolation.
+
+However, this simple method produces satisfactory results only for 
+small and symmetric disturbances.
+
+
+\subsection{Tangent method correction}
+
+A somewhat more elaborate\footnote{While staying in the realm 
+of emperic computer science} way of having a slur avoid 
+disturbing notes is by first defining the slur's ideal shape 
+and then using the height correction.  The ideal shape of a 
+slur can be guessed by calculating the tangents of the disturbing 
+notes:
+% a picture wouldn't hurt...
+\begin{eqnarray*}
+  y_{disturb,l} &=& \rm{rc}_l x\\
+  y_{disturb,r} &=& \rm{rc}_r + c_{3,x},
+\end{eqnarray*}
+where
+\begin{eqnarray*}
+  \rm{rc}_l &=& \frac{y_{disturb,l} - y_{encompass,1}}
+    {x_{disturb,l} - x_{encompass,1}}\dot x\\
+  \rm{rc}_r &=& \frac{y_{encompass,n} - y_{disturb,r}}
+    {x_{encompass,n} - x_{disturb,r}} \dot x + c_{3,x}.
+\end{eqnarray*}
+
+We assume that having the control points $c_2$ and $c_3$ located 
+on tangent$_1$ and tangent$_2$ resp. 
+% t: tangent
+\begin{eqnarray*}
+  y_{tangent,l} &=& \alpha \rm{rc}_l x\\
+  y_{tangent,r} &=& \alpha \rm{rc}_r + c_{3,x}.
+\end{eqnarray*}
+
+Beautiful slurs have rather strong curvature at the extreme
+control points.  That's why we'll have $\alpha > 1$.
+Satisfactory resulsts have been obtained with
+$$
+  \alpha \approx 2.4.
+$$
+
+The positions of control points $c_2$ and $c_3$ are obtained
+by solving with the height-line
+\begin{eqnarray*}
+  y_h &=& \rm{rc}_h + c_h.
+\end{eqnarray*}
+
+The top-line runs through the points disturb$_{left}$ and
+disturb$_{right}$.  In the case that 
+$$
+z_{disturb,l} = z_{disturb,r},
+$$
+we'll have 
+$$
+  \angle(y_{tangent,l},y_h) = \angle(y_{tangent,r},y_h).
+$$
+
+
+
+\section{Sizes}
+
+Traditional engraving uses a set of 9 standardised sizes for Staffs
+(running from 0 to 8).  
+
+We have tried to measure these (helped by a magnifying glass), and
+found the staffsizes in  table~\ref{fonts:staff-size}.  One should note that
+these are estimates, so I think there could be a measuring error of ~
+.5 pt.  Moreover [Ross] states that not all engravers use exactly
+those sizes.
+
+\begin{table}[h]
+  \begin{center}
+    \begin{tabular}{lll}
+Staffsize       &Numbers                &Name\\
+\hline\\
+26.2pt  &No. 0\\
+22.6pt  &No. 1          &Giant/English\\
+21.3pt  &No. 2          &Giant/English\\
+19.9pt  &No. 3          &Regular, Ordinary, Common\\
+19.1pt  &No. 4          &Peter\\
+17.1pt  &No. 5          &Large middle\\
+15.9pt  &No. 6          &Small middle\\
+13.7pt  &No. 7          &Cadenza\\
+11.1pt  &No. 8          &Pearl\\
+
+    \end{tabular}
+    \caption{Foo}
+    \label{fonts:staff-size}
+  \end{center}
+\end{table}
+
+Ross states that the dies (the stamps to make the symbols) come in
+12 different sizes.
+
+\bibliographystyle{plain}
+\bibliography{engraving}
+
+
+
+\end{document}
diff --git a/Documentation/tex/mudela.doc b/Documentation/tex/mudela.doc
new file mode 100644 (file)
index 0000000..1d3e303
--- /dev/null
@@ -0,0 +1,1166 @@
+% -*-tex-*-
+
+% this document should be run through the mudela-book script after lilypond
+% has been installed.  The rules have been precooked into the
+% Documentation/Rules.make file; do 
+%
+%   make out/introduction.dvi
+%
+% or
+%
+%   mudela-book --outdir=out/ --outname=introduction.mudtex introduction.doc
+%   latex '\nonstopmode \input out/introduction.mudtex'
+
+% Hoi Tim, hier staan wat 'enge' commando's (die dingen met een '\'
+% zoals \documentclass en \def\mudela...).
+% Daar moet je je niets van aantrekken, ga gewoon naar Introduction
+% en begin te tiepen.
+
+\documentclass{report}
+\usepackage{a4wide}
+\title{Mudela}
+\author{Jan Nieuwenhuizen \& Han-Wen Nienhuys}
+\date{March 2, 1998}
+
+\def\file#1{\verb+#1+}
+
+% ugh: trick to get examples not generate par
+% these are for 16pt
+\def\mudelapaperlinewidth{-28.452756}%
+\def\mudelapaperindent{28.452756}%
+\def\mudelapaperrulethickness{0.400000}%
+\def\mudelapaperbarsize{16.000000}%
+\def\mudelapaperinterline{4.000000}%
+\def\mudelapapernotewidth{5.930000}%
+\def\mudelapaperwholewidth{8.640000}%
+\def\mudelapaperunitspace{22.000000}%
+\def\mudelapaperbasicspace{4.000000}%
+\def\mudelapapergeometric{0.000000}%
+\def\mudelapaperarithmetic_basicspace{2.000000}%
+\def\mudelapaperarithmetic_multiplier{4.800000}%
+\def\mudelapaperinterbeam{3.140000}%
+\def\mudelapapergourlay_energybound{100000.000000}%
+\def\mudelapapergourlay_maxmeasures{14.000000}%
+% huh?
+% \def\exampleheight{2\mudelapaperbarsize pt}
+\def\exampleheight{2cm}
+
+% ful of pars, needs the above
+\input lilyponddefs
+% generates par
+\musixsixteendefs
+\def\musixsixteendefs{}
+% generates par
+\turnOnPostScript%
+\def\turnOnPostScript{}
+% generates par
+\def\interscoreline{}
+% 
+
+\begin{document}
+\maketitle
+
+%\def\interexample{\hskip15mm$\Longrightarrow$\hskip15mm}
+%\def\interexample{\hbox to10mm{\hfill\hbox to0pt{\hss\vbox to\exampleheight{\vss$\Longrightarrow$\vss}\hss}\hfill}}
+\def\interexample{}
+\def\preexample{\par}
+\def\postexample{\par\medskip}
+
+\def\file#1{{\texttt{#1}}}
+\setcounter{secnumdepth}{-1}
+
+\chapter{A tutorial}
+
+\emph{\Large ***Under construction***}
+
+\section{Introduction}
+
+This chapter is a gentle introduction to using LilyPond to typeset
+simple music.
+
+LilyPond is a so called ``batch'' program.  This means, that you use a
+text editor (such as \texttt{emacs} or \texttt{vi}) to create an input
+file.  When you are done editing your input file, you save it, and you
+run LilyPond on the file.  If Lily finds any errors in your input file
+then she\footnote{ We're sure that if computer programs could have
+gender, LilyPond would be a female computer program.  So we will refer
+to the program as a she. This gender-bending is not to tease you, dear
+reader.  We do it in real life as well. In the past two years LilyPond
+has become sort of a baby daughter to us, keeping us awake at night,
+but also providing us lots of joy.  We hope you do not mind our little
+aberration from computer-manual tradition.
+% 
+% The name LilyPond is actually sort of a girl's name.  Can you guess which
+% one ?
+%
+} will complain.  If everything is well, than she'll generate a file, that
+you can process further to view or print.
+
+Using LilyPond to print or view some music is a procedure with four
+steps.  To get you started we'll run down the full procedure for you
+once.
+
+\begin{enumerate}
+\item
+Fire up your favourite editor (if you know none, try \texttt{joe silly.ly}),
+and key in the following text:
+\begin{verbatim}
+\score {
+        <
+        \type Staff = aStaff \melodic { g'2 e'4 }
+        \type Lyrics = yell \lyric { Air2 ball!4 }
+        >
+        \paper {}
+}
+\end{verbatim}
+
+Save your file as \file{silly.ly}.
+
+%The input files for LilyPond have the default extension \file{.ly}.
+
+\item
+Run LilyPond on your newly created file: enter \verb+lilypond silly+.
+LilyPond will then print all kinds of mumbo jumbo that can safely be
+ignored.  You might see something like this:
+\begin{verbatim}
+GNU LilyPond 0.1.55/FlowerLib 1.1.39
+Parsing ... [/home/hanwen/musix/spacer/init/lily-init.ly[/home/hanwen/
+
+        ... stuff left out here ...
+
+                                Documentation/silly.ly]
+Interpreting music ...[1] (time: 0.04 seconds)
+Preprocessing elements... 
+Calculating column positions ... [2]
+Approximated: 1 lines, (with an average of 4.0 columns)
+Time: 0.01 seconds
+warning: Can not solve this casting problem exactly; revert to Word_wrap
+[2]Time: 0.00 seconds
+
+Postprocessing elements...
+TeX output to silly.tex ...
+\end{verbatim}
+All has gone well; there were some warning but no errors.  The output
+is a TeX file, and it is called \file{silly.tex}.  \file{TeX} is
+usually spelled as \TeX.  It is batch program for typesetting text,
+developed by the great programmer and scientist Donald Knuth to
+typeset his famous The Art of Computer Programming bookseries.  As you
+can see \TeX\ can be adapted to do a lot more.  In fact, the document
+that you are reading now was also done with \TeX.
+\item
+  To do something useful with the output you have to run \TeX\ on it
+  first.  Run the command \verb+tex silly+.  The output should resemble this:
+\begin{verbatim}
+This is TeX, Version 3.14159 (C version 6.1)
+(silly.tex
+Babel <v3.6h> and hyphenation patterns for american, dutch, loaded.
+(/home/hanwen/lib/texmf/tex/lilypond/lilyponddefs.tex
+(/home/hanwen/lib/texmf/tex/lilypond/dyndefs.tex)
+(/home/hanwen/lib/texmf/tex/lilypond/fetdefs.tex
+(/home/hanwen/lib/texmf/tex/lilypond/feta20.tex)
+(/home/hanwen/lib/texmf/tex/lilypond/lily-ps-defs.tex))) [1] )
+Output written on silly.dvi (1 page, 3084 bytes).
+Transcript written on silly.log.
+\end{verbatim}
+  The human translation is ``everything went OK, the result is one
+  page long, and I put it in \file{silly.dvi}.''
+
+\item The \file{silly.dvi} file is a description of how a piece of
+text looks when it is printed.  You can view it, or print it.  If you
+are using a Unix system equipped with X-Windows, then you can issue
+the command \file{xdvi silly} to view the result.  If this is not the
+case, consult your local \TeX\ guru on printing and viewing DVI files.
+What is in your window should look like this:
+\begin{mudela}
+\score {
+        <
+        \type Staff = aStaff \melodic { g'2 e'4 }
+        \type Lyrics = yell \lyric { Air2 ball!4 }
+        >
+}
+\end{mudela}
+\end{enumerate}
+
+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,
+special words and punctation.  The remainder of this document explains
+how to combine these elements to express a piece of music in the
+language that LilyPond understands.  In other words, we try to explain
+how to use LilyPond, and not how LilyPond works.  For want of a better
+name we call this language Mudela (short for Music Description
+Language).
+
+This document does not cover all of Mudela.  Due to technical details,
+the precise working of Mudela is coupled to the innards of LilyPond.
+If you really want to know all the details, your best bet would be to
+get the sources to LilyPond and read the parser and scanner source.
+They are in \file{lilypond-x.y.z/lily/parser.y},
+\file{lilypond-x.y.z/lily/lexer.l}\footnote{Of course, it would be even
+better if you would improve LilyPond and send the resulting diffs to
+us.  But that would a really different ballpark (And we haven't
+started with the programming guide yet.)}
+
+In the following sections the basic elements of Mudela are presented.
+We don't want to bore you too much with details, so we will leave-out
+some red tape that's needed for a valid piece of Mudela: to be
+precise, we will write \verb+X Y Z+, when we really mean
+\begin{verbatim}
+\score {
+        \melodic { X Y Z }
+        \paper {}
+}
+\end{verbatim}
+Usually, we will also print the resulting fragment of music on the
+right just as it was produced by LilyPond.  
+
+For the remainder we will assume that you can carry out steps 1 to 4
+from the above instruction.  We will also assume that you know how
+music notation works.  If you are not familiar with the English terms
+for music notation, then you should consult XXXX [FIXME], it contains
+a glossary of musical terms.
+
+\section{Music copying versus music definition}
+
+If you have done music copying before, then using LilyPond may seem
+awkward to you in the beginning.  The purpose of LilyPond is informally
+explained by the term ``music typesetter.''
+
+This may give the impression that the program is like a drawing tool
+that lets you control precisely how the music is formatted.  This is
+not the case: not only does the program print musical symbols,
+LilyPond also tries to make esthetic decisions---to be precise, we
+programmed her to do what we find pretty.  You do not have complete
+control over what is happening.  On the other hand, good engraving is
+a very complex trade, so it is a Good Thing that you do not have to
+worry about what is happening.
+
+Secondly, LilyPond operates on musical definitions.  This really is
+something different from graphical definitions.  If you copy music by
+hand from a printed score, you don't have to know what the score
+means; you just copy the symbols.  With LilyPond such a thing is not
+possible: we expect you to enter the meaning of the score, not the
+score itself.  If put more concretely: you do not enter ``black
+notehead without flag, fourth staff line'', but ``a quarter note,
+pitch d$^2$''.  LilyPond will figure out from the musical info what
+kind of graphic presentation is needed.
+
+This has some drawbacks: most notably, it is difficult to enter sheet
+music that you cannot read.  On the other hand, any piece of music
+once entered can be played and transposed automatically.
+
+
+\section{When you know the notes to print\ldots}
+
+The basic building block of music is the note.  You can have LilyPond
+print a note by specifying its pitch and the duration.  The pitch of
+the central C, also known as c$^1$, is written as \verb+c'+.  A quarter
+note duration is written as \verb+4+.  So, to print quarter note with
+central C pitch, you enter the following
+\begin[fragment,verbatim,center]{mudela}
+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+.
+
+For example,
+\begin[fragment,verbatim]{mudela}
+  c'4 d'4 e'4 c'4 c''4 d''4 e''4 f''4 g''4 a''4 b''4 c'''4
+\end{mudela}
+
+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[fragment,verbatim]{mudela}
+'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
+\end{mudela}
+
+This gives us already enough material to make simple songs:
+\begin[fragment,verbatim]{mudela}
+        c''4 d''4 e''4 c''4
+        e''4 f''4 g''2
+        g''8 a''8 g''8 f''8 e''4 c''4
+        c''4 g'4 c''2
+\end{mudela}
+
+There is only one part about pitches that we haven't told you:
+chromatically altered pitches.  The names ``a'' to ``g'' for typing
+pitches are convenient: they are short, pronounceable and they
+resemble the normal vocabulary for pitches.
+
+Enter flats and sharps.  In English there is no standard terse word
+for C sharp or C flat.  For this reason, we implemented a different,
+non-english convention for entering altered pitches, see
+table~\ref{notename-tab}: one makes a note sharp by adding the suffix
+``--is'' to the name, one makes the a note flat by adding the suffix
+``--es.''  For a double sharp you simply add another ``--is'' suffix,
+flats ditto.
+
+
+\begin{table}[h]
+  \begin{center}
+    \caption{Defaults note names}\label{notename-tab}
+    \begin{tabular}{ll}
+      english         &LilyPond\\
+      \hline\\
+      c double flat   &ceses\\
+      c flat          &ces\\
+      c natural       &c\\
+      c sharp         &cis\\
+      c double sharp  &cisis\\
+    \end{tabular}
+    
+  \end{center}
+\end{table}
+
+Variations on this convention are used in a number of germanic
+languages, notably Dutch, German, Swedish, and Norwegian.  To be
+precise, LilyPond actually defaults to dutch notenames, with aes,
+aeses, ees and eeses added for consistency.
+
+If you are not comfortable with these names, you can make your own
+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{Handy input}
+
+% \subsection{Durations}
+
+However, having only quarter notes may get a bit dull.
+Durations are entered as their reciproce values
+% a1 a2 a4 a a8 a a16 a a32 a a64 a a a a
+\begin[fragment,verbatim,center]{mudela}
+a1 a2 a4 a a8 a a16 a32 a64
+\end{mudela}
+note that you only have to specify
+the duration when it changes:
+Lily assumes a note has the same duration as the previous one.
+
+Now we can already write a little tune
+\begin[fragment,verbatim,center]{mudela}
+c d e c | c d e c | e f g2
+\end{mudela}
+As you'll probably have guessed,
+the vertical bar (pipe) \verb+|+ may be used to mark
+measures.
+
+In the scale shown above
+we left-out the last c note of the next octave.
+Postfixing the pitch with a quote \verb+'+
+produces a note by one octave higher
+\begin[fragment,verbatim,center]{mudela}
+c c' c''
+\end{mudela}
+
+Prefixing the pitch with a quote \verb+'+
+produces a note by one octave lower
+\begin[fragment,verbatim,center]{mudela}
+a 'a ''a
+\end{mudela}
+
+\section{Slurs and Ties}
+
+A tie connects two adjacent noteheads
+
+\begin[fragment,verbatim,center]{mudela}
+e' ~ e
+\end{mudela}
+
+Whereas a slur rather connects `chords', 
+and tries to avoid crossing stems
+
+\begin[fragment,verbatim,center]{mudela}
+e'( )e
+\end{mudela}
+
+And of course, such a (legato) slur can span several notes
+\begin[fragment,verbatim,center]{mudela}
+c( d e )f
+\end{mudela}
+
+\section{Beams and Plets}
+
+A beam is 
+\begin[fragment,verbatim,center]{mudela}
+[a8 a] [a16 a a a]
+\end{mudela}
+
+Here's a beamed triplet
+\begin[fragment,verbatim,center]{mudela}
+[/3 a8 a a]/1
+\end{mudela}
+
+a triplet without a beam
+\begin[fragment,verbatim,center]{mudela}
+\[/3 a4 a8\]
+\end{mudela}
+
+and a combination
+\begin[fragment,verbatim,center]{mudela}
+[/3 a8 a16 a] a8 \]
+\end{mudela}
+
+Abbreviations
+\begin[fragment,verbatim,center]{mudela}
+c1:16 [:16 e1 g]
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+c4:32 [:16 c8 d8]
+\end{mudela}
+
+\section{Notenames}
+
+Lily has predefined sets of notenames
+for various languages%
+\footnote{These are Dutch, English, German, Italian and Swedish.
+Simply include the language specific init file \file{<language.ly>}.}.
+The default set are the ones we like best are the Dutch notenames.
+
+A sharp is formed by adding \verb+is+
+\begin[fragment,verbatim,center]{mudela}
+cis dis eis fis gis ais bis
+\end{mudela}
+
+and a flat is formed by adding \verb+es+%
+%\footnote{Exceptions: \verb+es+ and \verb+as+.}
+\footnote{Exceptions: {\tt es} and {\tt as}.}
+\begin[fragment,verbatim,center]{mudela}
+ces des es fes ges as bes
+\end{mudela}
+
+With the obvious names for double sharps
+\begin[fragment,verbatim,center]{mudela}
+cisis disis eisis fisis gisis aisis bisis
+\end{mudela}
+
+and double flats
+\begin[fragment,verbatim,center]{mudela}
+ceses deses eses feses geses ases beses
+\end{mudela}
+See why we like-em?
+
+There are two special `notenames', the rest
+\begin[fragment,verbatim,center]{mudela}
+r16 [a a a]
+\end{mudela}
+
+and the space
+\begin[fragment,verbatim,center]{mudela}
+a2 s-"diminuendo" | a
+\end{mudela}
+
+
+\section{Commands}
+
+\begin[fragment,verbatim,center]{mudela}
+\clef "bass"; 'c
+\end{mudela}
+
+and a clef-change
+\begin[fragment,verbatim,center]{mudela}
+\clef "violin"; f' e' \clef "alto"; d' c'
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+\meter 3/4; c g g |
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+\key fis cis;
+'g 'a 'b cis d e fis g'
+\end{mudela}
+Note how Mudela allows you to 
+convey a musical message
+rather than forces you to produce a list of typesetting commands.
+If the music a \verb+cis+, you type a \verb+cis+.
+Depending on the key and context of the note
+Lily will determine what accidentals to typeset.
+
+A reminder accidental can be forced by
+using an exclamation mark \verb+!+
+on a pitch a reminder accidental
+\begin[fragment,verbatim,center]{mudela}
+cis d e cis | c! d e c |
+\end{mudela}
+
+\begin[fragment,verbatim,center]{mudela}
+\meter 2/4;
+\bar "|:"; c c \bar ":|:"; c c \bar ":|"; c c \bar "|."; 
+\end{mudela}
+
+\section{Chords and Voices}
+
+Here's a simple chord
+\begin[fragment,verbatim,center]{mudela}
+<c e g>
+\end{mudela}
+
+here are a few
+\begin[fragment,verbatim,center]{mudela}
+<
+        { c()d()c }
+        { e()f()e }
+        { g()a()g }
+>
+\end{mudela}
+
+and similarly voices
+\begin[fragment,verbatim,center]{mudela}
+<
+        { \voiceone c g c g }
+        { \voicetwo 'c2 'g2 }
+>
+\end{mudela}
+
+
+\section{A complete example}
+%\label{se:complete}
+
+A Mudela file needs some red tape
+
+\begin[verbatim,center]{mudela}
+\score{
+        \melodic {
+                \octave c';
+                c d e c |
+                c d e c |
+                e f g2 |
+        }
+}
+\end{mudela}
+
+\section{Lyrics}
+
+\begin[verbatim,center]{mudela}
+\score{
+        < 
+                \melodic{ 
+                        \octave c'; 
+                        c d e c | c d e c |
+                        e f g2 | e4 f g2
+                        \bar "|.";
+                }
+                \type Lyrics \lyric{ 
+                        Fr\`e-4 re Ja- que
+                        Fr\`e- re Ja- que
+                        Dor- mez vous?2
+                        Dor-4 mez vous?2
+                }
+        >
+}
+\end{mudela}
+
+\section{Variables}
+
+
+\section{Ly2dvi}
+Check-out this handy little script 
+that not only may save you quite some keystrokes,
+but produces titles and takes care of
+margins and (hopefully) papersizes.
+See \file{ly2dvi (1)}.
+
+\chapter{Input format reference}
+
+October 8, 1997
+
+This document describes the the GNU LilyPond input format, which is an
+effective language for defining music.  We call this language (rather
+arrogantly) The Musical Definition Language or Mudela, for
+short.\footnote{If anybody comes up with a better name, we'd gladly
+  take this. Gourlay already uses Musical Description Language,
+  G-Sharp Score Definition Language.  ISO standard 10743 defines a
+  Standard Music Description Language.  We're not being original here}
+
+The first aim of Mudela is to define a piece of music, being complete
+from both from a musical typesetting, as from a musical performing
+point of view.
+
+The Musical Definition Language (Mudela), has a logical structure,
+making use of identifiers, that allows for flexible input, and
+definition reuse. See \file{MANIFESTO} for reasons and design considerations.
+
+The below included for explanatory purposes only (i.e., for a complete
+and up-to-date definition, see \file{lily/parser.y} and
+\file{lily/lexer.l}):
+
+As a related note, you should take a look at the examples and the init
+files, as this document does not cover every aspect of mudela yet, and
+may be out of date.\footnote{Ok, I am being pessimistic here.  This
+  just is a disclaimer.  Docs usually are written after the program
+  itself.}  This document intends to give an idea of how it works, it
+is not a guide on how to use it.  
+
+
+\section{Basic elements}
+
+\subsection{Files}
+
+The de-facto extension of Mudela is \file{.ly}. Files may be included by
+entering \verb+\include+ at the start of a line:
+
+\begin{verbatim}
+\include "a_file.ly"
+\end{verbatim}
+
+
+\subsection{Comments}
+
+Line comments are introduced by a
+\verb+%+. 
+Block comments are delimited
+by 
+\verb+%{+ 
+and
+\verb+%}+. 
+They do not nest.
+
+\subsection{Versions}
+
+Occasionally, small changes in syntax across different versions of
+Mudela might give syntax errors. To warn you about possible
+incompatibilities, you can specify the Mudela version for which the
+inputfile was written,
+\begin{verbatim}
+\version "0.0.50";
+\end{verbatim}
+
+A perl-script which tries to convert to newer versions
+(\file{convert-mudela}) is included in the LilyPond distribution.
+
+\subsection{Words}
+
+Keywords are preceded by a backslash: \verb+\+. They contain
+alphabetic characters only.
+
+Identifiers in their normal form consist start with a backslash, a
+alpha character, followed by alpha-numerics. Identifiers can contain
+any characters (except whitespace, 
+ and \verb+%+), if you use this construct:
+
+\begin{verbatim}
+\$i'm_a_weird!!!identifier
+\end{verbatim}
+
+(which is the identifier with the name
+\verb+i'm_a_weird!!!identifier+).  \verb+$+ Takes any sequence of
+characters which are not whitespace, \verb+$+ and \verb+%+.
+\verb+$i'm_a_weird!!!string+
+\def\foobar{$} % silly fontlock mode 
+
+\subsection{Nesting characters}
+
+Mudela uses the brace (\verb+{+ and \verb+}+) for most hierarchical
+structures.  For chords the \verb+<+ and the \verb+>+ are used as
+nesting braces.
+
+\subsection{Constants}
+
+Please note that -.5 is not a Real.
+
+\begin{verbatim}
+"I am a string"
+-1.2e3          % a real
+12              % an int
+\end{verbatim}
+
+        
+\subsection{Identifiers}
+
+When assigning identifiers you use
+
+\begin{verbatim}
+string = ...
+\end{verbatim}
+
+If you reuse identifiers, then the previous contents will be thrown
+away after the right hand is evaluated, eg
+\begin{verbatim}
+bla = \melodic { \bla }
+\end{verbatim}
+is legal
+
+When using identifiers they have to be escaped:
+
+\begin{verbatim}
+oboe = \melodic { ... }
+\score{ \melodic { \oboe }}
+\end{verbatim}
+
+The left-hand part of the assignment is really a string, so 
+\begin{verbatim}
+"Foo bar 4 2 " = \melodic { .. }
+\end{verbatim}
+
+is also a valid assignment (but you would have trouble referencing to it)
+
+
+\subsection{Hierarchical structures}
+
+The general structure consists of declarations:
+\begin{verbatim}
+IDENTIFIER = \TYPE{
+        <type specific data>
+}
+\end{verbatim}
+and instantiations:
+
+\begin{verbatim}
+\TYPE{ <type specific data> }
+\end{verbatim}
+
+(Currently, \verb+\score+ is the only type that can be instantiated
+at top level. Currently declarations can only be done at top level)
+
+Most instantiations that use an IDENTIFIER are specified as follows:
+
+\begin{verbatim}
+\TYPE{ IDENTIFIER [...] }
+\end{verbatim}
+
+Some exceptions on this rule have been made to prevent inputting
+Mudela becoming tedious
+
+
+\subsection{Modes:}
+
+To simplify different aspects of music definition (entering the notes
+and manipulating them) Mudela has a number of different input "modes":
+
+\begin{description}
+
+
+\item[Normal mode]
+
+At the start of parsing, Mudela assumes normal mode.
+In Normal mode, a word is looked up in the following order:
+\begin{description}
+\item{\verb+word+}    string
+\item{\verb|"string"|} string
+\item{\verb|\word|} keyword, identifier
+\end{description}
+In normal mode, a word is assumed to start with an alphabetic
+character, followed by alpha-numeric characters.
+
+\item[Note mode] Note mode is introduced by the keyword
+  \verb+\melodic+.  In Note mode, a word is looked up in the following
+  order:
+\begin{description}
+\item{\verb+word+} notename, string
+\item{\verb|"string"|} string
+\item{\verb|\word|} keyword, identifier
+\end{description}
+
+In Note mode a word is considered to have alphabetic characters only,
+so the underscore (\_) is illegal.  If you accidently mistype a
+notename, the parser will assume that you are entering a string (and
+it will most likely complain that you should be in \verb|\lyrics| mode to
+do lyrics)
+
+
+\item[Lyric mode] Lyrics mode (and thus Simple mudela) is introduced
+  by the keyword \verb+\lyrics+.  Because of the various control
+  characters that can appear in lyrics, eg, ``foreign language''
+  accents, the inputting a string containing these has been made very
+  easy.
+
+In Lyrics mode, a word is looked up in the following order:
+\begin{description}
+\item{\verb+word+}    string (thus a lyric)
+\item{\verb|"string"|} string
+\item{\verb|\word|} keyword, identifier
+\end{description}
+
+In Lyric mode every sequence of non-digit and non-white characters
+starting with an alphabetic character or the \_ is considered a word.
+
+\begin{verbatim}
+a&@&@&TSI|{[    % a word
+1THtrhortho     % not a "word"
+Leise Fl\"u\ss{}teren meine Sapfe       % 4 words
+_ _ _ _         % 4 words: 4 spaces
+\end{verbatim}
+\end{description}
+
+These modes are of a lexical nature. Normal and Note mode largely
+resemble each other, save the possibility of entering Reals, 
+meaning of \verb+_+ and the resolution of words
+
+\subsection{Notes}
+
+You enter a note by giving the name and the reciprocal of the duration:
+
+\begin[fragment,verbatim]{mudela}
+a'4     % Dutch names
+\end{mudela}
+
+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[fragment,verbatim]{mudela}
+        'a      % 110
+        a       % 220
+        A       % 110, uppercase octavates down
+        a'      % 440
+        a''     % 880
+        'as4.*2/3
+\end{mudela}
+
+The last one  is an A flat, (just below 110 Hz concert-pitch). The \verb+*2/3+
+signifies that this note is part of a triplet (3 in stead of 2). The
+duration is one and a half quarter note (\verb+4.+) times 2/3.
+
+Notenames are just a special kind of identifiers, and can be declared
+for any language appropriate (see \file{init/dutch.ly}).  The default language
+for notenames is defined to be Dutch. In Dutch, the notenames are
+a,b,c,d,e,f and g. Sharps are formed by adding the extension "is",
+flats by adding ``es''
+
+\begin{verbatim}
+% double sharp
+cisis disis eisis fisis gisis aisis bisis
+% sharps
+cis dis eis fis gis ais bis
+% naturals
+c d e f g a b 
+% flats
+ces des es fes ges as bes
+% double flats
+ceses deses eses feses geses ases beses
+\end{verbatim}
+
+Rests are named r or s
+\begin{verbatim}
+r       % print a rest
+s       % a "space" rest, nothing is printed.
+\end{verbatim}
+
+These notenames along with duration are enough material to construct
+simple melodies:
+
+\begin[verbatim,fragment]{mudela}
+\octave c';
+c4 c4 g4 g4 a4 a4 g2
+f4 f4 e4 e4 d4 d4 c2
+\end{mudela}
+
+Music is able to express more. generally speaking, the other
+'features' are either connected between notes (slurs, beams: spanning
+requests) or attached to notes (eg. accents). The former are
+implemented as START and STOP stop features and then attached to the note.
+
+\begin{description}
+\item{[ and ]}      start and stop a beam
+\item{( and )}      start and stop a slur
+\end{description}
+
+example: 
+\begin[verbatim,fragment]{mudela}
+  \octave c';
+  [c8 () d8 () e8  
+  e8(] [)g8 <c'8] e'8>              % NO nesting!
+  [2/3 c8 c8 c8]1/1       % a triplet
+\end{mudela}
+
+Please note that these two characters do \emph{not} necessarrily nest,
+they should be attached to the note.  For this reason, the construct
+\verb+[ <c4 c4>]+ will generate a parse error.
+  
+\subsection{Slurs and Ties}
+
+Ties connect the noteheads of adjacent notes. They are entered as follows:
+
+\begin[verbatim,fragment]{mudela}
+a'4 ~ a''4
+\end{mudela}
+
+Slurs connect whole chords, and try to avoid crossing stems. They are
+entered as follows:
+
+\begin[verbatim,fragment]{mudela}
+a'4(  )a''4
+\end{mudela}
+
+\subsection{Scripts}
+
+Symbols which can be put at either side (above or below) of a staff
+are entered as follows:
+\begin[verbatim,fragment]{mudela}
+        a-^     % marcato, direction: default
+        %a^-     % portato, direction: above note
+        a_.     % staccato, direction: below note
+        a^\fermata      % predefined identifier
+        c_"marcato"     % add a text
+        c^"marcato"
+        c-"marcato"
+\end{mudela}
+
+If you want to define your own scripts refer to \file{init/script.ly} for
+details.
+
+
+Dynamics can be put after the notename:
+\begin{verbatim}
+a4 \dynamic { 0 } % 0 = fff, 7 = ppp
+\end{verbatim}
+
+Mudela defines the following dynamic identifiers:
+
+\begin{verbatim}
+ppp pp p mp mf f ff fff sfz fz fp
+\end{verbatim}
+and the following abbreviations:
+\begin{verbatim}
+\<      %start crescendo
+\>      % start decrescendo
+\!      % end crescendo/decrescendo
+\end{verbatim}
+
+\subsection{Defaults}
+
+If omit the duration of a note, a default value is substituted. For
+this default value mudela uses the last duration explicitly entered.
+
+Thus the following inputs are  equivalent
+\begin{verbatim}
+c4 c4 c16 c16 c16 s16 c4 c16
+c4 c c16 c c c c4 c16
+\end{verbatim}
+
+If you are typing music which does not lie in the "small" and "large"
+octave, you can prevent having to type \verb+'+ all the time by using the
+\verb+\octave+ command: These two lines have the same pitch.
+\begin{verbatim}
+c'' d'' e'' c d e c d e
+\octave c''; c d e ''c ''d ''e \octave c; c d e
+\end{verbatim}
+
+By default the setting of \verb+\octave+ is 0.
+
+\subsection{Lyrics}
+
+Lyrics in Mudela resemble Simple mudela a lot, with notes substituted
+by text. 
+
+All syllables are entered separately, separated by whitespace 
+\begin{verbatim}
+Twin-4 kle4 twin-4 kle4 ... 
+\end{verbatim}
+
+Two syllables or words that compose a single
+duration entry are bound together using an underscore 
+\begin{verbatim}
+He_could4 not4
+\end{verbatim}
+
+\section{Composition: forming bigger structures}
+
+The previous examples tacitly assumed that a sequence of notes is
+printed in a left to right manner. This is not entirely correct, you
+will get the bigger picture in this section. 
+
+In mathematics you can form expressions by combining expressions,
+which are ultimately some kind of atom or terminal symbol.  The same
+goes for mudela: there are some basic building blocks, and by
+combining those you create complex music.
+
+You can combine music in three ways:
+\begin{itemize}
+\item If you enclose a sequence of music-elements in braces ( \verb+{+
+    and \verb+}+ ), then you form another kind of music called (Voice) with those pieces.
+  The duration of the Voice is the sum of the durations of its elements
+\begin{verbatim}
+{ c c g g a a g2 }      % twinkle twinkle
+{ { c c g g} { a a g2 } }
+\end{verbatim}
+\item You can stack music by enclosing a sequence of music elements
+  with \verb+<+ and \verb+>+. This is called a Chord.  The duration of a Chord is
+  the union of the durations of its elements Example:
+\begin{verbatim}
+<a4 {cis8 cis8} e'4>      % a-major chord
+\end{verbatim}
+\item 
+  You can form music by transposing music:
+\begin{verbatim}
+\transpose  
+                d       % from c to the d that's one octave down
+                { e4 f4 }       % the horizontal music
+\end{verbatim}
+\end{itemize}
+
+Of course you can also combine these three mechanisms.
+\begin{verbatim}
+{ c <c e> <c e g> <c e g \transpose d' dis > }  % 4 increasing chords
+\end{verbatim}
+
+The basic building block in Mudela is called Request. Examples of
+Requests are: Timing (such as Meter), Rhythmic, Melodic, Note (which is a combination of
+Rhythmic and Melodic), Musicscript (put an accent over a note or
+rest), etc.  For the actual up to date listing, you should consult the
+LilyPond source code: the Request types form a big class hierarchy.
+
+Normally you don't enter Requests directly, since that would be
+tedious.  Mudela has standard abbreviations for the most common
+combination of Requests. If you enter \verb+c4+, this is an
+abbreviation for:
+\begin{verbatim}
+Request_chord{
+  Note_req{
+    notename: 0 acc: 0 oct: -1
+    duration { 4}
+  }
+  Stem_req{
+    duration { 4}
+  }  
+}
+\end{verbatim}
+
+The \verb+Request_chord+ is a special kind of chord which only allows
+Requests as its elements.  The examples of the previous section were
+processed with \verb+{+ and \verb+}+ enclosing the input.
+
+\subsection{Durations}
+
+A duration always starts with the duration type (1,2,4 etc), and then
+any optional multipliers/dots.  Old fashioned durations can be entered
+as follows
+\begin{verbatim}
+'c\breve
+gis'\longa
+\end{verbatim}
+
+
+        
+\subsection{Meters/groupings}
+
+A meter has this form:
+\begin{verbatim}
+\meter 3/4 ;
+\end{verbatim}
+
+Rhythmic grouping is  a concept closely associated with this. For
+example, in a 5/8 meter, the counts are grouped 2+3. In mudela this is
+entered as
+\begin{verbatim}
+\grouping  8*2 8*3 ;
+\end{verbatim}
+You can start the piece with a partial measure, the command takes the
+same syntax as grouping: 
+\begin{verbatim}
+\partial 16*3 4;
+\end{verbatim}
+
+Make the piece start with a upstep [english translation?]
+lasting 1 3/4 quarter notes.
+
+These commands are also "voice elements", and constitute ``Music''
+(consisting of stuff with duration 0).
+
+
+\subsection{Voicegroups}
+
+
+[OUTDATED]
+
+If more than one "voice" is in a staff, then you have the option of
+putting the different voices into so called voicegroups: members of
+the same voicegroup share certain characteristics, among others:
+
+        - dynamics
+        - text
+        - beams and stems
+        - scripts
+
+For the actual list, see the init file \file{init/register.ly}
+
+Putting different musical lines in to the same voicegroup effectively
+makes LilyPond try to form chords of all those lines. Putting
+different musical lines in to different voicegroups effectively makes
+LilyPond try to set those lines as independently as possible. 
+
+[adsolete. Has to be fixed in lily]
+
+You can set the voicegroup of a voice with the command \verb+\group+, e.g.,
+
+\begin{verbatim}        
+        oboeI = \melodic { 
+                \group "oboes"; 
+                [e8 f8
+                \group "+solo";
+                [g16 a16 g16 fis16]
+                \group "-";
+                g8 f8
+        }
+        oboeII = \melodic { \group "oboes";
+                c8 d8]
+                e4
+                e8 d8
+        }
+        ///     ...
+
+        \staff { 
+                melodicregs \melodic{ oboeI }
+                \melodic { oboeII}
+}
+\end{verbatim}
+
+In this example, the two oboe voices share one staff and are initially
+in the voicegroup called "oboes". They will share beams, dynamics etc.
+After two quarter notes, oboeI "pushes" its group: a new voicegroup is
+created, called "oboes+solo". The \verb+\group "-"+ command makes the
+voice enter "oboes" again.
+
+Please do note that [] are voicegroup wide; the previous input is
+valid: the beam, started in oboeI, voicegroup "oboes" is also ended in
+voicegroup "oboes", albeit not in oboeI but oboeII
+
+This concept may seem contorted, but it allows you to set the separate
+oboe parts without changing the \verb+oboeI+ and \verb+oboeII+ (assuming that
+you edit the [] in the example.)
+
+The construct
+\begin{verbatim}
+< { .... } {......} >
+\end{verbatim}
+makes a chord (all horizontal parts are in the same voicegroup). The construct
+\begin{verbatim}
+\multi 2 < { ....} { .... } >
+\end{verbatim}
+creates horizontal parts which behave independently. You will have to
+set voicegroup features by hand (\verb+\stem+ and \verb+\hshift+. See examples)
+
+The construct
+\begin{verbatim}
+\multi 3 < { ....} { .... } >
+\end{verbatim}
+creates  a chord with each part in a different staff
+
+
+\subsection{Examples}
+
+Examples are included with the GNU LilyPond distribution. For the sake of
+maintenance no long examples are included in this document.
+
+
+\section{History}
+
+This language has a number of roots. First and foremost, GNU
+LilyPond's predecessor mpp was the inspiration of the Note-mode input.
+Secondly, the hierarchical structure looks a lot like Rayce's (Rayce
+is a raytracer that I've written as a hobby project. ), which in turn
+owes a lot to POVRay.
+
+Now, we know, musictypesetting and raytracing do not necessarily
+require the same input format, and we know that a lot more ways exist
+to convert music to ASCII, but we did give this language some
+thoughts. As always suggestions are appreciated.
+
+\end{document}
+
+
diff --git a/Documentation/tex/out/dummy.dep b/Documentation/tex/out/dummy.dep
new file mode 100644 (file)
index 0000000..e69de29
index d52fa09d7066fe33fa0335393b83ca19bcaf0ca3..d1baab30154dbd207a9e74837151ac930fb97686 100644 (file)
@@ -61,7 +61,7 @@ RECOMMENDED
 
 
 
-27/Apr/98                LilyPond 0.1.59                        1
+25/Apr/98                LilyPond 0.1.59                        1
 
 
 
@@ -127,7 +127,7 @@ CONFIGURING and COMPILING
 
 
 
-27/Apr/98                LilyPond 0.1.59                        2
+25/Apr/98                LilyPond 0.1.59                        2
 
 
 
@@ -193,7 +193,7 @@ CONFIGURING FOR MULTIPLE PLATFORMS
 
 
 
-27/Apr/98                LilyPond 0.1.59                        3
+25/Apr/98                LilyPond 0.1.59                        3
 
 
 
@@ -259,7 +259,7 @@ EXAMPLE
 
 
 
-27/Apr/98                LilyPond 0.1.59                        4
+25/Apr/98                LilyPond 0.1.59                        4
 
 
 
@@ -325,6 +325,6 @@ AUTHORS
 
 
 
-27/Apr/98                LilyPond 0.1.59                        5
+25/Apr/98                LilyPond 0.1.59                        5
 
 
diff --git a/NEWS b/NEWS
index 7fc5f9bcb56eb51014ee26443bc551ebd8467b9d..4a4d8ad0b57f790bcb135753aab8f7e14a1ed03f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,40 @@
+**************
+pl 60
+       - mats patches: use Latex font stuff.
+       - fixes to the .59 patch release (jcn)
+       - make website|examples target
+       
+pl 59.jcn3
+       - bf: preludes-5
+       - no inline compiler warnings by default
+       - bf: gcc 2.8 compile bow.cc
+       - moved functions with loops from varray.hh to varray.cc
+       - bf: minimum length for tie
+       - slur clipping standard
+       - bf: second broken slur minimum length
+
+pl 59.jcn2
+       - added some to .dstream
+       - bf: second part of broken slur
+       - slur encompassing noteheads adjust
+       - bwv'd preludes
+       - bf: make-patch -d
+       - doc'd rerunning of autoconf
+       - rest of real standje (rename and move simplified standchen to 
+         input/test?)
+       - bf: clipping
+       - bit better bar number placement
+
+pl 59.jcn1
+       - more INLINE
+       - bf: multi-measure rest
+
+pl 58.jcn7
+       - los-toros: do multi-bar rest
+
+
+
+***************
 pl 59
        - ly2dvi 0.9.hwn1, -K switch, 
        - doc: moved manpages in separate directory.
index a608193dc039eb427daf4ee43d41855d73b028d9..70d234cbd706774963c572326b064e43eb7efe46 100644 (file)
@@ -61,7 +61,7 @@ PREREQUISITES
 
 
 
-20/Apr/98                LilyPond 0.1.59                        1
+28/Apr/98                LilyPond 0.1.60                        1
 
 
 
@@ -89,6 +89,20 @@ PATCHES(1)            LilyPond documentation           PATCHES(1)
                 test/
 
 
+       If you're following LilyPond development regularly, you
+       probably want to download just the patch for each
+       subsequent release.  After downloading the patch (into the
+       patches directory, of course), simply apply it:
+
+           gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E
+
+       and don't forget to make automatically generated files:
+
+           autoconf 1)
+           configure
+
+
+SYNCHRONISE
        If you're not very quick with sending your patch, there's
        a good chance that an new release of LilyPond comes
        available.  In such a case (and sometimes for other unkown
@@ -98,13 +112,30 @@ PATCHES(1)            LilyPond documentation           PATCHES(1)
        against this new source tree:
 
            cd lilypond-0.1.49
-           zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+           gzip -dc ../patches/patch-0.1.48.jcn1.gz | patch -p1 -E
+           autoconf 1)
+           configure
 
        Then, make a patch as shown above.
 
+       1) patches don't include automatically generated files,
+       i.e. configure
+          and files generated by configure.
+
 MAINTAINER
        Han-Wen Nienhuys <hanwen@cs.ruu.nl>
 
+
+
+28/Apr/98                LilyPond 0.1.60                        2
+
+
+
+
+
+PATCHES(1)            LilyPond documentation           PATCHES(1)
+
+
        Just keep on sending those patches!
 
 
@@ -127,6 +158,41 @@ MAINTAINER
 
 
 
-20/Apr/98                LilyPond 0.1.59                        2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+28/Apr/98                LilyPond 0.1.60                        3
 
 
diff --git a/TODO b/TODO
index 4d189db612f0d39aa6c863cb6d6d5d71eb7bc821..06720105d2e4c8f05e34bd76e7b9e699544dccde 100644 (file)
--- a/TODO
+++ b/TODO
@@ -20,6 +20,10 @@ grep for TODO and ugh/ug
 
        * robustify Beam (in case of no stems, 32nd notes)
 
+       * fix [c8 c16 c16] (mustn't slope)
+
+       * fix silly " "2*12 a4 (=4*12) sticky plet 
+
        * check for groff / troff/ nroff et
 
        * latex quirk?
@@ -180,9 +184,13 @@ languages:
 
        * add to MIDI output:
        - tempo change
+       - ornaments (and trills?)
        - repeat
        - slurs
-       - dynamics etc.
+       - accents
+       - dynamics
+       - account for rhythmic position in measure
+       - etc.
 
        * grace notes
        - make separate class for Grace_*_engravers 
diff --git a/VERSION b/VERSION
index ca4b0d86624af89135d065a5250de8d50862c77e..5256cfd8a81dd945eaa7cc5768e635e0f72bba1b 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 MAJOR_VERSION=0
 MINOR_VERSION=1
-PATCH_LEVEL=59
+PATCH_LEVEL=60
 MY_PATCH_LEVEL=
 
 # use the above to send patches, always empty for released version:
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/bin/ls-latex.py b/bin/ls-latex.py
new file mode 100644 (file)
index 0000000..1f53bb8
--- /dev/null
@@ -0,0 +1,82 @@
+#!@PYTHON@
+
+import sys
+import os
+
+lilypath =''
+try:
+    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
+lilypath = lilypath + '/bin/'
+sys.path.append(lilypath)
+from lilypython import *
+import __main__
+import glob
+
+
+
+latex_author_re = regex.compile('\\author{\([^}]+\)}')
+latex_title_re = regex.compile('\\title{\([^}]+\)}')
+
+class Latex_head:
+    def __init__ (self):
+       self.author = ''
+       self.title = ''
+       self.date = ''
+       self.site = ''
+    
+
+def read_latex_header (fn):
+    s = gulp_file (fn)
+    i = regex.search( '\\\\begin{document}', s)
+    if i < 0:
+       raise 'huh?'
+    s = s[:i]
+    s = regsub.gsub('%.*$', '', s)
+    s = regsub.gsub('\n', ' ', s)
+    if latex_author_re.search (s) == -1 :
+       raise 'huh?'
+
+    header = Latex_head()
+    header.filename= fn;
+    header.author = latex_author_re.group (1)
+    if latex_title_re.search (s) == -1:
+       raise 'huh?'
+    header.title = latex_title_re.group (1)
+    return  header
+
+def print_html_head (l,o,h):
+    (pre, ext) = o
+    out = regsub.gsub ('\.[^.]+$', ext, h.filename)
+    l.write ('<li><a href=%s>%s</a><p>by %s</p>' % (pre + out, h.title, h.author ))
+    l.write ('</li>')
+
+
+import getopt
+
+(cl_options, files) = getopt.getopt(sys.argv[1:], 
+                                   'e:h', ['help', 'prefix=' ,'extension='])
+
+tex = ''
+output =''
+pre = ''
+
+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
+
+l = sys.stdout
+
+l.write ('<html><title>TeX documents</title><h1> TeX documents</h1><ul>')
+
+for x in files:
+    print_html_head (l, (pre,ext), read_latex_header (x))
+l.write ('</ul></html>')
index 69e14b0cc22e57a7b1855390cb39dc4dff7f0252..d6c8502d9e06036f29dafc10278918d86f2ae310 100755 (executable)
@@ -53,7 +53,7 @@ usage \n\
        cd lilypond-source-dir; patch -E -p1 < %s\n\
 \n\
 Patches do not contain automatically generated files, \n\
-i.e. you should rerun configure\n\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', 'lilypond.spec']
@@ -144,8 +144,9 @@ def main():
        sys.stderr.write('copying ' + srcdir + ' to ' + diffdir + '\n')
        # os.system('cp -pr %s %s' % (srcdir, diffdir))
        os.system('mkdir -p %s '% (diffdir))
-       os.system('tar cf - --exclude out %s | tar -xf - -C %s' 
-         % (srcdir, '/tmp/make-patch'))
+       os.chdir (srcdir)
+       os.system('tar cf - --exclude out . | tar -xf - -C %s' 
+         % diffdir)
 
     if to_b != 0:
        os.chdir ('/tmp/make-patch')
@@ -156,8 +157,9 @@ def main():
        sys.stderr.write('copying ' + srcdir + ' to ' + diffdir + '\n')
        os.system('mkdir -p %s '% (diffdir))
        # os.system('cp -pr %s %s'  (srcdir, diffdir))%
-       os.system('tar -cf - --exclude out %s | tar -xf - -C %s '
-         % (srcdir, '/tmp/make-patch'))
+       os.chdir (srcdir)
+       os.system('tar -cf - --exclude out . | tar -xf - -C %s '
+         % diffdir)
 
     os.chdir('/tmp/make-patch')
     os.chdir(todir)
index ccff8df603a5371a6e9cd75341cd59252e4514ed..ac6d865af606e7f1d965fd29112074653488cb48 100755 (executable)
@@ -55,6 +55,7 @@ include_path=[ 'input', 'mutopia' , 'mutopia/J.S.Bach', 'mutopia/Coriolan',
 def set_vars():
     __main__.lilyversion =  version_tuple_to_str(lilydirs.version_tuple())
     os.environ["TEXINPUTS"] = os.environ["TEXINPUTS"] + ":%s/input/:" % depth;
+    os.environ["CONFIGSUFFIX"] = 'www';
     
     os.environ["LILYINCLUDE"] = join (':', __main__.include_path) +':'+ os.environ["LILYINCLUDE"];
     os.environ["LILYTOP"] = depth;
index e3827346ca02cd32288c2d43d9af3f08089f01a9..4c6e5428905ea771c05d02da73ecbcb82128f8ac 100755 (executable)
@@ -27,8 +27,6 @@ except KeyError:
        except KeyError:
            print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
 
-           sys.exit(1)
-
 lilypath = lilypath + '/bin/'
 sys.path.append(lilypath)
  
@@ -178,7 +176,6 @@ class Log_reader:
            raise 'unknown label: ' + label
 
     def writedeps (self, deps):
-       
        filename = deps[0]
        split = os.path.splitext(filename)      
        basename=split[0];
index a268cded6ead1b0156b325d865beef88693d61ef..ba178fdb72f7abee109c70f002174dca8dfbdad7 100644 (file)
@@ -16,16 +16,29 @@ from lilypython import *
 
 
 
-def gen_list(inputs, filename):
+def gen_list(inputs, subdir, filename):
+    (pre, subdirs, post)=subdir
     print "generating HTML list %s\n" % filename
     list = open(filename, 'w')
-    list.write ('<html><TITLE>Rendered Examples</TITLE>\n'
-     '<body>These example files are taken from the LilyPond distribution.\n'
+    list.write ('<html><TITLE>Rendered Examples</TITLE>\n')
+    list.write ('<body>')
+    if len(subdirs):
+       list.write  ('<h2>subdirectories</h2>')
+       list.write  ('<ul>')    
+        for ex in subdirs:
+           print 'subdir %s ' % ex
+           list.write ('<li><a href=%s>Subdirectory: %s</a></li>\n' % (pre + ex + post , ex))
+
+       list.write ('</ul>')
+
+    list.write('<h2>Contents of this directory</h2>\n');
+    list.write ('These example files are taken from the LilyPond distribution.\n'
      'LilyPond currently only outputs TeX and MIDI. The pictures and\n'
      'PostScript files were generated using TeX, Ghostscript and some\n'
      'graphics tools.  The papersize used for these examples is A4.  The GIF\n'
      'files have been scaled to eliminate aliasing.\n');
 
+
     for ex in inputs:
        print '%s, ' % ex
        header  = read_mudela_header(ex + '.ly.txt')
@@ -65,4 +78,22 @@ def gen_list(inputs, filename):
 
 allfiles = multiple_find (['*.ly.txt'], '.')
 
-gen_list (sys.argv[1:], 'index.html')
+import getopt
+
+(cl_options, files) = getopt.getopt(sys.argv[1:], 
+                                   'hs:', ['help', 'subdirs=', 'suffix=', 'prefix='])
+subdir_pre=''
+subdir_suf =''
+
+subdirs =[]
+for opt in cl_options:
+    o = opt[0]
+    a = opt[1]
+    if o == '--subdirs' or o == '-s':
+       subdirs.append (a)
+    elif o == '--prefix':
+       subdir_pre = a
+    elif o == '--suffix':
+       subdir_suf = a
+       
+gen_list (files, (subdir_pre, subdirs, subdir_suf), 'index.html')
index 0b529a29cc6b801c387573bcf34e36f09e4581b3..9bec2ccabcce716def3e3844609da875b79c5a50 100755 (executable)
--- a/configure
+++ b/configure
@@ -758,17 +758,21 @@ fi
      
 
 if test "$printing_b" = no; then
+    # ugh
     cat >> confdefs.h <<\EOF
 #define NPRINT 1
 EOF
 
+    DEFINES="$DEFINES -DNPRINT"
 fi
     
 if test "$checking_b" = no; then
+    # ugh
     cat >> confdefs.h <<\EOF
 #define NDEBUG 1
 EOF
 
+    DEFINES="$DEFINES -DNDEBUG"
 fi
 
 if test "$optimise_b" = yes; then
@@ -822,7 +826,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:826: checking for $ac_word" >&5
+echo "configure:830: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -853,7 +857,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:857: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:861: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -863,11 +867,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 867 "configure"
+#line 871 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -887,12 +891,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:891: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:895: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:896: checking whether we are using GNU C++" >&5
+echo "configure:900: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -901,7 +905,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:905: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -916,7 +920,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:920: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:924: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -946,7 +950,7 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:950: checking for $ac_word" >&5
+echo "configure:954: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -983,7 +987,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:987: checking for a BSD compatible install" >&5
+echo "configure:991: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1037,7 +1041,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1041: checking for $ac_word" >&5
+echo "configure:1045: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1071,7 +1075,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1075: checking for $ac_word" >&5
+echo "configure:1079: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1112,7 +1116,7 @@ test -n "$FIND" || FIND="error"
 
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:1116: checking for 8-bit clean memcmp" >&5
+echo "configure:1120: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1120,7 +1124,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 1124 "configure"
+#line 1128 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -1133,7 +1137,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:1137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -1151,12 +1155,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:1155: checking for vprintf" >&5
+echo "configure:1159: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1160 "configure"
+#line 1164 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -1182,7 +1186,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -1206,12 +1210,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:1210: checking for _doprnt" >&5
+echo "configure:1214: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1215 "configure"
+#line 1219 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -1237,7 +1241,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -1264,12 +1268,12 @@ fi
 for ac_func in memmem snprintf 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1268: checking for $ac_func" >&5
+echo "configure:1272: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1273 "configure"
+#line 1277 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1295,7 +1299,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1372,7 +1376,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1376: checking for $ac_word" >&5
+echo "configure:1380: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1406,7 +1410,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1410: checking for $ac_word" >&5
+echo "configure:1414: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1440,7 +1444,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1444: checking for $ac_word" >&5
+echo "configure:1448: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1472,7 +1476,7 @@ test -n "$MAKE" || MAKE="error"
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1476: checking for $ac_word" >&5
+echo "configure:1480: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1504,7 +1508,7 @@ fi
 # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1508: checking for $ac_word" >&5
+echo "configure:1512: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1538,7 +1542,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1542: checking for $ac_word" >&5
+echo "configure:1546: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_POD2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1572,7 +1576,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1576: checking for $ac_word" >&5
+echo "configure:1580: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_POD2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1608,7 +1612,7 @@ if test "x$TEXPREFIX" = xauto ; then
     
 
     echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6
-echo "configure:1612: checking TeX/MF root dir directory" >&5    
+echo "configure:1616: checking TeX/MF root dir directory" >&5    
 
     find_root_prefix="$prefix"
     
@@ -1649,7 +1653,7 @@ if test "x$MFDIR" = xauto; then
     
     
     echo $ac_n "checking MF input directory""... $ac_c" 1>&6
-echo "configure:1653: checking MF input directory" >&5    
+echo "configure:1657: checking MF input directory" >&5    
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name source -print |sort|head -1|sed 's#^\./##')`
     
@@ -1674,7 +1678,7 @@ if test "x$TEXDIR" = xauto ; then
     
     
     echo $ac_n "checking TeX input directory""... $ac_c" 1>&6
-echo "configure:1678: checking TeX input directory" >&5    
+echo "configure:1682: checking TeX input directory" >&5    
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')`
     
@@ -1791,7 +1795,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1795: checking how to run the C++ preprocessor" >&5
+echo "configure:1799: 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
@@ -1804,12 +1808,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 1808 "configure"
+#line 1812 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1829,17 +1833,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:1833: checking for FlexLexer.h" >&5
+echo "configure:1837: 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 1838 "configure"
+#line 1842 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1843: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1847: \"$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 5b00c8f99d2a86972e637d761af52248e8b72e3b..c1d2bb5cce614730f69a6307d51a9ef74e040ad6 100644 (file)
@@ -106,11 +106,15 @@ AC_ARG_ENABLE(config,
      
 
 if test "$printing_b" = no; then
+    # ugh
     AC_DEFINE(NPRINT)
+    DEFINES="$DEFINES -DNPRINT"
 fi
     
 if test "$checking_b" = no; then
+    # ugh
     AC_DEFINE(NDEBUG)
+    DEFINES="$DEFINES -DNDEBUG"
 fi
 
 if test "$optimise_b" = yes; then
index 111717025e1822504dac1415307572bb947e5bc2..eda8c8ccf497179577b099288398e01944565578 100644 (file)
@@ -1,3 +1,7 @@
+pl 41.jcn1
+       trying to get rid of 2.8 ice:
+        - moved functions with loops from varray.hh to varray.cc
+
 pl 41
        - matrix fixes; more inlining no virtual methods
 
index 53f4cca490fe9c4331cedfc0896e02f6cb15722c..3ab55969ef478701d77caa5d9dc47eacb1beab9b 100644 (file)
@@ -4,4 +4,4 @@ PATCH_LEVEL=41
 
 # use to send patches, always empty for released version:
 #
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
diff --git a/flower/include/config.hh b/flower/include/config.hh
deleted file mode 100644 (file)
index e69de29..0000000
index 8fec189c735925c1ecbcd5dde21bb1cb61c4ad27..10438e3a7e8c01795e8b1a06a9c8ad86d4e21173 100644 (file)
 #include "varray.hh"
 #include "real.hh"
 
+#ifndef INLINE
+#define INLINE inline
+#endif
+
 /// simplest matrix storage. refer to its baseclass for the doco.
 class Full_storage 
 {
@@ -26,9 +30,9 @@ class Full_storage
   /// the storage
   Real** els_p_p_;
 
-  void init() ;
+  INLINE void init() ;
      
-  bool valid (int i, int j) const ; 
+  INLINE bool valid (int i, int j) const ; 
 
   void resize_rows (int);
   void resize_cols (int);
@@ -40,13 +44,13 @@ public:
   void OK() const;
     
     /// height of matrix
-  int rows() const;
+  INLINE int rows() const;
 
   /// width of matrix
-  int cols() const;
+  INLINE int cols() const;
 
   /// size if square
-  int dim() const;
+  INLINE int dim() const;
       
   /**  set the size. contents lost.       
       PRE
@@ -87,10 +91,10 @@ public:
     in the 0-part of a sparse matrix.
     */
 
-  Real& elem (int i,int j);
+  INLINE Real& elem (int i,int j);
 
   /// access a element, no modify
-  Real elem (int i, int j) const;
+  INLINE Real elem (int i, int j) const;
 
   Array<Real> row (int i) const ;
   Array<Real> column (int j) const;
@@ -124,7 +128,7 @@ public:
           ..
 
     */
-  bool mult_ok (int i, int j) const;
+  INLINE bool mult_ok (int i, int j) const;
 
   /**
       walk through matrix (regular multiply).
@@ -134,12 +138,12 @@ public:
       PRE
       mult_ok (i,j)
      */
-  void mult_next (int &i, int &j) const;
+  INLINE void mult_next (int &i, int &j) const;
 
   /**
       valid matrix entry. return false if at end of row
     */
-  bool trans_ok (int i, int j) const;
+  INLINE bool trans_ok (int i, int j) const;
 
   /**
       walk through matrix (transposed multiply).
@@ -149,22 +153,18 @@ public:
       ver_ok (i,j)
      */
 
-  void trans_next (int &i, int &j) const;
+  INLINE void trans_next (int &i, int &j) const;
 
-  Full_storage();
-  Full_storage (int i, int j);
-  Full_storage (Full_storage const&);
-  Full_storage (int i);
+  INLINE Full_storage();
+  INLINE Full_storage (int i, int j);
+  INLINE Full_storage (Full_storage const&);
+  INLINE Full_storage (int i);
   void operator=(Full_storage const &);
     
     
   ~Full_storage();
 };
 
-#ifndef INLINE
-#define INLINE inline
-#endif
-
 #include "full-storage.icc"
 
 
index 82106ca8d65846a60a694ba8e582cdaf8b7e9474..ce9c2217e767dc6024f64e24653c904b3e623397 100644 (file)
@@ -8,13 +8,12 @@
 #define ARRAY_H
 #include <assert.h>
 
-/// copy a bare (C-)array from #src# to #dest# sized  #count#
-template<class T>
-inline void arrcpy (T*dest, T*src, int count) {
-  for (int i_shadows_local=0; i_shadows_local < count ; i_shadows_local++)
-    *dest++ = *src++;
-}
+#ifndef INLINE
+#define INLINE inline
+#endif
 
+/// copy a bare (C-)array from #src# to #dest# sized  #count#
+template<class T> void arrcpy (T*dest, T*src, int count);
 
 /**
   Scaleable array/stack template, for a type T with default constructor.
@@ -187,14 +186,8 @@ public:
     }
   bool empty() const 
     { return !size_; }
-  void insert (T k, int j) 
-    {
-      assert (j >=0 && j<= size_);
-      set_size (size_+1);
-      for (int i=size_-1; i > j; i--)
-       array_p_[i] = array_p_[i-1];
-      array_p_[j] = k;
-    }
+
+  void insert (T k, int j);
   /**
      remove  i-th element, and return it.
   */
@@ -218,24 +211,7 @@ public:
     }
   // quicksort.
   void sort (int (*compare)(T const&,T const&),
-            int lower = -1, int upper = -1) 
-    {
-      if (lower < 0) 
-       {
-         lower = 0 ;
-         upper = size()-1;
-       }
-      if (lower >= upper)
-       return;
-      swap (lower, (lower+upper)/2);
-      int last = lower;
-      for (int i= lower +1; i <= upper; i++)
-       if (compare (array_p_[i], array_p_[lower]) < 0)
-         swap (++last,i);
-      swap (lower, last);
-      sort (compare, lower, last-1);
-      sort (compare, last+1, upper);
-    }
+            int lower = -1, int upper = -1);
   void concat (Array<T> const &src) 
     {
       int s = size_;
@@ -251,12 +227,9 @@ public:
       arrcpy (r.array_p_, array_p_  + lower, s);
       return r;
     }
-  void reverse() 
-    {
-      int h = size_/2;
-      for (int i =0,j = size_-1; i < h; i++,j--)
-       swap (i,j);
-    }
+  void reverse();
 };
 
+#include "varray.icc"
+
 #endif
diff --git a/flower/include/varray.icc b/flower/include/varray.icc
new file mode 100644 (file)
index 0000000..4d8ccb9
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+  (c) Han-Wen Nienhuys 1995,96,97,98
+
+  Distributed under GNU GPL
+*/
+
+
+#if 0
+#include "varray.hh"
+#ifdef INLINE
+#undef INLINE
+#endif
+
+#define INLINE
+#endif
+
+/*
+ functions with loops don't inline
+ */
+
+template<class T> INLINE void 
+arrcpy (T*dest, T*src, int count)
+{
+  for (int i_shadows_local=0; i_shadows_local < count ; i_shadows_local++)
+    *dest++ = *src++;
+}
+
+template<class T> INLINE void
+Array<T>::insert (T k, int j) 
+{
+  assert (j >=0 && j<= size_);
+  set_size (size_+1);
+  for (int i=size_-1; i > j; i--)
+    array_p_[i] = array_p_[i-1];
+  array_p_[j] = k;
+}
+
+template<class T> INLINE void
+Array<T>::sort (int (*compare)(T const&,T const&),
+          int lower = -1, int upper = -1) 
+{
+  if (lower < 0) 
+    {
+      lower = 0 ;
+      upper = size () - 1;
+    }
+  if (lower >= upper)
+    return;
+  swap (lower, (lower+upper)/2);
+  int last = lower;
+  for (int i= lower +1; i <= upper; i++)
+    if (compare (array_p_[i], array_p_[lower]) < 0)
+      swap (++last,i);
+  swap (lower, last);
+  sort (compare, lower, last-1);
+  sort (compare, last+1, upper);
+}
+
+template<class T> INLINE void
+Array<T>::reverse () 
+{
+  int h = size_/2;
+  for (int i =0,j = size_-1; i < h; i++,j--)
+    swap (i,j);
+}
+
diff --git a/init/feta11.ly b/init/feta11.ly
new file mode 100644 (file)
index 0000000..404a216
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta11.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 4.12\pt -1.72\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.12\pt 0.00\pt 1.72\pt 
+        "0o"   "\\outsidewholerest"    -1.72\pt        5.84\pt -1.72\pt        0.28\pt 
+        "1o"   "\\outsidehalfrest"     -1.72\pt        5.84\pt -0.28\pt        1.72\pt 
+        "2"    "\\quartrest"   0.00\pt 2.97\pt 2.06\pt 9.90\pt 
+        "3"    "\\eighthrest"  0.00\pt 3.67\pt 2.75\pt 7.81\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 4.27\pt 0.00\pt 7.81\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 4.81\pt 0.00\pt 10.56\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 5.16\pt 0.00\pt 13.31\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 5.75\pt 0.00\pt 16.06\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 3.03\pt -4.12\pt        4.12\pt 
+        "0"    "\\natural"     0.00\pt 1.83\pt -4.12\pt        4.12\pt 
+        "-1"   "\\flat"        -0.33\pt        2.20\pt -1.38\pt        5.50\pt 
+        "-2"   "\\flatflat"    -0.33\pt        3.99\pt -1.38\pt        5.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 2.75\pt -1.38\pt        1.38\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.24\pt -0.62\pt        0.62\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.24\pt -1.38\pt        1.38\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 5.50\pt -1.51\pt        1.51\pt 
+        "-1l"  "\\brevisledger"        -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
+        "-2"   "\\longaball"   0.00\pt 5.50\pt -1.51\pt        1.51\pt 
+        "-2l"  "\\longaledger" -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
+        "0"    "\\wholeball"   0.00\pt 5.45\pt -1.51\pt        1.51\pt 
+        "0l"   "\\wholeledger" -1.36\pt        6.81\pt -0.28\pt        0.28\pt 
+        "1"    "\\halfball"    0.00\pt 3.79\pt -1.51\pt        1.51\pt 
+        "1l"   "\\halfledger"  -0.95\pt        4.74\pt -0.28\pt        0.28\pt 
+        "2"    "\\quartball"   0.00\pt 3.63\pt -1.51\pt        1.51\pt 
+        "2l"   "\\quartledger" -0.91\pt        4.54\pt -0.28\pt        0.28\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -3.64\pt        3.64\pt -0.21\pt        3.99\pt 
+        "dfermata"     "\\dfermata"    -3.64\pt        3.64\pt -3.99\pt        0.21\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.47\pt        2.47\pt -1.38\pt        1.38\pt 
+        "staccato"     "\\staccato"    -0.41\pt        0.41\pt -0.41\pt        0.41\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.55\pt        0.55\pt -0.20\pt        2.75\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.55\pt        0.55\pt -2.75\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -2.47\pt        2.47\pt -0.17\pt        0.17\pt 
+        "umarcato"     "\\umarcato"    -1.38\pt        1.38\pt 0.00\pt 3.03\pt 
+        "dmarcato"     "\\dmarcato"    -1.38\pt        1.38\pt -3.03\pt        0.00\pt 
+        "open" "\\ouvert"      -1.10\pt        1.10\pt -1.38\pt        1.38\pt 
+        "stopped"      "\\plusstop"    -1.51\pt        1.51\pt -1.51\pt        1.51\pt 
+        "upbow"        "\\upbow"       -1.79\pt        1.79\pt 0.00\pt 5.72\pt 
+        "downbow"      "\\downbow"     -2.06\pt        2.06\pt 0.00\pt 3.67\pt 
+        "reverseturn"  "\\reverseturn" -3.01\pt        3.01\pt -1.46\pt        1.46\pt 
+        "turn" "\\turn"        -3.01\pt        3.01\pt -1.46\pt        1.46\pt 
+        "trill"        "\\trill"       -2.75\pt        2.75\pt 0.00\pt 6.19\pt 
+        "upedalheel"   "\\upedalheel"  -1.38\pt        1.38\pt -1.38\pt        1.83\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.38\pt        1.38\pt -1.83\pt        1.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.38\pt        1.38\pt 0.00\pt 4.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.38\pt        1.38\pt -4.12\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -1.47\pt        1.47\pt -1.47\pt        1.47\pt 
+        "trilelement"  "\\trilelement" -1.83\pt        0.72\pt -1.38\pt        1.38\pt 
+        "prall"        "\\prall"       -3.11\pt        3.11\pt -1.38\pt        1.38\pt 
+        "mordent"      "\\mordent"     -3.11\pt        3.11\pt -1.38\pt        1.38\pt 
+        "prallprall"   "\\prallprall"  -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        "prallmordent" "\\prallmordent"        -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        "upprall"      "\\upprall"     -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        "downprall"    "\\downprall"   -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.14\pt        3.39\pt -8.43\pt        0.14\pt 
+        "u4"   "\\sixteenthflag"       -0.14\pt        3.39\pt -9.80\pt        0.14\pt 
+        "u5"   "\\thirtysecondflag"    -0.14\pt        3.39\pt -11.87\pt       0.14\pt 
+        "u6"   "\\sixtyfourthflag"     -0.14\pt        3.39\pt -14.62\pt       0.14\pt 
+        "d3"   "\\deighthflag" -0.14\pt        3.76\pt -0.14\pt        8.02\pt 
+        "d4"   "\\dsixteenthflag"      -0.14\pt        3.76\pt -0.14\pt        8.43\pt 
+        "d5"   "\\dthirtysecondflag"   -0.14\pt        3.76\pt -0.14\pt        10.77\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.14\pt        3.76\pt -0.14\pt        12.14\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -2.75\pt        10.24\pt        -5.50\pt        5.50\pt 
+        "alto_change"  "\\caltoclef"   -2.20\pt        8.19\pt -4.40\pt        4.40\pt 
+        "bass" "\\bassclef"    -1.38\pt        9.90\pt -6.88\pt        2.75\pt 
+        "bass_change"  "\\cbassclef"   -1.10\pt        7.92\pt -5.50\pt        2.20\pt 
+        "violin"       "\\violinclef"  -2.40\pt        10.28\pt        -8.25\pt        13.75\pt        
+        "violin_change"        "\\cviolinclef" -2.08\pt        8.06\pt -6.60\pt        11.00\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta11.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 4.12\pt -1.72\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.12\pt 0.00\pt 1.72\pt 
+        "0o"   "\\outsidewholerest"    -1.72\pt        5.84\pt -1.72\pt        0.28\pt 
+        "1o"   "\\outsidehalfrest"     -1.72\pt        5.84\pt -0.28\pt        1.72\pt 
+        "2"    "\\quartrest"   0.00\pt 2.97\pt 2.06\pt 9.90\pt 
+        "3"    "\\eighthrest"  0.00\pt 3.67\pt 2.75\pt 7.81\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 4.27\pt 0.00\pt 7.81\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 4.81\pt 0.00\pt 10.56\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 5.16\pt 0.00\pt 13.31\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 5.75\pt 0.00\pt 16.06\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 3.03\pt -4.12\pt        4.12\pt 
+        "0"    "\\natural"     0.00\pt 1.83\pt -4.12\pt        4.12\pt 
+        "-1"   "\\flat"        -0.33\pt        2.20\pt -1.38\pt        5.50\pt 
+        "-2"   "\\flatflat"    -0.33\pt        3.99\pt -1.38\pt        5.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 2.75\pt -1.38\pt        1.38\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.24\pt -0.62\pt        0.62\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.24\pt -1.38\pt        1.38\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 5.50\pt -1.51\pt        1.51\pt 
+        "-1l"  "\\brevisledger"        -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
+        "-2"   "\\longaball"   0.00\pt 5.50\pt -1.51\pt        1.51\pt 
+        "-2l"  "\\longaledger" -1.38\pt        6.88\pt -0.28\pt        0.28\pt 
+        "0"    "\\wholeball"   0.00\pt 5.45\pt -1.51\pt        1.51\pt 
+        "0l"   "\\wholeledger" -1.36\pt        6.81\pt -0.28\pt        0.28\pt 
+        "1"    "\\halfball"    0.00\pt 3.79\pt -1.51\pt        1.51\pt 
+        "1l"   "\\halfledger"  -0.95\pt        4.74\pt -0.28\pt        0.28\pt 
+        "2"    "\\quartball"   0.00\pt 3.63\pt -1.51\pt        1.51\pt 
+        "2l"   "\\quartledger" -0.91\pt        4.54\pt -0.28\pt        0.28\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -3.64\pt        3.64\pt -0.21\pt        3.99\pt 
+        "dfermata"     "\\dfermata"    -3.64\pt        3.64\pt -3.99\pt        0.21\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.47\pt        2.47\pt -1.38\pt        1.38\pt 
+        "staccato"     "\\staccato"    -0.41\pt        0.41\pt -0.41\pt        0.41\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.55\pt        0.55\pt -0.20\pt        2.75\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.55\pt        0.55\pt -2.75\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -2.47\pt        2.47\pt -0.17\pt        0.17\pt 
+        "umarcato"     "\\umarcato"    -1.38\pt        1.38\pt 0.00\pt 3.03\pt 
+        "dmarcato"     "\\dmarcato"    -1.38\pt        1.38\pt -3.03\pt        0.00\pt 
+        "open" "\\ouvert"      -1.10\pt        1.10\pt -1.38\pt        1.38\pt 
+        "stopped"      "\\plusstop"    -1.51\pt        1.51\pt -1.51\pt        1.51\pt 
+        "upbow"        "\\upbow"       -1.79\pt        1.79\pt 0.00\pt 5.72\pt 
+        "downbow"      "\\downbow"     -2.06\pt        2.06\pt 0.00\pt 3.67\pt 
+        "reverseturn"  "\\reverseturn" -3.01\pt        3.01\pt -1.46\pt        1.46\pt 
+        "turn" "\\turn"        -3.01\pt        3.01\pt -1.46\pt        1.46\pt 
+        "trill"        "\\trill"       -2.75\pt        2.75\pt 0.00\pt 6.19\pt 
+        "upedalheel"   "\\upedalheel"  -1.38\pt        1.38\pt -1.38\pt        1.83\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.38\pt        1.38\pt -1.83\pt        1.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.38\pt        1.38\pt 0.00\pt 4.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.38\pt        1.38\pt -4.12\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -1.47\pt        1.47\pt -1.47\pt        1.47\pt 
+        "trilelement"  "\\trilelement" -1.83\pt        0.72\pt -1.38\pt        1.38\pt 
+        "prall"        "\\prall"       -3.11\pt        3.11\pt -1.38\pt        1.38\pt 
+        "mordent"      "\\mordent"     -3.11\pt        3.11\pt -1.38\pt        1.38\pt 
+        "prallprall"   "\\prallprall"  -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        "prallmordent" "\\prallmordent"        -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        "upprall"      "\\upprall"     -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        "downprall"    "\\downprall"   -4.39\pt        4.39\pt -1.38\pt        1.38\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.14\pt        3.39\pt -8.43\pt        0.14\pt 
+        "u4"   "\\sixteenthflag"       -0.14\pt        3.39\pt -9.80\pt        0.14\pt 
+        "u5"   "\\thirtysecondflag"    -0.14\pt        3.39\pt -11.87\pt       0.14\pt 
+        "u6"   "\\sixtyfourthflag"     -0.14\pt        3.39\pt -14.62\pt       0.14\pt 
+        "d3"   "\\deighthflag" -0.14\pt        3.76\pt -0.14\pt        8.02\pt 
+        "d4"   "\\dsixteenthflag"      -0.14\pt        3.76\pt -0.14\pt        8.43\pt 
+        "d5"   "\\dthirtysecondflag"   -0.14\pt        3.76\pt -0.14\pt        10.77\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.14\pt        3.76\pt -0.14\pt        12.14\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -2.75\pt        10.24\pt        -5.50\pt        5.50\pt 
+        "alto_change"  "\\caltoclef"   -2.20\pt        8.19\pt -4.40\pt        4.40\pt 
+        "bass" "\\bassclef"    -1.38\pt        9.90\pt -6.88\pt        2.75\pt 
+        "bass_change"  "\\cbassclef"   -1.10\pt        7.92\pt -5.50\pt        2.20\pt 
+        "violin"       "\\violinclef"  -2.40\pt        10.28\pt        -8.25\pt        13.75\pt        
+        "violin_change"        "\\cviolinclef" -2.08\pt        8.06\pt -6.60\pt        11.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta13.ly b/init/feta13.ly
new file mode 100644 (file)
index 0000000..95e17d1
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta13.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 4.88\pt -2.03\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.88\pt 0.00\pt 2.03\pt 
+        "0o"   "\\outsidewholerest"    -2.03\pt        6.91\pt -2.03\pt        0.33\pt 
+        "1o"   "\\outsidehalfrest"     -2.03\pt        6.91\pt -0.33\pt        2.03\pt 
+        "2"    "\\quartrest"   0.00\pt 3.51\pt 2.44\pt 11.70\pt        
+        "3"    "\\eighthrest"  0.00\pt 4.33\pt 3.25\pt 9.24\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 5.04\pt 0.00\pt 9.24\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 5.69\pt 0.00\pt 12.49\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 6.10\pt 0.00\pt 15.74\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 6.79\pt 0.00\pt 18.99\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 3.58\pt -4.88\pt        4.88\pt 
+        "0"    "\\natural"     0.00\pt 2.17\pt -4.88\pt        4.88\pt 
+        "-1"   "\\flat"        -0.39\pt        2.60\pt -1.62\pt        6.50\pt 
+        "-2"   "\\flatflat"    -0.39\pt        4.71\pt -1.62\pt        6.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 3.25\pt -1.62\pt        1.62\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.46\pt -0.73\pt        0.73\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.46\pt -1.62\pt        1.62\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 6.50\pt -1.79\pt        1.79\pt 
+        "-1l"  "\\brevisledger"        -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
+        "-2"   "\\longaball"   0.00\pt 6.50\pt -1.79\pt        1.79\pt 
+        "-2l"  "\\longaledger" -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
+        "0"    "\\wholeball"   0.00\pt 6.44\pt -1.79\pt        1.79\pt 
+        "0l"   "\\wholeledger" -1.61\pt        8.04\pt -0.33\pt        0.33\pt 
+        "1"    "\\halfball"    0.00\pt 4.48\pt -1.79\pt        1.79\pt 
+        "1l"   "\\halfledger"  -1.12\pt        5.60\pt -0.33\pt        0.33\pt 
+        "2"    "\\quartball"   0.00\pt 4.29\pt -1.79\pt        1.79\pt 
+        "2l"   "\\quartledger" -1.07\pt        5.37\pt -0.33\pt        0.33\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -4.31\pt        4.31\pt -0.24\pt        4.71\pt 
+        "dfermata"     "\\dfermata"    -4.31\pt        4.31\pt -4.71\pt        0.24\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.92\pt        2.92\pt -1.62\pt        1.62\pt 
+        "staccato"     "\\staccato"    -0.49\pt        0.49\pt -0.49\pt        0.49\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.65\pt        0.65\pt -0.20\pt        3.25\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.65\pt        0.65\pt -3.25\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -2.92\pt        2.92\pt -0.20\pt        0.20\pt 
+        "umarcato"     "\\umarcato"    -1.62\pt        1.62\pt 0.00\pt 3.58\pt 
+        "dmarcato"     "\\dmarcato"    -1.62\pt        1.62\pt -3.58\pt        0.00\pt 
+        "open" "\\ouvert"      -1.30\pt        1.30\pt -1.62\pt        1.62\pt 
+        "stopped"      "\\plusstop"    -1.79\pt        1.79\pt -1.79\pt        1.79\pt 
+        "upbow"        "\\upbow"       -2.11\pt        2.11\pt 0.00\pt 6.76\pt 
+        "downbow"      "\\downbow"     -2.44\pt        2.44\pt 0.00\pt 4.33\pt 
+        "reverseturn"  "\\reverseturn" -3.55\pt        3.55\pt -1.72\pt        1.72\pt 
+        "turn" "\\turn"        -3.55\pt        3.55\pt -1.72\pt        1.72\pt 
+        "trill"        "\\trill"       -3.25\pt        3.25\pt 0.00\pt 7.31\pt 
+        "upedalheel"   "\\upedalheel"  -1.62\pt        1.62\pt -1.62\pt        2.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.62\pt        1.62\pt -2.17\pt        1.62\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.62\pt        1.62\pt 0.00\pt 4.88\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.62\pt        1.62\pt -4.88\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -1.73\pt        1.73\pt -1.73\pt        1.73\pt 
+        "trilelement"  "\\trilelement" -2.17\pt        0.85\pt -1.62\pt        1.62\pt 
+        "prall"        "\\prall"       -3.67\pt        3.67\pt -1.62\pt        1.62\pt 
+        "mordent"      "\\mordent"     -3.67\pt        3.67\pt -1.62\pt        1.62\pt 
+        "prallprall"   "\\prallprall"  -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        "prallmordent" "\\prallmordent"        -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        "upprall"      "\\upprall"     -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        "downprall"    "\\downprall"   -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.16\pt        4.01\pt -9.96\pt        0.16\pt 
+        "u4"   "\\sixteenthflag"       -0.16\pt        4.01\pt -11.59\pt       0.16\pt 
+        "u5"   "\\thirtysecondflag"    -0.16\pt        4.01\pt -14.02\pt       0.16\pt 
+        "u6"   "\\sixtyfourthflag"     -0.16\pt        4.01\pt -17.27\pt       0.16\pt 
+        "d3"   "\\deighthflag" -0.16\pt        4.44\pt -0.16\pt        9.47\pt 
+        "d4"   "\\dsixteenthflag"      -0.16\pt        4.44\pt -0.16\pt        9.96\pt 
+        "d5"   "\\dthirtysecondflag"   -0.16\pt        4.44\pt -0.16\pt        12.72\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.16\pt        4.44\pt -0.16\pt        14.35\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -3.25\pt        12.10\pt        -6.50\pt        6.50\pt 
+        "alto_change"  "\\caltoclef"   -2.60\pt        9.68\pt -5.20\pt        5.20\pt 
+        "bass" "\\bassclef"    -1.62\pt        11.70\pt        -8.12\pt        3.25\pt 
+        "bass_change"  "\\cbassclef"   -1.30\pt        9.36\pt -6.50\pt        2.60\pt 
+        "violin"       "\\violinclef"  -2.83\pt        12.15\pt        -9.75\pt        16.25\pt        
+        "violin_change"        "\\cviolinclef" -2.46\pt        9.52\pt -7.80\pt        13.00\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta13.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 4.88\pt -2.03\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 4.88\pt 0.00\pt 2.03\pt 
+        "0o"   "\\outsidewholerest"    -2.03\pt        6.91\pt -2.03\pt        0.33\pt 
+        "1o"   "\\outsidehalfrest"     -2.03\pt        6.91\pt -0.33\pt        2.03\pt 
+        "2"    "\\quartrest"   0.00\pt 3.51\pt 2.44\pt 11.70\pt        
+        "3"    "\\eighthrest"  0.00\pt 4.33\pt 3.25\pt 9.24\pt 
+        "4"    "\\sixteenthrest"       0.00\pt 5.04\pt 0.00\pt 9.24\pt 
+        "5"    "\\thirtysecondrest"    0.00\pt 5.69\pt 0.00\pt 12.49\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 6.10\pt 0.00\pt 15.74\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 6.79\pt 0.00\pt 18.99\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 3.58\pt -4.88\pt        4.88\pt 
+        "0"    "\\natural"     0.00\pt 2.17\pt -4.88\pt        4.88\pt 
+        "-1"   "\\flat"        -0.39\pt        2.60\pt -1.62\pt        6.50\pt 
+        "-2"   "\\flatflat"    -0.39\pt        4.71\pt -1.62\pt        6.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 3.25\pt -1.62\pt        1.62\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.46\pt -0.73\pt        0.73\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.46\pt -1.62\pt        1.62\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 6.50\pt -1.79\pt        1.79\pt 
+        "-1l"  "\\brevisledger"        -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
+        "-2"   "\\longaball"   0.00\pt 6.50\pt -1.79\pt        1.79\pt 
+        "-2l"  "\\longaledger" -1.62\pt        8.12\pt -0.33\pt        0.33\pt 
+        "0"    "\\wholeball"   0.00\pt 6.44\pt -1.79\pt        1.79\pt 
+        "0l"   "\\wholeledger" -1.61\pt        8.04\pt -0.33\pt        0.33\pt 
+        "1"    "\\halfball"    0.00\pt 4.48\pt -1.79\pt        1.79\pt 
+        "1l"   "\\halfledger"  -1.12\pt        5.60\pt -0.33\pt        0.33\pt 
+        "2"    "\\quartball"   0.00\pt 4.29\pt -1.79\pt        1.79\pt 
+        "2l"   "\\quartledger" -1.07\pt        5.37\pt -0.33\pt        0.33\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -4.31\pt        4.31\pt -0.24\pt        4.71\pt 
+        "dfermata"     "\\dfermata"    -4.31\pt        4.31\pt -4.71\pt        0.24\pt 
+        "sforzato"     "\\sforzatoaccent"      -2.92\pt        2.92\pt -1.62\pt        1.62\pt 
+        "staccato"     "\\staccato"    -0.49\pt        0.49\pt -0.49\pt        0.49\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.65\pt        0.65\pt -0.20\pt        3.25\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.65\pt        0.65\pt -3.25\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -2.92\pt        2.92\pt -0.20\pt        0.20\pt 
+        "umarcato"     "\\umarcato"    -1.62\pt        1.62\pt 0.00\pt 3.58\pt 
+        "dmarcato"     "\\dmarcato"    -1.62\pt        1.62\pt -3.58\pt        0.00\pt 
+        "open" "\\ouvert"      -1.30\pt        1.30\pt -1.62\pt        1.62\pt 
+        "stopped"      "\\plusstop"    -1.79\pt        1.79\pt -1.79\pt        1.79\pt 
+        "upbow"        "\\upbow"       -2.11\pt        2.11\pt 0.00\pt 6.76\pt 
+        "downbow"      "\\downbow"     -2.44\pt        2.44\pt 0.00\pt 4.33\pt 
+        "reverseturn"  "\\reverseturn" -3.55\pt        3.55\pt -1.72\pt        1.72\pt 
+        "turn" "\\turn"        -3.55\pt        3.55\pt -1.72\pt        1.72\pt 
+        "trill"        "\\trill"       -3.25\pt        3.25\pt 0.00\pt 7.31\pt 
+        "upedalheel"   "\\upedalheel"  -1.62\pt        1.62\pt -1.62\pt        2.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -1.62\pt        1.62\pt -2.17\pt        1.62\pt 
+        "upedaltoe"    "\\upedaltoe"   -1.62\pt        1.62\pt 0.00\pt 4.88\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -1.62\pt        1.62\pt -4.88\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -1.73\pt        1.73\pt -1.73\pt        1.73\pt 
+        "trilelement"  "\\trilelement" -2.17\pt        0.85\pt -1.62\pt        1.62\pt 
+        "prall"        "\\prall"       -3.67\pt        3.67\pt -1.62\pt        1.62\pt 
+        "mordent"      "\\mordent"     -3.67\pt        3.67\pt -1.62\pt        1.62\pt 
+        "prallprall"   "\\prallprall"  -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        "prallmordent" "\\prallmordent"        -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        "upprall"      "\\upprall"     -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        "downprall"    "\\downprall"   -5.18\pt        5.18\pt -1.62\pt        1.62\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.16\pt        4.01\pt -9.96\pt        0.16\pt 
+        "u4"   "\\sixteenthflag"       -0.16\pt        4.01\pt -11.59\pt       0.16\pt 
+        "u5"   "\\thirtysecondflag"    -0.16\pt        4.01\pt -14.02\pt       0.16\pt 
+        "u6"   "\\sixtyfourthflag"     -0.16\pt        4.01\pt -17.27\pt       0.16\pt 
+        "d3"   "\\deighthflag" -0.16\pt        4.44\pt -0.16\pt        9.47\pt 
+        "d4"   "\\dsixteenthflag"      -0.16\pt        4.44\pt -0.16\pt        9.96\pt 
+        "d5"   "\\dthirtysecondflag"   -0.16\pt        4.44\pt -0.16\pt        12.72\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.16\pt        4.44\pt -0.16\pt        14.35\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -3.25\pt        12.10\pt        -6.50\pt        6.50\pt 
+        "alto_change"  "\\caltoclef"   -2.60\pt        9.68\pt -5.20\pt        5.20\pt 
+        "bass" "\\bassclef"    -1.62\pt        11.70\pt        -8.12\pt        3.25\pt 
+        "bass_change"  "\\cbassclef"   -1.30\pt        9.36\pt -6.50\pt        2.60\pt 
+        "violin"       "\\violinclef"  -2.83\pt        12.15\pt        -9.75\pt        16.25\pt        
+        "violin_change"        "\\cviolinclef" -2.46\pt        9.52\pt -7.80\pt        13.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta16.ly b/init/feta16.ly
new file mode 100644 (file)
index 0000000..a575a5c
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta16.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 6.00\pt -2.50\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 6.00\pt 0.00\pt 2.50\pt 
+        "0o"   "\\outsidewholerest"    -2.50\pt        8.50\pt -2.50\pt        0.40\pt 
+        "1o"   "\\outsidehalfrest"     -2.50\pt        8.50\pt -0.40\pt        2.50\pt 
+        "2"    "\\quartrest"   0.00\pt 4.32\pt 3.00\pt 14.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 5.33\pt 4.00\pt 11.37\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 6.21\pt 0.00\pt 11.37\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 7.00\pt 0.00\pt 15.37\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 7.51\pt 0.00\pt 19.37\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 8.36\pt 0.00\pt 23.37\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 4.40\pt -6.00\pt        6.00\pt 
+        "0"    "\\natural"     0.00\pt 2.67\pt -6.00\pt        6.00\pt 
+        "-1"   "\\flat"        -0.48\pt        3.20\pt -2.00\pt        8.00\pt 
+        "-2"   "\\flatflat"    -0.48\pt        5.80\pt -2.00\pt        8.00\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.00\pt -2.00\pt        2.00\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.80\pt -0.90\pt        0.90\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.80\pt -2.00\pt        2.00\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 8.00\pt -2.20\pt        2.20\pt 
+        "-1l"  "\\brevisledger"        -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
+        "-2"   "\\longaball"   0.00\pt 8.00\pt -2.20\pt        2.20\pt 
+        "-2l"  "\\longaledger" -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
+        "0"    "\\wholeball"   0.00\pt 7.92\pt -2.20\pt        2.20\pt 
+        "0l"   "\\wholeledger" -1.98\pt        9.90\pt -0.40\pt        0.40\pt 
+        "1"    "\\halfball"    0.00\pt 5.51\pt -2.20\pt        2.20\pt 
+        "1l"   "\\halfledger"  -1.38\pt        6.89\pt -0.40\pt        0.40\pt 
+        "2"    "\\quartball"   0.00\pt 5.28\pt -2.20\pt        2.20\pt 
+        "2l"   "\\quartledger" -1.32\pt        6.61\pt -0.40\pt        0.40\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -5.30\pt        5.30\pt -0.30\pt        5.80\pt 
+        "dfermata"     "\\dfermata"    -5.30\pt        5.30\pt -5.80\pt        0.30\pt 
+        "sforzato"     "\\sforzatoaccent"      -3.60\pt        3.60\pt -2.00\pt        2.00\pt 
+        "staccato"     "\\staccato"    -0.60\pt        0.60\pt -0.60\pt        0.60\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.80\pt        0.80\pt -0.20\pt        4.00\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.80\pt        0.80\pt -4.00\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -3.60\pt        3.60\pt -0.24\pt        0.24\pt 
+        "umarcato"     "\\umarcato"    -2.00\pt        2.00\pt 0.00\pt 4.40\pt 
+        "dmarcato"     "\\dmarcato"    -2.00\pt        2.00\pt -4.40\pt        0.00\pt 
+        "open" "\\ouvert"      -1.60\pt        1.60\pt -2.00\pt        2.00\pt 
+        "stopped"      "\\plusstop"    -2.20\pt        2.20\pt -2.20\pt        2.20\pt 
+        "upbow"        "\\upbow"       -2.60\pt        2.60\pt 0.00\pt 8.32\pt 
+        "downbow"      "\\downbow"     -3.00\pt        3.00\pt 0.00\pt 5.33\pt 
+        "reverseturn"  "\\reverseturn" -4.38\pt        4.38\pt -2.12\pt        2.12\pt 
+        "turn" "\\turn"        -4.38\pt        4.38\pt -2.12\pt        2.12\pt 
+        "trill"        "\\trill"       -4.00\pt        4.00\pt 0.00\pt 9.00\pt 
+        "upedalheel"   "\\upedalheel"  -2.00\pt        2.00\pt -2.00\pt        2.67\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.00\pt        2.00\pt -2.67\pt        2.00\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.00\pt        2.00\pt 0.00\pt 6.00\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.00\pt        2.00\pt -6.00\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.13\pt        2.13\pt -2.13\pt        2.13\pt 
+        "trilelement"  "\\trilelement" -2.67\pt        1.05\pt -2.00\pt        2.00\pt 
+        "prall"        "\\prall"       -4.52\pt        4.52\pt -2.00\pt        2.00\pt 
+        "mordent"      "\\mordent"     -4.52\pt        4.52\pt -2.00\pt        2.00\pt 
+        "prallprall"   "\\prallprall"  -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        "prallmordent" "\\prallmordent"        -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        "upprall"      "\\upprall"     -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        "downprall"    "\\downprall"   -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.20\pt        4.94\pt -12.26\pt       0.20\pt 
+        "u4"   "\\sixteenthflag"       -0.20\pt        4.94\pt -14.26\pt       0.20\pt 
+        "u5"   "\\thirtysecondflag"    -0.20\pt        4.94\pt -17.26\pt       0.20\pt 
+        "u6"   "\\sixtyfourthflag"     -0.20\pt        4.94\pt -21.26\pt       0.20\pt 
+        "d3"   "\\deighthflag" -0.20\pt        5.46\pt -0.20\pt        11.66\pt        
+        "d4"   "\\dsixteenthflag"      -0.20\pt        5.46\pt -0.20\pt        12.26\pt        
+        "d5"   "\\dthirtysecondflag"   -0.20\pt        5.46\pt -0.20\pt        15.66\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.20\pt        5.46\pt -0.20\pt        17.66\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "alto_change"  "\\caltoclef"   -3.20\pt        11.91\pt        -6.40\pt        6.40\pt 
+        "bass" "\\bassclef"    -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "bass_change"  "\\cbassclef"   -1.60\pt        11.52\pt        -8.00\pt        3.20\pt 
+        "violin"       "\\violinclef"  -3.49\pt        14.95\pt        -12.00\pt       20.00\pt        
+        "violin_change"        "\\cviolinclef" -3.03\pt        11.72\pt        -9.60\pt        16.00\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta16.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 6.00\pt -2.50\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 6.00\pt 0.00\pt 2.50\pt 
+        "0o"   "\\outsidewholerest"    -2.50\pt        8.50\pt -2.50\pt        0.40\pt 
+        "1o"   "\\outsidehalfrest"     -2.50\pt        8.50\pt -0.40\pt        2.50\pt 
+        "2"    "\\quartrest"   0.00\pt 4.32\pt 3.00\pt 14.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 5.33\pt 4.00\pt 11.37\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 6.21\pt 0.00\pt 11.37\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 7.00\pt 0.00\pt 15.37\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 7.51\pt 0.00\pt 19.37\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 8.36\pt 0.00\pt 23.37\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 4.40\pt -6.00\pt        6.00\pt 
+        "0"    "\\natural"     0.00\pt 2.67\pt -6.00\pt        6.00\pt 
+        "-1"   "\\flat"        -0.48\pt        3.20\pt -2.00\pt        8.00\pt 
+        "-2"   "\\flatflat"    -0.48\pt        5.80\pt -2.00\pt        8.00\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.00\pt -2.00\pt        2.00\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 1.80\pt -0.90\pt        0.90\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 1.80\pt -2.00\pt        2.00\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 8.00\pt -2.20\pt        2.20\pt 
+        "-1l"  "\\brevisledger"        -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
+        "-2"   "\\longaball"   0.00\pt 8.00\pt -2.20\pt        2.20\pt 
+        "-2l"  "\\longaledger" -2.00\pt        10.00\pt        -0.40\pt        0.40\pt 
+        "0"    "\\wholeball"   0.00\pt 7.92\pt -2.20\pt        2.20\pt 
+        "0l"   "\\wholeledger" -1.98\pt        9.90\pt -0.40\pt        0.40\pt 
+        "1"    "\\halfball"    0.00\pt 5.51\pt -2.20\pt        2.20\pt 
+        "1l"   "\\halfledger"  -1.38\pt        6.89\pt -0.40\pt        0.40\pt 
+        "2"    "\\quartball"   0.00\pt 5.28\pt -2.20\pt        2.20\pt 
+        "2l"   "\\quartledger" -1.32\pt        6.61\pt -0.40\pt        0.40\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -5.30\pt        5.30\pt -0.30\pt        5.80\pt 
+        "dfermata"     "\\dfermata"    -5.30\pt        5.30\pt -5.80\pt        0.30\pt 
+        "sforzato"     "\\sforzatoaccent"      -3.60\pt        3.60\pt -2.00\pt        2.00\pt 
+        "staccato"     "\\staccato"    -0.60\pt        0.60\pt -0.60\pt        0.60\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.80\pt        0.80\pt -0.20\pt        4.00\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.80\pt        0.80\pt -4.00\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -3.60\pt        3.60\pt -0.24\pt        0.24\pt 
+        "umarcato"     "\\umarcato"    -2.00\pt        2.00\pt 0.00\pt 4.40\pt 
+        "dmarcato"     "\\dmarcato"    -2.00\pt        2.00\pt -4.40\pt        0.00\pt 
+        "open" "\\ouvert"      -1.60\pt        1.60\pt -2.00\pt        2.00\pt 
+        "stopped"      "\\plusstop"    -2.20\pt        2.20\pt -2.20\pt        2.20\pt 
+        "upbow"        "\\upbow"       -2.60\pt        2.60\pt 0.00\pt 8.32\pt 
+        "downbow"      "\\downbow"     -3.00\pt        3.00\pt 0.00\pt 5.33\pt 
+        "reverseturn"  "\\reverseturn" -4.38\pt        4.38\pt -2.12\pt        2.12\pt 
+        "turn" "\\turn"        -4.38\pt        4.38\pt -2.12\pt        2.12\pt 
+        "trill"        "\\trill"       -4.00\pt        4.00\pt 0.00\pt 9.00\pt 
+        "upedalheel"   "\\upedalheel"  -2.00\pt        2.00\pt -2.00\pt        2.67\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.00\pt        2.00\pt -2.67\pt        2.00\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.00\pt        2.00\pt 0.00\pt 6.00\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.00\pt        2.00\pt -6.00\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.13\pt        2.13\pt -2.13\pt        2.13\pt 
+        "trilelement"  "\\trilelement" -2.67\pt        1.05\pt -2.00\pt        2.00\pt 
+        "prall"        "\\prall"       -4.52\pt        4.52\pt -2.00\pt        2.00\pt 
+        "mordent"      "\\mordent"     -4.52\pt        4.52\pt -2.00\pt        2.00\pt 
+        "prallprall"   "\\prallprall"  -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        "prallmordent" "\\prallmordent"        -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        "upprall"      "\\upprall"     -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        "downprall"    "\\downprall"   -6.38\pt        6.38\pt -2.00\pt        2.00\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.20\pt        4.94\pt -12.26\pt       0.20\pt 
+        "u4"   "\\sixteenthflag"       -0.20\pt        4.94\pt -14.26\pt       0.20\pt 
+        "u5"   "\\thirtysecondflag"    -0.20\pt        4.94\pt -17.26\pt       0.20\pt 
+        "u6"   "\\sixtyfourthflag"     -0.20\pt        4.94\pt -21.26\pt       0.20\pt 
+        "d3"   "\\deighthflag" -0.20\pt        5.46\pt -0.20\pt        11.66\pt        
+        "d4"   "\\dsixteenthflag"      -0.20\pt        5.46\pt -0.20\pt        12.26\pt        
+        "d5"   "\\dthirtysecondflag"   -0.20\pt        5.46\pt -0.20\pt        15.66\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.20\pt        5.46\pt -0.20\pt        17.66\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "alto_change"  "\\caltoclef"   -3.20\pt        11.91\pt        -6.40\pt        6.40\pt 
+        "bass" "\\bassclef"    -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "bass_change"  "\\cbassclef"   -1.60\pt        11.52\pt        -8.00\pt        3.20\pt 
+        "violin"       "\\violinclef"  -3.49\pt        14.95\pt        -12.00\pt       20.00\pt        
+        "violin_change"        "\\cviolinclef" -3.03\pt        11.72\pt        -9.60\pt        16.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta19.ly b/init/feta19.ly
new file mode 100644 (file)
index 0000000..b08510d
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta19.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 7.12\pt -2.97\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 7.12\pt 0.00\pt 2.97\pt 
+        "0o"   "\\outsidewholerest"    -2.97\pt        10.09\pt        -2.97\pt        0.48\pt 
+        "1o"   "\\outsidehalfrest"     -2.97\pt        10.09\pt        -0.48\pt        2.97\pt 
+        "2"    "\\quartrest"   0.00\pt 5.13\pt 3.56\pt 17.10\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.33\pt 4.75\pt 13.50\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.37\pt 0.00\pt 13.50\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.32\pt 0.00\pt 18.25\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 8.92\pt 0.00\pt 23.00\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 9.93\pt 0.00\pt 27.75\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 5.23\pt -7.12\pt        7.12\pt 
+        "0"    "\\natural"     0.00\pt 3.17\pt -7.12\pt        7.12\pt 
+        "-1"   "\\flat"        -0.57\pt        3.80\pt -2.38\pt        9.50\pt 
+        "-2"   "\\flatflat"    -0.57\pt        6.89\pt -2.38\pt        9.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.75\pt -2.38\pt        2.38\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.14\pt -1.07\pt        1.07\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.14\pt -2.38\pt        2.38\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 9.50\pt -2.61\pt        2.61\pt 
+        "-1l"  "\\brevisledger"        -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
+        "-2"   "\\longaball"   0.00\pt 9.50\pt -2.61\pt        2.61\pt 
+        "-2l"  "\\longaledger" -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
+        "0"    "\\wholeball"   0.00\pt 9.41\pt -2.61\pt        2.61\pt 
+        "0l"   "\\wholeledger" -2.35\pt        11.76\pt        -0.48\pt        0.48\pt 
+        "1"    "\\halfball"    0.00\pt 6.54\pt -2.61\pt        2.61\pt 
+        "1l"   "\\halfledger"  -1.64\pt        8.18\pt -0.48\pt        0.48\pt 
+        "2"    "\\quartball"   0.00\pt 6.27\pt -2.61\pt        2.61\pt 
+        "2l"   "\\quartledger" -1.57\pt        7.84\pt -0.48\pt        0.48\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -6.29\pt        6.29\pt -0.36\pt        6.89\pt 
+        "dfermata"     "\\dfermata"    -6.29\pt        6.29\pt -6.89\pt        0.36\pt 
+        "sforzato"     "\\sforzatoaccent"      -4.27\pt        4.27\pt -2.38\pt        2.38\pt 
+        "staccato"     "\\staccato"    -0.71\pt        0.71\pt -0.71\pt        0.71\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.95\pt        0.95\pt -0.20\pt        4.75\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.95\pt        0.95\pt -4.75\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -4.27\pt        4.27\pt -0.29\pt        0.29\pt 
+        "umarcato"     "\\umarcato"    -2.38\pt        2.38\pt 0.00\pt 5.23\pt 
+        "dmarcato"     "\\dmarcato"    -2.38\pt        2.38\pt -5.23\pt        0.00\pt 
+        "open" "\\ouvert"      -1.90\pt        1.90\pt -2.38\pt        2.38\pt 
+        "stopped"      "\\plusstop"    -2.61\pt        2.61\pt -2.61\pt        2.61\pt 
+        "upbow"        "\\upbow"       -3.09\pt        3.09\pt 0.00\pt 9.88\pt 
+        "downbow"      "\\downbow"     -3.56\pt        3.56\pt 0.00\pt 6.33\pt 
+        "reverseturn"  "\\reverseturn" -5.20\pt        5.20\pt -2.51\pt        2.51\pt 
+        "turn" "\\turn"        -5.20\pt        5.20\pt -2.51\pt        2.51\pt 
+        "trill"        "\\trill"       -4.75\pt        4.75\pt 0.00\pt 10.69\pt        
+        "upedalheel"   "\\upedalheel"  -2.38\pt        2.38\pt -2.38\pt        3.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.38\pt        2.38\pt -3.17\pt        2.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.38\pt        2.38\pt 0.00\pt 7.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.38\pt        2.38\pt -7.12\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.53\pt        2.53\pt -2.53\pt        2.53\pt 
+        "trilelement"  "\\trilelement" -3.17\pt        1.24\pt -2.38\pt        2.38\pt 
+        "prall"        "\\prall"       -5.37\pt        5.37\pt -2.38\pt        2.38\pt 
+        "mordent"      "\\mordent"     -5.37\pt        5.37\pt -2.38\pt        2.38\pt 
+        "prallprall"   "\\prallprall"  -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        "prallmordent" "\\prallmordent"        -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        "upprall"      "\\upprall"     -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        "downprall"    "\\downprall"   -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.24\pt        5.86\pt -14.56\pt       0.24\pt 
+        "u4"   "\\sixteenthflag"       -0.24\pt        5.86\pt -16.93\pt       0.24\pt 
+        "u5"   "\\thirtysecondflag"    -0.24\pt        5.86\pt -20.50\pt       0.24\pt 
+        "u6"   "\\sixtyfourthflag"     -0.24\pt        5.86\pt -25.25\pt       0.24\pt 
+        "d3"   "\\deighthflag" -0.24\pt        6.49\pt -0.24\pt        13.85\pt        
+        "d4"   "\\dsixteenthflag"      -0.24\pt        6.49\pt -0.24\pt        14.56\pt        
+        "d5"   "\\dthirtysecondflag"   -0.24\pt        6.49\pt -0.24\pt        18.60\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.24\pt        6.49\pt -0.24\pt        20.97\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -4.75\pt        17.68\pt        -9.50\pt        9.50\pt 
+        "alto_change"  "\\caltoclef"   -3.80\pt        14.14\pt        -7.60\pt        7.60\pt 
+        "bass" "\\bassclef"    -2.38\pt        17.10\pt        -11.88\pt       4.75\pt 
+        "bass_change"  "\\cbassclef"   -1.90\pt        13.68\pt        -9.50\pt        3.80\pt 
+        "violin"       "\\violinclef"  -4.14\pt        17.75\pt        -14.25\pt       23.75\pt        
+        "violin_change"        "\\cviolinclef" -3.60\pt        13.92\pt        -11.40\pt       19.00\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta19.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 7.12\pt -2.97\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 7.12\pt 0.00\pt 2.97\pt 
+        "0o"   "\\outsidewholerest"    -2.97\pt        10.09\pt        -2.97\pt        0.48\pt 
+        "1o"   "\\outsidehalfrest"     -2.97\pt        10.09\pt        -0.48\pt        2.97\pt 
+        "2"    "\\quartrest"   0.00\pt 5.13\pt 3.56\pt 17.10\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.33\pt 4.75\pt 13.50\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.37\pt 0.00\pt 13.50\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.32\pt 0.00\pt 18.25\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 8.92\pt 0.00\pt 23.00\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 9.93\pt 0.00\pt 27.75\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 5.23\pt -7.12\pt        7.12\pt 
+        "0"    "\\natural"     0.00\pt 3.17\pt -7.12\pt        7.12\pt 
+        "-1"   "\\flat"        -0.57\pt        3.80\pt -2.38\pt        9.50\pt 
+        "-2"   "\\flatflat"    -0.57\pt        6.89\pt -2.38\pt        9.50\pt 
+        "2"    "\\sharpsharp"  0.00\pt 4.75\pt -2.38\pt        2.38\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.14\pt -1.07\pt        1.07\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.14\pt -2.38\pt        2.38\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 9.50\pt -2.61\pt        2.61\pt 
+        "-1l"  "\\brevisledger"        -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
+        "-2"   "\\longaball"   0.00\pt 9.50\pt -2.61\pt        2.61\pt 
+        "-2l"  "\\longaledger" -2.38\pt        11.88\pt        -0.48\pt        0.48\pt 
+        "0"    "\\wholeball"   0.00\pt 9.41\pt -2.61\pt        2.61\pt 
+        "0l"   "\\wholeledger" -2.35\pt        11.76\pt        -0.48\pt        0.48\pt 
+        "1"    "\\halfball"    0.00\pt 6.54\pt -2.61\pt        2.61\pt 
+        "1l"   "\\halfledger"  -1.64\pt        8.18\pt -0.48\pt        0.48\pt 
+        "2"    "\\quartball"   0.00\pt 6.27\pt -2.61\pt        2.61\pt 
+        "2l"   "\\quartledger" -1.57\pt        7.84\pt -0.48\pt        0.48\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -6.29\pt        6.29\pt -0.36\pt        6.89\pt 
+        "dfermata"     "\\dfermata"    -6.29\pt        6.29\pt -6.89\pt        0.36\pt 
+        "sforzato"     "\\sforzatoaccent"      -4.27\pt        4.27\pt -2.38\pt        2.38\pt 
+        "staccato"     "\\staccato"    -0.71\pt        0.71\pt -0.71\pt        0.71\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -0.95\pt        0.95\pt -0.20\pt        4.75\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -0.95\pt        0.95\pt -4.75\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -4.27\pt        4.27\pt -0.29\pt        0.29\pt 
+        "umarcato"     "\\umarcato"    -2.38\pt        2.38\pt 0.00\pt 5.23\pt 
+        "dmarcato"     "\\dmarcato"    -2.38\pt        2.38\pt -5.23\pt        0.00\pt 
+        "open" "\\ouvert"      -1.90\pt        1.90\pt -2.38\pt        2.38\pt 
+        "stopped"      "\\plusstop"    -2.61\pt        2.61\pt -2.61\pt        2.61\pt 
+        "upbow"        "\\upbow"       -3.09\pt        3.09\pt 0.00\pt 9.88\pt 
+        "downbow"      "\\downbow"     -3.56\pt        3.56\pt 0.00\pt 6.33\pt 
+        "reverseturn"  "\\reverseturn" -5.20\pt        5.20\pt -2.51\pt        2.51\pt 
+        "turn" "\\turn"        -5.20\pt        5.20\pt -2.51\pt        2.51\pt 
+        "trill"        "\\trill"       -4.75\pt        4.75\pt 0.00\pt 10.69\pt        
+        "upedalheel"   "\\upedalheel"  -2.38\pt        2.38\pt -2.38\pt        3.17\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.38\pt        2.38\pt -3.17\pt        2.38\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.38\pt        2.38\pt 0.00\pt 7.12\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.38\pt        2.38\pt -7.12\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.53\pt        2.53\pt -2.53\pt        2.53\pt 
+        "trilelement"  "\\trilelement" -3.17\pt        1.24\pt -2.38\pt        2.38\pt 
+        "prall"        "\\prall"       -5.37\pt        5.37\pt -2.38\pt        2.38\pt 
+        "mordent"      "\\mordent"     -5.37\pt        5.37\pt -2.38\pt        2.38\pt 
+        "prallprall"   "\\prallprall"  -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        "prallmordent" "\\prallmordent"        -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        "upprall"      "\\upprall"     -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        "downprall"    "\\downprall"   -7.57\pt        7.57\pt -2.38\pt        2.38\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.24\pt        5.86\pt -14.56\pt       0.24\pt 
+        "u4"   "\\sixteenthflag"       -0.24\pt        5.86\pt -16.93\pt       0.24\pt 
+        "u5"   "\\thirtysecondflag"    -0.24\pt        5.86\pt -20.50\pt       0.24\pt 
+        "u6"   "\\sixtyfourthflag"     -0.24\pt        5.86\pt -25.25\pt       0.24\pt 
+        "d3"   "\\deighthflag" -0.24\pt        6.49\pt -0.24\pt        13.85\pt        
+        "d4"   "\\dsixteenthflag"      -0.24\pt        6.49\pt -0.24\pt        14.56\pt        
+        "d5"   "\\dthirtysecondflag"   -0.24\pt        6.49\pt -0.24\pt        18.60\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.24\pt        6.49\pt -0.24\pt        20.97\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -4.75\pt        17.68\pt        -9.50\pt        9.50\pt 
+        "alto_change"  "\\caltoclef"   -3.80\pt        14.14\pt        -7.60\pt        7.60\pt 
+        "bass" "\\bassclef"    -2.38\pt        17.10\pt        -11.88\pt       4.75\pt 
+        "bass_change"  "\\cbassclef"   -1.90\pt        13.68\pt        -9.50\pt        3.80\pt 
+        "violin"       "\\violinclef"  -4.14\pt        17.75\pt        -14.25\pt       23.75\pt        
+        "violin_change"        "\\cviolinclef" -3.60\pt        13.92\pt        -11.40\pt       19.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta20.ly b/init/feta20.ly
new file mode 100644 (file)
index 0000000..9e72e2a
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta20.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 7.50\pt -3.12\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 7.50\pt 0.00\pt 3.12\pt 
+        "0o"   "\\outsidewholerest"    -3.12\pt        10.62\pt        -3.12\pt        0.50\pt 
+        "1o"   "\\outsidehalfrest"     -3.12\pt        10.62\pt        -0.50\pt        3.12\pt 
+        "2"    "\\quartrest"   0.00\pt 5.40\pt 3.75\pt 18.00\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.67\pt 5.00\pt 14.21\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.76\pt 0.00\pt 14.21\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.75\pt 0.00\pt 19.21\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 9.38\pt 0.00\pt 24.21\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 10.45\pt        0.00\pt 29.21\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 5.50\pt -7.50\pt        7.50\pt 
+        "0"    "\\natural"     0.00\pt 3.33\pt -7.50\pt        7.50\pt 
+        "-1"   "\\flat"        -0.60\pt        4.00\pt -2.50\pt        10.00\pt        
+        "-2"   "\\flatflat"    -0.60\pt        7.25\pt -2.50\pt        10.00\pt        
+        "2"    "\\sharpsharp"  0.00\pt 5.00\pt -2.50\pt        2.50\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.25\pt -1.12\pt        1.12\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.25\pt -2.50\pt        2.50\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
+        "-1l"  "\\brevisledger"        -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
+        "-2"   "\\longaball"   0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
+        "-2l"  "\\longaledger" -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
+        "0"    "\\wholeball"   0.00\pt 9.90\pt -2.75\pt        2.75\pt 
+        "0l"   "\\wholeledger" -2.48\pt        12.38\pt        -0.50\pt        0.50\pt 
+        "1"    "\\halfball"    0.00\pt 6.89\pt -2.75\pt        2.75\pt 
+        "1l"   "\\halfledger"  -1.72\pt        8.61\pt -0.50\pt        0.50\pt 
+        "2"    "\\quartball"   0.00\pt 6.61\pt -2.75\pt        2.75\pt 
+        "2l"   "\\quartledger" -1.65\pt        8.26\pt -0.50\pt        0.50\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -6.63\pt        6.63\pt -0.38\pt        7.25\pt 
+        "dfermata"     "\\dfermata"    -6.63\pt        6.63\pt -7.25\pt        0.38\pt 
+        "sforzato"     "\\sforzatoaccent"      -4.50\pt        4.50\pt -2.50\pt        2.50\pt 
+        "staccato"     "\\staccato"    -0.75\pt        0.75\pt -0.75\pt        0.75\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.00\pt        1.00\pt -0.20\pt        5.00\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.00\pt        1.00\pt -5.00\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -4.50\pt        4.50\pt -0.30\pt        0.30\pt 
+        "umarcato"     "\\umarcato"    -2.50\pt        2.50\pt 0.00\pt 5.50\pt 
+        "dmarcato"     "\\dmarcato"    -2.50\pt        2.50\pt -5.50\pt        0.00\pt 
+        "open" "\\ouvert"      -2.00\pt        2.00\pt -2.50\pt        2.50\pt 
+        "stopped"      "\\plusstop"    -2.75\pt        2.75\pt -2.75\pt        2.75\pt 
+        "upbow"        "\\upbow"       -3.25\pt        3.25\pt 0.00\pt 10.40\pt        
+        "downbow"      "\\downbow"     -3.75\pt        3.75\pt 0.00\pt 6.67\pt 
+        "reverseturn"  "\\reverseturn" -5.47\pt        5.47\pt -2.65\pt        2.65\pt 
+        "turn" "\\turn"        -5.47\pt        5.47\pt -2.65\pt        2.65\pt 
+        "trill"        "\\trill"       -5.00\pt        5.00\pt 0.00\pt 11.25\pt        
+        "upedalheel"   "\\upedalheel"  -2.50\pt        2.50\pt -2.50\pt        3.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.50\pt        2.50\pt -3.33\pt        2.50\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.50\pt        2.50\pt 0.00\pt 7.50\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.50\pt        2.50\pt -7.50\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.67\pt        2.67\pt -2.67\pt        2.67\pt 
+        "trilelement"  "\\trilelement" -3.33\pt        1.31\pt -2.50\pt        2.50\pt 
+        "prall"        "\\prall"       -5.65\pt        5.65\pt -2.50\pt        2.50\pt 
+        "mordent"      "\\mordent"     -5.65\pt        5.65\pt -2.50\pt        2.50\pt 
+        "prallprall"   "\\prallprall"  -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        "prallmordent" "\\prallmordent"        -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        "upprall"      "\\upprall"     -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        "downprall"    "\\downprall"   -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.25\pt        6.17\pt -15.33\pt       0.25\pt 
+        "u4"   "\\sixteenthflag"       -0.25\pt        6.17\pt -17.83\pt       0.25\pt 
+        "u5"   "\\thirtysecondflag"    -0.25\pt        6.17\pt -21.58\pt       0.25\pt 
+        "u6"   "\\sixtyfourthflag"     -0.25\pt        6.17\pt -26.58\pt       0.25\pt 
+        "d3"   "\\deighthflag" -0.25\pt        6.83\pt -0.25\pt        14.58\pt        
+        "d4"   "\\dsixteenthflag"      -0.25\pt        6.83\pt -0.25\pt        15.33\pt        
+        "d5"   "\\dthirtysecondflag"   -0.25\pt        6.83\pt -0.25\pt        19.58\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.25\pt        6.83\pt -0.25\pt        22.08\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -5.00\pt        18.61\pt        -10.00\pt       10.00\pt        
+        "alto_change"  "\\caltoclef"   -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "bass" "\\bassclef"    -2.50\pt        18.00\pt        -12.50\pt       5.00\pt 
+        "bass_change"  "\\cbassclef"   -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "violin"       "\\violinclef"  -4.36\pt        18.69\pt        -15.00\pt       25.00\pt        
+        "violin_change"        "\\cviolinclef" -3.79\pt        14.65\pt        -12.00\pt       20.00\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta20.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 7.50\pt -3.12\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 7.50\pt 0.00\pt 3.12\pt 
+        "0o"   "\\outsidewholerest"    -3.12\pt        10.62\pt        -3.12\pt        0.50\pt 
+        "1o"   "\\outsidehalfrest"     -3.12\pt        10.62\pt        -0.50\pt        3.12\pt 
+        "2"    "\\quartrest"   0.00\pt 5.40\pt 3.75\pt 18.00\pt        
+        "3"    "\\eighthrest"  0.00\pt 6.67\pt 5.00\pt 14.21\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 7.76\pt 0.00\pt 14.21\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 8.75\pt 0.00\pt 19.21\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 9.38\pt 0.00\pt 24.21\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 10.45\pt        0.00\pt 29.21\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 5.50\pt -7.50\pt        7.50\pt 
+        "0"    "\\natural"     0.00\pt 3.33\pt -7.50\pt        7.50\pt 
+        "-1"   "\\flat"        -0.60\pt        4.00\pt -2.50\pt        10.00\pt        
+        "-2"   "\\flatflat"    -0.60\pt        7.25\pt -2.50\pt        10.00\pt        
+        "2"    "\\sharpsharp"  0.00\pt 5.00\pt -2.50\pt        2.50\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.25\pt -1.12\pt        1.12\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.25\pt -2.50\pt        2.50\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
+        "-1l"  "\\brevisledger"        -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
+        "-2"   "\\longaball"   0.00\pt 10.00\pt        -2.75\pt        2.75\pt 
+        "-2l"  "\\longaledger" -2.50\pt        12.50\pt        -0.50\pt        0.50\pt 
+        "0"    "\\wholeball"   0.00\pt 9.90\pt -2.75\pt        2.75\pt 
+        "0l"   "\\wholeledger" -2.48\pt        12.38\pt        -0.50\pt        0.50\pt 
+        "1"    "\\halfball"    0.00\pt 6.89\pt -2.75\pt        2.75\pt 
+        "1l"   "\\halfledger"  -1.72\pt        8.61\pt -0.50\pt        0.50\pt 
+        "2"    "\\quartball"   0.00\pt 6.61\pt -2.75\pt        2.75\pt 
+        "2l"   "\\quartledger" -1.65\pt        8.26\pt -0.50\pt        0.50\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -6.63\pt        6.63\pt -0.38\pt        7.25\pt 
+        "dfermata"     "\\dfermata"    -6.63\pt        6.63\pt -7.25\pt        0.38\pt 
+        "sforzato"     "\\sforzatoaccent"      -4.50\pt        4.50\pt -2.50\pt        2.50\pt 
+        "staccato"     "\\staccato"    -0.75\pt        0.75\pt -0.75\pt        0.75\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.00\pt        1.00\pt -0.20\pt        5.00\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.00\pt        1.00\pt -5.00\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -4.50\pt        4.50\pt -0.30\pt        0.30\pt 
+        "umarcato"     "\\umarcato"    -2.50\pt        2.50\pt 0.00\pt 5.50\pt 
+        "dmarcato"     "\\dmarcato"    -2.50\pt        2.50\pt -5.50\pt        0.00\pt 
+        "open" "\\ouvert"      -2.00\pt        2.00\pt -2.50\pt        2.50\pt 
+        "stopped"      "\\plusstop"    -2.75\pt        2.75\pt -2.75\pt        2.75\pt 
+        "upbow"        "\\upbow"       -3.25\pt        3.25\pt 0.00\pt 10.40\pt        
+        "downbow"      "\\downbow"     -3.75\pt        3.75\pt 0.00\pt 6.67\pt 
+        "reverseturn"  "\\reverseturn" -5.47\pt        5.47\pt -2.65\pt        2.65\pt 
+        "turn" "\\turn"        -5.47\pt        5.47\pt -2.65\pt        2.65\pt 
+        "trill"        "\\trill"       -5.00\pt        5.00\pt 0.00\pt 11.25\pt        
+        "upedalheel"   "\\upedalheel"  -2.50\pt        2.50\pt -2.50\pt        3.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.50\pt        2.50\pt -3.33\pt        2.50\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.50\pt        2.50\pt 0.00\pt 7.50\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.50\pt        2.50\pt -7.50\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -2.67\pt        2.67\pt -2.67\pt        2.67\pt 
+        "trilelement"  "\\trilelement" -3.33\pt        1.31\pt -2.50\pt        2.50\pt 
+        "prall"        "\\prall"       -5.65\pt        5.65\pt -2.50\pt        2.50\pt 
+        "mordent"      "\\mordent"     -5.65\pt        5.65\pt -2.50\pt        2.50\pt 
+        "prallprall"   "\\prallprall"  -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        "prallmordent" "\\prallmordent"        -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        "upprall"      "\\upprall"     -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        "downprall"    "\\downprall"   -7.97\pt        7.97\pt -2.50\pt        2.50\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.25\pt        6.17\pt -15.33\pt       0.25\pt 
+        "u4"   "\\sixteenthflag"       -0.25\pt        6.17\pt -17.83\pt       0.25\pt 
+        "u5"   "\\thirtysecondflag"    -0.25\pt        6.17\pt -21.58\pt       0.25\pt 
+        "u6"   "\\sixtyfourthflag"     -0.25\pt        6.17\pt -26.58\pt       0.25\pt 
+        "d3"   "\\deighthflag" -0.25\pt        6.83\pt -0.25\pt        14.58\pt        
+        "d4"   "\\dsixteenthflag"      -0.25\pt        6.83\pt -0.25\pt        15.33\pt        
+        "d5"   "\\dthirtysecondflag"   -0.25\pt        6.83\pt -0.25\pt        19.58\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.25\pt        6.83\pt -0.25\pt        22.08\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -5.00\pt        18.61\pt        -10.00\pt       10.00\pt        
+        "alto_change"  "\\caltoclef"   -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "bass" "\\bassclef"    -2.50\pt        18.00\pt        -12.50\pt       5.00\pt 
+        "bass_change"  "\\cbassclef"   -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "violin"       "\\violinclef"  -4.36\pt        18.69\pt        -15.00\pt       25.00\pt        
+        "violin_change"        "\\cviolinclef" -3.79\pt        14.65\pt        -12.00\pt       20.00\pt        
+        }
+    %  } % $name
diff --git a/init/feta23.ly b/init/feta23.ly
new file mode 100644 (file)
index 0000000..d809738
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta23.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 8.44\pt -3.52\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 8.44\pt 0.00\pt 3.52\pt 
+        "0o"   "\\outsidewholerest"    -3.52\pt        11.95\pt        -3.52\pt        0.56\pt 
+        "1o"   "\\outsidehalfrest"     -3.52\pt        11.95\pt        -0.56\pt        3.52\pt 
+        "2"    "\\quartrest"   0.00\pt 6.08\pt 4.22\pt 20.25\pt        
+        "3"    "\\eighthrest"  0.00\pt 7.50\pt 5.62\pt 15.98\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 8.73\pt 0.00\pt 15.98\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 9.85\pt 0.00\pt 21.61\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 10.56\pt        0.00\pt 27.23\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 11.75\pt        0.00\pt 32.86\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 6.19\pt -8.44\pt        8.44\pt 
+        "0"    "\\natural"     0.00\pt 3.75\pt -8.44\pt        8.44\pt 
+        "-1"   "\\flat"        -0.68\pt        4.50\pt -2.81\pt        11.25\pt        
+        "-2"   "\\flatflat"    -0.68\pt        8.16\pt -2.81\pt        11.25\pt        
+        "2"    "\\sharpsharp"  0.00\pt 5.62\pt -2.81\pt        2.81\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.53\pt -1.27\pt        1.27\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.53\pt -2.81\pt        2.81\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
+        "-1l"  "\\brevisledger"        -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
+        "-2"   "\\longaball"   0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
+        "-2l"  "\\longaledger" -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
+        "0"    "\\wholeball"   0.00\pt 11.14\pt        -3.09\pt        3.09\pt 
+        "0l"   "\\wholeledger" -2.78\pt        13.92\pt        -0.56\pt        0.56\pt 
+        "1"    "\\halfball"    0.00\pt 7.75\pt -3.09\pt        3.09\pt 
+        "1l"   "\\halfledger"  -1.94\pt        9.69\pt -0.56\pt        0.56\pt 
+        "2"    "\\quartball"   0.00\pt 7.43\pt -3.09\pt        3.09\pt 
+        "2l"   "\\quartledger" -1.86\pt        9.29\pt -0.56\pt        0.56\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -7.45\pt        7.45\pt -0.42\pt        8.16\pt 
+        "dfermata"     "\\dfermata"    -7.45\pt        7.45\pt -8.16\pt        0.42\pt 
+        "sforzato"     "\\sforzatoaccent"      -5.06\pt        5.06\pt -2.81\pt        2.81\pt 
+        "staccato"     "\\staccato"    -0.84\pt        0.84\pt -0.84\pt        0.84\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.13\pt        1.13\pt -0.20\pt        5.63\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.13\pt        1.13\pt -5.63\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -5.06\pt        5.06\pt -0.34\pt        0.34\pt 
+        "umarcato"     "\\umarcato"    -2.81\pt        2.81\pt 0.00\pt 6.19\pt 
+        "dmarcato"     "\\dmarcato"    -2.81\pt        2.81\pt -6.19\pt        0.00\pt 
+        "open" "\\ouvert"      -2.25\pt        2.25\pt -2.81\pt        2.81\pt 
+        "stopped"      "\\plusstop"    -3.09\pt        3.09\pt -3.09\pt        3.09\pt 
+        "upbow"        "\\upbow"       -3.66\pt        3.66\pt 0.00\pt 11.70\pt        
+        "downbow"      "\\downbow"     -4.22\pt        4.22\pt 0.00\pt 7.50\pt 
+        "reverseturn"  "\\reverseturn" -6.15\pt        6.15\pt -2.98\pt        2.98\pt 
+        "turn" "\\turn"        -6.15\pt        6.15\pt -2.98\pt        2.98\pt 
+        "trill"        "\\trill"       -5.62\pt        5.62\pt 0.00\pt 12.66\pt        
+        "upedalheel"   "\\upedalheel"  -2.81\pt        2.81\pt -2.81\pt        3.75\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.81\pt        2.81\pt -3.75\pt        2.81\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.81\pt        2.81\pt 0.00\pt 8.44\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.81\pt        2.81\pt -8.44\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -3.00\pt        3.00\pt -3.00\pt        3.00\pt 
+        "trilelement"  "\\trilelement" -3.75\pt        1.47\pt -2.81\pt        2.81\pt 
+        "prall"        "\\prall"       -6.36\pt        6.36\pt -2.81\pt        2.81\pt 
+        "mordent"      "\\mordent"     -6.36\pt        6.36\pt -2.81\pt        2.81\pt 
+        "prallprall"   "\\prallprall"  -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        "prallmordent" "\\prallmordent"        -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        "upprall"      "\\upprall"     -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        "downprall"    "\\downprall"   -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.28\pt        6.94\pt -17.24\pt       0.28\pt 
+        "u4"   "\\sixteenthflag"       -0.28\pt        6.94\pt -20.05\pt       0.28\pt 
+        "u5"   "\\thirtysecondflag"    -0.28\pt        6.94\pt -24.27\pt       0.28\pt 
+        "u6"   "\\sixtyfourthflag"     -0.28\pt        6.94\pt -29.90\pt       0.28\pt 
+        "d3"   "\\deighthflag" -0.28\pt        7.68\pt -0.28\pt        16.40\pt        
+        "d4"   "\\dsixteenthflag"      -0.28\pt        7.68\pt -0.28\pt        17.24\pt        
+        "d5"   "\\dthirtysecondflag"   -0.28\pt        7.68\pt -0.28\pt        22.02\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.28\pt        7.68\pt -0.28\pt        24.83\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -5.62\pt        20.94\pt        -11.25\pt       11.25\pt        
+        "alto_change"  "\\caltoclef"   -4.50\pt        16.75\pt        -9.00\pt        9.00\pt 
+        "bass" "\\bassclef"    -2.81\pt        20.25\pt        -14.06\pt       5.62\pt 
+        "bass_change"  "\\cbassclef"   -2.25\pt        16.20\pt        -11.25\pt       4.50\pt 
+        "violin"       "\\violinclef"  -4.90\pt        21.02\pt        -16.88\pt       28.12\pt        
+        "violin_change"        "\\cviolinclef" -4.26\pt        16.48\pt        -13.50\pt       22.50\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta23.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 8.44\pt -3.52\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 8.44\pt 0.00\pt 3.52\pt 
+        "0o"   "\\outsidewholerest"    -3.52\pt        11.95\pt        -3.52\pt        0.56\pt 
+        "1o"   "\\outsidehalfrest"     -3.52\pt        11.95\pt        -0.56\pt        3.52\pt 
+        "2"    "\\quartrest"   0.00\pt 6.08\pt 4.22\pt 20.25\pt        
+        "3"    "\\eighthrest"  0.00\pt 7.50\pt 5.62\pt 15.98\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 8.73\pt 0.00\pt 15.98\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 9.85\pt 0.00\pt 21.61\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 10.56\pt        0.00\pt 27.23\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 11.75\pt        0.00\pt 32.86\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 6.19\pt -8.44\pt        8.44\pt 
+        "0"    "\\natural"     0.00\pt 3.75\pt -8.44\pt        8.44\pt 
+        "-1"   "\\flat"        -0.68\pt        4.50\pt -2.81\pt        11.25\pt        
+        "-2"   "\\flatflat"    -0.68\pt        8.16\pt -2.81\pt        11.25\pt        
+        "2"    "\\sharpsharp"  0.00\pt 5.62\pt -2.81\pt        2.81\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.53\pt -1.27\pt        1.27\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.53\pt -2.81\pt        2.81\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
+        "-1l"  "\\brevisledger"        -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
+        "-2"   "\\longaball"   0.00\pt 11.25\pt        -3.09\pt        3.09\pt 
+        "-2l"  "\\longaledger" -2.81\pt        14.06\pt        -0.56\pt        0.56\pt 
+        "0"    "\\wholeball"   0.00\pt 11.14\pt        -3.09\pt        3.09\pt 
+        "0l"   "\\wholeledger" -2.78\pt        13.92\pt        -0.56\pt        0.56\pt 
+        "1"    "\\halfball"    0.00\pt 7.75\pt -3.09\pt        3.09\pt 
+        "1l"   "\\halfledger"  -1.94\pt        9.69\pt -0.56\pt        0.56\pt 
+        "2"    "\\quartball"   0.00\pt 7.43\pt -3.09\pt        3.09\pt 
+        "2l"   "\\quartledger" -1.86\pt        9.29\pt -0.56\pt        0.56\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -7.45\pt        7.45\pt -0.42\pt        8.16\pt 
+        "dfermata"     "\\dfermata"    -7.45\pt        7.45\pt -8.16\pt        0.42\pt 
+        "sforzato"     "\\sforzatoaccent"      -5.06\pt        5.06\pt -2.81\pt        2.81\pt 
+        "staccato"     "\\staccato"    -0.84\pt        0.84\pt -0.84\pt        0.84\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.13\pt        1.13\pt -0.20\pt        5.63\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.13\pt        1.13\pt -5.63\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -5.06\pt        5.06\pt -0.34\pt        0.34\pt 
+        "umarcato"     "\\umarcato"    -2.81\pt        2.81\pt 0.00\pt 6.19\pt 
+        "dmarcato"     "\\dmarcato"    -2.81\pt        2.81\pt -6.19\pt        0.00\pt 
+        "open" "\\ouvert"      -2.25\pt        2.25\pt -2.81\pt        2.81\pt 
+        "stopped"      "\\plusstop"    -3.09\pt        3.09\pt -3.09\pt        3.09\pt 
+        "upbow"        "\\upbow"       -3.66\pt        3.66\pt 0.00\pt 11.70\pt        
+        "downbow"      "\\downbow"     -4.22\pt        4.22\pt 0.00\pt 7.50\pt 
+        "reverseturn"  "\\reverseturn" -6.15\pt        6.15\pt -2.98\pt        2.98\pt 
+        "turn" "\\turn"        -6.15\pt        6.15\pt -2.98\pt        2.98\pt 
+        "trill"        "\\trill"       -5.62\pt        5.62\pt 0.00\pt 12.66\pt        
+        "upedalheel"   "\\upedalheel"  -2.81\pt        2.81\pt -2.81\pt        3.75\pt 
+        "dpedalheel"   "\\dpedalheel"  -2.81\pt        2.81\pt -3.75\pt        2.81\pt 
+        "upedaltoe"    "\\upedaltoe"   -2.81\pt        2.81\pt 0.00\pt 8.44\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -2.81\pt        2.81\pt -8.44\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -3.00\pt        3.00\pt -3.00\pt        3.00\pt 
+        "trilelement"  "\\trilelement" -3.75\pt        1.47\pt -2.81\pt        2.81\pt 
+        "prall"        "\\prall"       -6.36\pt        6.36\pt -2.81\pt        2.81\pt 
+        "mordent"      "\\mordent"     -6.36\pt        6.36\pt -2.81\pt        2.81\pt 
+        "prallprall"   "\\prallprall"  -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        "prallmordent" "\\prallmordent"        -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        "upprall"      "\\upprall"     -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        "downprall"    "\\downprall"   -8.97\pt        8.97\pt -2.81\pt        2.81\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.28\pt        6.94\pt -17.24\pt       0.28\pt 
+        "u4"   "\\sixteenthflag"       -0.28\pt        6.94\pt -20.05\pt       0.28\pt 
+        "u5"   "\\thirtysecondflag"    -0.28\pt        6.94\pt -24.27\pt       0.28\pt 
+        "u6"   "\\sixtyfourthflag"     -0.28\pt        6.94\pt -29.90\pt       0.28\pt 
+        "d3"   "\\deighthflag" -0.28\pt        7.68\pt -0.28\pt        16.40\pt        
+        "d4"   "\\dsixteenthflag"      -0.28\pt        7.68\pt -0.28\pt        17.24\pt        
+        "d5"   "\\dthirtysecondflag"   -0.28\pt        7.68\pt -0.28\pt        22.02\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.28\pt        7.68\pt -0.28\pt        24.83\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -5.62\pt        20.94\pt        -11.25\pt       11.25\pt        
+        "alto_change"  "\\caltoclef"   -4.50\pt        16.75\pt        -9.00\pt        9.00\pt 
+        "bass" "\\bassclef"    -2.81\pt        20.25\pt        -14.06\pt       5.62\pt 
+        "bass_change"  "\\cbassclef"   -2.25\pt        16.20\pt        -11.25\pt       4.50\pt 
+        "violin"       "\\violinclef"  -4.90\pt        21.02\pt        -16.88\pt       28.12\pt        
+        "violin_change"        "\\cviolinclef" -4.26\pt        16.48\pt        -13.50\pt       22.50\pt        
+        }
+    %  } % $name
diff --git a/init/feta26.ly b/init/feta26.ly
new file mode 100644 (file)
index 0000000..c18ebdf
--- /dev/null
@@ -0,0 +1,178 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta26.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 9.75\pt -4.06\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 9.75\pt 0.00\pt 4.06\pt 
+        "0o"   "\\outsidewholerest"    -4.06\pt        13.81\pt        -4.06\pt        0.65\pt 
+        "1o"   "\\outsidehalfrest"     -4.06\pt        13.81\pt        -0.65\pt        4.06\pt 
+        "2"    "\\quartrest"   0.00\pt 7.02\pt 4.88\pt 23.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 8.67\pt 6.50\pt 18.47\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 10.08\pt        0.00\pt 18.47\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 11.38\pt        0.00\pt 24.97\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 12.20\pt        0.00\pt 31.47\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 13.58\pt        0.00\pt 37.97\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 7.15\pt -9.75\pt        9.75\pt 
+        "0"    "\\natural"     0.00\pt 4.33\pt -9.75\pt        9.75\pt 
+        "-1"   "\\flat"        -0.78\pt        5.20\pt -3.25\pt        13.00\pt        
+        "-2"   "\\flatflat"    -0.78\pt        9.42\pt -3.25\pt        13.00\pt        
+        "2"    "\\sharpsharp"  0.00\pt 6.50\pt -3.25\pt        3.25\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.92\pt -1.46\pt        1.46\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.92\pt -3.25\pt        3.25\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
+        "-1l"  "\\brevisledger"        -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
+        "-2"   "\\longaball"   0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
+        "-2l"  "\\longaledger" -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
+        "0"    "\\wholeball"   0.00\pt 12.87\pt        -3.58\pt        3.58\pt 
+        "0l"   "\\wholeledger" -3.22\pt        16.09\pt        -0.65\pt        0.65\pt 
+        "1"    "\\halfball"    0.00\pt 8.95\pt -3.58\pt        3.58\pt 
+        "1l"   "\\halfledger"  -2.24\pt        11.19\pt        -0.65\pt        0.65\pt 
+        "2"    "\\quartball"   0.00\pt 8.59\pt -3.58\pt        3.58\pt 
+        "2l"   "\\quartledger" -2.15\pt        10.73\pt        -0.65\pt        0.65\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -8.61\pt        8.61\pt -0.49\pt        9.43\pt 
+        "dfermata"     "\\dfermata"    -8.61\pt        8.61\pt -9.43\pt        0.49\pt 
+        "sforzato"     "\\sforzatoaccent"      -5.85\pt        5.85\pt -3.25\pt        3.25\pt 
+        "staccato"     "\\staccato"    -0.98\pt        0.98\pt -0.98\pt        0.98\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.30\pt        1.30\pt -0.20\pt        6.50\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.30\pt        1.30\pt -6.50\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -5.85\pt        5.85\pt -0.39\pt        0.39\pt 
+        "umarcato"     "\\umarcato"    -3.25\pt        3.25\pt 0.00\pt 7.15\pt 
+        "dmarcato"     "\\dmarcato"    -3.25\pt        3.25\pt -7.15\pt        0.00\pt 
+        "open" "\\ouvert"      -2.60\pt        2.60\pt -3.25\pt        3.25\pt 
+        "stopped"      "\\plusstop"    -3.58\pt        3.58\pt -3.58\pt        3.58\pt 
+        "upbow"        "\\upbow"       -4.23\pt        4.23\pt 0.00\pt 13.52\pt        
+        "downbow"      "\\downbow"     -4.88\pt        4.88\pt 0.00\pt 8.67\pt 
+        "reverseturn"  "\\reverseturn" -7.11\pt        7.11\pt -3.44\pt        3.44\pt 
+        "turn" "\\turn"        -7.11\pt        7.11\pt -3.44\pt        3.44\pt 
+        "trill"        "\\trill"       -6.50\pt        6.50\pt 0.00\pt 14.62\pt        
+        "upedalheel"   "\\upedalheel"  -3.25\pt        3.25\pt -3.25\pt        4.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -3.25\pt        3.25\pt -4.33\pt        3.25\pt 
+        "upedaltoe"    "\\upedaltoe"   -3.25\pt        3.25\pt 0.00\pt 9.75\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -3.25\pt        3.25\pt -9.75\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -3.47\pt        3.47\pt -3.47\pt        3.47\pt 
+        "trilelement"  "\\trilelement" -4.33\pt        1.70\pt -3.25\pt        3.25\pt 
+        "prall"        "\\prall"       -7.35\pt        7.35\pt -3.25\pt        3.25\pt 
+        "mordent"      "\\mordent"     -7.35\pt        7.35\pt -3.25\pt        3.25\pt 
+        "prallprall"   "\\prallprall"  -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        "prallmordent" "\\prallmordent"        -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        "upprall"      "\\upprall"     -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        "downprall"    "\\downprall"   -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.33\pt        8.02\pt -19.92\pt       0.33\pt 
+        "u4"   "\\sixteenthflag"       -0.33\pt        8.02\pt -23.17\pt       0.33\pt 
+        "u5"   "\\thirtysecondflag"    -0.33\pt        8.02\pt -28.05\pt       0.33\pt 
+        "u6"   "\\sixtyfourthflag"     -0.33\pt        8.02\pt -34.55\pt       0.33\pt 
+        "d3"   "\\deighthflag" -0.33\pt        8.88\pt -0.33\pt        18.95\pt        
+        "d4"   "\\dsixteenthflag"      -0.33\pt        8.88\pt -0.33\pt        19.92\pt        
+        "d5"   "\\dthirtysecondflag"   -0.33\pt        8.88\pt -0.33\pt        25.45\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.33\pt        8.88\pt -0.33\pt        28.70\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -6.50\pt        24.19\pt        -13.00\pt       13.00\pt        
+        "alto_change"  "\\caltoclef"   -5.20\pt        19.36\pt        -10.40\pt       10.40\pt        
+        "bass" "\\bassclef"    -3.25\pt        23.40\pt        -16.25\pt       6.50\pt 
+        "bass_change"  "\\cbassclef"   -2.60\pt        18.72\pt        -13.00\pt       5.20\pt 
+        "violin"       "\\violinclef"  -5.66\pt        24.29\pt        -19.50\pt       32.50\pt        
+        "violin_change"        "\\cviolinclef" -4.92\pt        19.04\pt        -15.60\pt       26.00\pt        
+        }
+    %  } % $name
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta26.log
+% name=\symboltables {
+    "rests"     = \table {
+        "0"    "\\wholerest"   0.00\pt 9.75\pt -4.06\pt        0.00\pt 
+        "1"    "\\halfrest"    0.00\pt 9.75\pt 0.00\pt 4.06\pt 
+        "0o"   "\\outsidewholerest"    -4.06\pt        13.81\pt        -4.06\pt        0.65\pt 
+        "1o"   "\\outsidehalfrest"     -4.06\pt        13.81\pt        -0.65\pt        4.06\pt 
+        "2"    "\\quartrest"   0.00\pt 7.02\pt 4.88\pt 23.40\pt        
+        "3"    "\\eighthrest"  0.00\pt 8.67\pt 6.50\pt 18.47\pt        
+        "4"    "\\sixteenthrest"       0.00\pt 10.08\pt        0.00\pt 18.47\pt        
+        "5"    "\\thirtysecondrest"    0.00\pt 11.38\pt        0.00\pt 24.97\pt        
+        "6"    "\\sixtyfourthrest"     0.00\pt 12.20\pt        0.00\pt 31.47\pt        
+        "7"    "\\hundredtwentyeighthrest"     0.00\pt 13.58\pt        0.00\pt 37.97\pt        
+        }
+    "accidentals"       = \table {
+        "1"    "\\sharp"       0.00\pt 7.15\pt -9.75\pt        9.75\pt 
+        "0"    "\\natural"     0.00\pt 4.33\pt -9.75\pt        9.75\pt 
+        "-1"   "\\flat"        -0.78\pt        5.20\pt -3.25\pt        13.00\pt        
+        "-2"   "\\flatflat"    -0.78\pt        9.42\pt -3.25\pt        13.00\pt        
+        "2"    "\\sharpsharp"  0.00\pt 6.50\pt -3.25\pt        3.25\pt 
+        }
+    "dots"      = \table {
+        "dot"  "\\dot" 0.00\pt 2.92\pt -1.46\pt        1.46\pt 
+        "repeatcolon"  "\\repeatcolon" 0.00\pt 2.92\pt -3.25\pt        3.25\pt 
+        }
+    "balls"     = \table {
+        "-1"   "\\brevisball"  0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
+        "-1l"  "\\brevisledger"        -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
+        "-2"   "\\longaball"   0.00\pt 13.00\pt        -3.58\pt        3.58\pt 
+        "-2l"  "\\longaledger" -3.25\pt        16.25\pt        -0.65\pt        0.65\pt 
+        "0"    "\\wholeball"   0.00\pt 12.87\pt        -3.58\pt        3.58\pt 
+        "0l"   "\\wholeledger" -3.22\pt        16.09\pt        -0.65\pt        0.65\pt 
+        "1"    "\\halfball"    0.00\pt 8.95\pt -3.58\pt        3.58\pt 
+        "1l"   "\\halfledger"  -2.24\pt        11.19\pt        -0.65\pt        0.65\pt 
+        "2"    "\\quartball"   0.00\pt 8.59\pt -3.58\pt        3.58\pt 
+        "2l"   "\\quartledger" -2.15\pt        10.73\pt        -0.65\pt        0.65\pt 
+        }
+    "scripts"   = \table {
+        "ufermata"     "\\ufermata"    -8.61\pt        8.61\pt -0.49\pt        9.43\pt 
+        "dfermata"     "\\dfermata"    -8.61\pt        8.61\pt -9.43\pt        0.49\pt 
+        "sforzato"     "\\sforzatoaccent"      -5.85\pt        5.85\pt -3.25\pt        3.25\pt 
+        "staccato"     "\\staccato"    -0.98\pt        0.98\pt -0.98\pt        0.98\pt 
+        "ustaccatissimo"       "\\ustaccatissimo"      -1.30\pt        1.30\pt -0.20\pt        6.50\pt 
+        "dstaccatissimo"       "\\dstaccatissimo"      -1.30\pt        1.30\pt -6.50\pt        0.20\pt 
+        "tenuto"       "\\tenuto"      -5.85\pt        5.85\pt -0.39\pt        0.39\pt 
+        "umarcato"     "\\umarcato"    -3.25\pt        3.25\pt 0.00\pt 7.15\pt 
+        "dmarcato"     "\\dmarcato"    -3.25\pt        3.25\pt -7.15\pt        0.00\pt 
+        "open" "\\ouvert"      -2.60\pt        2.60\pt -3.25\pt        3.25\pt 
+        "stopped"      "\\plusstop"    -3.58\pt        3.58\pt -3.58\pt        3.58\pt 
+        "upbow"        "\\upbow"       -4.23\pt        4.23\pt 0.00\pt 13.52\pt        
+        "downbow"      "\\downbow"     -4.88\pt        4.88\pt 0.00\pt 8.67\pt 
+        "reverseturn"  "\\reverseturn" -7.11\pt        7.11\pt -3.44\pt        3.44\pt 
+        "turn" "\\turn"        -7.11\pt        7.11\pt -3.44\pt        3.44\pt 
+        "trill"        "\\trill"       -6.50\pt        6.50\pt 0.00\pt 14.62\pt        
+        "upedalheel"   "\\upedalheel"  -3.25\pt        3.25\pt -3.25\pt        4.33\pt 
+        "dpedalheel"   "\\dpedalheel"  -3.25\pt        3.25\pt -4.33\pt        3.25\pt 
+        "upedaltoe"    "\\upedaltoe"   -3.25\pt        3.25\pt 0.00\pt 9.75\pt 
+        "dpedaltoe"    "\\dpedaltoe"   -3.25\pt        3.25\pt -9.75\pt        0.00\pt 
+        "flageolet"    "\\flageolet"   -3.47\pt        3.47\pt -3.47\pt        3.47\pt 
+        "trilelement"  "\\trilelement" -4.33\pt        1.70\pt -3.25\pt        3.25\pt 
+        "prall"        "\\prall"       -7.35\pt        7.35\pt -3.25\pt        3.25\pt 
+        "mordent"      "\\mordent"     -7.35\pt        7.35\pt -3.25\pt        3.25\pt 
+        "prallprall"   "\\prallprall"  -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        "prallmordent" "\\prallmordent"        -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        "upprall"      "\\upprall"     -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        "downprall"    "\\downprall"   -10.37\pt       10.37\pt        -3.25\pt        3.25\pt 
+        }
+    "flags"     = \table {
+        "u3"   "\\eighthflag"  -0.33\pt        8.02\pt -19.92\pt       0.33\pt 
+        "u4"   "\\sixteenthflag"       -0.33\pt        8.02\pt -23.17\pt       0.33\pt 
+        "u5"   "\\thirtysecondflag"    -0.33\pt        8.02\pt -28.05\pt       0.33\pt 
+        "u6"   "\\sixtyfourthflag"     -0.33\pt        8.02\pt -34.55\pt       0.33\pt 
+        "d3"   "\\deighthflag" -0.33\pt        8.88\pt -0.33\pt        18.95\pt        
+        "d4"   "\\dsixteenthflag"      -0.33\pt        8.88\pt -0.33\pt        19.92\pt        
+        "d5"   "\\dthirtysecondflag"   -0.33\pt        8.88\pt -0.33\pt        25.45\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.33\pt        8.88\pt -0.33\pt        28.70\pt        
+        }
+    "clefs"     = \table {
+        "alto" "\\altoclef"    -6.50\pt        24.19\pt        -13.00\pt       13.00\pt        
+        "alto_change"  "\\caltoclef"   -5.20\pt        19.36\pt        -10.40\pt       10.40\pt        
+        "bass" "\\bassclef"    -3.25\pt        23.40\pt        -16.25\pt       6.50\pt 
+        "bass_change"  "\\cbassclef"   -2.60\pt        18.72\pt        -13.00\pt       5.20\pt 
+        "violin"       "\\violinclef"  -5.66\pt        24.29\pt        -19.50\pt       32.50\pt        
+        "violin_change"        "\\cviolinclef" -4.92\pt        19.04\pt        -15.60\pt       26.00\pt        
+        }
+    %  } % $name
diff --git a/input/bugs/a.ly b/input/bugs/a.ly
new file mode 100644 (file)
index 0000000..2706aa1
--- /dev/null
@@ -0,0 +1,56 @@
+\header{
+enteredby =     "jcn";
+copyright =     "PD";
+TestedFeatures =        "This file tests Feta embedded slurs"
+        "(Feta definitively is not an abbreviation of Font-En-TjA)";
+}
+
+\version "0.1.9";
+
+shortlong = \melodic{
+       \octave c';
+       c4()c( c c  |
+       c c c c |
+       c c c c |
+       \break;
+       c c c )c |
+}
+
+sl = \melodic{
+       \octave c'';
+%      e4()e( a e  |
+       e4 e( a e  |
+       e e e e |
+       e e e a |
+       \break;
+       e e g )e |
+}
+
+broken = \melodic{
+      \octave c'';
+      c c c c()
+      c c c c(
+      c )c c c(
+      c c )c c(
+      )a' a' a' a'()
+      a' a' a' a'()
+      c( c c )c 
+      c( c c )'f 
+      'f( c c )c 
+      'f( c c )'f
+}
+
+\score{
+       \melodic{ 
+%              \shortlong
+               \sl
+%              \broken
+       }
+       \paper{ 
+             indent = 0.0\pt;
+               %for broken!
+%              linewidth= 30.\mm;
+               castingalgorithm = \Wordwrap;
+       }
+}
+
diff --git a/input/bugs/multi-slope.ly b/input/bugs/multi-slope.ly
new file mode 100644 (file)
index 0000000..24677ef
--- /dev/null
@@ -0,0 +1,6 @@
+\score{
+       \melodic{
+               \octave c';
+               [c8 c16 c16]
+       }
+}
diff --git a/input/bugs/slur-broken.ly b/input/bugs/slur-broken.ly
new file mode 100644 (file)
index 0000000..dfdf22a
--- /dev/null
@@ -0,0 +1,20 @@
+shortlong = \melodic{
+       c4()c( c c  |
+       c c c c |
+       c c c c |
+       \break;
+       c c c )c |
+       c c c c |
+       c c c c |
+       c c c c |
+       c c c c |
+}
+
+\score{
+       \shortlong
+       \paper{ 
+             indent = 0.0\pt;
+               % linewidth= 30.\mm;
+               castingalgorithm = \Wordwrap;
+       }
+}
diff --git a/input/dummy.tex b/input/dummy.tex
deleted file mode 100644 (file)
index e69de29..0000000
index 39737f22ff4c32e1bb57f319ab8d04f1e74fb1bf..b2d6ad9bc22f2c6a4771aedefb69870428fd2482 100644 (file)
@@ -1,11 +1,11 @@
 part = \melodic{
        \octave c;
-       c c c c
+       c-1 c c c
        r1*3
-       c4 c c c
-       c c c c
-       c c c c
-       c c c c
+       c4-5 c c c
+       c-6 c c c
+       c-7 c c c
+       c-8 c c c
 }
 
 a4 = \paper{
diff --git a/input/test/broken.ly b/input/test/broken.ly
new file mode 100644 (file)
index 0000000..2333305
--- /dev/null
@@ -0,0 +1,44 @@
+\header{
+enteredby =     "jcn";
+copyright =     "PD";
+TestedFeatures =        "This file tests Feta embedded slurs"
+        "(Feta definitively is not an abbreviation of Font-En-TjA)";
+}
+
+\version "0.1.9";
+
+shortlong = \melodic{
+       c4()c( c c  |
+       c c c c |
+       c c c c |
+       \break;
+       c c c )c |
+}
+
+broken = \melodic{
+      \octave c'';
+      c c c c()
+      c c c c(
+      c )c c c(
+      c c )c c(
+      )a' a' a' a'()
+      a' a' a' a'()
+      c( c c )c 
+      c( c c )'f 
+      'f( c c )c 
+      'f( c c )'f
+}
+
+\score{
+       \melodic{ 
+%              \shortlong
+               \broken
+       }
+       \paper{ 
+             indent = 0.0\pt;
+               %for broken!
+               linewidth= 30.\mm;
+               castingalgorithm = \Wordwrap;
+       }
+}
+
index 9ea0df5912a108c8dcf06681b1309b26b4bea943..116aa60db0b0a53100d6f59388b3e6395cb4cd79 100644 (file)
@@ -11,6 +11,7 @@ shortlong = \melodic{
        c4()c( c c  |
        c c c c |
        c c c c |
+       \break;
        c c c )c |
 }
 
@@ -133,6 +134,7 @@ blend =     \melodic{
        \octave c';
        e( c'' c'' )e
        \stemup
+       f'( c'' c'' )f'
        e( c'' c'' )e
        \stemdown
        f'( \stemboth 'a 'a \stemdown )f'
@@ -174,7 +176,7 @@ clipping = \melodic{
 \score{
        \melodic{ 
                % use blend for fast check
-               %\blend
+               \blend
 % {
                \shortlong
                \dirs
@@ -185,16 +187,16 @@ clipping = \melodic{
                \tiltup
                \tiltdown
                \bug
-               \clipping
 % }
+               \clipping
                % use broken with small linewidth
                %\broken
        }
        \paper{ 
              indent = 0.0\pt;
                %for broken!
-               %linewidth= 40.\mm;
-               %castingalgorithm = \Wordwrap;
+               % linewidth= 30.\mm;
+               castingalgorithm = \Wordwrap;
        }
 }
 
index bd760860982a6dfb3a97da63a735f3763c460cf5..e825e8955d8089333e335493caecdfc1a58349cf 100644 (file)
@@ -1,4 +1,5 @@
-MAJOR_VERSION = 0
-MINOR_VERSION = 1
-PATCH_LEVEL = 58
-MY_PATCH_LEVEL =
+MAJOR_VERSION=0
+MINOR_VERSION=1
+PATCH_LEVEL=60
+MY_PATCH_LEVEL=
+
index 03e5fece81c04f64105b12218f1dee4300968efa..9a24c2739baf7500d38f06759a318a8de796a10d 100644 (file)
@@ -34,10 +34,13 @@ Bar_number_engraver::acknowledge_element (Score_elem_info i)
       script_p_ = new Script;
       Text_def *td_p =new Text_def;
       td_p->text_str_ = time->bars_i_;
+      td_p->align_i_ = LEFT;
 
       script_p_->specs_l_ = td_p;
       script_p_->breakable_b_ = true;
       script_p_->dir_ = UP;
+//      script_p_->y_ += 2;
+      script_p_->y_ = 8;
 
       announce_element (Score_elem_info (script_p_, &dummy));
     }
index bb360581e24df1d18a3ab4e1fb3da95d952e98e6..5fea33928893670794afa16f7567f89fffaed0f1 100644 (file)
@@ -15,9 +15,9 @@
 #include "paper-def.hh"
 #include "debug.hh"
 #include "main.hh"
-#define SLUR_DOUT if (check_debug && !monitor->silent_b ("Slur")) cout
+#define BEZIER_BOW_DOUT if (check_debug && !monitor->silent_b ("Bezier_bow")) cout
 #else
-#define SLUR_DOUT cerr
+#define BEZIER_BOW_DOUT cerr
 #endif
 
 void
@@ -101,7 +101,7 @@ Bezier::y (Real x)
          Offset z1 = curve_[i-1];
          Offset z2 = curve_[i];
          Real multiplier = (x - z2.x ()) / (z1.x () - z2.x ());
-         Real y = z1.y () * multiplier + (1.0 - multiplier) * z2.y();
+         Real y = z1.y () * multiplier + (1.0 - multiplier) *z2.y();
 
          return y;
         }
@@ -243,8 +243,6 @@ Bezier_bow::calc ()
 bool
 Bezier_bow::calc_clipping ()
 {
-  if (!experimental_features_global_b)
-    return false;
 #ifndef STANDALONE
   Real staffsize_f = paper_l_->get_var ("barsize");
 #else
@@ -288,13 +286,23 @@ Bezier_bow::calc_clipping ()
        begin_dy = c * begin_alpha / max_alpha * begin_h;
       if (end_alpha >= max_alpha)
        end_dy = c * end_alpha / max_alpha * end_h;
-      encompass_[0].y () += begin_dy;
-      encompass_[encompass_.size () - 1].y () += end_dy;
 
-      Offset delta = encompass_[encompass_.size () - 1] - encompass_[0];
-      alpha_ = delta.arg ();
-      alpha_ *= dir_;
-//      again = false;
+      Real dy = end_dy >? begin_dy;
+
+      if (!experimental_features_global_b)
+        {
+         encompass_[0].y () += dy;
+         encompass_[encompass_.size () - 1].y () += dy;
+       }
+      else
+       {
+         encompass_[0].y () += begin_dy;
+         encompass_[encompass_.size () - 1].y () += end_dy;
+
+         Offset delta = encompass_[encompass_.size () - 1] - encompass_[0];
+         alpha_ = delta.arg ();
+         alpha_ *= dir_;
+       }
     }
 
   origin_ = encompass_[0];
@@ -309,8 +317,12 @@ Bezier_bow::calc_clipping ()
 void
 Bezier_bow::calc_controls ()
 {
+  // try clipping twice
   for (int i = 0; i < 3; i++)
     {
+      if (i && !calc_clipping ())
+       return;
+
       calc_default (0);
       calc_bezier ();
       
@@ -320,13 +332,10 @@ Bezier_bow::calc_controls ()
          return;
        }
       calc_tangent_controls ();
-      blow_fit ();
 
+      blow_fit ();
       // ugh
       blow_fit ();
-
-      if (!calc_clipping ())
-       return;
     }
 }
 
@@ -354,7 +363,7 @@ void
 Bezier_bow::calc_tangent_controls ()
 {
   Offset ijk_p (control_[3].x () / 2, control_[1].y ());
-  SLUR_DOUT << "ijk: " << ijk_p.x () << ", " << ijk_p.y () << endl;
+  BEZIER_BOW_DOUT << "ijk: " << ijk_p.x () << ", " << ijk_p.y () << endl;
 
   Real default_rc = ijk_p.y () / ijk_p.x ();
 
@@ -390,8 +399,8 @@ Bezier_bow::calc_tangent_controls ()
       end_p = ijk_p;
       end_rc = default_rc;
     }
-  SLUR_DOUT << "begin " << begin_p.x () << ", " << begin_p.y () << endl;
-  SLUR_DOUT << "end " << end_p.x () << ", " << end_p.y () << endl;
+  BEZIER_BOW_DOUT << "begin " << begin_p.x () << ", " << begin_p.y () << endl;
+  BEZIER_BOW_DOUT << "end " << end_p.x () << ", " << end_p.y () << endl;
 
   Real height =control_[1].y (); 
   for (int i = 0; i < encompass_.size (); i++ )
@@ -430,17 +439,17 @@ Bezier_bow::calc_tangent_controls ()
   Real c3 = begin_p.y () > end_p.y () ? begin_p.y () 
     - rc3 * begin_p.x () : end_p.y () - rc3 * end_p.x ();
 
-  SLUR_DOUT << "y1 = " << rc1 << " x + 0" << endl;
-  SLUR_DOUT << "y2 = " << rc2 << " x + " << c2 << endl;
-  SLUR_DOUT << "y3 = " << rc3 << " x + " << c3 << endl;
+  BEZIER_BOW_DOUT << "y1 = " << rc1 << " x + 0" << endl;
+  BEZIER_BOW_DOUT << "y2 = " << rc2 << " x + " << c2 << endl;
+  BEZIER_BOW_DOUT << "y3 = " << rc3 << " x + " << c3 << endl;
   control_[1].x () = c3 / (rc1 - rc3);
   control_[1].y () = rc1 * control_[1].x ();
   control_[2].x () = (c3 - c2) / (rc2 - rc3);
-  SLUR_DOUT << "c2.x () = " << control_[2].x () << endl;
-  SLUR_DOUT << "(c3 - c2) = " << (c3 - c2) << endl;
-  SLUR_DOUT << "(rc2 - rc3) = " << (rc2 - rc3) << endl;
+  BEZIER_BOW_DOUT << "c2.x () = " << control_[2].x () << endl;
+  BEZIER_BOW_DOUT << "(c3 - c2) = " << (c3 - c2) << endl;
+  BEZIER_BOW_DOUT << "(rc2 - rc3) = " << (rc2 - rc3) << endl;
   control_[2].y () = rc2 * control_[2].x () + c2;
-  SLUR_DOUT << "c2.y ()" << control_[2].y () << endl;
+  BEZIER_BOW_DOUT << "c2.y ()" << control_[2].y () << endl;
 
   calc_return (begin_alpha, end_alpha);
 }
index 30e82e05e2ec5616f4674cabd480e55344621d5e..48477b983738e66dd00c731b62e660b8788f4e97 100644 (file)
@@ -8,10 +8,12 @@
 */
 
 #include "bow.hh"
+#include "debug.hh"
 #include "paper-def.hh"
 #include "molecule.hh"
 #include "lookup.hh"
 #include "bezier.hh"
+#include "main.hh"
 
 IMPLEMENT_IS_TYPE_B1(Bow,Directional_spanner);
 
@@ -28,8 +30,21 @@ Bow::brew_molecule_p () const
   
   Array<Offset> c = get_controls ();
   Atom a = paper ()->lookup_l ()->slur (c);
-//  a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]));
-  a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT] - c[0].y ()));
+  Real dy = c[3].y () - c[0].y ();
+  if (check_debug && !monitor->silent_b ("Bow"))
+    {
+      static int i = 1;
+      cout << "******" << i++ << "******" << endl;
+      // gcc 2.7.2: ices
+//      cout << "c0.y: " << c[0].y << endl;
+      cout << "c0.y: " << c[0].y () << endl;
+      cout << "c3.y: " << c[3].y () << endl;
+      cout << "dy: " << dy << endl;
+      cout << "dy_f_l: " << dy_f_drul_[LEFT] << endl;
+      cout << "dy_f_r: " << dy_f_drul_[RIGHT] << endl;
+      cout << "dy_f: " << dy_f_drul_[RIGHT] - dy_f_drul_[LEFT] << endl;
+    }
+  a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]));
 
   mol_p->add (a);
 
@@ -74,11 +89,25 @@ Bow::get_encompass_offset_arr () const
 {
   Real dx = width (). length ();
   dx += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
+  Real left_x = 0;
+  Real interline = paper ()->interline_f ();
+  if (dx < 2.0 * interline)
+    {
+      left_x = - 3.0 * interline;
+      dx = 2.0 * interline;
+    }
   Real dy = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
 
+#define RESIZE_ICE
+#ifndef RESIZE_ICE
   Array<Offset> notes;
-  notes.push (Offset (0,0));
-  notes.push (Offset (dx, dy));
+  notes.push (Offset (left_x, 0));
+  notes.push (Offset (left_x + dx, dy));
+#else
+  Array<Offset> notes (2);
+  notes[0] = Offset (left_x, 0);
+  notes[1] = Offset (left_x + dx, dy);
+#endif
 
   return notes;
 }
index d7e78c400e022e866cc37deadc17627144fb438a..2c93ec04c695259a0dd817921a68c801f36729bd 100644 (file)
@@ -78,7 +78,7 @@ Multi_measure_rest_engraver::do_pre_move_processing ()
   if (part_b_)
     return;
 
-  if (last_mom_ <= now_moment () + Moment (1))
+  if (last_mom_ <= now_moment ())
     multi_measure_req_l_ = 0;
 }
 
index 69b49cde0add34b8360f15db61214583ee725714..4df6464f91ed122fb1fae2bf2bfe6cdf6fdac084 100644 (file)
@@ -25,8 +25,8 @@
 #include "debug.hh"
 #include "boxes.hh"
 #include "bezier.hh"
+// #include "main.hh"
 
-//IMPLEMENT_IS_TYPE_B1(Slur,Spanner);
 IMPLEMENT_IS_TYPE_B1(Slur,Bow);
 
 Slur::Slur ()
@@ -170,24 +170,51 @@ Slur::get_encompass_offset_arr () const
   Real dx = width ().length ();
   dx += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
   dx = dx <? 1000;
-  dx = dx >? 2 * interline;
+  dx = dx >? 2.0 * interline;
 
   Real dy = (dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
   if (abs (dy) > 1000)
     dy = sign (dy) * 1000;
 
+  Real start_x = 0;
+  Real start_y = left_y - dy_f_drul_[LEFT];
   int first = 1;
   int last = encompass_arr_.size () - 1;
+
+  // broken slur first part
   if (encompass_arr_[0] != spanned_drul_[LEFT])
     {
       first = 0;
       left_x = spanned_drul_[LEFT]->width ().length ();
       left_x -= 2 * notewidth;
-      left_y = encompass_arr_[last]->stem_l_->height ()[dir_];
+      // urg
+      start_x = left_x - 2 * notewidth;
+
+      // urg
+      if (encompass_arr_.size () > 1)
+       dx += notewidth;
+
+      if (dx < 2.0 * interline)
+       {
+         left_x -= 2.0 * interline - dx;
+         dx = 2.0 * interline;
+         start_x = left_x;
+       }
+
+      if (dir_ == UP)
+       left_y = left_y >? dy_f_drul_[LEFT];
+      else
+       left_y = left_y <? dy_f_drul_[LEFT];
+      start_y = left_y - dy_f_drul_[LEFT];
+
       dy = 0;
     }
+
+  // broken slur second part
   if (encompass_arr_.top () != spanned_drul_[RIGHT])
     {
+      left_y += 2.0 * dir_ * internote;
+      start_y = left_y - dy_f_drul_[LEFT];
       last += 1;
       dy = 0;
     }
@@ -195,11 +222,11 @@ Slur::get_encompass_offset_arr () const
 #define RESIZE_ICE
 #ifndef RESIZE_ICE
   Array<Offset> notes;
-  notes.push (Offset (0,0));
+  notes.push (Offset (start_x, start_y));
 #else
   int n = last - first + 2;
   Array<Offset> notes (n);
-  notes[0] = Offset (0,0);
+  notes[0] = Offset (start_x, start_y);
 #endif
   for (int i = first; i < last; i++)
     {
@@ -211,7 +238,14 @@ Slur::get_encompass_offset_arr () const
       Real x = stem->hpos_f ();
 
       if (stem->dir_ != dir_)
-       x += 0.5 * notewidth;
+        {
+         x += 0.5 * notewidth;
+         // ugh
+         if (dir_ == DOWN)
+           x -= 0.5 * notewidth;
+         else
+           x += 0.5 * notewidth;
+       }
       else if (stem->dir_ == UP)
        x += 1.0 * notewidth;
 
@@ -224,6 +258,7 @@ Slur::get_encompass_offset_arr () const
        */
       y += 2.5 * internote * dir_;
 
+      // ugh
       if (dir_ == DOWN)
        y += 1.5 * internote * dir_;
 
@@ -232,11 +267,11 @@ Slur::get_encompass_offset_arr () const
 #ifndef RESIZE_ICE
       notes.push (Offset (x, y));
     }
-  notes.push (Offset (dx, dy));
+  notes.push (Offset (start_x + dx, start_y + dy));
 #else
       notes[i - first + 1] = Offset (x, y);
     }
-  notes[n - 1] = Offset (dx, dy);
+  notes[n - 1] = Offset (start_x + dx, start_y + dy);
 #endif
 
   return notes;
index e66b3c821224ccbca5e692dd819d8da16e67f6ef..e718c7779ac0a067f701c9da20fb28ef77ff6ae5 100644 (file)
@@ -15,7 +15,7 @@ $(outdir)/%.dvi: $(outdir)/%.mudtex
        mv $(notdir $@) $(outdir)
 
 $(outdir)/%.mudtex: %.doc
-       $(depth)/bin/out/mudela-book --noindex --outdir=$(outdir)/ --outname=$(notdir $@) $<
+       $(depth)/bin/out/mudela-book  --outdir=$(outdir)/ --outname=$(notdir $@) $<
 
 $(outdir)/%.txt: $(outdir)/%.1
        troff -man -Tascii $< | grotty -b -u -o > $@
index 87baac4272df22d93b1c5adb70096aef32fa6380..31cdf0e205f2bf2a88b228447708208cc3da3d28 100644 (file)
@@ -21,6 +21,8 @@ EXTRA_SOURCE_FILES = $(wildcard *.yy *.ll)
 
 #
 PODFILES = $(wildcard *.pod)
+OUTPODFILES = $(addprefix $(outdir)/,$(PODFILES))
+
 
 CCFILES = $(wildcard *.cc)
 MAKEFILES = $(wildcard *.make)
index c696163f145b32bc013165fc5e166dc9e47fc1c0..37135f0f460c426923f97636b94fef08e89813cf 100644 (file)
@@ -33,6 +33,7 @@ exe: $(EXECUTABLE)
 #
 $(LIBRARY): $(configheader) $(OFILES)
        $(AR_COMMAND) $(OFILES)
+       $(AR) ts $@             #silly irix
        $(RANLIB_COMMAND)
 
 $(SHAREDLIBRARY):  $(configheader) $(OFILES) $(MODULE_LIBDEPS)
@@ -230,6 +231,10 @@ check-mf-deps:
 $(configheader): $(depth)/$(configuration).hh
        cp $< $@
 
+WWW: local-WWW
+       $(LOOP)
+
+local-WWW:
 
 
 ifneq ($(DEPFILES),)
index f376ebc3138cc80cc08ce6d357d6405dd78a2e41..d3dfff308191dd2d14bfd64e04514b5e157b6869 100644 (file)
@@ -64,3 +64,14 @@ Makefile: make/Toplevel.make.in
        cat $< >> $@
        chmod -w $@
 
+
+website:
+
+
+examples:
+       $(MAKE) CONFIGSUFFIX='www' -C input WWW
+       $(MAKE) CONFIGSUFFIX='www' -C mutopia WWW
+       tar cfz $(outdir)/examples.tar.gz  `find input mutopia -type d -name 'out-www' -print`
+
+
+
index 60a2205ab9d0a33c0f4ef4904a9e45a736750b62..6d6f7a5bdd6bbf84282d474a4078e7b493985393 100644 (file)
@@ -152,8 +152,8 @@ CFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS)
 # huh, but still, no warnings even provoced with linux's gcc 2.7.2.1?
 
 # -pipe makes it go faster, but is not supported on all platforms. 
-# EXTRA_CXXFLAGS= -fno-rtti -fno-exceptions -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wconversion
-EXTRA_CXXFLAGS= -Wall -Winline -W -Wmissing-prototypes -Wmissing-declarations -Wconversion
+# EXTRA_CXXFLAGS= -Wall -Winline -W -Wmissing-prototypes -Wmissing-declarations -Wconversion
+EXTRA_CXXFLAGS= -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wconversion
 
 CXXFLAGS = $(CFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS)
 INCLUDES =  -Iinclude -I$(outdir) -I$(include-lib) -I$(libout) -I$(include-flower) -I$(flowerout) 
index 58379aed6ec90d678bc05261daa93409003516fc..bb47c54f876b699f6e48a20039d6bf5751097666 100644 (file)
@@ -5,7 +5,9 @@ ps_examples=$(addprefix $(outdir)/, $(addsuffix .ps.gz, $(examples)))
 gif_examples=$(addprefix $(outdir)/, $(addsuffix .gif, $(examples)))
 
 
+html_subdirs=$(addprefix --subdirs ,$(SUBDIRS))
 
-WWW:  $(ly_examples) $(ps_examples) $(gif_examples)
-       (cd $(outdir); $(PYTHON) ../$(depth)/bin/mutopia-index.py $(examples))
+
+local-WWW: $(ly_examples) $(ps_examples) $(gif_examples)
+       (cd $(outdir); $(PYTHON) ../$(depth)/bin/mutopia-index.py --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(examples))
 
index 5069c41b95996d1d219719048d7de606c2ab738d..a62c481739311bad317e440d3d984c19fb14ac4a 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.59
-Inschrijf datum: 27APR98
+Versie: 0.1.60
+Inschrijf datum: 29APR98
 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.59.tar.gz 
+       395k lilypond-0.1.60.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.59.tar.gz 
+       395k lilypond-0.1.60.tar.gz 
 Copi"eer politie: GPL
 End
index f8ba14b40570dce85d39271bc7cb827bd7d08309..af277bebcec65279f9eb6651fb509f098b146b12 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.59
-Entered-date: 27APR98
+Version: 0.1.60
+Entered-date: 29APR98
 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.59.tar.gz 
+       570k lilypond-0.1.60.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       570k lilypond-0.1.59.tar.gz 
+       570k lilypond-0.1.60.tar.gz 
 Copying-policy: GPL
 End
index 46cb95948a4c0ff4ebed259681039602de0f674f..6a07511883acc05ac9ffe4199e0b2e5d87f108f8 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.59
+Version: 0.1.60
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.59.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.60.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.cs.ruu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -31,8 +31,8 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%doc Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/PATCHES.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
-%doc input/cadenza.ly input/coriolan-alto.ly input/dummy.tex input/keys.ly input/kortjakje.ly input/multi.ly input/part.ly input/pedal.ly input/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/tril.ly input/twinkle-pop.ly input/twinkle.ly Documentation/mudela.doc 
+%doc Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/PATCHES.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/mi2mu.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
+%doc input/cadenza.ly input/coriolan-alto.ly input/keys.ly input/kortjakje.ly input/multi.ly input/part.ly input/pedal.ly input/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/tril.ly input/twinkle-pop.ly input/twinkle.ly Documentation/mudela.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
index 40ce58e198b921c611cfdf0e4110f91036ed20a9..1b13f7fcf54f8f9973aa6a61fa21ac40f7518aca 100644 (file)
@@ -7,3 +7,6 @@ depth = ../..
 # generic stuff/Makefile
 #
 include ./$(depth)/make/Mutopia.make
+
+examples=coriolan oboi-part
+include $(depth)/make/WWW.make
index dff3a502afbaa2aa6ae8ae0ede7ef6e65bcf9d3f..98b576521200e2d953a8c9bc6a164d768e4d7b4e 100644 (file)
@@ -13,6 +13,7 @@ copyright =    "public domain";
 \include "clarinetti.ly"
 
 \score{
+%      \property Score.part = 1
        \$clarinetti_staff
        \paper{}
 }
index 29b6bce0f4d7eb1ba99e159337bbb05620a5af59..635b57a802fb20f5dc9bb734201dd6dfc952158b 100644 (file)
@@ -13,11 +13,11 @@ copyright =  "public domain";
 
 clarinetto1 = \melodic{
        \octave c';     
-       r1 | r1 | c'4-.\ff r r2 | r1 |
-       r1 | r1 | d'4-. r r2 | r1 |
-       r1 | r1 | es'4-. r r2 | r1 |
+       r1*2 | c'4-.\ff r r2 | r1*3 |
+       d'4-. r r2 | r1*3 |
+       es'4-. r r2 | r1 |
        es'4-. r r2 | d'4-. r r2 |
-       r1 | r1 | r1 | r1 |
+       r1*4 |
        as2\p_"\ \ \ cresc." ( g | )fis2. g4-.\f |
 }
 
index f69468e8311611a851677d79ba5ce5e1c3e42b54..aa1fd8485741c19b223cde2c83df9e4b8720eb18 100644 (file)
@@ -17,11 +17,11 @@ clarinetto2 = \melodic{
 % lilypond: ../../current/lily/dynamic-grav.cc:58: void Dynamic_engraver::do_process_requests(): Assertion `!dynamic_p_' failed.
 % Aborted (core dumped)
 %      r1 | r1 | as4-.\ff r r2 | r1 |
-       r1 | r1 | as4-. r r2 | r1 |
-       r1 | r1 | b4-. r r2 | r1 |
-       r1 | r1 | c'4-. r r2 | r1 |
+       r1*2 | as4-. r r2 | r1*3 |
+       b4-. r r2 | r1*3 |
+       c'4-. r r2 | r1 |
        c'4-. r r2 | b4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 'b4-. |
+       r1*5 |
+       r2 r4 'b4-. |
 }
 
index 088608e52a8d87fa71282c5b09471d5137dd3a3e..ae4c5e0e05ad0422e2a922638bfb8b843056dbe2 100644 (file)
@@ -15,6 +15,7 @@ copyright =    "public domain";
 \include "corni.ly"
 
 \score{
+%      \property Score.part = 1
        \$corni_staff
        \paper{}
 }
index 5193c002d9eeaa99a1fd0281070e1d1d60cb8b01..0869da4d2d578d5f6683bc5c861ceda173fae08f 100644 (file)
@@ -13,11 +13,11 @@ copyright =  "public domain";
 
 corno1 = \melodic{
        \octave c';     
-       r1 | r1 | as'4-.\ff r r2 | r1 |
-       r1 | r1 | as'4-. r r2 | r1 |
-       r1 | r1 | es'4-. r r2 | r1 |
+       r1*2 | as'4-.\ff r r2 | r1*3 |
+       as'4-. r r2 | r1*3 |
+       es'4-. r r2 | r1 |
        g'4-. r r2 | g'4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 g'4-.\f |
+       r1*5 |
+       r2 r4 g'4-.\f |
 }
 
index cbebbf49d56cef4b58222a57135bb4c0708a585e..5eb5c4895b57d77bcb6d7f6d4ca6d9a9b1d7ef2c 100644 (file)
@@ -15,11 +15,11 @@ corno2 = \melodic{
        \octave c';     
 % koor: corno-part.ly
 %      r1 | r1 | f'4-.\ff r r2 | r1 |
-       r1 | r1 | f'4-. r r2 | r1 |
-       r1 | r1 | f'4-. r r2 | r1 |
-       r1 | r1 | es'4-. r r2 | r1 |
+       r1*2 | f'4-. r r2 | r1*3 |
+       f'4-. r r2 | r1*3 |
+       es'4-. r r2 | r1 |
        g4-. r r2 | g4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 g4-. |
+       r1*5 |
+       r2 r4 g4-. |
 }
 
index b9b19b0ba0fd5c71cb0ad2c66f5a92c5460b884d..ad23c5c12dcec04f960edca7305c8334c4247941 100644 (file)
@@ -15,6 +15,7 @@ copyright =    "public domain";
 \include "fagotti.ly"
 
 \score{
+%      \property Score.part = 1
        \$fagotti_staff
        \paper{}
 }
index 8cf7e432b120eec5cbf5f44c7fe16225d4459386..6718dd4c8b959908870aa0a2320cff6735c6412f 100644 (file)
@@ -13,11 +13,11 @@ copyright =  "public domain";
 
 fagotto1 = \melodic{
        \octave c;      
-       r1 | r1 | as4-.\ff r r2 | r1 |
-       r1 | r1 | as4-. r r2 | r1 |
-       r1 | r1 | a4-. r r2 | r1 |
+       r1*2 | as4-.\ff r r2 | r1*3 |
+       as4-. r r2 | r1*3 |
+       a4-. r r2 | r1 |
        c'4-. r r2 | b4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 g4-.\f |
+       r1*5 |
+       r2 r4 g4-.\f |
 }
 
index 946ce94545381127f353967106a8c0777beb2dea..2889c688a870ea8a3b914cee569a7044d10981a0 100644 (file)
@@ -15,11 +15,11 @@ fagotto2 = \melodic{
        \octave c;      
 % koor
 %      r1 | r1 | f4-.\ff r r2 | r1 |
-       r1 | r1 | f4-. r r2 | r1 |
-       r1 | r1 | f4-. r r2 | r1 |
-       r1 | r1 | fis4-. r r2 | r1 |
+       r1*2 | f4-. r r2 | r1*3 |
+       f4-. r r2 | r1*3 |
+       fis4-. r r2 | r1 |
        g4-. r r2 | g4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 'g4-. |
+       r1*5 |
+       r2 r4 'g4-. |
 }
 
index 5e9dfb00e89f71b59fe96f7501270ae2fabfb427..13e4510f34c3b5624c6a7d0393250d3b8b37a8da 100644 (file)
@@ -15,6 +15,7 @@ copyright =    "public domain";
 \include "flauti.ly"
 
 \score{
+%      \property Score.part = 1
        \$flauti_staff
        \paper{}
 }
index bb62b1bb1bf4cebe191185f603d488bc2f5a5034..5475ffe1ee6aeb8071df5a57586238f8e8c1616f 100644 (file)
@@ -13,11 +13,11 @@ copyright =  "public domain";
 
 flauto1 = \melodic{
        \octave c'';    
-       r1 | r1 | c'4-.\ff r r2 | r1 |
-       r1 | r1 | d'4-. r r2 | r1 |
-       r1 | r1 | es'4-. r r2 | r1 |
+       r1*2 | c'4-.\ff r r2 | r1*3 |
+       d'4-. r r2 | r1*3 |
+       es'4-. r r2 | r1 |
        g'4-. r r2 | b4-. r r2 |
-       r1 | r1 | r1 | r1 |
+       r1*4 |
        r2 es'\p_"\ \ \ cresc." ( | )dis'2. es'4-.\f |
 }
 
index 0a6f57b8c9ed32228e42e7b06d8e5194672f73d1..aeddce6a8ffa2c6bbbccebb616ed1253fc1f0294 100644 (file)
@@ -15,11 +15,11 @@ flauto2 = \melodic{
        \octave c'';    
 % koor
 %      r1 | r1 | as4-.\ff r r2 | r1 |
-       r1 | r1 | as4-. r r2 | r1 |
-       r1 | r1 | b4-. r r2 | r1 |
-       r1 | r1 | c'4-. r r2 | r1 |
+       r1*2 | as4-. r r2 | r1*3 |
+       b4-. r r2 | r1*3 | 
+       c'4-. r r2 | r1 |
        es'4-. r r2 | d4-. r r2 |
-       r1 | r1 | r1 | r1 |
+       r1*4 |
        r2 r2 | r2 r4 b4-. |
 }
 
diff --git a/mutopia/Coriolan/music.ly b/mutopia/Coriolan/music.ly
new file mode 100644 (file)
index 0000000..240986b
--- /dev/null
@@ -0,0 +1,18 @@
+flauto-1.ly
+flauto-2.ly
+oboe-1.ly
+oboe-2.ly
+clarinetto-1.ly
+clarinetto-2.ly
+fagotto-1.ly
+fagotto-2.ly
+corno-1.ly
+corno-2.ly
+trombo-1.ly
+trombo-2.ly
+timpani.ly
+violino-1.ly
+violino-2.ly
+viola.ly
+violoncello.ly
+contrabasso.ly
index b68f11cbf3ea3fa53aa55084c7ef737296f184b9..ab3290fb16d2069bb34a2375b22b14a746ab89ba 100644 (file)
@@ -13,11 +13,11 @@ copyright =  "public domain";
 
 oboe1 = \melodic{
        \octave c'';    
-       r1 | r1 | as4-.\ff r r2 | r1 |
-       r1 | r1 | as4-. r r2 | r1 |
-       r1 | r1 | a4-. r r2 | r1 |
+       r1*2 | as4-.\ff r r2 | r1*3 |
+       as4-. r r2 | r1*3 |
+       a4-. r r2 | r1 |
        g4-. r r2 | g4-. r r2 |
-       r1 | r1 | r1 | r1 |
+       r1*4 |
        as2\p_"\ \ \ cresc." ( g | )fis2. g4-.\f |
 }
 
index 94cecf9b4dfb6bf12ceca21950eec3ea8f55b385..75e5e5dfabe93be742193ee0d69088294b81ca98 100644 (file)
@@ -15,11 +15,11 @@ oboe2 = \melodic{
        \octave c'';    
 % koor
 %      r1 | r1 | f4-.\ff r r2 | r1 |
-       r1 | r1 | f4-. r r2 | r1 |
-       r1 | r1 | f4-. r r2 | r1 |
-       r1 | r1 | es4-. r r2 | r1 |
+       r1*2| f4-. r r2 | r1*3 |
+       f4-. r r2 | r1*3 |
+       es4-. r r2 | r1 |
        es4-. r r2 | 'b4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 'b4-. |
+       r1*5 | 
+       r2 r4 'b4-. |
 }
 
index 3d67ea52346d20a6fdbde143c5e2680853e3171c..eef9019b7e0f7e0f5df9ef4eb80a7c573f63ce43 100644 (file)
@@ -15,6 +15,7 @@ copyright =    "public domain";
 \include "oboi.ly"
 
 \score{
+%      \property Score.part = 1
        \$oboi_staff
        \paper{}
 }
index 9ad4482ecfd8f5ad744dceb0a802a56924be4122..3c3bd64aa9b66a33f2df400518b74d12f8371163 100644 (file)
@@ -13,12 +13,12 @@ copyright =  "public domain";
 
 timpani = \melodic{
        \octave c;      
-       r1 | r1 | c4-.\ff r r2 | r1 |
-       r1 | r1 | c4-. r r2 | r1 |
-       r1 | r1 | c4-. r r2 | r1 |
+       r1*2 | c4-.\ff r r2 | r1*3 |
+       c4-. r r2 | r1*3 |
+       c4-. r r2 | r1 |
        'g4-. r r2 | 'g4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 'g4-. |
+       r1*5 |
+       r2 r4 'g4-. |
 }
 
 $timpani_staff = \type Staff = timpani <
index b32d202d5229523a477e8d179e2c362f6227cd88..a9f5fd050659f7adbadc2aff3979c5b03ba3585a 100644 (file)
@@ -15,6 +15,7 @@ copyright =    "public domain";
 \include "trombe.ly"
 
 \score{
+%      \property Score.part = 1
        \$trombe_staff
        \paper{}
 }
index 49aefe57deebccaa7ff121c4a076793494382f02..a37727183475155eb9f91ba692a7dbb16f1657c6 100644 (file)
@@ -13,11 +13,11 @@ copyright =  "public domain";
 
 trombo1 = \melodic{
        \octave c';     
-       r1 | r1 | c'4-.\ff r r2 | r1 |
-       r1 | r1 | c'4-. r r2 | r1 |
-       r1 | r1 | c'4-. r r2 | r1 |
+       r1*2 | c'4-.\ff r r2 | r1*3 |
+       c'4-. r r2 | r1*3 |
+       c'4-. r r2 | r1 |
        g4-. r r2 | g4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 g4-.\f |
+       r1*5 |
+       r2 r4 g4-.\f |
 }
 
index 1ca561b103e2bc3bbf4e8b8f7e113356aaef69b2..1288eabaef3b3d391133883cf5924b0bca94865c 100644 (file)
@@ -15,11 +15,11 @@ trombo2 = \melodic{
        \octave c';     
 % koor
 %      r1 | r1 | c4-.\ff r r2 | r1 |
-       r1 | r1 | c4-. r r2 | r1 |
-       r1 | r1 | c4-. r r2 | r1 |
-       r1 | r1 | c4-. r r2 | r1 |
+       r1*2 | c4-. r r2 | r1*3 |
+       c4-. r r2 | r1*3 |
+       c4-. r r2 | r1 |
        'g4-. r r2 | 'g4-. r r2 |
-       r1 | r1 | r1 | r1 |
-       r1 | r2 r4 'g4-. |
+       r1*5 |
+       r2 r4 'g4-. |
 }
 
index 260ea14181b7ea2af0e887d5167ef091be587b99..28e91a505241c152c92b5087f1093a6a9e0be9d5 100644 (file)
@@ -17,7 +17,7 @@ violino2 = \melodic{
        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 |
-       r1 | r1 | r1 | 
+       r1*3 |
        r2 ['b8-.\p f-.] [f()es] |
        [es8-. as-.] as4.-"cresc." g8-. g4 ~ |
        [g8 fis-.] fis4 ~ fis g-.\f |
index a248586c768e6726331ea490dbe2198ca1ddfa11..db687e59f23ec35562cf294bdb5b97aa67ec8434 100644 (file)
@@ -1,7 +1,12 @@
 \header{
 filename =      "preludes-1.ly";
-title =         "DOUZE P\'ETITES PRELUDES";
-% tempo = "Moderato"
+% mmm
+title =         "DOUZE PETITES PR\'ELUDES";
+opus = "BWV 924";
+% blz 1
+% Clavierb"uchlein f"ur W. Fr. Bach
+% Clav. W. Fr. Bach: 2-Praeambulum I
+% ca 1720
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
index 48dcb7d08391a4ca94ebccfbf7ef1aef183b5632..eb4a1fcc8d232dc5b81350022a250abd1390baf8 100644 (file)
@@ -1,6 +1,12 @@
 \header{
 filename =      "preludes-2.ly";
 title =         "2";
+opus = "BWV 939";
+% blz 10
+% 
+% Six Petits Pr'eludes
+% Collection Johann Peter Kellner
+% ca 1703 - 1707
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
index ec1ef4fc2c29ab7d8de03defdee0385a0d698f78..7515b635df979eca7cc04b365b06470baf826023 100644 (file)
@@ -1,6 +1,12 @@
 \header{
 filename =      "preludes-3.ly";
 title =         "3";
+opus =         "BWV 999";
+% Pr"aludum in C Moll f"ur Laute
+% blz 16
+% Six Petits Pr'eludes
+% Collection Johann Peter Kellner
+% ca 1703 - 1707
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
index 3e4887586a0e1f8a057991c96196b2e0cc00f2a0..eb7dc7b21346e6de34376da0278faf5942495ffd 100644 (file)
@@ -1,6 +1,11 @@
 \header{
 filename =      "preludes-4.ly";
 title =         "4";
+opus = "BWV 925";
+% blz 8
+% Clavierb"uchlein f"ur W. Fr. Bach
+% Clav. W. Fr. Bach: 27-Praeludium ex d neutral
+% ca 1720
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
index 4753fdc05c899daa8906ea2fd48a77296d6b2348..34dd4d41c47e6af66d0de1159232070e343593ed 100644 (file)
@@ -1,6 +1,10 @@
 \header{
 filename =      "preludes-5.ly";
 title =         "5";
+% blz 2
+% Clavierb"uchlein f"ur W. Fr. Bach
+% Clav. W. Fr. Bach: 4-Praeludium 2
+% ca 1720
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
@@ -102,7 +106,7 @@ two = \melodic{
        d-\mordent r r |
        'd4 r r |
        d-\mordent r r |
-       d r r |
+%      d r r |
        'd4 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] |
index 1c46d4b0cd564a7ebad44e85513ed9a64da6f911..7a8a718b1c4cdf8b95510ee1e952e0825400c543 100644 (file)
@@ -1,6 +1,11 @@
 \header{
 filename =      "preludes-6.ly";
 title =         "6";
+opus = "BWV 940";
+% blz 11
+% Six Petits Pr'eludes
+% Collection Johann Peter Kellner
+% ca 1703 - 1707
 composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "jcn";
 copyright =     "public domain";
index c67daf25f0edb82d82ba209d612ed7d6fe89b64f..dc989a75a20f89129b7ca8d086dd2380c3bfe87c 100644 (file)
@@ -16,4 +16,6 @@ examples=standje gallina
 #
 # generic stuff/Makefile
 #
-include ./$(depth)/make/Mutopia.make
+include $(depth)/make/Mutopia.make
+
+include $(depth)/make/WWW.make
index e282e81cf8054ff1ccecba8688237d756f05b30a..7239bc104c4a7c18dec9f23b50574460c0d040e6 100644 (file)
@@ -1,9 +1,3 @@
        - more composers > 70y +
        - (more) free composers
        - beethoven's coriolan
-       - more composers > 70y +
-       - (more) free composers
-       - beethoven's coriolan
-       - more composers > 70y +
-       - (more) free composers
-       - beethoven's coriolan
index 98973e2e4b4624d3f6fc5ab093c5d1ca7a52dd8d..a1424d8ee9f946a0f5e4b6a7e5522e7d4cf37e4f 100644 (file)
@@ -25,7 +25,7 @@
 
 
 \begin{document}
-\input lilyponddefs
+\input lilyponddefs
 \input titledefs
 \def\interscoreline{\vskip3mm}
 \title{La Feria\normalsize\\[2ex]Los Toros}
index 85707a128222e09107526341f595c9a76e48a587..27ec629df5c569ec036b5439e39e44eb7e6a97f7 100644 (file)
@@ -184,7 +184,8 @@ hoboonelast = \melodic{
        % eiht measures rest..
        \textstyle "bold";
 %      r2^"Un peu plus lent et \\'el\\'egant"
-       r2^"\\fetanummer8"
+%      r2^"\\fetanummer8"
+       r2*8
        r4 r8\p bes |
        g2->^"Un peu plus lent et \\'el\\'egant" ~ |
        \textstyle "italic";
@@ -274,7 +275,7 @@ global = \melodic{
        \skip 4*58;
        \key bes es as; |
        \bar "||";
-       \skip 4*206;
+       \skip 4*220;
        \bar "|.";
 }
 
@@ -301,9 +302,8 @@ a4 = \paper{
                \consists "Staff_sym_engraver";
                \consists "Collision_engraver";
                \consists "Rest_collision_engraver";
-% not yet: multibar rest
-%              \consists "Bar_column_engraver";
-%              \consists "Bar_number_engraver";
+               \consists "Bar_column_engraver";
+               \consists "Bar_number_engraver";
                \consists "Separating_line_group_engraver";
                \consists "Line_group_engraver";
                  
@@ -325,9 +325,8 @@ a4sixteen = \paper{
                \consists "Staff_sym_engraver";
                \consists "Collision_engraver";
                \consists "Rest_collision_engraver";
-% not yet: multibar rest
-%              \consists "Bar_column_engraver";
-%              \consists "Bar_number_engraver";
+               \consists "Bar_column_engraver";
+               \consists "Bar_number_engraver";
                \consists "Separating_line_group_engraver";
                \consists "Line_group_engraver";
                  
@@ -341,6 +340,6 @@ a4sixteen = \paper{
        \midi{
                \tempo 4 = 80;
        }
-       \paper{ \a4sixteen }
+%      \paper{ \a4sixteen }
 }
 
index e5cd95005105e5ad5aff0d12327ea6b3fa4c7a6d..c89b7352966b6d592aa9c44bb1617973af08284f 100644 (file)
@@ -21,81 +21,105 @@ $vocal_verse1 = \melodic{
        % ugh: treble/bass
 %      \clef treble;
 %      \clef violin;
-       [2/3 g8( )as] g \] c'4. g8 |
-       [2/3 f8( )g] f \] c'4 f8 r |
-       g4.-> f8 [2/3 f( )es] d \] |
+       [/3 g8( )as] g \] c'4. g8 |
+       [/3 f8( )g] f \] c'4 f8 r |
+       g4.-> f8 [/3 f( )es] d \] |
        es2 r4 |
        % ugh: a whole should be a measure
        %r1 |
        r2. |
        r2. |
-       [2/3 g8( )as] g \] es'4. g8 |
-       [2/3 f8( )g] f \] d'4. c'8 |
-       bes4. as8 [2/3 as( )g] f \] |
+       [/3 g8( )as] g \] es'4. g8 |
+       [/3 f8( )g] f \] d'4. c'8 |
+       bes4. as8 [/3 as( )g] f \] |
        g2 r4 |
        r2. |
        r2. |
        g8. b16 es'4. d'8 |
        c'8. g16 es4. c8 |
-       % [as3 2\grace( bes3 2\grace] )
-       [2/3 as8( )g] as \] c'4. as8 |
+       % [/3 as\grace( bes ] )
+       [/3 as8( )g] as \] c'4. as8 |
        g2. |
-       %[f3 2\grace( g] )
-       [2/3 f8( )e] f \] as4. f8 |
+       %[/3 f\grace( g] )
+       [/3 f8( )e] f \] as4. f8 |
        es!2. |
        g8. b16 es'4. d'8 |
        c'8. g16 e4. c8 |
-       % [a3 2\grace b] )
-       [2/3 a!8( ) gis] a \] c'4. a8 |
+       % [/3 a\grace( b] )
+       [/3 a!8( ) gis] a \] c'4. a8 |
        g!2. |
-       [2/3 d'8\f cis'] d' \] f'4. b8 |
+       % [/3 a\grace( b] )
+       [/3 d'8\f cis'] d' \] f'4. b8 |
        c'!2. |
 }
 
+$vocal_through = \melodic{
+       \octave c';
+       g8. g16 b8. b16 d'8. d16 |
+       c'4 b r |
+       g4. b8 d'8. c'16 |
+       b2 r4 |
+       e'4. d'8 [/3 d'( )c'] b \] |
+       a8. b16 c'4-> a8 r |
+       r2. |
+       r2. |
+       % 4 bars copied from end verse 1
+       % [/3 a\grace( b] )
+       [/3 a!8( ) gis] a \] c'4. a8 |
+       g!2. |
+       % [/3 a\grace( b] )
+       [/3 d'8\f cis'] d' \] f'4. b8 |
+       c'!2. ~ |
+       c'4 r c' |
+       as2. |
+       g |
+       es2 r4 |
+}
+
 $lyric_verse1 = \lyric{
 % 5
-       \[2/3 Lei-4 se8 \] fleh-4. en8 |
-       \[2/3 mei-4 ne8 \] Lie-4 der8 _8 |
-       Durch4. die8 \[2/3 Nacht4 zu8 \] |
+       \[/3 Lei-4 se8 \] fleh-4. en8 |
+       \[/3 mei-4 ne8 \] Lie-4 der8 _8 |
+       Durch4. die8 \[/3 Nacht4 zu8 \] |
        dir;2 _4 |
        _4 _ _ |
        _ _ _ |
 % 11
-       \[2/3 In4 den8 \] stil-4. len8 |
-       \[2/3 Hainr4 her-8 \] nie-4. der,8 |
-       Lieb4. chen,8 \[2/3 komm4 zu8 \] |
+       \[/3 In4 den8 \] stil-4. len8 |
+       \[/3 Hainr4 her-8 \] nie-4. der,8 |
+       Lieb4. chen,8 \[/3 komm4 zu8 \] |
        mir!2 _4 |
        _4 _ _ |
        _ _ _ |
 % 17
        Fl\"us-8. ternd16 schlan-4. ke8 |
        Wip-8. fel16 rau-4. schen8 |
-       \[2/3 In4 des8 \] Mon-4. des8 |
+       \[/3 In4 des8 \] Mon-4. des8 |
        Licht;2. |
        _4 _ _ |
        _4 _ _ |
 % 23 
        Des8. Ver-16 r\"a-4. ters8 |
        feind-8. lich16 Lau-4. schen8 |
-       \[2/3 F\"urch-4 te,8 \] Hol-4. de,8 |
+       \[/3 F\"urch-4 te,8 \] Hol-4. de,8 |
        nicht,2. |
-       \[2/3 f\"urch-4 te,8 \] Hol-4. de,8 |
+       \[/3 f\"urch-4 te,8 \] Hol-4. de,8 |
        nicht.2. |
 }
        
 $lyric_verse2 = \lyric{
 % 5
-       \[2/3 H\"orst4 die8 \] Nach-4. ti-8 
-       \[2/3 gal-4 len8 \] schla-4 gen?8 _8
-       Ach!4. sie8 \[2/3 fleh-4 en8 \] 
+       \[/3 H\"orst4 die8 \] Nach-4. ti-8 
+       \[/3 gal-4 len8 \] schla-4 gen?8 _8
+       Ach!4. sie8 \[/3 fleh-4 en8 \] 
        dich,2 _4
        _4 _ _ 
        _4_ _
 
 % 11
-       \[2/3 Mit4 der8 \] T\"o-4. ne8
-       \[2/3 s\"u\ss-4 en8 \] Kla-4. gen8
-       Fleh-4. en8 \[2/3 sie4 f\"ur8 \]
+       \[/3 Mit4 der8 \] T\"o-4. ne8
+       \[/3 s\"u\ss-4 en8 \] Kla-4. gen8
+       Fleh-4. en8 \[/3 sie4 f\"ur8 \]
        mich.2 _4
        _4_ _ 
        _4_ _
@@ -103,30 +127,36 @@ $lyric_verse2 = \lyric{
 % 17
        Sie-8. ver-16 stehn4. des8
        Bus-8. ens16 Seh-4. nen,8
-       \[2/3 Ken-4 nen8 \] Lieb-4. es-8 
+       \[/3 Ken-4 nen8 \] Lieb-4. es-8 
        schmerz,2.
-       \[2/3 Ken-4 nen8 \] Lieb-4. es-8 
+       \[/3 Ken-4 nen8 \] Lieb-4. es-8 
        schmerz,2.
 
 % 23
        R\"uh-8. ren16 mit4. den8 
        Sil-8. ber-16 t\"o-4. nen8
-       \[2/3 Jed-4 es8 \] wei-4. che8 
+       \[/3 Jed-4 es8 \] wei-4. che8 
        Herz.2.
-       \[2/3 Jed-4 es8 \] wei-4. che8 
+       \[/3 Jed-4 es8 \] wei-4. che8 
        Herz.2.
 }
 
-$lyric_through1 = \lyric{
+$lyric_through = \lyric{
 % 37
        La\ss8. auch16 dir8. die16 Brust8. be-16 |
-       we- gen, |
+       we-4 gen, _ |
        Lieb-4. chen,8 h\"o-8. re16 |
-       mich!2 _ |
-       Be-8. bend16 harr' ich8 _8 |
-       dir8. ent-16 ge- gen!8 _8 |
-       \[2/3 Komm, be-8 \] gl\"u4. cke8 |
+       mich!2 _4 |
+       Be-8. bend16 harr'4 ich8 _8 |
+       dir8. ent-16 ge-4 gen!8 _8 |
+       \[/3 Komm,4 be-8 \] gl\"u4. cke8 |
+       mich!2. |
+       \[/3 Komm,4 be-8 \] gl\"u4. cke8 |
        mich!2. |
+       _2 be-4 |
+       gl\"u-2. |
+       cke2. |
+       mich!2 _4 |
 }
 
 $treble_intro = \melodic{
@@ -149,27 +179,27 @@ $treble_verse1 = \melodic{
        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'> <[2/3 f' d'> <es' c'> <d' b]1/1> |
+       <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]> 
        <{ es'( | )bes4. as8}{ c'( | )d4.( )f8 } > 
-       < [2/3 f as> <es g> <d f]1/1> |
+       < [/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]> |
-       % [as3 2\grace( bes )
-       [2/3 as8(( g )as]1/1 c'4.-> ) as8 |
+       % [/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]> |
-       <{[2/3 f'8\f( e' f']1/1 a'4. )f'8 } {\[2/3 f e f \] a4. f8 } > |
+       <{[/3 f'8\f( e' f']1/1 a'4. )f'8 } {\[/3 f e f \] a4. f8 } > |
        <e2 e'> r4 |
 }
 
@@ -185,6 +215,50 @@ $treble_eentje = \melodic{
        <e2. g> |
 }
 
+$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']> |
+       % lily: 222: warning: Can't find cresc to end.
+       < { c4( )'b } { c'4( )b } > \!r |
+% ugh
+%      <'g4. g> <'b8 b> <[d8.-> d'->> c'16] |
+       <'g4. g> <'b8 b> [d'8.-> c'16] |
+% ugh, ugh: connecting chords
+       < { d2.\f( )a2} { e2. ~ e2 } { b2. c2 }> r4 |
+       < 
+               {
+                       \voiceone 
+                       [a8. b16] c'4->( )a8 r |
+                       [a8. b16] c'4->( )a8 r |
+               }
+               { 
+                       \voicetwo 
+                       <d4\f f> <d2 f> |
+                       <c!4\f es> <c2 es> |
+               }
+       >
+       % 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]> |
+       <{[/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 |
+       <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-.]> |
+       \textstyle "italic";
+       <e2._"dim." g> |
+       <'g2. e g> |
+       <'g2.-\fermata e g> |
+}
+
 $bass_intro = \melodic{
        \octave c;
        \clef bass;
@@ -234,20 +308,64 @@ $bass_eentje = \melodic{
        <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
        'c8 <[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]> |
+       % 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]> |
+       % 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]> |
+       % 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> |
+}
                
 global = \melodic{
        \meter 3/4; 
        \key bes es as;
-       \skip 4  * 12;
+       \skip 4 * 12;
        \break;
+       \skip 4 * 234;
+       \bar "|.";
+}
+
+
+$lyric_four = \lyric{ 
+       _4 _ _
+       _ _ _
+       _ _ _
+       _ _ _
 }
 
 lyrics = \melodic{
        \meter 3/4; 
-       \skip 4 * 12; 
+%      \skip 4 * 12; 
+       \$lyric_four
        \$lyric_verse1
-       \skip 4 * 24; 
+%      \skip 4 * 24; 
+       \$lyric_four
+       \$lyric_four
        \$lyric_verse2
+       \$lyric_through
 }
 
 $lyric_staff = \type Lyrics = lyric<
@@ -255,15 +373,16 @@ $lyric_staff = \type Lyrics = lyric<
 >
                
 vocals = \melodic{
-       \global
        \skip 4 * 12; 
        \$vocal_verse1 
        \skip 4 * 24; 
        \$vocal_verse1
+       \$vocal_through
 }
 
 $vocal_staff = \type Staff = vocal<
        \property Staff.instrument = "alto sax"
+       \global
        \$vocals
 >
 
@@ -273,6 +392,7 @@ treble = {
        \$treble_verse1 
        \$treble_eentje
        \$treble_verse1 
+       \$treble_through
 }
 
 $treble_staff = \type Staff = treble< 
@@ -285,6 +405,7 @@ bass = \melodic{
        \$bass_verse1 
        \$bass_eentje
        \$bass_verse1 
+       \$bass_through
 }
 
 $bass_staff = \type Staff = bass<
@@ -297,16 +418,38 @@ $grand_staff = \type Grandstaff<
        \$bass_staff
 >
 
+a4 = \paper{
+       gourlay_maxmeasures = 7.;
+%      linewidth= 193.\mm;
+       linewidth= 175.\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{
        <
                \$vocal_staff
                \$lyric_staff
                \$grand_staff
        >
-       \paper{
-               % ugh: the *first* (intro) line may only have four measures...
-               gourlay_maxmeasures = 7.;
-       }
+       \paper{ \a4 }
        \midi{
                \tempo 4 = 54;
        }
index 02d5adbc44725051820d8031954fc0485aa28144..35c344686c4b779a79509fd1c44ed0be1cf6e131 100644 (file)
@@ -56,7 +56,7 @@ out (Bezier_bow& b)
   cout << "boogje:=z4..controls z5 and z6..z1;\n";
   cout << "draw boogje;\n";
 #endif
-  cout << "showit; shipit;clearit;\n";
+  cout << "showit; shipit;clearit;" << endl;
 }
 
 void
@@ -128,23 +128,31 @@ main ()
   bow ((Point[6]){ 0,0, 20,60, 40,0, 60,0, 80,0, 100,1 }, 6, 1);
 
   bow ((Point[6]){ 0,1, 20,0, 40,0, 60,0, 80,60, 100,0 }, 6, 1);
-  bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
+//  bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
   bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,20, 100,100 }, 6, -1);
   bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-20, 100,-100 }, 6, 1);
-  bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
+//  bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
+  bow ((Point[7]){ 0,0, 20,40, 100,0, 150,0, 200,0, 280,40, 300,0 }, 7, 1);
 #endif
 
+#if 0
    // bugs
-//  bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,40, 100,1 }, 6, 1);
-//  bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,-40, 100,1 }, 6, -1);
-//  bow ((Point[6]){ 0,0, 20,40, 40,0, 60,0, 80,0, 100,1 }, 6, 1);
-//  bow ((Point[6]){ 0,0, 20,-40, 40,0, 60,0, 80,0, 100,1 }, 6, -1);
 
+  bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
   bow ((Point[6]){ 0,0, 20,-40, 40,0, 60,20, 80,20, 100,40 }, 6, -1);
   bow ((Point[6]){ 0,0, 20,-20, 40,-20, 60,-20, 80,-80, 100,-40 }, 6, -1);
-
+  bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
   bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
-  cout << "\\end\n";
+#endif
+
+//  bow ((Point[6]){ 0,0, 20,20, 40,0, 60,0, 80,20, 100,1 }, 6, 1);
+//  bow ((Point[6]){ 0,20, 20,40, 40,0, 60,0, 80,40, 100,20 }, 6, 1);
+
+  bow ((Point[7]){ 0,0, 20,40, 100,0, 150,0, 200,0, 280,40, 300,0 }, 7, 1);
+  bow ((Point[7]){ 0,20, 20,40, 100,0, 150,0, 200,0, 280,40, 300,20 }, 7, 1);
+
+  cout << "\\end" << endl;
+
   return 0;
 }
 
diff --git a/tex/feta11.tex b/tex/feta11.tex
new file mode 100644 (file)
index 0000000..39cabb6
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta11.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta11.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
diff --git a/tex/feta13.tex b/tex/feta13.tex
new file mode 100644 (file)
index 0000000..7011ced
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta13.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta13.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
diff --git a/tex/feta16.tex b/tex/feta16.tex
new file mode 100644 (file)
index 0000000..247fb20
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta16.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta16.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
diff --git a/tex/feta19.tex b/tex/feta19.tex
new file mode 100644 (file)
index 0000000..400ff78
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta19.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta19.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
diff --git a/tex/feta20.tex b/tex/feta20.tex
new file mode 100644 (file)
index 0000000..9175549
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta20.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta20.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
diff --git a/tex/feta23.tex b/tex/feta23.tex
new file mode 100644 (file)
index 0000000..aeb53e9
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta23.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta23.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
diff --git a/tex/feta26.tex b/tex/feta26.tex
new file mode 100644 (file)
index 0000000..218a273
--- /dev/null
@@ -0,0 +1,176 @@
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta26.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
+% Creator: mf-to-table.py version 0.6
+% Automatically generated on
+% Do not edit
+% input from out/feta26.log
+% name
+% rests
+\fetdef\wholerest{0}
+\fetdef\halfrest{1}
+\fetdef\outsidewholerest{2}
+\fetdef\outsidehalfrest{3}
+\fetdef\quartrest{4}
+\fetdef\eighthrest{5}
+\fetdef\sixteenthrest{6}
+\fetdef\thirtysecondrest{7}
+\fetdef\sixtyfourthrest{8}
+\fetdef\hundredtwentyeighthrest{9}
+
+% accidentals
+\fetdef\sharp{10}
+\fetdef\natural{11}
+\fetdef\flat{12}
+\fetdef\flatflat{13}
+\fetdef\sharpsharp{14}
+
+% dots
+\fetdef\dot{15}
+\fetdef\repeatcolon{16}
+
+% balls
+\fetdef\brevisball{17}
+\fetdef\brevisledger{18}
+\fetdef\longaball{19}
+\fetdef\longaledger{20}
+\fetdef\wholeball{21}
+\fetdef\wholeledger{22}
+\fetdef\halfball{23}
+\fetdef\halfledger{24}
+\fetdef\quartball{25}
+\fetdef\quartledger{26}
+
+% scripts
+\fetdef\ufermata{27}
+\fetdef\dfermata{28}
+\fetdef\sforzatoaccent{29}
+\fetdef\staccato{30}
+\fetdef\ustaccatissimo{31}
+\fetdef\dstaccatissimo{32}
+\fetdef\tenuto{33}
+\fetdef\umarcato{34}
+\fetdef\dmarcato{35}
+\fetdef\ouvert{36}
+\fetdef\plusstop{37}
+\fetdef\upbow{38}
+\fetdef\downbow{39}
+\fetdef\reverseturn{40}
+\fetdef\turn{41}
+\fetdef\trill{42}
+\fetdef\upedalheel{43}
+\fetdef\dpedalheel{44}
+\fetdef\upedaltoe{45}
+\fetdef\dpedaltoe{46}
+\fetdef\flageolet{47}
+\fetdef\trilelement{48}
+\fetdef\prall{49}
+\fetdef\mordent{50}
+\fetdef\prallprall{51}
+\fetdef\prallmordent{52}
+\fetdef\upprall{53}
+\fetdef\downprall{54}
+
+% flags
+\fetdef\eighthflag{55}
+\fetdef\sixteenthflag{56}
+\fetdef\thirtysecondflag{57}
+\fetdef\sixtyfourthflag{58}
+\fetdef\deighthflag{59}
+\fetdef\dsixteenthflag{60}
+\fetdef\dthirtysecondflag{61}
+\fetdef\dsixtyfourthflag{62}
+
+% clefs
+\fetdef\altoclef{63}
+\fetdef\caltoclef{64}
+\fetdef\bassclef{65}
+\fetdef\cbassclef{66}
+\fetdef\violinclef{67}
+\fetdef\cviolinclef{68}
+
index a5bc3c4fde1b60f892834c690b70229c2225bfad..aa31034329fcfbb2ab437c5a99bbf8eefea8610c 100644 (file)
         \musixcalc
 }
 
-\def\cmrtwenty{
+  \def\cmrtwenty{
+          \font\smalltextfont=cmr8
         \font\meterfont=cmbx15
-        \font\italicfont=cmti10 scaled \magstep1
-        \font\musicmathfont=cmsy10
-        \font\normaltextfont=cmr10 %\textfont is a primitive
-        \font\smalltextfont=cmr8
-        \font\boldfont=cmbx10
-        \font\textmusic=cmmi12
-        \font\largefont=cmbx12
-}
-\def\cmrsixteen{
-        \font\smalltextfont=cmr6
-        \font\normaltextfont=cmr8 %\textfont is a primitive
-        \font\meterfont=cmbx12
-        \font\italicfont=cmti9
-        \font\textmusic=cmmi10
-        \font\boldfont=cmbx8
-        \font\largefont=cmbx10
-}
-\def\cmreleven{
-        \font\smalltextfont=cmr5
-        \font\normaltextfont=cmr6
-        \font\meterfont=cmbx8
-        \font\italicfont=cmti6
-        \font\textmusic=cmmi8
-        \font\boldfont=cmbx6
-        \font\largefont=cmbx8
-}
-
-\def\cmrthirteen{
-        \font\smalltextfont=cmr6
-        \font\normaltextfont=cmr7
-        \font\meterfont=cmbx9
-        \font\italicfont=cmti7
-        \font\textmusic=cmmi9
-        \font\boldfont=cmbx7
-        \font\largefont=cmbx9
-}
+          \font\textmusic=cmmi12
+%        \font\musicmathfont=cmsy10 %%Not used?? /MB
+        \ifundefined{documentclass}
+                \font\normaltextfont=cmr10 %\textfont is a primitive
+                \font\italicfont=cmti10 scaled \magstep1
+                \font\boldfont=cmbx10
+                \font\largefont=cmbx12
+        \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}}
+        \fi
+  }
+  \def\cmrsixteen{
+          \font\smalltextfont=cmr6
+          \font\meterfont=cmbx12
+          \font\textmusic=cmmi10
+        \ifundefined{documentclass}
+                \font\normaltextfont=cmr8 %\textfont is a primitive
+                \font\italicfont=cmti9
+                \font\boldfont=cmbx8
+                \font\largefont=cmbx10
+        \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}}
+        \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\textmusic=cmmi9
+        \ifundefined{documentclass}
+                \font\normaltextfont=cmr7
+                \font\italicfont=cmti7
+                \font\boldfont=cmbx7
+                \font\largefont=cmbx9
+        \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}}
+        \fi
+  }
 \def\musixsixteendefs{
         \sixteenfonts
         \musixcalc
 
 \def\rulesym#1#2{\dimen0=#1%
         \vrule height .5\dimen0 depth .5\dimen0 width #2}
-\def\settext#1{\normaltextfont #1}
-\def\setitalic#1{\italicfont #1}
-\def\setbold#1{\boldfont #1}
+\ifundefined{documentclass}
+        \def\settext#1{\normaltextfont #1}
+        \def\setitalic#1{\italicfont #1}
+        \def\setbold#1{\boldfont #1}
+        \def\setlarge#1{\largefont #1}
+\fi
+
 \def\setdynamic#1{\dynfont #1}
 \def\setfinger#1{\fingerfont #1}
-\def\setlarge#1{\largefont #1}
 \def\setnumber#1{\fetanummer #1}
 
 % the interline symbol. Redefine to remove it.