-6/Apr/98 LilyPond 0.1.62 1
+6/Apr/98 LilyPond 0.1.63 1
-6/Apr/98 LilyPond 0.1.62 2
+6/Apr/98 LilyPond 0.1.63 2
#
-TEXTFILES = $(OUTPODFILES:.pod=.txt)
+TEXTFILES = $(OUTPODFILES:.pod=$(DOTTEXT))
GROFFFILES = $(OUTPODFILES:.pod=.1)
HTMLFILES = $(OUTPODFILES:.pod=.html)
-default: all do-doc
+default: do-doc
#
# list of distribution files:
gnu-music-history
# don't do DVI files. They can only be made if lily is installed
-do-doc: $(TEXTFILES)
+do-doc: ugh-mutopia $(TEXTFILES)
+readme-topfiles:
+ cd $(depth); for i in $(README_TOPFILES); do \
+ ln -f $$i Documentation/$(outdir); done
-$(outdir)/%.txt: $(depth)/%
- -rm $@
+$(outdir)/%$(DOTTEXT): $(depth)/%$(DOTTEXT)
+ rm -f $@
ln $< $@
README_TOPFILES=NEWS DEDICATION TODO ANNOUNCE-0.1
-README_TXTFILES=$(addprefix $(outdir)/,$(addsuffix .txt, $(README_TOPFILES)))
+README_TXTFILES=$(addprefix $(outdir)/,$(addsuffix $(DOTTEXT), $(README_TOPFILES)))
-local-WWW: $(HTMLFILES) $(README_TXTFILES) $(giffiles)
+#local-WWW: $(HTMLFILES) $(README_TXTFILES) $(giffiles)
+local-WWW: $(HTMLFILES) readme-topfiles $(README_TXTFILES) $(giffiles)
# generic targets and rules:
#
include $(depth)/make/Targets.make
include $(depth)/make/Rules.make
+# ugh
+check-doc-deps:
+ @echo hi
+
+doc: do-doc
+
+ugh-mutopia: $(outdir)/mutopia.1
+ troff -man -Tascii $< | grotty -b -u -o > $(outdir)/mutopia$(DOTTEXT)
=item *
+Add changes to NEWS, and add yourself to Documentation/AUTHORS.pod
+
+=item *
+
generate a patch,
=item *
e-mail your patch to one of the mailing lists
gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
-(or if you're a bit shy, to the maintainer).
+
=back
=head1 MAINTAINER
-Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+Han-Wen Nienhuys <hanwen@cs.uu.nl>
Just keep on sending those patches!
=over 4
=item *
-<a href=ANNOUNCE-0.1.txt
+<! urg a href=ANNOUNCE-0.1$(DOTTEXT)>
+<a href=ANNOUNCE-0.1
>
The announcement of 0.1
</a
=item *
-<a href=DEDICATION.txt
+<a href=DEDICATION
>
DEDICATION
</a
=over 5
=item *
-<a href=TODO.txt
+<a href=TODO
>
The TODO list.
</a
>
=item *
-<a href=NEWS.txt
+<a href=NEWS
>
The Change log
</a
include $(depth)/make/Include.make
include $(depth)/make/Docrules.make
SECTION=1
-MANTXT = $(addprefix $(outdir)/, $(addsuffix .txt,$(basename $(PODFILES) .pod)))
+MANTXT = $(addprefix $(outdir)/, $(addsuffix $(DOTTEXT),$(basename $(PODFILES) .pod)))
MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION),$(basename $(PODFILES) .pod)))
default: $(MANTXT) $(MANGROFF)
info is written, in level two the command C<set -x> is run, which
echoes every command in the ly2dvi script.
-=item B<-H,--headers=>
+=item B<-F,--headers=>
+
+Name of additional LaTeX headers file. This is included in the
+tex file at the end of the headers, last line before \begin{document}
+
+=item B<-H,--Heigth=>
+
+Set paper heigth (points). Used together with width and LaTeX name of
+papersize in case of papersize unknown to ly2dvi.
+
+=item B<-F,--headers=>
Name of additional LaTeX headers file. This is included in the
tex file at the end of the headers, last line before \begin{document}
=item B<-O,--orientation=>
-Set orientation - portrait is the default.
-(C<-O> landscape produces C<\usepackage[landscape]{article}>)
+Set orientation landscape - obsolete, use C<-L> instead.
+
+=item B<-W,--Width=>
+
+Set paper width (points). Used together with heigth and LaTeX name of
+papersize in case of papersize unknown to ly2dvi.
+
+=item B<-d,--dependencies>
+
+Tell lilypond to make dependencies file.
=item B<-h,--help>
=item B<-p,--papersize=>
Specify papersize.
-(C<-p a4paper> produces C<\usepackage[a4paper]{article}>)
+(C<-p a4> produces C<\usepackage[a4paper]{article}>)
=item B<-s,--separate>
=item B<papersize="";>
-Specify papersize.
+Specify name of papersize.
=back
=item B<PAPERSIZE=>
-Specify papersize.
+Specify name of papersize.
+
+=item B<PHEIGTH=>
+
+Specify paperheight (points - an inch is 72.27, a cm is 28.453 points).
=item B<TMP=>
Temporary directory name.
+=item B<PWIDTH=>
+
+Specify paperwidth (points - an inch is 72.27, a cm is 28.453 points).
+
=back
=head1 SEE ALSO
=head1 REMARKS
-Only one papersize is supported, A4. Information on other sizes
+Many papersizes are now supported. Information on other sizes
(LaTeX names, horizontal and vertical sizes) should be mailed to
the author or to the mailing list.
+Supported papersizes are:
+
+a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, archA, archB, archC, archD,
+archE, b0, b1, b2, b3, b4, b5, flsa, flse, halfletter, ledger, legal,
+letter, note
=head1 STATUS
-This project is still in its vapourware stage, so don't ask questions
-unless you want to put in effort into The GNU Music project.
-
-Just as an aside, the LilyPond package includes the following music:
+This project is still in its infancy: we have very little amount of
+music available. The music is partly downloadable from the website.
+All of it is included in the source archive of LilyPond.
=over 4
=item *
J.S. Bach, Das Wohltemperierte Clavier I: C major Prelude & Fugue, C
-minor fugue. Solo cello suites: suite II, menuetto (alto version).
-Six small preludes: some preludes.
+minor fugue. Solo cello suites: suite II. Six small preludes: some
+preludes.
+
+=item *
+
+W. A. Mozart, Horn concerto 3, solo part + cadenza.
=item *
Tarquinio Merula, La Gallina a 2 violini
+=item *
+
+Paul Lacome d'Estalenx, La Feria, Los Toros (oboe 1)
+
=back
Daniel Taupin's now maintains the branch that still carries
the name MusiXTeX.
-=item OpusTeX, http://www.inf.ethz.ch/personal/achermann/
+=item OpusTeX, http://www.inf.ethz.ch/personal/acherman/misc.html
Andreas Egler's branch is now called OpusTeX.
The music font by Adobe.
-=item Haskore, http://haskell.systemscz.cs.yale.edu/haskore/onlinetutorial/index.html
+=item Haskore, http://haskell.systemsz.cs.yale.edu/haskore/onlinetutorial/index.html
A programming system for music, based on Haskell, a functional
programming language. It outputs MIDI, CSound, NeXTStep MusicKit and
dvi: $(DVIFILES)
-local-WWW: $(OUTDOCFILES:.doc=.ps.gz) $(addprefix $(outdir)/, $(BIBFILES))
- ls-latex --title 'LaTeX documents about LilyPond' --extension .ps.gz $(BIBFILES) $(DOCFILES) > $(outdir)/index.html
+local-WWW: $(OUTDOCFILES:.doc=.ps.gz) $(addprefix $(outdir)/, $(BIBFILES:.bib=.html))
+ ls-latex --title 'LaTeX documents about LilyPond' $(BIBFILES) $(DOCFILES) > $(outdir)/index.html
$(outdir)/%.bib: %.bib
- ln $< $@
+ ln -f $< $@
+
+$(outdir)/%.html: %.bib
+ bib2html $< $@
%
% TITLE=University of Colorado Engraving music bibliography
-% AUTHOR=Alyssa Lamb
+% AUTHOR=Alyssa Lamb (edited & converted to bibtex by HWN)
%
-@Book {
+
+% TODO: fix the labelling.
+
+@Book {6,
author ={Jacob, Archibald},
-year={ 1947},
+year={1947},
title = {Musical handwriting : or, How to put music on paper : A handbook for all musicians, professional and amateur},
-address ={ London}
+address ={London},
publisher ={Oxford University Press},
-subject = { Musical notation},
+note = {Musical notation},
}
-@Book {
-author ={Brandt, Carl, and Roemer, Clinton},
+@Book {15,
+author ={Carl Brandt and Clinton Roemer},
title = {Standardized Chord Symbol Notation},
-address={Sherman Oaks, CA}
-publisher={Roerick Music Co.}
+address={Sherman Oaks, CA},
+publisher={Roerick Music Co.},
}
-@Book {
+@Book {22,
author = {Johnson, Harold M},
year = {1946},
title = {How to write music manuscript an exercise-method handbook for the music student, copyist, arranger, composer, teacher},
-publisher={ Carl Fischer, Inc. }
-address= {New York}
-subject = {Musical notation --Handbooks, manuals},
+publisher={Carl Fischer, Inc.},
+address= {New York},
+note = {Musical notation --Handbooks, manuals},
}
-@Book {
+@Book {31,
title = {Music Printing & Publishing},
-editedby={ Donald W. Krummel \& Stanley Sadie},
-author = {?}
+editors ={Donald W. Krummel \& Stanley Sadie},
+
+author = {?},
year = {1990},
-series={ The Norton/Grove Handbooks in Music.}
-publisher={W.W. Norton}
+series={The Norton/Grove Handbooks in Music.},
+publisher={W.W. Norton},
}
-@Book {
+@Book {40,
author={Foss, Hubert},
title = {Music Printing},
series = {Practical Printing and Binding},
-address={ London},
-publisher={ Oldhams Press Ltd., Long Acre.}
+address={London},
+publisher={Oldhams Press Ltd., Long Acre},
}
-@Book {
+@Book {48,
author = {Steele, Robert},
year = {1903},
title = {The Earliest English Music Printing},
-address={ London},
+address={London},
}
-@Book {
+@Book {54,
author={Austin, Ernest},
title = {The Story of Music Printing},
-address={ London},
-publisher={Lowe and Brydone Printers, Ltd.}
+address={London},
+publisher={Lowe and Brydone Printers, Ltd.},
}
}
-@Book {
+@Book {63,
+author={?},
title = {Pictoral History of Music Printing},
-address={E;lhardt, Indiana}
-publisher={H. and A. Selmer, Inc.}
+address={E;lhardt, Indiana},
+publisher={H. and A. Selmer, Inc.},
}
-@Book {
+@Book {69,
author = {Scholderer, Victor},
year = {1963},
title = {Johann Gutenberg},
-address={ London},
-publisher={ British Museum},
+address={London},
+publisher={British Museum},
}
-@Book{
+@Book {77,
author = {Wintermitz, Emmanuel},
year = {1955},
title = {Musical Autographs from Monteverdi to Hindemith},
-address={Princeton}
+address={Princeton},
publisher={Princeton University Press},
}
-@Book{
+@Book {85,
author = {Wolf, Johannes},
year = {1919},
title = {Handbuch der Notationskunde},
address={Leipzig},
-publisher={ Breitkopf & Hartel.}
+publisher={Breitkopf & Hartel}
}
-@Book{
+
+@Book {92,
author = {Novello, A},
year = {1847},
title = {Some Account of the Methods of Musick Printing, with Specimens of the Various Sizes of Moveable Types and of Other Matters},
-address={ London}.
+address={London},
}
-@Book{
-author={Chrsander, F.}
-year={18??}
+@Book {100,
+author={Chrsander, F.},
+year={18??},
title={A Sketch of the HIstory of Music printing, from the 15th to the 16th century},
}
-@Book{
+
+@Book {105,
author = {Squire, W},
year = {1897},
title = {Notes on Early Music Printing},
-, title = {Bibliographica},
-, iii, 99.
+journal = {Bibliographica},
+volume={ iii, 99},
}
-@Book{
+@Article{113,
author = {Meyer, K. and O'Meara, J},
year = {1935},
title = {The Printing of Music, 1473-1934},
-, title = {The Dolphin},
-, ii, p.171-207.
-
-@Book{
+journal = {The Dolphin},
+volume={ ii},
+pages={ 171--207},
+}
+%% 4th ver.,
+@Article {120,
author = {Pattison, B},
year = {1939},
title = {Notes on Early Music Printing},
-,title = {The Library},
-, 4th ver., xix, p.389-421.
+journal = {The Library},
+
+volume={xix},
+pages={389-421},
}
-@Book{
+@Book {128,
author = {Barksdale, A},
year = {1957},
title = {The Printed Note: 500 Years of Music Printing and Engraving},
-address={Toledo, Ohio}
-note={(exhibition catalogue, the Toledo Museum of Art).}
+address={Toledo, Ohio},
+note={(exhibition catalogue, the Toledo Museum of Art)},
}
-@Book{
+@Book {136,
author = {King, H},
year = {1964},
title = {Four Hundred Years of Music Printing},
-London.
+address={London},
}
-@Book{
-Gamble, W. 1923 (Rev. 1971). title = {Music Engraving and Pinting, Historical And Technical Treatise},
-Londond.
+%(Rev. 1971).
+@Book {143,
+author={Gamble, W},
+year={ 1923},
+title = {Music Engraving and Pinting, Historical And Technical Treatise},
+address={London},
+}
-Deutsch, O.F. 1946 (Rev.1961). title = {Music Publishers' Numbers},
-London.
+%(Rev.1961).
+@Book{150,
+author={Deutsch, O.F.},
+year ={1946},
+title = {Music Publishers' Numbers},
+address={London},
}
-@Book{
+@Book {151,
author = {Marco, G.A},
year = {1962},
title = {The Earliest Music Printers of Continental Europe: a Checklist of Facsimiles Illustrating Their Work},
-Charlottesville, Virginia.
+address={Charlottesville, Virginia},
}
-@Book{
+@Article {158,
author = {Kinkeldey, O},
year = {1932},
title = {Music And Music Printing in Incunabula},
-, title = {Papers of the Bibliographical Society of America},
-, xxvi, p.89-118.
+journal = {Papers of the Bibliographical Society of America},
+volume={ xxvi},
+pages={89-118},
}
-@Book{
+@Book {166,
author = {Oldman, C.B},
year = {1934},
title = {Collecting Musical First Editions},
-London.
-Also in: Carter, J. 1934. title = {New Paths in Book Collecting},
-London.
+address={London},
+}
+
+@Book{170,
+author={Carter, J},
+year={1934},
+title = {New Paths in Book Collecting},
+address={London},
+}
-Krummel, D.W. 1958-9. title = {Graphic Analysis in Application to Early American Engraved Music},
-, title = {Notes},
-, xvi, p.213.
+@Book {179,
+author={Krummel, D.W.},
+year={1958},
+month={9},
+title = {Graphic Analysis in Application to Early American Engraved Music},
+journal = {Notes},
+volume={xvi},
+pages={213},
}
-@Book{
+@Book {189,
author = {Krummel, D.W},
year = {1971},
title = {Oblong Format in Early Music Books},
-, title = {The Library},
-, 5th ser., xxvi, p.312.
+journal = {The Library},
+volume={5th ser., xxvi},
+pages={312},
}
-@Book{
+@Book {198,
author = {King, A.H},
year = {1973},
title = {The 50th Anniversary of Music Printing},
-, title = {M_________},
-, cxiv.
}
-@Book{
-Rastall, Richard. 1982. title = {The notation of Western music : an introduction},
-New York, N.Y.: St. Martin's Press.
-subject = { Musical notation},
+@Book {204,
+author={Rastall, Richard},
+year={1982},
+ title = {The notation of Western music : an introduction},
+address={New York, N.Y.},
+publisher={St. Martin's Press},
+note = {Musical notation},
}
-@Book{
+@Book {215,
author = {Tappelot, Willy},
year = {1947},
title = {La Notation Musicale},
-Paris: Neuchatel.
+address={Paris},
+publisher={Neuchatel},
}
-@Book{
+@Book {223,
author = {Williams, C.F. Abdy},
year = {1903},
title = {The Story of Notation},
-New York: Charles Scribner's Sons.
+address={New York},
+publisher={Charles Scribner's Sons},
}
-@Book{
+@Book {231,
author = {Rosenthal, Carl A},
year = {1967},
title = {A Practical Guide to Music Notation},
-New York: MCA Music.
-
-<UL>}
-
-@Book{
-Apel, Willi. 1953. title = {The notation of polyphonic music, 900-1600.},
-Cambridge, Mass.: Mediaeval Academy of America.
-subject = {Musical notation},
+address={New York},
+publisher={MCA Music},
}
-@Book{
-
+@Book {239,
+author={Apel, Willi},
+year={1953},
+title = {The notation of polyphonic music, 900-1600},
+address={Cambridge, Mass},
+institution={Mediaeval Academy of America},
+note = {Musical notation},
+}
-Berger, Anna Maria Busse. 1993. title = {Mensuration and proportion signs : origins and evolution},
-Oxford, England: Clarendon Press; New York: Oxford University Press .
+@Book {248,
+author={Berger, Anna Maria Busse},
+year={1993},
+title = {Mensuration and proportion signs : origins and evolution},
+address={Oxford, England},
+publisher={Clarendon Press},
+scnd_address={New York},
+scnd_publisher={Oxford University Press },
}
-@Book{
-Parrish, Carl. 1957. title = {The notation of medieval music},
-New York : Norton.
-subject = {Musical notation},
+@Book {258,
+author={Parrish, Carl},
+year={1957},
+ title = {The notation of medieval music},
+address={New York},
+publisher={Norton},
+note = {Musical notation},
}
-@Book{
+@Book {269,
author = {Parrish, Carl},
year = {1946},
-title = { The Notation of Medieval Music},
-New York: Carl Fischer, Inc.
+title = {The Notation of Medieval Music},
+address={New York},
+publisher={Carl Fischer, Inc.},
}
-@Book{
+@Book {277,
author = {Patch, Harry},
year = {1949},
-title = { Genesis of a Music},
-Madison: University of Wisconsin Press.
+title = {Genesis of a Music},
+address={Madison},
+publisher={University of Wisconsin Press},
}
-@Book{
-Cage, John. 1969. title = {Notations},
-New York: Something Else Press.
-subject = { Music, Manuscripts, Facsimiles},
+@Book {285,
+author={Cage, John},
+year={ 1969},
+ title = {Notations},
+address={New York},
+publisher={Something Else Press},
+note = {Music, Manuscripts, Facsimiles.
-(Facsimiles of holographs from the Foundation for Contemporary Performance Arts, with text by 269 composers, but rearranged using title = {chance operations.},
-)
-}
+Facsimiles of holographs from the Foundation for Contemporary
+Performance Arts, with text by 269 composers, but rearranged using
+chance operations.,V)} },
-@Book{
+@Book {295,
author = {Gaburo, Virginia},
year = {1977},
title = {Notation},
-publisher= {Lingua Press: La Jolla, California}.
-subject = { A Lecture about notation, new ideas about},
-
-
+address={publisher= {Lingua Press},
+publisher={La Jolla, California}},
+note = {A Lecture about notation, new ideas about},
}
-@Book{
+@Book {306,
author = {Risatti, Howard},
year = {1975},
title = {New Music Vocabulary},
-Urbana, Illinois: University of Illinois Press.
-subject = { A Guide to Notational Signs for Contemporary Music},
+address={Urbana, Illinois},
+publisher={University of Illinois Press},
+note = {A Guide to Notational Signs for Contemporary Music},
}
-@Book{
+@Book {317,
author = {Boehm, Laszlo},
year = {1961},
-Modern Music Notation. New York: G. Schirmer, Inc.
+title={Modern Music Notation},
+address={New York},
+publisher={G. Schirmer, Inc.},
}
-@Book{
+@Book {325,
author = {Cowell, Henry},
year = {1930},
title = {New Musical Resources},
-New York: Alfred A. Knopf, Inc.
+address={New York},
+publisher={Alfred A. Knopf, Inc.},
+}
+@Article {333,
author = {Cowell, Henry},
year = {1927},
title = {Our Inadequate Notation},
-,title = {Modern Music},
-, Vol. 4, No. 3.
+journal = {Modern Music},
+volume={4},
+number={3},
}
-@Book{
+@Book {342,
author = {Bowers, Roger},
year = {1992},
title = {Music & Letters},
-v73, n3, August, p347(52)
-
-Some reflection upon notation and proportion in Monteverdi's mass and vespers.
+volume={73},
+number={3},
+month={August},
+pages={347(52)},
+note={Some reflection upon notation and proportion in Monteverdi's mass and vespers},
}
-@Book{
+@Book {353,
author = {Brainard, Paul},
year = {1992},
title = {Current Musicology},
-n50, July-Dec, p21(26)
-
-Proportional notation in the music of Schutz and his contemporaries in the 17th Century.}
-
-@Book{
-
+number={50},
+month={July-Dec},
+pages={21(26)},
+note={Proportional notation in the music of Schutz and his contemporaries in the 17th Century},
+}
+@Book {362,
author = {Monelle, Raymond},
year = {1989},
title = {Comparative Literature},
-v41, n3, Summer, p252(18)
+volume={41}, number={3},
+month={Summer},
+pages={252(18)},
-Music notation and the poetic foot.
+note={Music notation and the poetic foot},
}
-@Book{
+@Book {373,
author = {Pinegar, Sandra},
year = {1993},
title = {Current Musicology},
-n53, July, p99(10)
-The seeds of notation and music paleography.
+number={53},
+month={July},
+pages={99(10)},
+note={The seeds of notation and music paleography.},
+}
+@Book {382,
author = {Smith, Norman E},
year = {1990},
title = {Current Musicology},
-n45-47, Jan-Dec, p283(22)
-
-The notation of fractio modi.
+number={45-47},
+month={Jan-Dec},
+pages={283(22)},
+note={The notation of fractio modi.},
}
-@Book{
+@Book {392,
author = {Treitler, Leo},
year = {1992},
title = {The Journal of Musicology},
-v10, n2, Spring, p131(61)
+volume={10},
+number={2},
+month={Spring},
+pages={131(61)},
-The title = {unwritten},
-and title = {written transmission},
-of medieval chant and the start-up of musical notation.
+note={ The unwritten and written transmission, of medieval chant
+and the start-up of musical notation.
-Notational practice developed in medieval music to address the written tradition for chant which interacted with the unwritten vocal tradition...
+Notational practice developed in medieval music to address the written tradition for chant which interacted with the unwritten vocal tradition.},
}
-@Book{
+@Book {407,
author = {West, M.L},
year = {1994},
title = {Music & Letters},
-v75, n2, May, p161(19)
-The Babylonian musical notation and the Hurrian melodic texts.
-
-A new way of deciphering the ancient Babylonian musical notation...
+volume={75},
+number={2},
+month={May},
+pages={161(19)},
+note={The Babylonian musical notation and the Hurrian melodic texts.
+A new way of deciphering the ancient Babylonian musical notation.
+}
}
-@Book{
+@Book {418,
author = {Brown, Earle},
year = {1986},
title = {Musical Quarterly},
-v72, Spr, p180(22)
-
-The notation and performance of new music.
+volume={72},
+month={Spring},
+pages={180(22)},
+note={The notation and performance of new music.},
}
-@Book{
+@Book {426,
author = {Eggleston, Suzanne},
year = {1994},
-
title = {Notes},
-v51, n2, Dec, p657(7)
-
-New periodicals
-
-A list of new music periodicals covering the period Jun.-Dec. 1994. Includes aims, formats and a description of the contents of each listed periodical. Includes title = {Music Notation News},
+volume={51},
+number={2},
+month={Dec},
+pages={657(7)},
+journal={New periodicals},
+note={A list of new music periodicals covering the period
+Jun.-Dec. 1994. Includes aims, formats and a description of the
+contents of each listed periodical. Includes Music Notation News},
}
-@Book{
+@Book {441,
author = {Fuller, David},
year = {1989},
title = {The Journal of Musicology},
-v7, n1, Wntr, p21(8)
-
+volume={7},
+number={1},
+month={Winter},
+pages={21(8)},
+note={
Notes and inegales unjoined: defending a definition. (written-out inequalities in music notation).
-}
+}},
-@Book{
+@Book {454,
author = {Jones, David Evan},
year = {1990},
title = {Perspectives of New Music},
-
-
+note={
Speech extrapolated. (includes notation)
-
+}
}
-@Book{
+@Book {464,
author = {Lependorf, Jeffrey},
year = {1989},
-I>Perspectives of New Music</I> v27, n2, Summer, p232(20)
-
-Contemporary notation for the shakuhachi: a primer for composers. (Tradition and Renewal in the Music of Japan)
+journal={Perspectives of New Music},
+volume={27},
+ number={2},
+month={Summer},
+pages={232(20)},
+note={
+Contemporary notation for the shakuhachi: a primer for composers. (Tradition and Renewal in the Music of Japan) },
}
-@Book{
+@Book {478,
author = {Rastall, Richard},
year = {1993},
title = {Music & Letters},
-v74, n4, Nov, p639(2)
-Equal Temperament Music Notation: The Ailler-Brennink Chromatic Notation. Results and Conclusions of the Music Notation Refor by the Chroma Foundation (book reviews).
-}
+volume={74}, number={4},
+month={November},
+pages={639(2)},
-@Book{
-<UL>
-Francois, Jean-Charles.title = {Perspectives of New Music},
-v30, n1, Wntr, p6(15)
+note={Equal Temperament Music Notation: The Ailler-Brennink
+Chromatic Notation. Results and Conclusions of the Music Notation
+Refor by the Chroma Foundation (book reviews). },
+}
-1992.
-Writing without representation, and unreadable notation. by Jean-Charles Francois.
-Modern music has outgrown notation. While the computer is used to write down music with accuracy never before achieved, the range of modern sounds has surpassed the relevance of the computer...
+@Book {491,
+author={Francois, Jean-Charles},
+title = {Perspectives of New Music},
+volume={30}, number={1}, month={Winter}, pages={6(15)},
+year={1992},
}
+%title={Writing without representation, and unreadable notation.},
+%author={Jean-Charles Francois.}
+%note={Modern music has outgrown notation. While the computer is used to write down music with accuracy never before achieved, the range of modern sounds has surpassed the relevance of the computer.},
+
-@Book{
+@Book {501,
author = {Hamel, Keith A},
year = {1989},
-
title = {Perspectives of New Music},
-v27, n1, Wntr, p70(14)
-
-A design for music editing and printing software based on notational syntax. (computer music)
+volume={27}, number={1}, month={Winter}, pages={70(14)},
+note={A design for music editing and printing software based on notational syntax. (computer music) },
+}
ALTeditor = {},
title = {The Notation of Western Music: an
Introduction},
- publisher = {J. M. Dent \6& Sons London},
+ publisher = {J. M. Dent \& Sons London},
year = {1983},
- key = {},
- volume = {},
- number = {},
- series = {},
- address = {},
- edition = {},
- month = {},
- note = {},
- comment = {Interesting account of the evolution and origin of common notation starting from neumes, and ending with modern innovations HWN},
- annote = {},
+ note = {Interesting account of the evolution and origin of common notation starting from neumes, and ending with modern innovations HWN},
+
}
@Book{ross,
address = {},
edition = {},
month = {},
- comment = {This is about engraving, i.e. professional typesetting. It contains
+ note = {This is about engraving, i.e. professional typesetting. It contains
directions on good typesetting, but the sections on reproduction
technicalities, how to use pens and history are interesting.
Especially the section on Music Typewriters is amusing HWN},
Translations},
journal = {Software Practice and Experience},
year = {1994},
- key = {},
volume = {24},
number = {3},
month = {march},
pages = {289--306},
- note = {},
- annote = {},
- comment = {A description of various conversions, decisions and issues relating to this interactive editor HWN},
+ note = {A description of various conversions, decisions and issues relating to this interactive editor HWN},
}
@Book {wanske,
- comment = {I. A very thorough overview of engraving practices of various craftsmen. It includes detailed specs of characters, dimensions etc. II. a thorough overview of a anonymous (by now antiquated) automated system. EDV Means e(lektronischen) D(aten)v(erarbeitung), electronic data processing HWN},
+ note = {I. A very thorough overview of engraving practices of various craftsmen. It includes detailed specs of characters, dimensions etc. II. a thorough overview of a anonymous (by now antiquated) automated system. EDV Means e(lektronischen) D(aten)v(erarbeitung), electronic data processing HWN},
year = {1988},
title = {Musiknotation --- Von der Syntax des Notenstichs zum EDV-gesteuerten Notensatz},
author = {Helene Wanske},
-@Book{,
- ALTauthor = {},
- ALTeditor = {},
- title = {},
- publisher = {},
- year = {},
- key = {},
- volume = {},
- number = {},
- series = {},
- address = {},
- edition = {},
- month = {},
- note = {},
- annote = {},
-}
-
-
-@Book {,
+@Book {weaner93,
year = {1993},
title = {Standard Music Notation Practice},
author = {Maxwell Weaner and Walter Boelke},
-@Book {,
- comment = {Sound (boring) review of the various hairy rhythmic notations used by avant-garde composers HWN},
+@Book {read78,
+ note = {Sound (boring) review of the various hairy rhythmic notations used by avant-garde composers HWN},
year = {1978},
title = {Modern Rhythmic Notation},
author = {Gardner Read},
}
-@Book {,
- comment = {This is as close to the ``standard'' reference work for music notation issues as one is likely to get. MB},
+@Book {read-notation,
+ note = {(Out of print) This is as close to the ``standard'' reference work for music notation issues as one is likely to get. MB},
title = {Music Notation: a Manual of Modern Practice},
author = {Gardner Read},
totalentry = {(2nd edition)},
publisher ={Taplinger Publishing},
address ={New York},
- note = { (Out of print)},
}
-
-@Book{,
- ALTauthor = {},
- ALTeditor = {},
- title = {},
- publisher = {},
- year = {},
- OPTkey = {},
- OPTvolume = {},
- OPTnumber = {},
- OPTseries = {},
- OPTaddress = {},
- OPTedition = {},
- OPTmonth = {},
- OPTnote = {},
- OPTannote = {}
-}
-
-@Book {,
+@Book {hader48,
year = {1948},
title = {Aus der Werkstatt eines Notenstechers},
author = {Karl Hader},
publisher = {Waldheim--Eberle Verlag},
address ={Vienna},
- comment = {Hader was the chief-engraver of the Waldheim-Eberle music
+ note = {Hader was the chief-engraver of the Waldheim-Eberle music
publishers. This book contains the most important rules on engraving
(according to [Chlapik])},
-@Booklet {,
- comment = {Pamphlet explaining some fine points in music font design HWN},
+@Booklet {mpa96,
+ note = {Pamphlet explaining some fine points in music font design HWN},
year = {1996},
title = {Standard music notation specifications for computer programming. },
month = {December},
+ author ={mpa},
publisher = {MPA},
}
-@TechReport{,
- comment = {Rules on formatting music formulated for use in computers. Mainly distilled from [Ross] HWN},
- year = {1988},
- title = {Music Formatting Guidelines,},
+@TechReport{roush88,
+ note = {Rules on formatting music formulated for use in computers. Mainly distilled from [Ross] HWN},
+ year = {1988},
+ title = {Music Formatting Guidelines},
author = {D. Roush},
- note={Technical Report OSU-CISRC-3/88-TR10},
- institution ={Department of Computer and Information Science, The Ohio State University},
+ number = {OSU-CISRC-3/88-TR10},
+ institution = {Department of Computer and Information Science, The Ohio State University},
}
-@PhdThesis {,
+@PhdThesis {byrd85,
year = {1985},
title = {Music Notation by Computer},
author = {Donald Byrd},
}
-@Article {,
+@Article {byrd74,
year = {1974},
title = {A System for Music Printing by Computer},
author = {Donald Byrd},
}
-@Book {,
- comment = {If I remember correctly, this was concerned more with an input language than with the typography. SP},
+@Book {smith73,
+ note = {If I remember correctly, this was concerned more with an input language than with the typography. SP},
year = {1973},
title = {Editing and Printing Music by Computer},
author = {Leland Smith},
}
-@PhdThesis {,
+@PhdThesis {gomber75,
year = {1975},
title = {A Computer-Oriented System for Music Printing},
author = {David A Gomberg},
}
-@Book {,
- comment = {Annual editions since 1985, many containing surveys of music typesetting technology. SP},
+@Book {CASR,
+ note = {Annual editions since 1985, many containing surveys of music typesetting technology. SP},
title = {Directory of Computer Assisted Research in Musicology},
- author = {Walter B Hewlett. and Eleanor Selfridge-Field},
+ author = {Walter B Hewlett and Eleanor Selfridge-Field},
totalentry = {Menlo Park, CA: Center for Computer Assisted Research in the Humanities},
}
-@Book {,
+@Book {gomberg,
title = {A Computer-oriented System for Music Printing},
- author = {David A. Gomberg; },
-
+ author = {David A. Gomberg},
journal = {Computers and the Humanities},
volume={11},
pages = {63-80},
}
-@TechReport {,
- comment = {Algorithm for generating spacing in one line of (polyphonic) music, tailored for use with MusiCopy. LilyPond uses a variant of it (as of pl 76) HWN},
+@TechReport {gourlay87-spacing,
+ note = {Algorithm for generating spacing in one line of (polyphonic) music, tailored for use with MusiCopy. LilyPond uses a variant of it (as of pl 76) HWN},
year = {1987},
title = {Spacing a Line of Music,},
author = {John S. Gourlay},
}
-@TechReport {,
- comment = {A brief overview of MusiCopy HWN},
+@TechReport {parish87,
+ note = {A brief overview of MusiCopy HWN},
year = {1987},
title = {MusiCopy: An automated Music Formatting System},
- author = {Allen Parish, Wael A. Hegazy, John S. Gourlay, Dean K. Roush and F. Javier Sola},
+ author = {Allen Parish and Wael A. Hegazy and John S. Gourlay and Dean K. Roush and F. Javier Sola},
totalentry = {OSU-CISRC-10/87-TR29},
institution ={ Department of Computer and Information Science, The Ohio State University},
}
-@TechReport {,
- comment = {This paper discusses the development of algorithms for the formatting of musical scores (from abstract). It also appeared at PROTEXT III, Ireland 1986},
+@TechReport {gourlay87-formatting,
+ note = {This paper discusses the development of algorithms for the formatting of musical scores (from abstract). It also appeared at PROTEXT III, Ireland 1986},
year = {1987},
- title = {Computer Formatting of Music,},
- author = {John S. Gourlay, A. Parrish, D. Roush, F. Sola, Y. Tien},
+ title = {Computer Formatting of Music},
+ author = {John S. Gourlay and A. Parrish and D. Roush and F. Sola and Y. Tien},
totalentry = {OSU-CISRC-2/87-TR3},
institution ={Department of Computer and Information Science, The Ohio State University},
}
-@TechReport {,
- comment = {Describes the "parser" which converts MusiCopy MDL to MusiCopy Simultaneities & columns HWN},
+@TechReport {hegazy87,
+ note = {Describes the "parser" which converts MusiCopy MDL to MusiCopy Simultaneities & columns HWN},
year = {1987},
title = {On the Implementation of the MusiCopy Language Processor,},
author = {Wael A. Hegazy},
}
-@TechReport {,
- comment = {This generalizes TeX's breaking algorithm to music. It also appeared in Document Manipulation and Typography, J.C. van Vliet (ed) 1988. HWN},
+@TechReport {hegazy87-breaking,
+ note = {This generalizes TeX's breaking algorithm to music. It also appeared in Document Manipulation and Typography, J.C. van Vliet (ed) 1988. HWN},
year = {1987},
title = {Optimal line breaking in music},
author = {Wael A. Hegazy and John S. Gourlay},
}
-@TechReport {,
- comment = {User manual of MusiCopy. Includes an impressive example piece. HWN},
+@TechReport {roush87,
+ note = {User manual of MusiCopy. Includes an impressive example piece. HWN},
year = {1987},
title = {Using MusiCopy},
author = {Dean K. Roush},
}
-@TechReport {,
- comment = {Placement of balls, stems, dots which occur at the same moment ("Simultaneity") HWN},
+@TechReport {parrish87,
+ note = {Placement of balls, stems, dots which occur at the same moment ("Simultaneity") HWN},
year = {1987},
title = {Computer Formatting of Musical Simultaneities,},
author = {A. Parrish and John S. Gourlay},
}
-@TechReport {,
- comment = {Overview of a procedure for generating slurs HWN},
+@TechReport {sola87,
+ note = {Overview of a procedure for generating slurs HWN},
year = {1987},
title = {Computer Design of Musical Slurs, Ties and Phrase Marks,},
author = {F. Sola},
}
-@TechReport {,
+@TechReport {sola87-beams,
institution={ Department of Computer and Information Science, The Ohio State University},
- comment = {Calculating beam slopes HWN},
+ note = {Calculating beam slopes HWN},
year = {1987},
title = {Design of Musical Beams,},
author = {F. Sola and D. Roush},
}
-@Article {,
- comment = {This paper describes the MusiCopy musicsetting system and an input language to go with it. HWN},
+@Article {gourlay86,
+ note = {This paper describes the MusiCopy musicsetting system and an input language to go with it. HWN},
year = {1986},
title = {A language for music printing},
author = {John. S. Gourlay},
-@Article {,
- comment = {A description of Lime internals (which resemble older (before 0.0.68pre) LilyPond data structures somewhat) HWN},
+@Article {haken93,
+ note = {A description of Lime internals (which resemble older (before 0.0.68pre) LilyPond data structures somewhat) HWN},
year = {1993},
title = {The Tilia Music Representation: Extensibility, Abstraction, and Notation Contexts for the Lime Music Editor},
author = {Lippold Haken and Dorothea Blostein},
- journal = { Computer Music Journal},
+ journal = {Computer Music Journal},
volume= {17},
number={ 3},
pages = {43--58},
}
-
-@Article {,
- comment = {This describes an algorithm which uses springs between adjacent columns. This algorithm is a "subclass" of the LilyPond algorithm. HWN},
+@InProceedings{haken95,
year = {1995},
title = {A New Algorithm for Horizontal Spacing of Printed Music},
author = {Lippold Haken and Dorothea Blostein},
- totalentry = {Lippold Haken and Dorothea Blostein. ``A New Algorithm for Horizontal Spacing of Printed Music'', International Computer Music Conference, Banff, Sept. 1995},
+ booktitle = { International Computer Music Conference},
+ address={Banff},
+ month={Sept},
pages = {118-119},
+ note = {This describes an algorithm which uses springs between adjacent columns. This algorithm is a "subclass" of the LilyPond algorithm. HWN},
}
-@Article {,
- comment = {This paper provides a shallow overview of the algorithm used in LIME for spacing individual lines. HWN},
+@Article {blostein91,
+ note = {This paper provides a shallow overview of the algorithm used in LIME for spacing individual lines. HWN},
year = {1991},
title = {Justification of Printed Music},
author = {Dorothea Blostein and Lippold Haken},
- totalentry = {Communications of the ACM},
- volume={J34},
- number={ 3},month={ March}, pages = {88-99},
+ journal = {Communications of the ACM},
+ volume= {J34},
+ number= {3},
+ month= {March},
+ pages = {88-99},
}
-@Article {,
- comment = {Describes a system called MusicEase, and explains that it uses "constraints" (which go unexplained) to automatically position various elements. HWN},
+@Article {rader96,
+ note = {Describes a system called MusicEase, and explains that it uses "constraints" (which go unexplained) to automatically position various elements. HWN},
year = {1996},
title = {Creating Printed Music Automatically},
author = {Gary M. Rader},
month={June}, pages = {61--69}},
-@PhdThesis {,
- comment = {Don't ask Stephen for a copy. Write to the Bodleian Library, Oxford, or to the British Library, instead. SP},
+@PhdThesis {page88,
+ note = {Don't ask Stephen for a copy. Write to the Bodleian Library, Oxford, or to the British Library, instead. SP},
year = {1988},
title = {Computer Tools for Music Information Retrieval},
author = {Stephen Dowland Page},
school ={ Dissertation University of Oxford},
}
-@MastersThesis{,
- comment = {This dutch thesis describes a simplistic (monophonic) typesetting system, and focuses on the breaking algorithm, which is taken from Hegazy & Gourlay HWN},
+@MastersThesis{roelofs91,
+ note = {This dutch thesis describes a simplistic (monophonic) typesetting system, and focuses on the breaking algorithm, which is taken from Hegazy & Gourlay HWN},
year = {1991},
title = {Een Geautomatiseerd Systeem voor het Afdrukken van Muziek},
author = {Ren\'e Roelofs},
- totalentry = {Ren\'e Roelofs. ``Een Geautomatiseerd Systeem voor het Afdrukken van Muziek'' afstudeerscriptie Bestuurlijke informatica, no 45327, Erasmus universiteit Rotterdam, 1991. (``An automated system for printing music'' Master's Thesis Managerial Computer Science.)},
+ school={Erasmus Universiteit Rotterdam},
+ number={45327},
+ translation = {``An automated system for printing music'' Master's Thesis Managerial Computer Science.},
}
-@Article {,
+@Article {filgueiras93,
year = {1993},
title = {Representation and manipulation of music documents in SceX},
author = {Miguel Filgueiras and Jos\'e Paulo Leal},
}
-@Article {,
- comment = {A paper on a TROFF preprocessor to typeset music. The output shown is not very sophisticated, and contains some typographical atrocities HWN},
+@Article {foxley87,
+ note = {A paper on a TROFF preprocessor to typeset music. The output shown is not very sophisticated, and contains some typographical atrocities HWN},
year = {1987},
title = {Music --- A language for typesetting music scores},
- author = {Eric Foxley, },
+ author = {Eric Foxley },
journal={ Software --- Practice and Experience, },
volume={ 17},
number={8}, pages = {485-502},
}
-@Book {,
+@Book {filgueiras96,
year = {1996},
title = {Implementing a Symbolic Music Processing System},
author = {Miguel Filgueiras},
totalentry = {LIACC, Universidade do Porto, 1996; submitted},
}
-@Book {,
+@Book {filgueiras?,
title = {Some Music Typesetting Algorithms},
author = {Miguel Filgueiras},
totalentry = {Miguel Filgueiras. ``Some Music Typesetting Algorithms''. LIACC, Universidade do Porto, forthcoming},
}
-@Book {,
- comment = {A concise, alphabetically ordered list of typesetting and music (notation) issues with a rather simplistic attitude but in most cases "good-enough" answers JCN},
+@Book {gerou96,
+ note = {A concise, alphabetically ordered list of typesetting and music (notation) issues with a rather simplistic attitude but in most cases "good-enough" answers JCN},
year = {1996},
title = {Essential Dictionary of Music Notation},
author = {Tom Gerou and Linda Lusk},
}
-@Book {,
- comment = {An clearly written book for the casually interested reader. It shows some of the conventions and difficulties in printing music HWN},
+@Book {chlapik87,
+ note = {An clearly written book for the casually interested reader. It shows some of the conventions and difficulties in printing music HWN},
year = {1987},
title = {Die Praxis des Notengraphikers},
author = {Herbert Chlapik},
}
-@Book {,
- comment = {Webpages about engraving (designed with finale users in mind) (sic) HWN},
+@Article {colorado-web,
+ author ={Alyssa Lamb},
+ note = {Webpages about engraving (designed with finale users in mind) (sic) HWN},
institution = {The University of Colorado},
title ={The University of Colorado Music Engraving page.},
- url={http://obenamots.cc.colorado.edu/Musicpress/engraving.html},
+ HTML={http://obenamots.cc.colorado.edu/Musicpress/engraving.html},
+ year={1996}
}
-
-
-@Book {,
+@Book {donato63,
year = {1963},
author = {Anthony Donato},
title ={ Preparing Music Manuscript},
}
-@Book {,
+@Book {donemes1900,
year = {1900},
title = {Uitgeven van muziek},
author = {Donemus},
}
-@Book {,
+@Book {Heussenstamm87,
year = {1987},
title = {The Norton Manual of Music Notation},
author = {George Heussenstamm},
}
-@Book {,
+@Book {Karkoshka72,
year = {1972},
title = {Notation in New Music; a critical guide to interpretation and realisation},
author = {Erdhard Karkoshka},
}
-@Book {,
+@Book {Roemer73,
year = {1973},
title = {The Art of Music Copying},
author = {Clinton Roemer},
}
-@Book {,
+@Book {Rosecrans79,
year = {1979},
title = {Music Notation Primer},
author = {Glen Rosecrans},
}
-@Book {,
+@Book {Stone80,
year = {1980},
title = {Music Notation in the Twentieth Century},
author = {Kurt Stone},
}
-@Book {,
- comment = {This paper deals with some command-line tools for music editing and playback. It doesn't mention notation issues, but does come with the grand idea (not) of using music to monitor complex systems. Imagine your nuclear plant supervisor to use AC/DC for checking the reactor HWN},
+@Book {Langston90,
+ note = {This paper deals with some command-line tools for music editing and playback. It doesn't mention notation issues, but does come with the grand idea (not) of using music to monitor complex systems. Imagine your nuclear plant supervisor to use AC/DC for checking the reactor HWN},
year = {1990},
title = {Unix music tools at Bellcore},
author = {Peter S. Langston},
-@URL {,
- comment = {FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN},
+@Article {tablature-web,
+ note = {FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN},
title = {how to read and write tab: a guide to tab notation},
author = {Howard Wright},
email={Howard.Wright@ed.ac.uk},
- url={ http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html},
+ HTML={ http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html},
}
-@URL {,
- comment = {Specs for NIFF, a comprehensive but binary (yuk) format for notation HWN},
+@Article {niff-web,
+ note = {Specs for NIFF, a comprehensive but binary (yuk) format for notation HWN},
year = {1995},
title = {NIFF6a Notation Interchange File Format},
- author = {Cindy Grande, },
+ author = {Cindy Grande},
publisher={Grande Software Inc.},
- url={http://www.jtauber.com/music/encoding/niff/},
+ HTML={http://www.jtauber.com/music/encoding/niff/},
}
-@URL {,
+@Article {smdl-web,
+ author={unknown},
title = {SMDL, Standard Musical Description Language},
- url={ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
+ HTML={ftp://ftp.ornl.gov/pub/sgml/wg8/smdl/10743.pdf},
note={ISO/IEC DIS 10743},
}
"doesn't look good", they will ignore the rules and draw their own
beams, based on experience.
-\item The exact rules probably even don't "really exsist" but in the
-minds of good engravers, in the form of experience
+\item The exact rules probably don't "really exist" but in the minds
+ of good engravers, in the form of experience
\end{itemize}
We'll propose to do a least-squares solve. This seems to be the best
It would be nice to have some rules to catch and handle "ugly" cases,
though. In general, the slope of the beam should mirror the pitches
-of the notes. If this "can't be done" because there simply is no
-uniform "trend", it would probably be best to set the slope to zero.
+of the notes. If this can't be done because there simply is no
+uniform trend, it would probably be best to set the slope to zero.
\subsection{Quantising}
% has been installed. The rules have been precooked into the
% Documentation/Rules.make file; do
%
-% make out/introduction.dvi
+% make out/mudela.dvi
%
% or
%
-% mudela-book --outdir=out/ --outname=introduction.mudtex introduction.doc
-% latex '\nonstopmode \input out/introduction.mudtex'
+% mudela-book --outdir=out/ --outname=mudela.mudtex mudela.doc
+% latex '\nonstopmode \input out/mudela.mudtex'
% Hoi Tim, hier staan wat 'enge' commando's (die dingen met een '\'
% zoals \documentclass en \def\mudela...).
\end{mudela}
\end{enumerate}
+[talk about ly2dvi]
+
The remainder of this document is not about \TeX, and mostly not even
about LilyPond. What you entered into your text editor in step~1. and
fed to LilyPond is a special kind of file composed of notenames,
\end{mudela}
The pitch \verb+c'+ actually consists of two parts: one for the note
name, and one part for the octave. The number of apostrophes
-specifies the octave to use, and the letter which note name to use.
-The note names simply are the letters \verb+a+ to \verb+g+.
+specifies the octave to use if you are above central c. If you want
+the octaves below central c, use the comma, eg, \verb+c,,+ (The comma
+is meant to represent a ``sunken'' apostrophe). The letter specifies
+which note name to use. The note names simply are the letters
+\verb+a+ to \verb+g+.
+
+By convention, the \verb+a'+ concert pitch is the tone that is used to
+tune instruments. The exact frequency of this tone has wandered: in
+Baroque time it was 335 Hz, most textbooks will tell you it is 440 Hz,
+and a lot of orchestras nowadays tune at 441.5 Hz.
For example,
\begin{mudela}[fragment,verbatim]
denoted by 1, the half note by 2, the quarter by 4, and so on. Here
are some random notes to show how it works
\begin{mudela}[fragment,verbatim]
-'c8 c8 c'16 c''32 d''64 b'64 c'''2 c1 c'4 d'4 e'4 f'4 g'4 a'4
+c,8 c8 c'16 c''32 d''64 b'64 c'''2 c1 c'4 d'4 e'4 f'4 g'4 a'4
\end{mudela}
This gives us already enough material to make simple songs:
\begin{table}[h]
\begin{center}
- \caption{Defaults note names}\label{notename-tab}
+ \caption{Default note names}\label{notename-tab}
+
\begin{tabular}{ll}
english &LilyPond\\
\hline\\
for different languages, among others English (C sharp is abbreviated
to cs), Italian, Swedish, Norwegian
-\section{Hairy rhythms}
+\section{[chords]}
+
+Up till so far we have only considered music that was rather simple.
+All the music had notes going in one direction, from left to right,
+the one following the other. You might be wondering if this is all
+Lily could do, or whether is possible to stack notes as well (creating
+\emph{chords}). Rest assured: we designed LilyPond with the goal mind
+that she must handle any notation construct that can be expressed
+conveniently. Of course, we did not leave out chords.
+
+In mudela you can form a chord of several notes, by enclosing them in
+pointed parentheses, ie, $\langle$ and $\rangle$, for example a
+D-major chord can be described by
+\begin{mudela}[fragment,verbatim]
+ <d'8 fis'8 a'8 d''8>
+\end{mudela}
+Recall what was said in the previous section about flats and sharps:
+the \texttt{fis} is an f sharp. Chords can be entered in the music in
+same places that notes can. As an example we give a snippet of
+``twinkle twinkle little star'' in chords. The chords may seem, well,
+unconventional, but they mostly serve to show how chords work
+\begin{mudela}[verbatim, fragment]
+ c''4 c''4 <c''4 g''4> <c''4 e''4 g''4>
+ <c''4 e''4 a''4> <b'4 d''4 a''4> <b'2 d''2 g''2>
+ <a'4 d''4 f''4> <bes'4 d''4 f''4> <bes'4 c''4 e''4> <g'4 c''4 e''4>
+ <e'4 a'4 d''4> <a4 g'4 cis''4> <d'2 f'2 d''2>
+\end{mudela}
+
+\section{Shortcuts}
+
+If you have typed the last example in to a mudela file, you will have
+noticed that the input has lots of repetitions. You probably made
+some little errors with the right amount of \texttt{'}'s as well. For
+these reasons, saving keystrokes and preventing errors, mudela has
+some handy shortcuts. You don't have to type the duration, if it the
+same as the last duration entered. This saves a considerable number
+of keystrokes, and thus it reduces the potential for errors. The
+previous example can be reduced to
+\begin{verbatim}
+ c''4 c'' <c'' g''> <c'' e'' g''>
+ <c'' e'' a''> <b' d'' a''> <b'2 d'' g''>
+ <a'4 d'' f''> <bes' d'' f''> <bes' c'' e''> <g' c'' e''>
+ <e' a' d''> <a g' cis''> <d'2 f' d''>
+\end{verbatim}
+
+[WARNING: relative octaves are still experimental!]
+
+The need for quotes can also be reduced: most of the pitch intervals
+in traditional music are small. Therefore, it makes sense to leave
+out the quotes when the interval is small. This is called the
+relative mode for octaves. You can switch it on by entering
+\verb+\octave relative+. From then on, the pitch of a note will be
+the closest to the last one, Thus, you can enter a scale without using
+octavation quotes:
+\begin{mudela}[fragment,verbatim]
+ \octave relative;
+ c d e f g a b c
+\end{mudela}
+
+The twinkle twinkle example reduces to the following input.
+\begin{verbatim}
+ \octave relative;
+ c'4 c <c g'> <c, e g>
+ <c, e a> <b, d a'> <b,2 d g>
+ <a,4 d f> <bes, d f> <bes, c e> <g, c e>
+ <e, a d> <a,, g' cis'> <d,2 f d'>
+\end{verbatim}
+
+\section{Finishing touch}
-\section{Handy input}
\chapter{Features}
Prefixing the pitch with a quote \verb+'+
produces a note by one octave lower
\begin{mudela}[fragment,verbatim,center]
-a 'a ''a
+a a, a,,
\end{mudela}
\section{Slurs and Ties}
\section{Commands}
\begin{mudela}[fragment,verbatim,center]
-\clef "bass"; 'c
+\clef "bass"; c,
\end{mudela}
and a clef-change
\begin{mudela}[fragment,verbatim,center]
\key fis cis;
-'g 'a 'b cis d e fis g'
+g, a, b, cis d e fis g'
\end{mudela}
Note how Mudela allows you to
convey a musical message
\begin{mudela}[fragment,verbatim,center]
<
{ \voiceone c g c g }
- { \voicetwo 'c2 'g2 }
+ { \voicetwo c,2 g,2 }
>
\end{mudela}
Hz concert-pitch. \verb+c'+ is also known as the central c. More examples:
\begin{mudela}[fragment,verbatim]
- 'a % 110
+ a, % 110
a % 220
A % 110, uppercase octavates down
a' % 440
=over 4
=item *
-<a href=../input/out-www/index.html
+<a href=input/out-www/index.html
>
short examples of what LilyPond can do: MIDI, PS, .gif and input.
</a
>
=item *
-<a href=../mutopia/out-www/index.html
+<a href=mutopia/out-www/index.html
>
examples of what LilyPond can do
with real music: MIDI, PS, .gif and input
=over 4
=item *
-<a href=../Documentation/out-www/index.html
+<a href=Documentation/out-www/index.html
>
All of the LilyPond documentation.
</a
liaison rythmique:legato curve:::::
ligne:line:::::
ligne supplémentaire:ledger line:::hulplijntje::
+étang de lis:lilypond:lilyteich:lily pond:lelievijver:stagno del giglio:
majeur (intervalle):major (interval):::groot (interval)::
membre de phrase:phrase member:::::
mesure:bar; measure:::maat, maatstreep::
-6/May/98 LilyPond 0.1.62 1
+7/May/98 LilyPond 0.1.63 1
-6/May/98 LilyPond 0.1.62 2
+7/May/98 LilyPond 0.1.63 2
-6/May/98 LilyPond 0.1.62 3
+7/May/98 LilyPond 0.1.63 3
-6/May/98 LilyPond 0.1.62 4
+7/May/98 LilyPond 0.1.63 4
-6/May/98 LilyPond 0.1.62 5
+7/May/98 LilyPond 0.1.63 5
-6/May/98 LilyPond 0.1.62 6
+7/May/98 LilyPond 0.1.63 6
+pl 63
+ - non_fatal_error () (should use!)
+ - Mozart Horn concerto 3, horn part
+ - bf: plet-spanner
+
+pl 62.jcn11
+ - bf: beam::set-stemlen:iterations
+ - knee-bug.ly
+ - use knee in menuetto-ii
+ - bit on slope damping
+ - some bf's and doco
+ - bf's scsii
+ - scsii: bf' new: sarabande
+ - bf's allemande, courante
+ - bf: knee: stem through beams
+ - bf: too high beams
+
+pl 62.hwn1
+ - bf jcn8: deep copy Scope (ughugh. I want GC!)
+ - cleaned Identifier
+ - mudela 0.1.14 'a -> a,
+ - class Scope
+ - .bib updates
+ - key robustifiction for extreme octaves
+ - ly2dvi 0.11
+ - energy "normalisation" removed.
+
+pl 62.jcn8
+ - beam: knee input/test/knee.ly
+ - vimrc init for lily
+ - errors display column number too
+ - scsii: bf's, new: allemande, courante
+ - looked at lyric lengthen "mir________." (eerste weigering)
+ - beam: knee [c \stemdown c' \stemup 'c]
+ - expressions parsed at identifier_init
+ - bf: slur/stem/whole x-adjust:
+ * use note-col width iso mean note-witdth
+ * note-column:width ()
+ - now string variables in paper too -> mudelapapersize
+ - paper_def: real dict -> identifier dict
+ - My_lily_lexer: identifier dict stack
+ - init paper and a4 stuff
+ - \include \string
+ - all rvalues from parser var pool -> access rvalue as \rvalue
+ - string variables
+ - ly2dvi 0.10.jcn1
+ * mudelapiece, mudelaopus (ugh, fix)
+ * textheight
+ - more titledefs
+ - bf: table 20 typeface widths
+ - bf: toplevel/*.txt
+ - bf: ugly Documentation/mutopia fix (should rename dir to Mutopia/ ?)
+ - bf: make examples
+ - www.digicash.com/~jan/lilypond
+ - make website fixes
+ - ambiguity fixes in .ly's
+ - bf: relative-octave warning
+ - relative-octave: guess if ambiguous
+ - ambiguity warning for relative mode
+ - scsii: prelude
+ - bf: slur gap
+ - bf's: scsii: menuetto
+ - .txt -> $(DOTTEXT)
+ - make website fixes
+ - .txt fixes
+ - bf: typo make-patch
+ - bf: *dist.sh cleanup
+ - bf: release.py
+ - bf: make/Targets doc (removed .txt extension)
+ - rpm-dist.sh
+ - make doos dist fixes
+ - doos-dist.sh windoze dist script
+ -- removed useless spacing hack at spring-spacer.cc:692
+ - bf: los-toros: do multi-bar rests (setting SkipBars = 1)
+ - scsii-menuetto.ly -> menuetto-urtext.ly, -cello.ly and -alto.ly
+ - bf: \octave c'; for relative-octaves
+ - bf: Documentation make
+
+*********
pl 62
- no-touch hak.
- bfs: multi measure rests
o make your fix/add your code
+ o Add changes to NEWS, and add yourself to
+ Documentation/AUTHORS.pod
+
o generate a patch,
o e-mail your patch to one of the mailing lists gnu-
- music-discuss@gnu.org or bug-gnu-music@gnu.org (or if
- you're a bit shy, to the maintainer).
+ music-discuss@gnu.org or bug-gnu-music@gnu.org
GENERATING A PATCH
In VERSION, set TOPLEVEL_MY_PATCH_LEVEL:
o All items mentioned in INSTALL. You're not going to
send a patch that you haven't even built, right?
- o GNU Diff
-
-28/Apr/98 LilyPond 0.1.62 1
+12/May/98 LilyPond 0.1.63 1
PATCHES(1) LilyPond documentation PATCHES(1)
+ o GNU Diff
+
o Python (version 1.4 or newer). You can of course
make a patch by hand, which would go something like:
i.e. configure
and files generated by configure.
-MAINTAINER
- Han-Wen Nienhuys <hanwen@cs.ruu.nl>
-28/Apr/98 LilyPond 0.1.62 2
+12/May/98 LilyPond 0.1.63 2
PATCHES(1) LilyPond documentation PATCHES(1)
- Just keep on sending those patches!
-
-
+MAINTAINER
+ Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ Just keep on sending those patches!
-28/Apr/98 LilyPond 0.1.62 3
+12/May/98 LilyPond 0.1.63 3
grep for TODO and ugh/ugr/urg
0.2:
+ * w32 blurb
+
+ * make sure all ex's have a mudela-version
+
+ * notes almost touch barline: whitespace at the begin of the bar
+ should be at fixed at at least (about) one interline.
+ hack at spring-spacer.cc:662 doen't work anymore
+
* do rest-collisions for Multi_measure_rests as well.
* split error/warning in error/warning/non_fatal_error
* deps for ly2dvi
- * depracate \duration
+ * document use of ly2dvi more prominently
+
+ * deprecate \duration
* clean up abbrev/plet/beam/abbrevbeam/duration mess in parser.
* move all hard-coded constants and staffheight dependent to runtime,
i.e. init/params.ly. e.g.: stem length params, beam positions
+ * fix variable define/lookup parser global<->paper
+
* fix position of bar number
* fix position of brace in conjunction with bracket
+ * fix title/instrument placements; see input/test/title.ly
+
+ * rename
+ - plet -> tuplet
+ - grav -> engraver
+ - measure -> bar
+ - abbreviation-beam -> (measured/unmeasured) tremolo
+
* libtoolize flowerlib
* shared lib
- * bf: abbrevbeam?
-
* robustify Beam (in case of no stems, 32nd notes)
* check for groff / troff/ nroff et
- configure.in
- clean-fonts.sh
-
* nicen examples:
- remove all \multi
- break-up heavily-nested score blocks
* the tenuto script is too long and too thin
* the bracket is ugly (wings are too parabolic, should be more circular)
-
* better hshift (dots, distance, head dependent)
* stem len adjustable
STUFF
* convert-mudela:
+ - automatically add a \version if not present.
- better parsing
- make smarter
- fix convert-mudela -e *.ly ;
* give Items/Spanners access to unbroken originals
+ * generalised scopes for Parser/identifiers.
+
+ * speed up PS code.
+
* scoping for properties
{ c4
* xdvi: PS in magnifying glass.
- * Fix profiling. gprof bugreport?
-
* GNU patch 2.1: hardcoded limit of 1024 to the linelength
* GNU diff 2.7: diff -rN does not see a new directory with empty file
- Move all Score_elems, into libmutype.a
* Documentation
- - Doc Mutopia (Music To The People)
- Doc (C) stuff of sheet music
- a better format? SGML? TeX? Info?
- a tutorial
* markers
-
INPUTLANGUAGE
* c4 4 4 4 for c4 c4 c4 c4?
MAJOR_VERSION=0
MINOR_VERSION=1
-PATCH_LEVEL=62
+PATCH_LEVEL=63
MY_PATCH_LEVEL=
# use the above to send patches, always empty for released version:
#
#
current=`basename \`pwd\``
+# (cd ..; rm -f current)
(cd ..; rm -f current 2>&1 > /dev/null)
(cd ..; ln -s $current current)
#
s/Grandstaff/Grand_staff/;
}
+sub convert_0_1_10_to_0_1_14
+{
+ while ( /([ \n\t\]\[<>()])\'+[a-zA-Z]/ )
+ {
+ s/([ \n\t\[<>()\]])\'(\'*[a-zA-Z]+)/$1$2,/g;
+ }
+
+}
###############################################################
sub last_conversion
,"0.1.8" => \&convert_0_1_7_to_0_1_8
,"0.1.9" => \&convert_0_1_8_to_0_1_9
,"0.1.10" => \&convert_0_1_9_to_0_1_10
+ , "0.1.14" => \&convert_0_1_10_to_0_1_14
);
--- /dev/null
+#!/bin/sh
+# doos-dist.sh --- make a windoze distribution
+
+latest=lilypond-`show-latest -p`
+{ cd $LILYPOND_SOURCEDIR; cd ..;
+export LILYPOND_ROOTDIR=`pwd` }
+
+if [ ! -e $LILYPOND_ROOTDIR/doos/zip ]; then
+ doo mkdir -p $LILYPOND_ROOTDIR/doos/zip
+fi
+
+set -x
+
+cd $LILYPOND_ROOTDIR/doos || exit 1
+
+rm -rf lilypond-*
+
+tar xzf $LILYPOND_ROOTDIR/releases/$latest.tar.gz || exit 1
+cd $latest
+
+export PATH=/usr/doos/bin:$PATH
+configure --host=i386-pc-linux --target=i386-pc-cygwin32 --prefix=/usr --enable-debugging --enable-printing --enable-checking
+
+make
+make doosdist
+
+ln out/$latest.exe.zip $LILYPOND_ROOTDIR/doos/zip
+
if bib_title_re.search (s) == -1:
raise 'huh?'
header.title = bib_title_re.group (1)
- header.outfile = fn
+ header.outfile = regsub.gsub ( '\.bib$', '.html' , fn)
return header
import getopt
(cl_options, files) = getopt.getopt(sys.argv[1:],
- 'e:h', ['help', 'prefix=' ,'extension='
+ 'e:h', ['help', 'prefix='
, 'title='])
tex = ''
for opt in cl_options:
o = opt[0]
a = opt[1]
- if o == '--extension' or o == '-e':
- ext = a
if o == '--prefix' or o == '-p':
pre = a
if o == '--title' or o == '-t':
# Written by Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>
# Sat Nov 22 22:26:43 CET 1997
#
+# $Id: ly2dvi.sh,v 1.16 1998/05/08 21:18:34 janaf Exp $
+#
# Original LaTeX file made by Mats Bengtsson, 17/8 1997
#
-VERSION="0.10"
+VERSION="0.11.hwn1"
NAME=ly2dvi.sh
IDENTIFICATION="$NAME $VERSION"
NOW=`date`
echo "$IDENTIFICATION" 1>&2
+# TODO:
+# prevent orphaned "Lily is here" strings
+
# NEWS
+#0.11.hwn1
+# - height vs heigth
+# - robustification: give \nonstopmode as LaTeX arg; no hanging if no TeX file.
+# - robustification: notice failed cp.
+
+#0.11
+# - more papersizes (thanks Han-Wen) - don't expect LaTeX to accept all...
+# - -W,--Width= : set paper width (points)
+# - -H,--Height= : set paper height (points)
+# - -H and -W is used only when an unknown papersize is to be specified,
+# and has to be combined with a papersize option known to LaTeX
+#NB! - -F,--headers= : name of additional LaTeX headers input file.
+#NB! Changed from -H to -F
+# - -d,--dependencies : passed to lilypond
+
+
+#0.10.jcn1
+# - HEIGHT -> HEIGHT
+# - vertical margins (for a4), same on both sides
+# - textheight from lilypond output file (mudelapapertextheight)
+# - piece titling
+# - mudelapiece, mudelaopus
+#
#0.10
# - -K,--keeplilypond : Keep lilypond output files (default delete)
# - -k,--keeply2dvi : Keep ly2dvi output files (default delete)
# - Could not reinsert "\usepackage[T1]{fontenc}" because
# "los-toros" won't work with it
# - Ekstra LaTeX headers from input file
-
#0.9.hwn1
# - option to remove output of lily
-# 0.9 - Trap Lilypond abort
+# 0.9
+# - Trap Lilypond abort
# - Replaced "\usepackage[T1]{fontenc}" with
# \usepackage[latin1]{inputenc} (takk, Mats)
# - Removed "()" around "\LilyIdString" (Janne didn't want it)
# - Improved Lilypond error checking
# - Output orientation (landscape...). Overrides mudela file
# variable orientation="landscape";
-# - Paper width and heigth put into variables (only A4!)
+# - Paper width and height put into variables (only A4!)
# - Adjusted top margin to default.....
#
#TODO
Options:
-D,--debug set debug mode
- -H,--headers= name of additional LaTeX headers file
+ -F,--headers= name of additional LaTeX headers file
+ -H,--Height= set paper height (points) (see manual page)
-K,--keeplilypond keep lilypond output files
-L,--landscape set landscape orientation
-N,--nonumber switch off page numbering
- -O,--orientation= set orientation (landscape or portrait (default))
- -o,--output= set output directory
+ -O,--orientation= set orientation (obsolete - use -L instead)
+ -W,--Width= set paper width (points) (see manual page)
+ -d,--dependencies tell lilypond make a dependencies file
-h,--help this help text
-k,--keeply2dvi keep ly2dvi output files
-l,--language= give LaTeX language (babel)
- -p,--papersize= give LaTeX papersize (eg. a4paper)
+ -o,--output= set output directory
+ -p,--papersize= give LaTeX papersize (eg. a4)
-s,--separate run all files separately through LaTeX
files may be (a mix of) input to or output from lilypond(1)
$debug_echo $IDENTIFICATION": temporary directory "$TMP" not found, set to /tmp"
TMP=/tmp
fi
-LOGFILE=$TMP/lilylog.$$ # Logfile for lilypond
-PWIDTH=600; # Width of A4 paper!
-PHEIGTH=845; # Heigth of A4 paper!
+LOGFILE=$TMP/lilylog.$$ # Logfile for lilypond
+PAPERSIZE=a4 # Default papersize name
+PWIDTH=597 # Default paperwidth
+PHEIGHT=845 # Default paperheight
PNUM="%" # Page numbering on
+LILYOPTS="" # Options to lilypond
+#
+setPaperZize() {
+case "$PAPERSIZE" in
+ a0*)
+ PWIDTH=2389
+ PHEIGHT=3381
+ PAPERSIZE=a0paper
+ ;;
+ a1|a1p*)
+ PWIDTH=1690
+ PHEIGHT=2389
+ PAPERSIZE=a1paper
+ ;;
+ a2*)
+ PWIDTH=1194
+ PHEIGHT=1690
+ PAPERSIZE=a2paper
+ ;;
+ a3*)
+ PWIDTH=845
+ PHEIGHT=1194
+ PAPERSIZE=a3paper
+ ;;
+ a4*)
+ PWIDTH=597
+ PHEIGHT=845
+ PAPERSIZE=a4paper
+ ;;
+ a5*)
+ PWIDTH=423
+ PHEIGHT=597
+ PAPERSIZE=a5paper
+ ;;
+ a6*)
+ PWIDTH=298
+ PHEIGHT=423
+ PAPERSIZE=a6paper
+ ;;
+ a7*)
+ PWIDTH=211
+ PHEIGHT=298
+ PAPERSIZE=a7paper
+ ;;
+ a8*)
+ PWIDTH=305
+ PHEIGHT=211
+ PAPERSIZE=a8paper
+ ;;
+ a9*)
+ PWIDTH=105
+ PHEIGHT=305
+ PAPERSIZE=a9paper
+ ;;
+ a10*)
+ PWIDTH=74
+ PHEIGHT=105
+ PAPERSIZE=a10paper
+ ;;
+ b0*)
+ PWIDTH=2847
+ PHEIGHT=4023
+ PAPERSIZE=b0paper
+ ;;
+ b1*)
+ PWIDTH=2012
+ PHEIGHT=2847
+ PAPERSIZE=b1paper
+ ;;
+ b2*)
+ PWIDTH=1423
+ PHEIGHT=2012
+ PAPERSIZE=b2paper
+ ;;
+ b3*)
+ PWIDTH=1006
+ PHEIGHT=1423
+ PAPERSIZE=b3paper
+ ;;
+ b4*)
+ PWIDTH=712
+ PHEIGHT=1006
+ PAPERSIZE=b4paper
+ ;;
+ b5*)
+ PWIDTH=503
+ PHEIGHT=712
+ PAPERSIZE=b5paper
+ ;;
+ archA)
+ PWIDTH=650
+ PHEIGHT=867
+ ;;
+ archB)
+ PWIDTH=867
+ PHEIGHT=1301
+ ;;
+ archC)
+ PWIDTH=1301
+ PHEIGHT=1734
+ ;;
+ archD)
+ PWIDTH=1734
+ PHEIGHT=2602
+ ;;
+ archE)
+ PWIDTH=2602
+ PHEIGHT=3469
+ ;;
+ flsa|flse)
+ PWIDTH=614
+ PHEIGHT=940
+ ;;
+ halfletter)
+ PWIDTH=397
+ PHEIGHT=614
+ ;;
+ ledger)
+ PWIDTH=1229
+ PHEIGHT=795
+ ;;
+ legal)
+ PWIDTH=614
+ PHEIGHT=1012
+ ;;
+ letter)
+ PWIDTH=614
+ PHEIGHT=795
+ ;;
+ note)
+ PWIDTH=542
+ PHEIGHT=723
+ ;;
+ *)
+ echo ""
+ echo $0": unknown papersize -- "$PAPERSIZE
+ echo ""
+ ;;
+esac
+}
#
# RC-files ?
#
if [ -z "$MU_DEF" ]
then
MU_DEF="mudelatitle mudelasubtitle mudelacomposer \
- mudelaarranger mudelainstrument"
+ mudelaopus mudelaarranger mudelapiece mudelainstrument"
fi
#
#
# "x:" x takes argument
#
-switches="DH:KLNO:hkl:o:p:s\?"
+switches="DF:H:KLNO:W:dhkl:o:p:s\?"
options=""
#
# ugh, "\-" is a hack to support long options
[ $debug_echo = echo ] && set -x
debug_echo=echo
;;
- H )
+ F )
LATEXHF=$OPTARG
;;
+ H )
+ PHEIGHT=$OPTARG
+ ;;
K )
KEEP_LILY_OUTPUT=Y
;;
N )
PNUM="\pagestyle{empty}"
;;
+ W )
+ PWIDTH=$OPTARG
+ ;;
+ d )
+ LILYOPTS=$LILYOPTS" -d"
+ ;;
h )
help;
exit 0
-)
$debug_echo "long option: \`$OPTARG'"
case "$OPTARG" in
+ He*|-He*)
+ PHEIGHT=`echo $OPTARG | sed -e s/"^.*="//`
+ ;;
+ W*|-W*)
+ PWIDTH=`echo $OPTARG | sed -e s/"^.*="//`
+ ;;
+ dep*|-dep*)
+ LILYOPTS=$LILYOPTS" -d"
+ ;;
d*|-d*)
[ $debug_echo = echo ] && set -x
debug_echo=echo
exit 1
fi
#
+#
+mudelaDefs(){
+# Include \def\mudela-definitions
+#
+for L in $MU_DEF
+do
+ SS=$1
+ # LL=`egrep '^\\\\def.'$L'{' $OF`
+ LL=`egrep '^\\\\def.'$L'{' $File`
+ if [ "$LL" = "" ]
+ then
+ LL=`egrep '^\\\\def.'$L'{' $OF`
+ fi
+ if [ "$LL" != "" ]
+ then
+ ##{
+ LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
+ ##}{
+ if [ "$LLL" != "" ]
+ then
+ echo "$SS\\"$L'{'$LLL'}%' >> $LatF
+ fi
+ fi
+done
+}
startFile(){
#
# LaTeX file name
-e 's/\\\\def\\\\mudelalatexheaders{\([^}]*\).*$/fLHF=\1;/p' \\
-e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
-e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
+ -e 's/\\\\def\\\\mudelapapertextheight{\([^}]*\).*$/THN=\1;/p' \\
-e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
$File`
#
fi
if [ -n "$PAPERSIZE" ]
then
+ setPaperZize
PAPEROPT=$PAPERSIZE
fi
#
fi
TWp=`echo $TW | sed -e 's/\..*$//'`
PWp=$PWIDTH
+#
+# Find textheight
+#
+if [ -n "$THN" ]
+then
+ TH=$THN
+ case $TH in
+ *mm)
+ ;;
+ *cm)
+ ;;
+ *pt)
+ ;;
+ *)
+ TH=$TH"pt"
+ ;;
+ esac
+ $debug_echo "Text height = "$TH
+fi
+THp=`echo $TH | sed -e 's/\..*$//'`
+PHp=$PHEIGHT
if [ "$ORIENTATION" = "landscape" ]
then
- PWp=$PHEIGTH
+ PWp=$PHEIGHT
+ PHp=$PWIDTH
fi
-MARG=`expr $PWp - $TWp`
-MARG=`expr $MARG / 2`"pt"
+HMARG=`expr $PWp - $TWp`
+HMARG=`expr $HMARG / 2`"pt"
+$debug_echo "Text left = "$HMARG
+VMARG=`expr $PHp - $THp`
+VMARG=`expr $VMARG / 2`"pt"
+$debug_echo "Text top = "$VMARG
#
# Geometry: /var/lib/texmf/latex/geometry/geometry.dvi
#
% Automatically generated from $IF, $NOW
\documentclass$PAPER{article}
-\nonstopmode
+
$LLNG
\usepackage{geometry}
\usepackage[latin1]{inputenc}
$PNUM
%\addtolength{\oddsidemargin}{-1cm}
%\addtolength{\topmargin}{-1cm}
-\setlength{\textwidth}{$TW}
-%\geometry{width=$TW, left=$MARG, top=1cm}
-\geometry{width=$TW, left=$MARG}
+%\setlength{\textwidth}{$TW}
+%\setlength{\textheight}{$TH}
+%\geometry{width=$TW, left=$HMARG, top=1cm}
+%\geometry{width=$TW, left=$HMARG}
+%\geometry{height=$TH, top=$VMARG}
+% \geometry{body={$PWp pt, $PHp pt}, width=$TW, top=$HMARG, height=$TH, top=$VMARG}
+\geometry{width=$TW, top=$HMARG, height=$TH, top=$VMARG}
\input lilyponddefs
\input titledefs
$LLHF
\begin{document}
EOF
-#
-# Include \def\mudela-definitions
-#
-for L in $MU_DEF
-do
- LL=`egrep '^\\\\def.'$L'{' $OF`
- if [ "$LL" != "" ]
- then
- LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
- if [ "$LLL" != "" ]
- then
- echo "\\"$L'{'$LLL'}%' >> $LatF
- fi
- fi
-done
-#
+mudelaDefs
cat << EOF >> $LatF
\makelilytitle
EOF
}
+nextFile(){
+cat << EOF >> $LatF
+\def\theopus{}%
+\def\thepiece{}%
+EOF
+mudelaDefs "\\def"
+cat << EOF >> $LatF
+\def\theopus{\mudelaopus}% ugh
+\def\thepiece{\mudelapiece}%
+\makelilypiecetitle
+EOF
+}
#
# Conclusion
#
#
# Run LaTeX
#
-latex $LatF || exit 5
+latex '\nonstopmode \input '$LatF || exit 5
#
# Rename dvi file
#
then
RESULT=$BN.dvi
[ -n "$OUTPUTDIR" ] && RESULT="$OUTPUTDIR/$RESULT"
- cp $FN.dvi $RESULT
+
+ cp $FN.dvi $RESULT || exit 5
+
fi
#
# Output some info
then
$debug_echo $IDENTIFICATION": Mudela file not found."
TW=15.5cm
+ TH=25cm
fi
else
$debug_echo $IDENTIFICATION": Mudela file name not found."
TW=15.5cm
+ TH=25cm
fi
else
#
# Run lilypond
# Grab output file names
#
- $debug_echo "lilypond "$IF
+ $debug_echo "lilypond "$LILYOPTS $IF
- lilypond $IF 2>&1 | tee $LOGFILE
+ lilypond $LILYOPTS $IF 2>&1 | tee $LOGFILE
OF=`egrep '^TeX output to ' $LOGFILE | \\
sed -e 's/TeX output to//' -e 's/\.\.\.//'`
$debug_echo "==> "$OF
then
FFile=$File
startFile
+ else
+ nextFile
fi
cat << EOF >> $LatF
\input{$File}
#!/bin/sh
# make-examples
-examples="twinkle-pop wtk1-fugue2 standchen-16 standchen-20 wtk1-prelude1 toccata-fuga-E scsii-menuetto cadenza gallina twinkle collisions font font20 scales rhythm multi spacing beams stem"
+examples="twinkle-pop wtk1-fugue2 standchen-16 standchen-20 wtk1-prelude1 toccata-fuga-E prelude-cello menuetto-cello menuetto-alto cadenza gallina twinkle collisions font font20 scales rhythm multi spacing beams sleur stem"
pss=$(echo $examples | sed "s/[^ ][^ ]*/out\\/&.ps/g")
# cd ~/lelie/current/Documentation/out
i.e. you should rerun autoconf and configure\n\n'
# ugh, how to get rid of .tex files generated by lily?
-pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec']
+# pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec']
+pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec',
+ 'AUTHORS', 'INSTALL', 'PATCHES']
def remove_automatic(dirnames):
files = []
os.system('python ' + lilydirs.topdir + '/bin/make-patch.py');
pn = 'patch-%s' % version_tuple_to_str(cur_ver)
-os.system('gzip -9 ' + pn)
+# os.system('gzip -9 ' + pn)
pn = pn + '.gz'
rel_pn = lilydirs.release_dir + '../patches/' + pn;
--- /dev/null
+#!/bin/sh
+# rpm-dist.sh --- make an rpm distribution
+
+latest=lilypond-`show-latest -p`
+{ cd $LILYPOND_SOURCEDIR; cd ..;
+export LILYPOND_ROOTDIR=`pwd` }
+
+icon=lelie_icon.gif
+rpmrc=$LILYPOND_SOURCEDIR/make/out/rpmrc
+spec=$LILYPOND_SOURCEDIR/make/out/lilypond.spec
+
+if [ ! -e $LILYPOND_ROOTDIR/releases/$icon ]; then
+ make -C $LILYPOND_ROOTDIR/current/Documentation gifs
+ ln $LILYPOND_ROOTDIR/current/Documentation/out/$icon $LILYPOND_ROOTDIR/releases
+fi
+
+# urg
+user=`whoami`
+if [ "x$user" != "xroot" ]; then
+ echo only root wants to build RPMs
+ exit 2
+fi
+
+if [ ! -e $LILYPOND_ROOTDIR/redhat/BUILD ]; then
+ mkdir -p $LILYPOND_ROOTDIR/redhat/BUILD
+ mkdir -p $LILYPOND_ROOTDIR/redhat/RPMS/i386
+ mkdir -p $LILYPOND_ROOTDIR/redhat/SRPMS
+fi
+
+set -x
+cd $LILYPOND_ROOTDIR/redhat || exit 1
+rm -rf lilypond-*
+
+rpm -ba --rcfile $rpmrc $spec
+
#!@PERL@
# -*-Perl-*-
-
-$reldir="/home/hanwen/musix/releases";
+$LILYPOND_SOURCEDIR="$ENV{LILYPOND_SOURCEDIR}";
+$LILYPOND_ROOTDIR=`cd $LILYPOND_SOURCEDIR/..; pwd`;
+chop ($LILYPOND_ROOTDIR);
+$reldir="$LILYPOND_ROOTDIR/releases";
use FileHandle;
use Getopt::Long;
if ( $opt_print ) {
- print $last;
+ print $last . "\n";
}
if ( $opt_latest) {
fi
fi
+if test "$INSTALL" = "bin/install-sh"; then
+ export INSTALL="\$\(depth\)/bin/install-sh"
+fi
# ugh autoconf
if $CXX --version | grep '2\.[78]' > /dev/null ||
fi
echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1803: checking how to run the C++ preprocessor" >&5
+echo "configure:1806: checking how to run the C++ preprocessor" >&5
if test -z "$CXXCPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
cross_compiling=$ac_cv_prog_cxx_cross
CXXCPP="${CXX-g++} -E"
cat > conftest.$ac_ext <<EOF
-#line 1816 "configure"
+#line 1819 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1841: checking for FlexLexer.h" >&5
+echo "configure:1844: checking for FlexLexer.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1846 "configure"
+#line 1849 "configure"
#include "confdefs.h"
#include <FlexLexer.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
fi
fi
+if test "$INSTALL" = "bin/install-sh"; then
+ export INSTALL="\$\(depth\)/bin/install-sh"
+fi
# ugh autoconf
changequote(<<, >>)dnl
--- /dev/null
+% a4.ly
+
+hsize = 210.0 \mm;
+vsize = 296.9 \mm;
--- /dev/null
+% bar-numbering.ly
+%
+Staff = \translator {
+ \type "Engraver_group_engraver";
+ defaultclef = violin;
+
+ \consists "Bar_engraver";
+ \consists "Clef_engraver";
+ \consists "Key_engraver";
+ \consists "Meter_engraver";
+ \consists "Local_key_engraver";
+ \consists "Staff_sym_engraver";
+ \consists "Collision_engraver";
+ \consists "Rest_collision_engraver";
+ \consists "Bar_column_engraver";
+ \consists "Bar_number_engraver";
+ \consists "Separating_line_group_engraver";
+ \consists "Line_group_engraver";
+
+ \accepts "Voice";
+}
% Toplevel initialisation file.
-\version "0.1.10";
+\version "0.1.14";
\include "declarations.ly"
% Toplevel initialisation file.
-\version "0.1.13";
+\version "0.1.14";
\include "declarations.ly";
% Toplevel initialisation file.
-\version "0.1.10";
+\version "0.1.14";
\include "declarations.ly"
--- /dev/null
+% paper.ly
+
+linewidth20 = \hsize - 2.5 * \staffheight;
+textheight20 = \vsize - 7.0 * \staffheight;
+linewidth = \staffheight/20.0 * \linewidth20;
+textheight = \staffheight/20.0 * \textheight20;
+
+indent = \linewidth / 14.0;
+
paper_eleven = \paper {
staffheight = 11.0\pt;
+ % a4 paper
linewidth = 15.0 \cm;
+ textheight = 15.0 \cm;
% ugh see table11 for sizes
quartwidth = 3.63\pt;
paper_thirteen = \paper {
staffheight = 13.0\pt;
+ % a4 paper
linewidth = 15.0 \cm;
+ textheight = 18.0 \cm;
% ugh see table13 for sizes
quartwidth = 4.29\pt;
\symboltables { \table_thirteen }
\include "params.ly";
+ \include "a4.ly";
}
paper_twenty = \paper {
staffheight = 20.0\pt;
- linewidth = 17.0 \cm;
+ % where to get papersize (e.g. a5, letter)
+ papersize = "a4";
% ugh see table20 for sizes
- quartwidth = 6.61\pt;
- wholewidth = 9.90\pt;
+ quartwidth = 6.61\pt
+ wholewidth = 9.90\pt
basicspace = 8.\pt;
arithmetic_basicspace = 2.;
paper_twentysix = \paper {
staffheight = 20.0\pt;
- linewidth = 17.0 \cm;
+ papersize = "a4";
% ugh see table26 for sizes
notewidth = 8.59\pt
\symboltables { \table_twenty }
\include "params.ly";
+ linewidth = linewidth20;
+ textheight = textheight20;
}
% params.ly
% generic paper parameters
-interline = staffheight / 4.0;
-internote = interline / 2.0;
-staffline = interline / 10.0;
+paperfile = \papersize + ".ly";
+\include \paperfile;
+\include "paper.ly";
-beam_thickness = 0.48 * (interline - staffline);
-interbeam = (2.0 * interline - beam_thickness) / 2.0;
-interbeam4 = (3.0 * interline - beam_thickness) / 3.0;
+interline = \staffheight / 4.0;
+internote = \interline / 2.0;
+staffline = \interline / 10.0;
+
+beam_thickness = 0.48 * (\interline - \staffline);
+interbeam = (2.0 * \interline - \beam_thickness) / 2.0;
+interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
% OSU: suggested gap = ss / 5;
-slur_x_gap = interline / 5.0;
-slur_x_minimum = 2.0 * interline;
-tie_x_minimum = slur_x_minimum;
-tie_x_gap = slur_x_gap;
+slur_x_gap = \interline / 5.0;
+slur_x_minimum = 2.0 * \interline;
+slur_slope_damping = 0.3;
+tie_x_minimum = \slur_x_minimum;
+tie_x_gap = \slur_x_gap;
+tie_slope_damping = 0.3;
% ugh: rename to bow (in bezier.cc and fonts.doc too...)
-slur_thickness = 1.8 * staffline;
-slur_height_limit = staffheight;
-slur_ratio = 1.0 / 3.0;
+% slur_thickness = 1.8 * \staffline;
+slur_thickness = 1.4 * \staffline;
+slur_height_limit = \staffheight;
+% mmm, try bit flatter slurs
+% slur_ratio = 1.0 / 3.0;
+slur_ratio = 0.3;
slur_clip_ratio = 1.2;
-slur_clip_height = 3.0 * staffheight;
+slur_clip_height = 3.0 * \staffheight;
slur_clip_angle = 100.0;
slur_rc_factor = 2.4;
% ugh
-notewidth = (quartwidth + wholewidth) / 2.0;
+notewidth = (\quartwidth + \wholewidth) / 2.0;
% ugh
-barsize = staffheight;
-rulethickness = staffline;
-
-% mmm
-indent = linewidth / 14.0;
+barsize = \staffheight;
+rulethickness = \staffline;
% uhm
unitspace = 22.\pt;
--- /dev/null
+Score = \translator {
+ \type Score_engraver;
+
+ \consists "Timing_engraver";
+ \consists "Bar_column_engraver";
+ \consists "Bar_number_engraver";
+ \consists "Span_score_bar_engraver";
+ \consists "Score_priority_engraver";
+ \consists "Priority_horizontal_align_engraver";
+ \consists "Vertical_align_engraver";
+
+
+ \accepts "Staff_group";
+ \accepts "Staff";
+ \accepts "Rhythmic_staff";
+ \accepts "Lyrics";
+ \accepts "Grand_staff";
+}
+
Gourlay = 1.0
\include "nederlands.ly"
-\include "paper16.ly"
+\include "paper20.ly"
default_paper = \paper{
- \paper_sixteen
+ \paper_twenty
}
+\maininput
% index TeXstring, xmin xmax ymin ymax
"style" = \table {
- "bold" "\setbold{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt
+ "bold" "\setbold{%}" 0.0\pt 5.50\pt 0.0\pt 8.0\pt
"dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 10.0\pt
"finger" "\setfinger{%}" 0.0\pt 0.0\pt 0.0\pt 5.0\pt
- "italic" "\setitalic{%}" 0.0\pt 7.5\pt 0.0\pt 10.0\pt
- "large" "\setlarge{%}" 0.0\pt 9.50\pt 0.0\pt 12.0\pt
+ "italic" "\setitalic{%}" 0.0\pt 5.5\pt 0.0\pt 10.0\pt
+ "large" "\setlarge{%}" 0.0\pt 6.50\pt 0.0\pt 12.0\pt
"number" "\setnumber{%}" 0.0\pt 8.0\pt 0.0\pt 10.0\pt
- "roman" "\settext{%}" 0.0\pt 7.5\pt 0.0\pt 10.0\pt
+ "roman" "\settext{%}" 0.0\pt 5.0\pt 0.0\pt 10.0\pt
}
"dynamics" = \table {
include $(depth)/make/Mutopia.make
-examples=twinkle-pop praeludium-fuga-E cadenza twinkle
+examples=twinkle-pop praeludium-fuga-E twinkle
include $(depth)/make/WWW.make
include $(depth)/make/Mutopia.make
+
+examples= #beam-bug slur-bug #why would we want to demo Lily's errors?
+
+include $(depth)/make/WWW.make
+
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.10";
+\version "0.1.14";
shortlong = \melodic{
\octave c';
a' a' a' a'()
c( c c )c
c( c c )'f
- 'f( c c )c
- 'f( c c )'f
+ f,( c c )c
+ f,( c c )'f
}
\score{
\octave c';
% [e'16 c'' g' f']
[e'32 c'' g' f']
- [c32 c] ['b 'b]
+ [c32 c] ['b b,]
[c8 c]
[e8 g b]
[e16 g b] c c c
[e'8 c'' g' f']
[e'16 c'' g' f']
[e'32 c'' g' f']
- [c32 c] ['b 'b]
+ [c32 c] ['b b,]
[c8 c]
[e8 g b]
[e16 g b] c
\melodic{
\octave c;
\stemdown;
- \[4/5c8( c ''f c c\]1/1 c c c )c |
+ \[4/5c8( c f,, c c\]1/1 c c c )c |
}
}
+++ /dev/null
-\header{
-filename = "cadenza.ly";
-title = "Cadenza ad libitum";
-description = "Cadenza to Mozart Horn concerto 3";
-composer = "unknown";
-enteredby = "HWN";
-copyright = "public domain";
-}
-
-%{
-Tested Features: cadenza mode
-
-Ugh.. Wish we had grace notes.... It adds another dimension to this
-piece of music. %}
-
-\version "0.1.10";
-
-
-cad = \melodic {
- \property Score.instrument = "french horn"
- \type Staff {
- \cadenza 1;
- \grouping 1*4;
- \octave c';
-
- \clef "violin";
- c'4.\mf g8
-
-
- [e'^"accel" () d' c' b]
- [b() c'] g-\fermata
- \bar "empty";
- c [c_"rubato" e g c']
- \octave c'';
- e4. e8 [g () f_"rit" e d]
-
- dis4() e4
- \bar "" ;
- r8 [c16 d] [e f g gis]
-
- a4-> 'f() 'e g
- f-> 'd() 'cis e
-
- d4^\fermata
- \bar "" ;
-
- r8 'a ['b cis]
- [d16 cis d e]
- f4() [f16 e d c]
- 'b4-\turn
- \octave c'; [2/3 d'8 c'8 a8]1/1
- g2
- \bar "" ;
- [g16 c e g] [c' e g c']\octave c'';
- [e 'g c e] g4^\fermata
- \bar "" ;
- [g8.(_"a tempo" e16 g8. )e16]
- a4. g8 [f8 e8 d8 c8]
- 'g2 d2-\trill
- c4
- }}
-\score {
- \melodic { \cad }
- \midi { \tempo 4 = 90; }
- \paper {
- }
-}
% (maybe even sooner :-)
%
-\version "0.1.10";
+\version "0.1.14";
alto1 = \melodic{
\meter 4/4;
}
alto2 = \melodic{
- \octave 'c ;
+ \octave c, ;
\textstyle "italic";
% this should be a \dynamic, rather than text
[ c8 c8_"cresc. \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \
% the c4 and c2, however are really 16th...
% we-ll say "simile" for now...
%
- \octave 'c ;
+ \octave c, ;
\type Voice="altodivisi2" {
\stemdown
as4: as4: as2}
-\version "0.1.10";
+\version "0.1.14";
blah = \melodic{
Tested Features: example file with comments
%}
-\version "0.1.10";
+\version "0.1.14";
% the % is a comment.
\octave c'; % default octave: 1 below the first octave.
%%% theme
- 'c4 % ' before note means one octave lower.
+ c,4 % ' before note means one octave lower.
% Similarly: ' after means one higher.
- c e c f c e c d 'b c 'a 'f 'g 'c2 |
+ c e c f c e c d b, c a, f, g, c,2 |
\octave c ;
- e4 'g d 'g c 'g 'b 'g e 'g d 'g c 'g 'b 'g
+ e4 g, d g, c g, b, g, e g, d g, c g, b, g,
%%%% var 1
r8 e8() c4 r8 e8() c4 r8 f8() c4 r8 e8() c4
- r8 d8() 'b4 r8 c8() 'a4 r8 'a8() 'f4 r8 'e8() 'c4
+ r8 d8() b,4 r8 c8() a,4 r8 a,8() f,4 r8 e,8() c,4
}
\score{
--- /dev/null
+\notenames {
+ c = \melodic_request { -1 0 0 }
+}
+
+%default_paper = \paper{
+paper_minimal = \paper{
+ bla = 0.0;
+ blo = 0.0;
+
+ castingalgorithm = 0.0;
+ linewidth = 15.0\cm;
+ staffsize = 20.0\pt;
+ interline = \linewidth / 14.0;
+ notewidth = \interline;
+ internote = \interline / 2.0;
+
+ arithmetic_basicspace = 1.0;
+ arithmetic_multiplier = 1.0;
+ geometric = 0.0;
+
+ Score = \translator {
+ \type Score_engraver;
+ \consists "Note_head_engraver" ;
+ }
+
+ bli = "hi";
+
+ \symboltables {
+ \texid "\input lilyponddefs \musixtwentydefs"
+ "balls" = \table {
+ "2" "\\quartball" 0.00\pt 3.63\pt -1.51\pt 1.51\pt
+ "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt
+ }
+ "param" = \table {
+ "fill" "\hbox{}"
+% "rule" "\rulesym{%}{%}"
+ }
+ }
+}
+
+default_paper = \paper{
+ \paper_minimal
+}
+
+\score{
+% \melodic_request { -1 0 0 }
+ \melodic{ c'' }
+ \paper{
+ bla = 0.0;
+ }
+}
+
%}
-\version "0.1.10";
+\version "0.1.14";
\score{
\melodic
% \lbheel \lbheel \lfheel \lftoe
% \rbheel \rbtoe \rfheel \rftoe
-\version "0.1.10";
+\version "0.1.14";
\score{
\melodic {
\octave c;
% silly chord testing...
% these should be stacked...
-% < 'c-\ltoe 'e-\lheel > < c'-\rtoe e'-\rheel>
-% < 'c-\lheel 'e-\ltoe > < c'-\rheel e'-\rtoe> |
- < 'c-\ltoe-\lheel 'e > < c'-\rtoe-\rheel e' >
- < 'c-\lheel-\ltoe 'e > < c'-\rheel-\rtoe e' > |
+% < c,-\ltoe e,-\lheel > < c'-\rtoe e'-\rheel>
+% < c,-\lheel e,-\ltoe > < c'-\rheel e'-\rtoe> |
+ < c,-\ltoe-\lheel e, > < c'-\rtoe-\rheel e' >
+ < c,-\lheel-\ltoe e, > < c'-\rheel-\rtoe e' > |
% 46
[d16-\lfheel e-\rbtoe fis-\ltoe e-\rbtoe]
* organ staff...
%}
-\version "0.1.10";
+\version "0.1.14";
noShift = { \property Voice.hshift = 0 }
Shift = { \property Voice.hshift = 1 }
\clef bass;
% 13
- r4 'fis4-\ltoe 'e4.-\lheel e8-\rheel |
+ r4 fis,4-\ltoe e,4.-\lheel e8-\rheel |
fis4.-\rtoe fis8-\rtoe fis4-\rtoe [e8-\ltoe a8-\rtoe] |
- dis4-\ltoe gis4-\rtoe [cis8-\ltoe 'b!8-\lheel 'ais8-\rtoe 'gis8-\ltoe] |
+ dis4-\ltoe gis4-\rtoe [cis8-\ltoe b,!8-\lheel ais,8-\rtoe gis,8-\ltoe] |
% 16
}
% 15
dis4.-\ltoe e8-\rtoe cis4 |
- 'b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
+ b,4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
fis4.-\rtoe [e8-\rheel dis8-\rtoe cis8-\ltoe] |
- dis4-\rtoe e4-\rheel 'e4-\ltoe |
+ dis4-\rtoe e4-\rheel e,4-\ltoe |
% 19
}
-\version "0.1.10";
+\version "0.1.14";
ritme = \melodic{ %\octave ;
\partial 8;
% scales with accents.
%
-\version "0.1.10";
+\version "0.1.14";
blah = \melodic {
\meter 6/8;
- \octave 'c ;
+ \octave c, ;
\clef "bass";
c4. d
\octave c ;
|[6/9 a a a a a a a a \! a ]1/1 |
\octave c'' ;
- [6/9'c->-.-\fermata \< 'g->-.-\fermata
+ [6/9'c->-.-\fermata \< g,->-.-\fermata
d->-.-\fermata a->-.-\fermata
e'->-.-\fermata b'-. f''-. c'''->-.-\fermata
\! g'''->-.-\fermata \> ]1/1
[6/9 g'''->-.-\fermata c'''->-.-\fermata
f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata
- a->-.-\fermata d->-.-\fermata 'g->-.-\fermata \!
- 'c->-.-\fermata ]1/1
+ a->-.-\fermata d->-.-\fermata g,->-.-\fermata \!
+ c,->-.-\fermata ]1/1
\octave c;
- [6/9'c->-.-\fermata \< 'g->-.-\fermata d->-.-\fermata
+ [6/9'c->-.-\fermata \< g,->-.-\fermata d->-.-\fermata
a->-.-\fermata
e'->-.-\fermata b'-. f''-.
c'''->-.-\fermata \! g'''->-.-\fermata \> ]1/1
[6/9 g'''->-.-\fermata c'''->-.-\fermata
f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata
a->-.-\fermata d->-.-\fermata
- 'g->-.-\fermata \! 'c->-.-\fermata ]1/1
+ g,->-.-\fermata \! c,->-.-\fermata ]1/1
\octave c' ;
\octave c' ;
[2/3 c g d' ]1/1
-\version "0.1.10";
+\version "0.1.14";
blah = \melodic {
\octave c';
- 'c4 ->-.-\fermata-"text"
+ c,4 ->-.-\fermata-"text"
c ->-.-\fermata-"text"
c' ->-.-\fermata-"text"
c'' ->-.-\fermata-"text"
- 'd ->-.-\fermata-"text"
+ d, ->-.-\fermata-"text"
d ->-.-\fermata-"text"
d' ->-.-\fermata-"text"
d'' ->-.-\fermata-"text"
- 'c ^>^.^\fermata^"text"
+ c, ^>^.^\fermata^"text"
c ^>^.^\fermata^"text"
c' ^>^.^\fermata^"text"
c'' ^>^.^\fermata^"text"
- 'd ^>^.^\fermata^"text"
+ d, ^>^.^\fermata^"text"
d ^>^.^\fermata^"text"
d' ^>^.^\fermata^"text"
d'' ^>^.^\fermata ^"text"
- 'c _>_._\fermata _"text"
+ c, _>_._\fermata _"text"
c _>_._\fermata _"text"
c' _>_._\fermata _"text"
c'' _>_._\fermata _"text"
- 'd _>_._\fermata _"text"
+ d, _>_._\fermata _"text"
d _>_._\fermata _"text"
d' _>_._\fermata _"text"
d'' _>_._\fermata _"text"
\stemup
- 'b-. c-. d-. e-. f-. g-. a-. b-. c'-.
+ b,-. c-. d-. e-. f-. g-. a-. b-. c'-.
\stemdown
a-. b-. c'-. d'-. e'-. f'-. g'-. a'-. b'-.
\stemup
- 'b-> c-> d-> e-> f-> g-> a-> b-> c'->
+ b,-> c-> d-> e-> f-> g-> a-> b-> c'->
\stemup
- 'b---. c---. d---. e---. f---. g---. a---. b---. c'---.
+ b,---. c---. d---. e---. f---. g---. a---. b---. c'---.
\stemboth
\meter 4/4;
depth = ../..
#
-
-examples = font20
-
include $(depth)/make/Mutopia.make
+examples=font20 denneboom spacing
+
include $(depth)/make/WWW.make
TestedFeatures = "beams and beamflags";
}
-\version "0.1.10";
+\version "0.1.14";
\score{
<
\melodic {
\octave c';
\meter 8/4;
- \stemdown [a'8 'a c e]
- \stemdown [a'16 'a c e]
- \stemdown [a'32 'a c e]
- \stemdown [a'64 'a c e]
- \stemdown [a'128 'a c e]
+ \stemdown [a'8 a, c e]
+ \stemdown [a'16 a, c e]
+ \stemdown [a'32 a, c e]
+ \stemdown [a'64 a, c e]
+ \stemdown [a'128 a, c e]
r32
\octave c;
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.10";
+\version "0.1.14";
shortlong = \melodic{
c4()c( c c |
a' a' a' a'()
c( c c )c
c( c c )'f
- 'f( c c )c
- 'f( c c )'f
+ f,( c c )c
+ f,( c c )'f
}
\score{
copyright = "public domain";
Tested = "test the Collision resolution ";
}
-\version "0.1.10";
+\version "0.1.14";
\include "paper20.ly"
-\version "0.1.10";
+\version "0.1.14";
oden = \lyric{
O8 |
oboom = \melodic{
\octave c';
- 'g8 |
+ g,8 |
c8. c16 c4. d8 |
e8. e16 e4. e8 |
- d e f4 'b |
+ d e f4 b, |
d8. c16 c4 r8
}
-\version "0.1.10";
+\version "0.1.14";
FontBody= \melodic{
\octave c';
\bar "|:";
\meter 4/4;
\multi 2 < { \stemup e'\longa a\breve | }
{ \stemdown
- c1 \clef "bass"; ''b \clef "violin"; c' a'
+ c1 \clef "bass"; b,, \clef "violin"; c' a'
c2 \clef "alto"; g c' \clef "violin"; a'
} >
\stemboth
\clef "bass";
r1 r2 r4 r8 r16 r32 r64 r128 r128 |
\multi 2 < { \stemup r2 r2} {\stemdown c c }>
- \multi 2 < { \stemup ''c1 } {\stemdown r1}>
+ \multi 2 < { \stemup c,,1 } {\stemdown r1}>
\stemboth
\clef "violin";
e8_. g'8-> e16^^ g'16_^
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.10";
+\version "0.1.14";
\include "font-body.ly"
\score{
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.10";
+\version "0.1.14";
\include "font-body.ly"
\score{
TestedFeatures = "This file tests some nasty Gourlay spacings";
}
-\version "0.1.10";
+\version "0.1.14";
%{
--- /dev/null
+\version "0.1.14";
+\score{
+ \melodic{
+ \octave relative;
+ [c16 \stemdown c'' \stemboth c,, d]
+ }
+}
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.10";
+\version "0.1.14";
shortlong = \melodic{
c4()c( c c |
c c c c |
c c c c |
- \break;
+ \break
c c c )c |
}
complex = \melodic{
\octave c';
- 'c16( 'e( 'g( 'b( d( f( a( c'())))))))c4 c4 |
+ c,16( e,( g,( b,( d( f( a( c'())))))))c4 c4 |
\octave c''';
- 'c16( a( f( d( 'b( 'g( 'e( 'c())))))))c4 c4 |
+ c,16( a( f( d( b,( g,( e,( c,())))))))c4 c4 |
}
over = \melodic{
\stemdown
f'( \stemboth d d \stemdown )f'
f'( \stemboth c c \stemdown )f'
- f'( \stemboth 'b 'b \stemdown )f'
- f'( \stemboth 'a 'a \stemdown )f'
+ f'( \stemboth b, b, \stemdown )f'
+ f'( \stemboth a, a, \stemdown )f'
\stemdown
f'( a a )f'
f'( g g )f'
f'( f f )f'
- f'( 'a 'a )f'
+ f'( a, a, )f'
\stemdown
- f'( \stemboth d 'b \stemdown )f'
- f'( \stemboth 'b d \stemdown )f'
- f'( \stemboth 'd 'b \stemdown )f'
- f'( \stemboth 'b 'd \stemdown )f'
+ f'( \stemboth d b, \stemdown )f'
+ f'( \stemboth b, d \stemdown )f'
+ f'( \stemboth d, b, \stemdown )f'
+ f'( \stemboth b, d, \stemdown )f'
\stemdown
f'( f a )f'
f'( a f )f'
- f'( f 'e )f'
- f'( 'e f )f'
+ f'( f e, )f'
+ f'( e, f )f'
}
eccentric = \melodic{
\stemup
e( c'' f )e'
\stemdown
- f'( \stemboth 'a 'a \stemdown )f''
+ f'( \stemboth a, a, \stemdown )f''
\stemdown
- f'( 'a 'a )f''
+ f'( a, a, )f''
}
tiltdown = \melodic{
\stemup
e'( c'' f )e
\stemdown
- f''( \stemboth 'a 'a \stemdown )f'
+ f''( \stemboth a, a, \stemdown )f'
\stemdown
- f''( 'a 'a )f'
+ f''( a, a, )f'
}
broken = \melodic{
a' a' a' a'()
c( c c )c
c( c c )'f
- 'f( c c )c
- 'f( c c )'f
+ f,( c c )c
+ f,( c c )'f
}
blend = \melodic{
f'( c'' c'' )f'
e( c'' c'' )e
\stemdown
- f'( \stemboth 'a 'a \stemdown )f'
- f'( 'a 'a )f'
+ f'( \stemboth a, a, \stemdown )f'
+ f'( a, a, )f'
\stemboth
e( c'' c'' )e'
c( c''' c )c''
c''( c c''' )c
\stemdown
- c( \stemup '''c '''c \stemdown )c
- c( \stemup '''c c \stemdown )''c
- ''c( \stemup c '''c \stemdown )c
+ c( \stemup c,,, c,,, \stemdown )c
+ c( \stemup c,,, c \stemdown )''c
+ c,,( \stemup c c,,, \stemdown )c
}
\score{
--- /dev/null
+% test damping
+
+\score{
+ \melodic{
+ \octave relative;
+ c'()b' ~ 'b c
+ c c c c
+ c c c c
+ c c c c
+ }
+}
-\version "0.1.10";
+\version "0.1.14";
\score{
\melodic{\octave c';
- 'c4 ~ 'c c'' ~ c'' ~ g ~ c ~
+ c,4 ~ c, c'' ~ c'' ~ g ~ c ~
d ~ e ~ f ~ g ~
- a ~ b ~ 'c ~ c
+ a ~ b ~ c, ~ c
< c e ( > <)d f>
\octave c'';
{
% \octave c';
-% 'c16( 'e( 'g( 'b( d( f( a( c'~ )))))))c4 c4 |
+% c,16( e,( g,( b,( d( f( a( c'~ )))))))c4 c4 |
% \octave c''';
-% 'c16( a( f( d( 'b( 'g( 'e( 'c~ )))))))c4 c4 |
+% c,16( a( f( d( b,( g,( e,( c,~ )))))))c4 c4 |
% \octave c';
% c'1() g' () c () g () c |
TestedFeatures = "This file tests various spacings";
}
-\version "0.1.10";
+\version "0.1.14";
multipart = \melodic{
\multi 3 <
}
-\version "0.1.10";
+\version "0.1.14";
beamintervals = \melodic{
\meter 7/4;
- \stemup;
+ \stemup
\octave c';
[ c8 d ] [ c e ] [ c f ] [ c g ] [ c a ] [ c b ] [ c c' ] |
- [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
+ [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
\octave c'';
- [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
- \stemdown;
+ [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
+ \stemdown
\octave c''';
- [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
+ [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
\octave c'';
- [ c 'b ] [ c 'a ] [ c 'g ] [ c 'f ] [ c 'e ] [ c 'd ] [ c 'c ] |
+ [ c b, ] [ c a, ] [ c g, ] [ c f, ] [ c e, ] [ c d, ] [ c c, ] |
[ c d ] [ c e ] [ c f ] [ c g ] [ c a ] [ c b ] [ c c' ] |
}
\score{
\melodic{
\octave c';
- \stemup;
+ \stemup
\meter 17/4;
- 'g4 'a 'b c d e f g a b c' d' e' f' g' a' b' |
+ g,4 a, b, c d e f g a b c' d' e' f' g' a' b' |
\stemdown
- b' a' g' f' e' d' c' b a g f e d c 'b 'a 'g |
- \beamintervals;
- \transpose d \beamintervals;
- \transpose e \beamintervals;
- \transpose f \beamintervals;
- \transpose g \beamintervals;
- \transpose a \beamintervals;
- \transpose b \beamintervals;
+ b' a' g' f' e' d' c' b a g f e d c b, a, g, |
+ \beamintervals
+ \transpose d \beamintervals
+ \transpose e \beamintervals
+ \transpose f \beamintervals
+ \transpose g \beamintervals
+ \transpose a \beamintervals
+ \transpose b \beamintervals
}
\paper{
gourlay_maxmeasures = 2.;
--- /dev/null
+\header{
+filename = "title.ly";
+title = "Title";
+subtitle = "Subtitle";
+composer= "Composer (xxxx-yyyy)";
+opus = "Opus 0";
+arranger = "Arranger";
+copyright = "public domain";
+enteredby = "jcn";
+source = "urtext";
+piece = "Piece I";
+instrument= "Instrument";
+}
+
+\score{
+ \melodic{
+ \octave relative;
+ c' d e f f e d c \break
+ c d e f f e d c
+ }
+}
+
+\header{
+piece = "Piece II";
+opus = "Opus 1";
+}
+
+\score{
+ \melodic{
+ f' e d c c d e f \break
+ f e d c c d e f
+ }
+}
+
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.10";
+\version "0.1.14";
\score{
\melodic{
Tested Features lyrics and chords
%}
-\version "0.1.10";
+\version "0.1.14";
melodie = \melodic {
\clef"violin";
Tested Features: lyrics, interleaving lyrics and staffs
%}
-\version "0.1.10";
+\version "0.1.14";
melody = \melodic{
\clef violin;
accompany = \melodic {
\clef "bass";
- \octave 'c;
+ \octave c,;
c4 c' | e' c' | f' c' | e' c' |
d' b | c' a | f g | c2 |
tekst = \lyric{
Al-4 tijd is Kort- jak- je ziek,2
-% midden4 in_de week maar 's_zon- dags niet.2
+% midden4 in_de week maar s,_zon- dags niet.2
% ugly hack: insertion of empty syllables creates columns on extra
% moments. The net result is more spacing.
%
- midden8 _8 in_de8 _8 week4 maar 's_zon- dags niet.2
- 's_Zon-4 dags gaat ze naar de kerk,2
+ midden8 _8 in_de8 _8 week4 maar s,_zon- dags niet.2
+ s,_Zon-4 dags gaat ze naar de kerk,2
met4 een boek vol zil- ver werk.2
Al-4 tijd is Kort- jak- je ziek,2
- midden8 _8 in_de8 _8 week4 maar 's_zon- dags niet.2
+ midden8 _8 in_de8 _8 week4 maar s,_zon- dags niet.2
}
%{
hegedraagjetekst = \lyric{
Al-4 tijd zuigt Bill Gates mijn piek,2
"\TeX"4 is slecht- ser dan mu- ziek.2
- 's_Zon-4 dags gaat het door een raam,2
+ s,_Zon-4 dags gaat het door een raam,2
Weet4 dat ik me er- voor schaam.2
Al-4 tijd zuigt Bill Gates mijn piek,2
"\TeX"4 is slecht- ser dan mu- ziek.2
public:
void warning (String) const; // should use member func?
+ void non_fatal_error (String) const;
void error (String) const;
void message (String) const;
void set_spot (Input const &);
#include "proto.hh"
#include "string.hh"
+#include "interval.hh"
class istream;
int length_i () const;
virtual int line_i (char const* pos_ch_c_l ) const;
String name_str () const;
- String file_line_no_str (char const* ch_c_l ) const;
+ String file_line_column_str (char const* ch_c_l ) const;
+
+protected:
+ Slice line_slice (char const* pos_ch_C) const;
+ String line_str (char const* pos_ch_C) const;
+ int column_i (char const* pos_ch_C) const;
+ int position_i (char const* pos_ch_C) const;
private:
String name_str_;
};
#endif // SOURCE_FILE_HH //
+
/*
- warn.hh -- declare
+ warn.hh -- declare Error message functions
source file of the LilyPond music typesetter
void warning (String message_str );
void error (String message_str);
+void non_fatal_error (String);
#endif // WARN_HH
/*
- input.cc -- implement Input
+ input.cc -- implement Input
- source file of the LilyPond music typesetter
+ source file of the LilyPond music typesetter
- (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
#include "input.hh"
Input::Input (Source_file*s, char const *cl)
{
- source_file_l_=s;
- defined_ch_C_=cl;
+ source_file_l_=s;
+ defined_ch_C_=cl;
}
Input::Input ()
{
- source_file_l_ = 0;
- defined_ch_C_ = 0;
+ source_file_l_ = 0;
+ defined_ch_C_ = 0;
}
Input::Input (Input const &s)
{
- source_file_l_ = s.source_file_l_;
- defined_ch_C_ = s.defined_ch_C_;
+ source_file_l_ = s.source_file_l_;
+ defined_ch_C_ = s.defined_ch_C_;
}
void
Input::set_spot (Input const &i)
{
- *this = i;
+ *this = i;
}
+/*
+ Produce almost GNU-compliant error message. Lily used to be rather
+ GNU-compliant in this too, but correcting mudela is such a breeze if
+ you('re edidor) know(s) the error column too (there's no GNU standard
+ on columns, is there?).
+
+ Format:
+
+ [file:line:column:][warning:]message
+
+ */
void
Input::message (String message_str) const
{
- String str = "";
-
- if (source_file_l_)
- {
- str += location_str () + String (": ");
- }
-
- str += message_str;
- if (source_file_l_)
- {
- str += ":\n";
- str += source_file_l_->error_str (defined_ch_C_);
- }
- cerr << str << endl;
+ String str;
+
+ /*
+ marked "Work in prgress" in GNU iostream
+ libg++ 2.7.2.8
+ libstdc++ 2.8.1
+
+ why not just return always -1 (unknown),
+ iso breaking the interface?
+
+ int col = cerr.rdbuf ()->column ();
+
+ */
+
+ // well, we don't want to loose first warning...
+ int col = 1;
+ if (col > 0)
+ str += "\n";
+
+ if (source_file_l_)
+ str += location_str () + String (": ");
+
+ str += message_str;
+ if (source_file_l_)
+ {
+ str += ":\n";
+ str += source_file_l_->error_str (defined_ch_C_);
+ }
+ cerr << str << endl;
}
void
Input::warning (String message_str) const
{
- message (_ ("warning: ") + message_str);
+ message (_ ("warning: ") + message_str);
}
void
Input::error (String s) const
{
- message (_ ("error: ")+ s);
+ message (_ ("error: ")+ s);
}
+void
+Input::non_fatal_error (String s) const
+{
+ message (_ ("Non fatal error: ")+ s);
+}
String
Input::location_str () const
{
- if (source_file_l_)
- return source_file_l_->file_line_no_str (defined_ch_C_);
- else
- return _ ("(location unknown)");
+ if (source_file_l_)
+ return source_file_l_->file_line_column_str (defined_ch_C_);
+ else
+ return _("(location unknown)");
}
}
String
-Source_file::file_line_no_str (char const *context_ch_C) const
+Source_file::file_line_column_str (char const *context_ch_C) const
{
if (!ch_C ())
return _ ("(unknown)");
else
- return name_str () + ": "
- + String (line_i (context_ch_C));
+ return name_str () + ":" + String (line_i (context_ch_C))
+ + ":" + String (position_i (context_ch_C));
}
String
delete storage_p_;
}
-String
-Source_file::error_str (char const* pos_ch_C) const
+Slice
+Source_file::line_slice (char const* pos_ch_C) const
{
- char const* data_ch_C = ch_C ();
- char const * eof_C_ = data_ch_C + length_i ();
if (!in_b (pos_ch_C))
- return _ ("(position unknown)");
+ return Slice (0,0);
+ char const* data_ch_C = ch_C ();
+ char const * eof_C_ = data_ch_C + length_i ();
if (pos_ch_C == eof_C_)
pos_ch_C --;
break;
}
- // String (char const* p, int length) is missing!?
- String line_str ((Byte const*)begin_ch_C, end_ch_C - begin_ch_C);
+ return Slice (begin_ch_C - data_ch_C, end_ch_C - data_ch_C);
+}
- int error_col_i = 0;
- char const* scan_ch_C = begin_ch_C;
- while (scan_ch_C < pos_ch_C)
- if (*scan_ch_C++ == '\t')
- error_col_i = (error_col_i / 8 + 1) * 8;
+String
+Source_file::line_str (char const* pos_ch_C) const
+{
+ if (!in_b (pos_ch_C))
+ return "";
+
+ Slice line = line_slice (pos_ch_C);
+ char const* data_ch_C = ch_C ();
+ return String ((Byte const*)data_ch_C + line.min (), line.length ());
+}
+
+int
+Source_file::position_i (char const* pos_ch_C) const
+{
+ if (!in_b (pos_ch_C))
+ return 0;
+
+ char const* data_ch_C = ch_C ();
+ return pos_ch_C - (line_slice (pos_ch_C).min () + data_ch_C);
+}
+
+int
+Source_file::column_i (char const* pos_ch_C) const
+{
+ if (!in_b (pos_ch_C))
+ return 0;
+
+ int pos_i = position_i (pos_ch_C);
+ String line = line_str (pos_ch_C);
+
+ int col_i = 0;
+ for (int i = 0; i < pos_i; i++)
+ if (line[i] == '\t')
+ col_i = (col_i / 8 + 1) * 8;
else
- error_col_i++;
+ col_i++;
- String str = line_str.left_str (pos_ch_C - begin_ch_C)
+ return col_i;
+}
+
+String
+Source_file::error_str (char const* pos_ch_C) const
+{
+ if (!in_b (pos_ch_C))
+ return _ ("(position unknown)");
+
+ int pos_i = position_i (pos_ch_C);
+ String line = line_str (pos_ch_C);
+ String context = line.left_str (pos_i)
+ String ('\n')
- + String (' ', error_col_i)
- + line_str.cut (pos_ch_C - begin_ch_C, INT_MAX); // String::mid should take 0 arg..
- return str;
+ + String (' ', column_i (pos_ch_C))
+ + line.cut (pos_i, INT_MAX);
+
+ return context;
}
bool
return (pos_ch_C && (pos_ch_C >= ch_C ()) && (pos_ch_C <= ch_C () + length_i ()));
}
-
int
Source_file::line_i (char const* pos_ch_C) const
{
#include "cursor.tcc"
#include "list.tcc"
-#if !defined(__CYGWIN32__) && __GNUC_MINOR__ < 8
+// #if!defined(__CYGWIN32__) && __GNUC_MINOR__ < 8
+// it seems irix (-Dsgi ?) and sunos (-Dsparc ?)
+
+// see comments in lily/template1.cc mi2mu/template9.cc
+
+#if (defined(__linux__) && (__GNUC_MINOR__ < 8))
LIST_INSTANTIATE (void *);
#endif
POINTERLIST_INSTANTIATE (Source_file);
+
exit (1);
}
+void
+non_fatal_error (String s)
+{
+ cerr << _ ("error: ") << s << "\n";
+}
void
warning (String m)
MAJOR_VERSION=0
MINOR_VERSION=1
-PATCH_LEVEL=61
+PATCH_LEVEL=63
MY_PATCH_LEVEL=
#include "string.hh"
#include "varray.hh"
#include "debug.hh"
+#include "main.hh"
+
+inline bool
+Atom::check_infinity_b ()const
+{
+ bool ridiculous = false;
+#ifndef NDEBUG
+
+ /* infinity checks. */
+ for (int a = X_AXIS; a < NO_AXES; a++)
+ {
+ Axis ax = (Axis)a;
+ if (abs (off_[ax]) >= 100 CM)
+ {
+ warning (_("ridiculous dimension ") + axis_name_str (ax) + ", "
+ +print_dimen(off_[ax]));
+
+ if (experimental_features_global_b)
+ assert (false);
+
+ ((Atom*)this)->off_[ax] = 0.0;
+ ridiculous = true;
+ }
+ }
+#endif
+ return ridiculous;
+}
+
void
Atom::print() const
}
-bool
-Atom::check_infinity_b ()const
-{
- bool ridiculous = false;
-#ifndef NDEBUG
-
- /* infinity checks. */
- for (int a = X_AXIS; a < NO_AXES; a++)
- {
- Axis ax = (Axis)a;
- if (abs (off_[ax]) >= 100 CM)
- {
- warning (_("ridiculous dimension ") + axis_name_str (ax) + ", "
- +print_dimen(off_[ax]));
- ((Atom*)this)->off_[ax] = 0.0;
- ridiculous = true;
- }
- }
-#endif
- return ridiculous;
-}
String
Atom::TeX_string() const
{
* centre beam symbol
* less hairy code
* redo grouping
- * (future) knee: ([\stem 1; c8 \stem -1; c8]
*/
#include <math.h>
Beam::Beam ()
{
slope_f_ = 0;
+ solved_slope_f_ = 0;
left_y_ = 0;
damping_i_ = 1;
quantisation_ = NORMAL;
} while (flip(&d) != DOWN);
/*
-
[Ross] states that the majority of the notes dictates the
direction (and not the mean of "center distance")
+
+ But is that because it really looks better, or because he
+ wants to provide some real simple hands-on rules.
+
+ We have our doubts.
*/
+
+ // fixme. make runtime.
+ // majority
+ // dir_ = (count[UP] > count[DOWN]) ? UP : DOWN;
+
+ // mean centre distance
dir_ = (total[UP] > total[DOWN]) ? UP : DOWN;
for (int i=0; i <stems_.size (); i++)
{
- Stem *sl = stems_[i];
- sl->dir_ = dir_;
+ Stem *s = stems_[i];
+ s->beam_dir_ = dir_;
+ if (!s->dir_forced_b_)
+ s->dir_ = dir_;
}
}
}
else
{
-
Real leftx = sinfo[0].x_;
Least_squares l;
for (int i=0; i < sinfo.size (); i++)
left_y_ *= dir_;
slope_f_ *= dir_;
-
+ solved_slope_f_ = slope_f_;
/*
This neat trick is by Werner Lemberg, damped = tanh (slope_f_) corresponds
with some tables in [Wanske]
slope_f_ = 0.6 * tanh (slope_f_) / damping_i_;
quantise_dy ();
-
- Real sl = slope_f_ * paper ()->internote_f ();
- paper ()->lookup_l ()->beam (sl, 20 PT, 1 PT);
- slope_f_ = sl / paper ()->internote_f ();
}
void
allowed_fraction[2] = (beam_f + staffline_f);
- Interval iv = quantise_iv (allowed_fraction, interline_f, dy_f);
- quanty_f = (dy_f - iv.min () <= iv.max () - dy_f)
- ? iv.min ()
- : iv.max ();
+ Interval iv = quantise_iv (allowed_fraction, interline_f, dy_f);
+ quanty_f = (dy_f - iv.min () <= iv.max () - dy_f)
+ ? iv.min ()
+ : iv.max ();
slope_f_ = (quanty_f / dx_f) / internote_f * sign (slope_f_);
Beam::set_stemlens ()
{
Real staffline_f = paper ()->rule_thickness ();
+ Real interbeam_f = paper ()->interbeam_f (multiple_i_);
+ Real internote_f = paper ()->internote_f ();
+ Real beam_f = paper ()->beam_thickness_f ();
+
+ // enge floots
+ Real epsilon_f = staffline_f / 8;
+
+ /*
+
+ Damped and quantised slopes, esp. in monotone scales such as
+
+ [c d e f g a b c]
+
+ will soon produce the minimal stem-length for one of the extreme
+ stems, which is wrong (and ugly). The minimum stemlength should
+ be kept rather small, in order to handle extreme beaming, such as
+
+ [c c' 'c] %assuming no knee
+
+ correctly.
+ To avoid these short stems for normal cases, we'll correct for
+ the loss in slope, if necessary.
+
+ [TODO]
+ ugh, another hack. who's next?
+ Writing this all down, i realise (at last) that the Right Thing to
+ do is to assign uglyness to slope and stem-lengths and then minimise
+ the total uglyness of a beam.
+ Steep slopes are ugly, shortened stems are ugly, lengthened stems
+ are ugly.
+ How to do this?
+
+ */
+
+ Real dx_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
+ Real damped_slope_dy_f = (solved_slope_f_ - slope_f_) * dx_f / 2;
+ if (abs (damped_slope_dy_f) <= epsilon_f)
+ damped_slope_dy_f = 0;
Real x0 = stems_[0]->hpos_f ();
- Real dy = 0;
- // ugh, rounding problems! (enge floots)
- Real epsilon = staffline_f / 8;
- do
+ Real dy_f = 0;
+ // urg
+ for (int jj = 0; jj < 10; jj++)
{
- left_y_ += dy * dir_;
- quantise_left_y (dy);
- dy = 0;
+ left_y_ += dy_f * dir_;
+ quantise_left_y (dy_f);
+ dy_f = 0;
for (int i=0; i < stems_.size (); i++)
{
Stem *s = stems_[i];
continue;
Real x = s->hpos_f () - x0;
- s->set_stemend (left_y_ + slope_f_ * x);
+ // urg move this to stem-info
+ Real sy = left_y_ + slope_f_ * x;
+ if (dir_ != s->dir_)
+ sy -= dir_ * (beam_f / 2
+ + (s->mult_i_ - 1) * interbeam_f) / internote_f;
+ s->set_stemend (sy);
Real y = s->stem_end_f () * dir_;
Stem_info info (s);
+ if (y > info.maxy_f_)
+ dy_f = dy_f <? info.maxy_f_ - y;
if (y < info.miny_f_)
- dy = dy >? info.miny_f_ - y;
+ {
+ // when all too short, normal stems win..
+ if (dy_f < -epsilon_f)
+ warning ( _("Weird beam shift, check your knees."));
+ dy_f = dy_f >? info.miny_f_ - y;
+ }
}
- } while (abs (dy) > epsilon);
+ if (dy_f && damped_slope_dy_f
+ && (sign (dy_f) == sign (damped_slope_dy_f)))
+ dy_f += damped_slope_dy_f;
+ damped_slope_dy_f = 0;
+ if (abs (dy_f) <= epsilon_f)
+ {
+ DOUT << "Beam::set_stemlens: " << jj << " iterations\n";
+ break;
+ }
+ }
test_pos++;
test_pos %= 4;
Array<Col_hpositions> h= do_solve ();
if (approx_stats_.count_i_)
- *mlog << _ ("\nApproximated: ") << approx_stats_.str () << "\n";
+ *mlog << _ ("\n(Approximated: ") << approx_stats_.str () << ")\n";
if (exact_stats_.count_i_)
- *mlog << _ ("Calculated exactly: ") << exact_stats_.str () << "\n";
+ *mlog << _ ("(Calculated exactly: ") << exact_stats_.str () << ")\n";
*mlog << _ ("Time: ") << String (timer.read (), "%.2f") << _ (" seconds\n");
return h;
IMPLEMENT_IS_TYPE_B(Identifier);
+Identifier::Identifier (int code)
+{
+ token_code_i_ = code;
+ accessed_b_ = 0;
+ init_b_ = 0;
+}
+
+
+
+Identifier::Identifier (Identifier const&s)
+ : Input (s)
+{
+ token_code_i_ = s.token_code_i_;
+ accessed_b_ = s.accessed_b_;
+ init_b_ = s.init_b_;
+}
+
Identifier::~Identifier()
{
}
void
-Identifier::error (String expect)
+Identifier::error (String expect) const
{
String e (_("Wrong identifier type: "));
e += String (name()) + _("(expected ") + expect + ")";
::error (e);
}
-Identifier::Identifier (int code)
+String
+Identifier::str () const
{
- token_code_i_ = code;
- accessed_b_ = 0;
- init_b_ = 0;
+ return do_str ();
+}
+
+String
+Identifier::do_str () const
+{
+ return "";
}
void
-Identifier::print() const
+Identifier::print () const
{
DOUT << "identifier ";
- do_print();
+ do_print ();
+}
+void
+Identifier::do_print () const
+{
}
/* ugh. */
-#define DEFAULT_PRINT(Class, Content_type, accessor) \
+/* UGH MEMORY LEAK! */
+#define DEFAULT_PRINT(Class, accessor) \
void \
-Class::do_print() const { \
- ((Class*)this)->accessor()->print(); \
-} \
-class Class
-
+Class ## _identifier::do_print () const { \
+ Class *cl = ((Class ## _identifier *)this)->accessor();\
+ cl->print (); \
+ delete cl; \
+}
-DEFAULT_PRINT(Script_id, General_script_def, script);
-DEFAULT_PRINT(Lookup_id, Lookup, lookup);
-DEFAULT_PRINT(Translator_id, Translator, translator);
-DEFAULT_PRINT(Symtables_id, Symtables, symtables);
-DEFAULT_PRINT(Music_id,Music , music);
-DEFAULT_PRINT(Request_id, Request, request);
-DEFAULT_PRINT(Score_id, Score, score);
-DEFAULT_PRINT(Midi_def_id,Midi_def, mididef);
-DEFAULT_PRINT(Paper_def_id,Paper_def, paperdef);
-void
-Duration_id::do_print() const
-{}
+DEFAULT_PRINT(General_script_def, script);
+DEFAULT_PRINT(Lookup, lookup);
+DEFAULT_PRINT(Translator, translator);
+DEFAULT_PRINT(Symtables, symtables);
+DEFAULT_PRINT(Music, music);
+DEFAULT_PRINT(Request, request);
+DEFAULT_PRINT(Score, score);
+DEFAULT_PRINT(Midi_def, mididef);
+DEFAULT_PRINT(Paper_def, paperdef);
-void
-Real_id::do_print() const
-{
- DOUT << *data_p_<< "\n";
+/* ugh. */
+#define DUMMY_STR(Class) \
+String \
+Class ## _identifier::do_str () const { \
+ return String (#Class); \
}
-void
-Int_id::do_print() const
-{
- DOUT << *data_p_<< "\n";
+
+
+DUMMY_STR(General_script_def);
+DUMMY_STR(Lookup);
+DUMMY_STR(Translator);
+DUMMY_STR(Symtables);
+DUMMY_STR(Music);
+DUMMY_STR(Request);
+DUMMY_STR(Score);
+DUMMY_STR(Midi_def);
+DUMMY_STR(Paper_def);
+DUMMY_STR(Duration);
+
+#define STRING_PRINT(Class) \
+void \
+Class ## _identifier::do_print () const\
+{\
+ DOUT << do_str () << "\n";\
+}\
+
+
+STRING_PRINT(Duration);
+STRING_PRINT(Real);
+STRING_PRINT(int);
+STRING_PRINT(String);
+
+#define DEFAULT_STR(Class) \
+String \
+Class ## _identifier::do_str () const\
+{\
+ return String (*data_p_);\
}
+DEFAULT_STR(int);
+DEFAULT_STR(Real);
+DEFAULT_STR(String);
+
+
+/*
+ fucking C++ blows me.
+ */
-#define DEFAULT_ACCESSOR(Idclass, Class, accessor)\
+#define DEFAULT_ACCESSOR(Class, accessor)\
Class*\
-Idclass::accessor () {\
- accessed_b_ = true;\
+Class ## _identifier::accessor () const {\
+ ((Class ## _identifier*)this)->accessed_b_ = true;\
return new Class (*data_p_);\
}
-#define VIRTUAL_ACCESSOR(Idclass, Class, accessor)\
+#define VIRTUAL_ACCESSOR(Class, accessor)\
Class*\
-Idclass::accessor () {\
- accessed_b_ = true;\
+Class ## _identifier::accessor () const{\
+ ((Class ## _identifier*)this)->accessed_b_ = true;\
return (Class*)data_p_->clone();\
}
-#define IMPLEMENT_ID_CLASS(Idclass, Class, accessor) \
- IMPLEMENT_IS_TYPE_B1(Idclass,Identifier)\
- Idclass::~Idclass() { delete data_p_; }\
- Idclass::Idclass (Class*st, int code):Identifier (code) { data_p_ = st; }\
-
-IMPLEMENT_ID_CLASS(Duration_id, Duration, duration);
-IMPLEMENT_ID_CLASS(Translator_id, Translator, translator);
-IMPLEMENT_ID_CLASS(Int_id, int, intid);
-IMPLEMENT_ID_CLASS(Real_id, Real, real);
-IMPLEMENT_ID_CLASS(Script_id, General_script_def, script);
-IMPLEMENT_ID_CLASS(Lookup_id, Lookup, lookup);
-IMPLEMENT_ID_CLASS(Symtables_id, Symtables, symtables);
-IMPLEMENT_ID_CLASS(Music_id, Music, music);
-IMPLEMENT_ID_CLASS(Score_id, Score, score);
-IMPLEMENT_ID_CLASS(Request_id, Request, request);
-IMPLEMENT_ID_CLASS(Midi_def_id, Midi_def, mididef);
-IMPLEMENT_ID_CLASS(Paper_def_id, Paper_def, paperdef);
-
-Identifier::Identifier (Identifier const&s)
- : Input (s)
-{
- assert (false);
-}
+#define IMPLEMENT_ID_CLASS(Class, accessor) \
+ IMPLEMENT_IS_TYPE_B1(Class ## _identifier,Identifier)\
+ Class ## _identifier::~Class ## _identifier() { delete data_p_; }\
+ Class ## _identifier::Class ## _identifier (Class*st, int code):Identifier (code) { data_p_ = st; }\
+Class ## _identifier::Class ## _identifier (Class ## _identifier const &s) \
+: Identifier (s)\
+{\
+ data_p_ = s.accessor ();\
+}
+
+
+IMPLEMENT_ID_CLASS(Duration, duration);
+IMPLEMENT_ID_CLASS(Translator, translator);
+IMPLEMENT_ID_CLASS(int, intid);
+IMPLEMENT_ID_CLASS(Real, real);
+IMPLEMENT_ID_CLASS(String, string);
+IMPLEMENT_ID_CLASS(General_script_def, script);
+IMPLEMENT_ID_CLASS(Lookup, lookup);
+IMPLEMENT_ID_CLASS(Symtables, symtables);
+IMPLEMENT_ID_CLASS(Music, music);
+IMPLEMENT_ID_CLASS(Score, score);
+IMPLEMENT_ID_CLASS(Request, request);
+IMPLEMENT_ID_CLASS(Midi_def, mididef);
+IMPLEMENT_ID_CLASS(Paper_def, paperdef);
+
+VIRTUAL_ACCESSOR(Music, music);
+VIRTUAL_ACCESSOR(Request, request);
+VIRTUAL_ACCESSOR(Translator, translator);
+VIRTUAL_ACCESSOR(General_script_def, script);
+
+DEFAULT_ACCESSOR(Duration, duration);
+DEFAULT_ACCESSOR(int, intid);
+DEFAULT_ACCESSOR(Real, real);
+DEFAULT_ACCESSOR(String, string);
+DEFAULT_ACCESSOR(Lookup, lookup);
+DEFAULT_ACCESSOR(Symtables, symtables);
+DEFAULT_ACCESSOR(Score, score);
+DEFAULT_ACCESSOR(Midi_def, mididef);
+DEFAULT_ACCESSOR(Paper_def, paperdef);
-DEFAULT_ACCESSOR(Duration_id, Duration, duration);
-VIRTUAL_ACCESSOR(Translator_id,Translator, translator);
-DEFAULT_ACCESSOR(Int_id, int, intid);
-DEFAULT_ACCESSOR(Real_id, Real, real);
-VIRTUAL_ACCESSOR(Script_id, General_script_def, script);
-DEFAULT_ACCESSOR(Lookup_id, Lookup, lookup);
-DEFAULT_ACCESSOR(Symtables_id, Symtables, symtables);
-VIRTUAL_ACCESSOR(Music_id, Music, music);
-DEFAULT_ACCESSOR(Score_id, Score, score);
-VIRTUAL_ACCESSOR(Request_id, Request, request);
-DEFAULT_ACCESSOR(Midi_def_id, Midi_def, mididef);
-DEFAULT_ACCESSOR(Paper_def_id, Paper_def, paperdef);
Link_array<Stem> stems_;
/// the slope of the beam in posns / point (dimension)
Real slope_f_;
+ /// the slope as solved; not quantised or damped
+ Real solved_slope_f_;
/// position of leftmost end of beam
Real left_y_;
--- /dev/null
+/*
+ cf-basic.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+ */
+
+#ifndef CF_BASIC_HH
+#define CF_BASIC_HH
+#endif /* CF_BASIC_HH */
+
#include "input.hh"
#include "virtual-methods.hh"
-#define IDACCESSOR( Input_staff, staff)\
-virtual Input_staff * staff () { error (#Input_staff); return 0; }
+#define IDACCESSOR(Class, accessor)\
+virtual Class * accessor () const { error (#Class + String ("_identifier")); return 0; }
/**
A declarable data structure in mudela.
bool init_b_;
bool accessed_b_;
int token_code_i_;
-
+ Identifier (Identifier const&);
Identifier (int code) ;
virtual ~Identifier() ;
+
void print() const;
DECLARE_MY_RUNTIME_TYPEINFO;
- void error (String);
+ void error (String) const;
+ String str () const;
IDACCESSOR(Translator, translator)
- IDACCESSOR(Music, music)
- IDACCESSOR(General_script_def, script)
- IDACCESSOR(Symtables, symtables)
- IDACCESSOR(Midi_def, mididef)
- IDACCESSOR(Paper_def, paperdef)
- IDACCESSOR(Lookup,lookup)
- IDACCESSOR(Real,real)
- IDACCESSOR(Request, request)
- IDACCESSOR(Score, score)
- IDACCESSOR(int, intid)
- IDACCESSOR(Duration, duration)
+ IDACCESSOR(Music, music)
+ IDACCESSOR(General_script_def, script)
+ IDACCESSOR(Symtables, symtables)
+ IDACCESSOR(Midi_def, mididef)
+ IDACCESSOR(Paper_def, paperdef)
+ IDACCESSOR(Lookup,lookup)
+ IDACCESSOR(Real,real)
+ IDACCESSOR(String,string)
+ IDACCESSOR(Request, request)
+ IDACCESSOR(Score, score)
+ IDACCESSOR(int, intid)
+ IDACCESSOR(Duration, duration)
+ VIRTUAL_COPY_CONS (Identifier, Identifier);
- protected:
- virtual void do_print() const=0;
-private:
- Identifier (Identifier const&);
+protected:
+ virtual void do_print () const;
+ virtual String do_str () const;
};
-#define DECLARE_ID_CLASS(Idclass, Class, accessor) \
-struct Idclass : Identifier {\
+#define DECLARE_ID_CLASS(Class, accessor) \
+struct Class ## _identifier : Identifier {\
Class *data_p_; \
- DECLARE_MY_RUNTIME_TYPEINFO; \
- Idclass (Class*st, int code);\
- virtual Class* accessor ();\
- ~Idclass();\
- virtual void do_print() const; \
+ DECLARE_MY_RUNTIME_TYPEINFO; \
+ Class ## _identifier (Class ## _identifier const&);\
+ Class ## _identifier (Class*st, int code);\
+ VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\
+ virtual Class* accessor () const;\
+ ~Class ## _identifier();\
+ virtual void do_print () const; \
+ virtual String do_str () const; \
}\
-DECLARE_ID_CLASS(Translator_id, Translator, translator);
-DECLARE_ID_CLASS(Duration_id, Duration, duration);
-DECLARE_ID_CLASS(Real_id, Real, real);
-DECLARE_ID_CLASS(Script_id, General_script_def, script);
-DECLARE_ID_CLASS(Lookup_id, Lookup, lookup);
-DECLARE_ID_CLASS(Symtables_id, Symtables, symtables);
-DECLARE_ID_CLASS(Music_id, Music, music);
-DECLARE_ID_CLASS(Int_id, int, intid);
-DECLARE_ID_CLASS(Score_id, Score, score);
-DECLARE_ID_CLASS(Request_id, Request, request);
-DECLARE_ID_CLASS(Paper_def_id,Paper_def, paperdef);
-DECLARE_ID_CLASS(Midi_def_id,Midi_def, mididef);
-#endif // IDENTIFIER_
+DECLARE_ID_CLASS(Translator, translator);
+DECLARE_ID_CLASS(Duration, duration);
+DECLARE_ID_CLASS(Real, real);
+DECLARE_ID_CLASS(String, string);
+DECLARE_ID_CLASS(General_script_def, script);
+DECLARE_ID_CLASS(Lookup, lookup);
+DECLARE_ID_CLASS(Symtables, symtables);
+DECLARE_ID_CLASS(Music, music);
+DECLARE_ID_CLASS(int, intid);
+DECLARE_ID_CLASS(Score, score);
+DECLARE_ID_CLASS(Request, request);
+DECLARE_ID_CLASS(Paper_def, paperdef);
+DECLARE_ID_CLASS(Midi_def, mididef);
+
+#endif // IDENTIFIER_HH
+
{
/** for each octave a key. Has to be private since octave 0 isn't member 0.
*/
- Array<Octave_key> octaves;
+ Array<Octave_key> octaves_;
+ int octave_to_index (int) const;
public:
bool multi_octave_b_;
struct Rhythmic_grouping_req;
struct Rhythmic_req;
struct Single_malt_grouping_item;
+struct Scope;
struct Separating_group_spanner;
struct Score;
struct Score_column;
int scan_bare_word (String);
int scan_escaped_word (String);
- bool post_quotes_b_;
char escaped_char(char) const;
public:
String main_input_str_;
void * lexval_l;
+ Scope * toplevel_scope_p_;
Notename_table *note_tab_p_;
- Dictionary<Identifier*> *identifier_p_dict_p_;
+ Array<Scope*> scope_l_arr_;
Keyword_table * keytable_p_;
int errorlevel_i_;
void pop_state();
void LexerError (char const *);
My_lily_lexer();
- void set_identifier (String,Identifier*i);
+ void set_identifier (String str, Identifier* i, bool unique_b = true);
~My_lily_lexer();
int yylex();
void print_declarations (bool init_b) const;
void remember_spot();
Input pop_spot();
- Paper_def*default_paper();
- Midi_def*default_midi();
+ Paper_def*default_paper_p();
+ Midi_def*default_midi_p();
void do_yyparse();
void parser_error (String);
void clear_notenames();
Link_array<Rest> rest_l_arr_;
Interval_t<int> head_positions_interval() const;
+ Interval width () const;
+
void translate_rests(int dy);
DECLARE_MY_RUNTIME_TYPEINFO;
*/
Note_head ();
static int compare (Note_head * const &a, Note_head *const &b) ;
+
protected:
virtual Interval do_width () const;
virtual void do_pre_processing();
Input_engraver should be in here.
*/
-class Paper_def : public Music_output_def {
+class Paper_def : public Music_output_def
+{
Lookup *lookup_p_;
- Dictionary<Real> *real_vars_p_;
+ Scope* scope_p_;
static int default_count_i_;
+
protected:
VIRTUAL_COPY_CONS(Paper_def,Music_output_def);
+
public:
virtual ~Paper_def ();
DECLARE_MY_RUNTIME_TYPEINFO;
Array<Interval> shape_int_a_;
- /**
- Set or overwrite a variable
- */
- void set_var (String, Real);
- /**
- Read a variable. Crash if it doesn't exist.
- */
Real get_var (String) const;
void reinit ();
Paper_def ();
Real arithmetic_spacing (Moment mom,Real constant) const;
virtual int get_next_default_count () const;
String TeX_output_settings_str () const;
+ // urg
+ friend int yyparse (void*);
};
#endif // Paper_def_HH
--- /dev/null
+/*
+ scope.hh -- declare Scope
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+ */
+
+#ifndef SCOPE_HH
+#define SCOPE_HH
+
+#include "dictionary.hh"
+#include "lily-proto.hh"
+
+class Scope : public Dictionary<Identifier*> {
+public:
+ void print () const;
+ Scope ();
+ Scope (Scope const &);
+ ~Scope ();
+};
+
+#endif /* SCOPE_HH */
+
struct Stem_info {
Real x_;
int dir_;
+ int beam_dir_;
Real idealy_f_;
Real miny_f_;
+ Real maxy_f_;
int mult_i_;
Stem_info ();
/// maximum number of beams
int mult_i_;
+ /// direction stem (that's me)
Direction dir_;
+
+ /// is direction explicitely specified?
+ bool dir_forced_b_;
+
+ /// direction of the beam
+ Direction beam_dir_;
/* *************** */
Stem ();
virtual ~Text_item ();
DECLARE_MY_RUNTIME_TYPEINFO;
-protected:
+//protected:
// ugh: so, are we a text-def, or can this vary?
General_script_def* tdef_p_;
+protected:
virtual Interval symbol_height () const;
#include "key.hh"
#include "debug.hh"
-const int OCTAVES=14; // ugh..
+const int NUMBER_OF_OCTAVES=14; // ugh..
const int ZEROOCTAVE=7;
Key::Key()
{
multi_octave_b_ = false;
- octaves.set_size (OCTAVES);
+ octaves_.set_size (NUMBER_OF_OCTAVES);
+}
+
+int
+Key::octave_to_index (int o) const
+{
+ int i = o + ZEROOCTAVE;
+ if (i < 0)
+ {
+ warning ("Don't have that many octaves (" + String (o) + ")");
+ i = 0;
+ }
+ if (i >= NUMBER_OF_OCTAVES)
+ {
+ warning ("Don't have that many octaves (" + String (o) + ")");
+ i = NUMBER_OF_OCTAVES -1;
+ }
+ return i;
}
Octave_key&
Key::oct (int i)
{
- return octaves[i+ZEROOCTAVE];
+
+ return octaves_[octave_to_index (i)];
}
void
Octave_key::set (int i, int a)
{
- assert (a > -3 && a < 3);
+ if (a <= -3)
+ {
+ warning ("Underdone accidentals (" + String (a)+ ")");
+ a = -2;
+ }
+ if (a >= 3)
+ {
+ warning ("Overdone accidentals (" + String (a) + ")");
+ a = 2;
+ }
accidental_i_arr_[i]=a;
}
void
Key::set (int o, int n , int a)
{
- octaves[o + ZEROOCTAVE].set (n,a);
+ int i = octave_to_index (o);
+ octaves_[i].set (n,a);
}
void
Key::set (int n, int a)
{
- for (int i= 0; i < OCTAVES ; i++)
- octaves[i].set (n,a);
+ for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
+ octaves_[i].set (n,a);
}
void
Key::clear ()
{
- for (int i= 0; i < OCTAVES ; i++)
- octaves[i].clear ();
+ for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
+ octaves_[i].clear ();
}
void
Key::print () const
{
- for (int i= 0; i < OCTAVES ; i++)
+ for (int i= 0; i < NUMBER_OF_OCTAVES ; i++)
{
DOUT << "octave " << i - ZEROOCTAVE << " Octave_key { ";
- octaves[i].print ();
+ octaves_[i].print ();
DOUT << "}\n";
}
}
void strip_trailing_white (String&);
void strip_leading_white (String&);
-
#define start_quote() \
yy_push_state (quote);\
yylval.string = new String
new_input (s,source_global_l);
yy_pop_state ();
}
+<incl>\\{BLACK}*;?{WHITE} { /* got the include identifier */
+ String s = YYText () + 1;
+ strip_trailing_white (s);
+ if (s.length_i () && (s[s.length_i () - 1] == ';'))
+ s = s.left_str (s.length_i () - 1);
+ DOUT << "#include `\\" << s << "'\n";
+ Identifier * id = lookup_identifier (s);
+ if (id)
+ {
+ String* s_p = id->string ();
+ DOUT << "#include `" << *s_p << "\'\n";
+ new_input (*s_p, source_global_l);
+ delete s_p;
+ yy_pop_state ();
+ }
+ else
+ {
+ String msg ("Undefined identifier: `" + s + "'");
+ LexerError (msg.ch_C ());
+ }
+}
<incl>\"[^"]* { // backup rule
cerr << "missing end quote" << endl;
exit (1);
exit (1);
}
<notes>{
- {ALPHAWORD}/\' {
- post_quotes_b_ = true;
- return scan_bare_word (YYText ());
- }
- \'+ {
- yylval.i = YYLeng ();
- if (post_quotes_b_) {
- post_quotes_b_ = false;
- return POST_QUOTES;
- } else
- return PRE_QUOTES;
- }
+
{ALPHAWORD} {
return scan_bare_word (YYText ());
DOUT << "(notename)\n";
yylval.melreq = mel_l;
mel_l->set_spot (Input (source_file_l (), here_ch_C ()));
- return NOTENAME_ID;
+ return NOTENAME_IDENTIFIER;
}
}
+ if (check_debug)
+ print_declarations (true);
String msg ("Unknown escaped string: `" + str + "'");
LexerError (msg.ch_C ());
DOUT << "(string)";
DOUT << "(notename)\n";
yylval.melreq = mel_l;
mel_l->set_spot (Input (source_file_l (), here_ch_C ()));
- return NOTENAME_ID;
+ return NOTENAME_IDENTIFIER;
}
}
return YY_START == lyrics;
}
+/*
+ urg, belong to String(_convert)
+ and should be generalised
+ */
void
-strip_trailing_white (String&s)
+strip_leading_white (String&s)
{
int i=0;
for (; i < s.length_i (); i++)
}
void
-strip_leading_white (String&s)
+strip_trailing_white (String&s)
{
int i=s.length_i ();
while (i--)
s = s.left_str (i+1);
}
+
#include "paper-def.hh"
#include "lookup.hh"
#include "paper-def.hh"
+#include "main.hh"
Lyric_engraver::Lyric_engraver()
{
{
if (lyric_item_p_)
{
+ /*
+ urg. should check-out deriving from staff/line spanner
+ */
+ if (experimental_features_global_b)
+ {
+ if (lyric_item_p_->tdef_p_->static_name () == Text_def::static_name ())
+ {
+ Text_def* t = (Text_def*)lyric_item_p_->tdef_p_;
+ t->text_str_ += "\\hrule 1mm 10mm 20mm";
+ }
+ }
typeset_element (lyric_item_p_);
lyric_item_p_ =0;
}
#include "source-file.hh"
#include "parseconstruct.hh"
#include "main.hh"
+#include "scope.hh"
static Keyword_ent the_key_tab[]={
{"accepts", ACCEPTS},
My_lily_lexer::My_lily_lexer()
{
keytable_p_ = new Keyword_table (the_key_tab);
- identifier_p_dict_p_ = new Dictionary<Identifier*>;
+ toplevel_scope_p_ = new Scope;
+ scope_l_arr_.push (toplevel_scope_p_);
errorlevel_i_ = 0;
- post_quotes_b_ = false;
note_tab_p_ = new Notename_table;
}
Identifier*
My_lily_lexer::lookup_identifier (String s)
{
- if (!identifier_p_dict_p_->elt_b (s))
- return 0;
-
- return (*identifier_p_dict_p_)[s];
+ for (int i = scope_l_arr_.size (); i--; )
+ if (scope_l_arr_[i]->elt_b (s))
+ return (*scope_l_arr_[i])[s];
+ return 0;
}
void
}
void
-My_lily_lexer::set_identifier (String name_str, Identifier*i)
+My_lily_lexer::set_identifier (String name_str, Identifier* i, bool unique_b)
{
Identifier *old = lookup_identifier (name_str);
if (old)
{
- old->warning(_("redeclaration of \\") + name_str);
+ if (unique_b)
+ old->warning(_("redeclaration of \\") + name_str);
delete old;
}
- (*identifier_p_dict_p_)[name_str] = i;
+ (*scope_l_arr_.top ())[name_str] = i;
}
My_lily_lexer::~My_lily_lexer()
{
delete keytable_p_;
+ delete toplevel_scope_p_ ;
+
- for (Assoc_iter<String,Identifier*>
- ai (*identifier_p_dict_p_); ai.ok(); ai++)
- {
- DOUT << "deleting: " << ai.key()<<'\n';
- delete ai.val();
- }
delete note_tab_p_;
- delete identifier_p_dict_p_;
}
+
void
My_lily_lexer::print_declarations (bool init_b) const
{
- for (Assoc_iter<String,Identifier*> ai (*identifier_p_dict_p_);
- ai.ok(); ai++)
+ for (int i=scope_l_arr_.size (); i--; )
{
- if (ai.val()->init_b_ == init_b)
- {
- DOUT << ai.key() << '=';
- ai.val()->print ();
- }
+ DOUT << "Scope no. " << i << "\n";
+ scope_l_arr_[i]->print ();
}
}
#include "parser.hh"
#include "header.hh"
#include "file-results.hh"
+#include "midi-def.hh"
+#include "paper-def.hh"
+#include "identifier.hh"
My_lily_parser::My_lily_parser (Sources * source_l)
{
{
set_nearest (melodic);
int d = melodic->pitch () - last_melodic_->pitch ();
+ int shift = 0;
if (quotes && (sign (d) == sign (quotes)))
- quotes -= sign (quotes);
- melodic->octave_i_ += quotes;
+ shift -= sign (quotes);
+ if (!quotes && (abs (d) == 6))
+ {
+ String str = _("Octave ambiguity; assuming ");
+ /*
+ [TODO]
+ figure this out.
+
+ If the distance is exactly*) half an octave, there is
+ no nearest pitch. In that case, we'll try to guess what
+ composer/ typist meant.
+ Firstly, we'll do this by comparing the 'notename distance':
+
+ f b' % name-distance: f g a b: 3
+
+ is surely a shorter notename distance than
+
+ f 'b % name-distance: b c d e f: 4
+
+ (should we give a warning at all, or can we safely assume
+ this is a positive interval up?)
+
+ *) It is conceivable that, musically speaking, the interval
+ with the greater pitch-distance is thought to be smaller?
+
+ */
+
+ int name_delta = melodic->notename_i_ - last_melodic_->notename_i_;
+ int name_near = abs (name_delta) % 7;
+ int name_wrap = (7 - abs (name_delta)) % 7;
+ if (name_near != name_wrap)
+ shift = name_near < name_wrap ? sign (name_delta) : -sign (name_delta);
+ else if (sign (last_melodic_->accidental_i_)
+ != sign (melodic->accidental_i_))
+ shift = last_melodic_->accidental_i_ - melodic->accidental_i_;
+ else
+ shift = -1;
+ String name_str = notename_str (melodic);
+ str += shift > 0 ? name_str + "'" : "'" + name_str;
+ if (sign (d) == sign (shift))
+ shift = 0;
+ melodic->warning (str);
+ }
+ melodic->octave_i_ += quotes + shift;
}
else
{
if (e)
{
int d = melodic->pitch () - last_melodic_->pitch ();
- String str = _("Interval bigger than quart");
+ String str = _("Interval greater than quart");
int n = 1 + (abs (d) - 1) / 12;
String quote_str ('\'', n);
-#if 0
- str += d < 0 ? _(", prepend: ") : _(", append: ");
- str += quote_str;
-#else
str += _(", relative: ");
String name_str = notename_str (melodic);
str += d < 0 ? quote_str + name_str : name_str + quote_str;
-#endif
melodic->warning (str);
}
}
lexer_p_->add_notename (s, m_p);
}
+Paper_def*
+My_lily_parser::default_paper_p ()
+{
+ Identifier *id = lexer_p_->lookup_identifier ("default_paper");
+ return id ? id->paperdef () : new Paper_def ;
+}
+
+Midi_def*
+My_lily_parser::default_midi_p ()
+{
+ Identifier *id = lexer_p_->lookup_identifier ("default_midi");
+ return id ? id->mididef () : new Midi_def ;
+}
+
}
+Interval
+Note_column::width () const
+{
+ if (head_l_arr_.size ())
+ return head_l_arr_[0]->width ();
+ else
+ return Interval (0,0);
+}
+
void
Note_column::do_pre_processing()
{
#include "assoc-iter.hh"
#include "score-grav.hh"
#include "p-score.hh"
+#include "identifier.hh"
#include "main.hh"
+#include "scope.hh"
Paper_def::Paper_def ()
{
lookup_p_ = 0;
- real_vars_p_ = new Dictionary<Real>;
+ scope_p_ = new Scope;
}
Paper_def::~Paper_def ()
{
- delete real_vars_p_;
+ delete scope_p_;
delete lookup_p_;
}
: Music_output_def (s)
{
lookup_p_ = s.lookup_p_? new Lookup (*s.lookup_p_) : 0;
- lookup_p_->paper_l_ = this;
- real_vars_p_ = new Dictionary<Real> (*s.real_vars_p_);
-}
-
-void
-Paper_def::set_var (String s, Real r)
-{
- real_vars_p_->elem (s) = r;
+ if (lookup_p_)
+ {
+ lookup_p_->paper_l_ = this;
+ }
+ scope_p_ = new Scope (*s.scope_p_);
}
Real
Paper_def::get_var (String s) const
{
- if (! real_vars_p_->elt_b (s))
+ if (!scope_p_->elt_b (s))
error (_ ("unknown paper variable `") + s+"'");
- return real_vars_p_->elem (s);
+ Real * p = scope_p_->elem (s)->real ();
+ Real r = *p;
+ delete p;
+ return r;
}
Interval
Paper_def::line_dimensions_int (int n) const
{
- if (!shape_int_a_.size ())
+ if (!shape_int_a_.size ())
if (n)
return Interval (0, linewidth_f ());
else
#ifndef NPRINT
Music_output_def::print ();
DOUT << "Paper {";
- lookup_p_->print ();
- for (Assoc_iter<String,Real> i (*real_vars_p_); i.ok (); i++)
+ if (lookup_p_)
+ lookup_p_->print ();
+ for (Assoc_iter<String,Identifier*> i (*scope_p_); i.ok (); i++)
{
- DOUT << i.key () << "= " << i.val () << "\n";
+ DOUT << i.key () << "= ";
+// i.val ()->print ();
+// urg
+ DOUT << i.val ()->str () << "\n";
}
DOUT << "}\n";
#endif
Paper_def::TeX_output_settings_str () const
{
String s ("\n ");
- for (Assoc_iter<String,Real> i (*real_vars_p_); i.ok (); i++)
- s += String ("\\def\\mudelapaper") + i.key () + "{" + i.val () + "}\n";
+ for (Assoc_iter<String,Identifier*> i (*scope_p_); i.ok (); i++)
+ s += String ("\\def\\mudelapaper") + i.key ()
+ + "{" + i.val ()->str () + "}\n";
s += lookup_p_->texsetting + "% (Tex id)\n";
return s;
}
{
return default_count_i_ ++;
}
+
#include "change-translator.hh"
#include "file-results.hh"
#include "mudela-version.hh"
+#include "scope.hh"
// mmm
-Mudela_version oldest_version ("0.1.8");
-Mudela_version version ("0.1.13");
+Mudela_version oldest_version ("0.1.14");
+Mudela_version version ("0.1.14");
// needed for bison.simple's malloc() and free()
%type <i> dots
%token <i> DIGIT
-%token <melreq> NOTENAME_ID
+%token <melreq> NOTENAME_IDENTIFIER
%token <id> DURATION_IDENTIFIER
%token <id> IDENTIFIER
%token <id> MELODIC_REQUEST_IDENTIFIER
%token <id> SCRIPT_IDENTIFIER
%token <id> COMMAND_IDENTIFIER
%token <id> REAL_IDENTIFIER
+%token <id> STRING_IDENTIFIER
%token <id> TRANS_IDENTIFIER
%token <id> INT_IDENTIFIER
%token <id> SCORE_IDENTIFIER
%token <string> DURATION RESTNAME
%token <string> STRING
%token <i> UNSIGNED
-%token <i> POST_QUOTES
-%token <i> PRE_QUOTES
+
%type <outputdef> output_def
%type <header> mudela_header mudela_header_body
%type <i> open_request_parens close_request_parens
%type <i> open_abbrev_parens
%type <i> open_plet_parens close_plet_parens
-%type <i> post_quotes pre_quotes
+%type <i> sub_quotes sup_quotes
%type <music> simple_element music_elt full_element lyrics_elt command_elt
%type <i> abbrev_type
%type <i> int unsigned
%type <i> script_dir
-%type <id> identifier_init
+%type <id> identifier_init simple_identifier_init
%type <duration> explicit_steno_duration notemode_duration
%type <duration> entered_notemode_duration explicit_duration
%type <interval> dinterval
%type <musiclist> Voice Voice_body
%type <chord> Chord Chord_body
%type <paper> paper_block paper_body
-%type <real> dim real real_expression
-%type <real> real_add_expression real_mult_expression real_primary
+%type <real> dim real
+%type <real> real_mult_expression real_primary
%type <real> unit
%type <request> abbrev_command_req
%type <request> post_request structured_post_request
%type <pair> plet_fraction
%type <request> command_req verbose_command_req
%type <request> script_req dynamic_req
+%type <string> string
+%type <string> string_primary
%type <score> score_block score_body
%type <intarr> shape_array
%type <script> script_definition script_body mudela_script gen_script_def
STRING {
THIS->remember_spot ();
}
- /* cont */ '=' identifier_init {
+ /* cont */ '=' identifier_init optional_semicolon {
THIS->lexer_p_->set_identifier (*$1, $4);
$4->init_b_ = THIS->init_parse_b_;
$4->set_spot (THIS->pop_spot ());
identifier_init:
score_block {
- $$ = new Score_id ($1, SCORE_IDENTIFIER);
+ $$ = new Score_identifier ($1, SCORE_IDENTIFIER);
}
| paper_block {
- $$ = new Paper_def_id ($1, PAPER_IDENTIFIER);
-
+ $$ = new Paper_def_identifier ($1, PAPER_IDENTIFIER);
}
| midi_block {
- $$ = new Midi_def_id ($1, MIDI_IDENTIFIER);
+ $$ = new Midi_def_identifier ($1, MIDI_IDENTIFIER);
}
| script_definition {
- $$ = new Script_id ($1, SCRIPT_IDENTIFIER);
+ $$ = new General_script_def_identifier ($1, SCRIPT_IDENTIFIER);
}
| Music {
- $$ = new Music_id ($1, MUSIC_IDENTIFIER);
+ $$ = new Music_identifier ($1, MUSIC_IDENTIFIER);
}
| symtables {
- $$ = new Lookup_id ($1, IDENTIFIER);
+ $$ = new Lookup_identifier ($1, IDENTIFIER);
}
- | real {
- $$ = new Real_id (new Real ($1), REAL_IDENTIFIER);
- }
- | int {
- $$ = new Int_id (new int ($1), INT_IDENTIFIER);
- }
| post_request {
- $$ = new Request_id ($1, POST_REQUEST_IDENTIFIER);
+ $$ = new Request_identifier ($1, POST_REQUEST_IDENTIFIER);
}
| melodic_request {
- $$ = new Request_id ($1, MELODIC_REQUEST_IDENTIFIER);
+ $$ = new Request_identifier ($1, MELODIC_REQUEST_IDENTIFIER);
}
- | translator_spec {
- $$ = new Translator_id ($1, TRANS_IDENTIFIER);
- }
| explicit_duration {
- $$ = new Duration_id ($1, DURATION_IDENTIFIER);
+ $$ = new Duration_identifier ($1, DURATION_IDENTIFIER);
+ }
+ | simple_identifier_init
+ ;
+
+simple_identifier_init:
+ real {
+ $$ = new Real_identifier (new Real ($1), REAL_IDENTIFIER);
+ }
+ | string {
+ $$ = new String_identifier ($1, STRING_IDENTIFIER);
+ }
+ | int {
+ $$ = new int_identifier (new int ($1), INT_IDENTIFIER);
+ }
+ | translator_spec {
+ $$ = new Translator_identifier ($1, TRANS_IDENTIFIER);
}
;
$$->set_spot (THIS->here_input ());
delete $2;
}
- | translator_spec_body STRING '=' scalar ';' {
+ | translator_spec_body STRING '=' scalar ';' {
$$-> set_property (*$2, *$4);
delete $2;
delete $4;
}
- | translator_spec_body CONSISTS STRING ';' {
+ | translator_spec_body CONSISTS STRING ';' {
$$->group_l ()->consists_str_arr_.push (*$3);
delete $3;
}
$$ = $4;
$$->set_spot (THIS->pop_spot ());
if (!$$->def_p_arr_.size ())
- $$->add (THIS->default_paper ());
+ $$->add (THIS->default_paper_p ());
/* handle error levels. */
$$->errorlevel_i_ = THIS->error_level_i_;
PAPER
*/
paper_block:
- PAPER
- '{' paper_body '}' { $$ = $3; }
+ PAPER '{' paper_body '}' {
+ $$ = $3;
+ THIS-> lexer_p_->scope_l_arr_.pop ();
+ }
;
optional_semicolon:
paper_body:
/* empty */ {
- $$ = THIS->default_paper ();
+ Paper_def *p = THIS->default_paper_p ();
+ THIS-> lexer_p_-> scope_l_arr_.push (p->scope_p_);
+ $$ = p;
}
| PAPER_IDENTIFIER optional_semicolon {
- $$ = $1->paperdef ();
+ Paper_def *p = $1->paperdef ();
+ THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
+ $$ = p;
}
| paper_body OUTPUT STRING ';' {
$$->outfile_str_ = *$3;
delete $3;
}
| paper_body symtables { $$->set ($2); }
- | paper_body STRING '=' real_expression ';' {
- $$->set_var (*$2, $4);
-// ugh, huh?
- current_paper = $$;
+ | paper_body STRING '=' simple_identifier_init optional_semicolon {
+ Identifier* id = $4;
+ id->init_b_ = THIS->init_parse_b_;
+ if (id->is_type_b (Translator_identifier::static_name ()))
+ {
+ $$->assign_translator (*$2, id->translator ());
+ delete id;
+ }
+ else
+ THIS->lexer_p_->set_identifier (*$2, id);
}
+/*
| paper_body STRING '=' translator_spec {
$$-> assign_translator (*$2, $4);
delete $2;
}
+*/
| paper_body SHAPE '=' shape_array ';' {
$$->shape_int_a_ = *$4;
delete $4;
;
real_primary:
- real
- | dim
- | STRING {
-// ugh, huh?
-// $$ = THIS->default_paper ()->get_var (*$1);
- $$ = current_paper->get_var (*$1);
+ REAL {
+ $$ = $1;
+ }
+ | REAL_IDENTIFIER {
+ Real *r_p = $1->real ();
+ $$ = * r_p;
+ DOUT << "Lookup real: " << *r_p << "\n";
+ delete r_p;
}
- | '(' real_expression ')' {
+ | dim
+ | '(' real ')' {
$$ = $2;
}
;
-real_expression:
- real_add_expression
- ;
-
-real_add_expression:
+real:
real_mult_expression
- | real_add_expression '+' real_mult_expression {
+ | real '+' real_mult_expression {
$$ = $1 + $3;
}
- | real_add_expression '-' real_mult_expression {
+ | real '-' real_mult_expression {
$$ = $1 - $3;
}
;
;
midi_body: /* empty */ {
- $$ = THIS->default_midi ();
+ $$ = THIS->default_midi_p ();
}
| midi_body STRING '=' translator_spec {
$$-> assign_translator (*$2, $4);
$$ = new Voice;
$$->set_spot (THIS->here_input ());
}
- | Voice_body Music {
+ | Voice_body Music {
$$->add ($2);
}
;
| Voice { $$ = $1; }
| Chord { $$ = $1; }
| transposed_music { $$ = $1; }
- | MUSIC_IDENTIFIER { $$ = $1->music (); }
- | MUSIC_IDENTIFIER ';' { $$ = $1->music (); }
+ | MUSIC_IDENTIFIER { $$ = $1->music (); }
| MELODIC
{ THIS->lexer_p_->push_note_state (); }
Music
}
;
-pre_quotes:
- PRE_QUOTES {
-// int i = $1;
- $$ = $1;
+sup_quotes:
+ '\'' {
+ $$ = 1;
}
- | pre_quotes PRE_QUOTES {
-// int i = $1 + $2;
- $$ = $1 + $2;
+ | sup_quotes '\'' {
+ $$ ++;
}
;
-
-post_quotes:
- POST_QUOTES {
-// int i = $1;
- $$ = $1;
+sub_quotes:
+ ',' {
+ $$ = 1;
}
- | post_quotes POST_QUOTES {
-// int i = $1 + $2;
- $$ = $1 + $2;
+ | sub_quotes ',' {
+ $$++ ;
}
;
jcn
*/
steno_melodic_req:
- NOTENAME_ID {
+ NOTENAME_IDENTIFIER {
Melodic_req* m = $1->clone ()->musical ()->melodic ();
$$ = THIS->get_melodic_req (m, 0 + THIS->default_octave_i_);
}
- | NOTENAME_ID post_quotes {
+ | NOTENAME_IDENTIFIER sup_quotes {
Melodic_req* m = $1->clone ()->musical ()->melodic ();
$$ = THIS->get_melodic_req (m, $2 + THIS->default_octave_i_);
}
- | pre_quotes NOTENAME_ID {
- Melodic_req* m = $2->clone ()->musical ()->melodic ();
- $$ = THIS->get_melodic_req (m, -$1 + THIS->default_octave_i_);
+ | NOTENAME_IDENTIFIER sub_quotes {
+ Melodic_req* m = $1->clone ()->musical ()->melodic ();
+ $$ = THIS->get_melodic_req (m, -$2 + THIS->default_octave_i_);
}
;
c' -> default_octave_i_ == 1
*/
+
/* why can't we have \oct 0 iso \oct{c'}*/
- THIS->default_octave_i_ = 1; }
-/* cont */
+ // because that's silly.
+
+ // for relative octaves, the octave setting is done
+ // automatically by the parsing of steno_melodic_req!
+ if (!THIS->relative_octave_mode_b_)
+ THIS->default_octave_i_ = 1;
+ }
+ /* cont */
steno_melodic_req {
- THIS->default_octave_i_ = $3->octave_i_;
+ if (!THIS->relative_octave_mode_b_)
+ THIS->default_octave_i_ = $3->octave_i_;
delete $3;
}
| OCTAVE STRING {
pitch_list: {
$$ = new Array<Melodic_req*>;
}
- | pitch_list NOTENAME_ID {
+ | pitch_list NOTENAME_IDENTIFIER {
$$->push ($2->clone ()->musical ()->melodic ());
}
;
}
;
-real:
- REAL {
+string_primary:
+ STRING {
$$ = $1;
}
- | REAL_IDENTIFIER {
- Real *r_p = $1->real ();
- $$ = * r_p;
- delete r_p;
+ | STRING_IDENTIFIER {
+ String *s_p = $1->string ();
+ // $$ = * r_p;
+ $$ = s_p;
+ DOUT << "Lookup string: " << *s_p << "\n";
}
;
-
+string:
+ string_primary {
+ $$ = $1;
+ }
+ | string '+' string_primary {
+ *$$ += *$3;
+ delete $3;
+ }
+ ;
dim:
- real unit { $$ = $1*$2; }
+ real_primary unit { $$ = $1*$2; }
;
yyparse ((void*)this);
}
-Paper_def*
-My_lily_parser::default_paper ()
-{
- Identifier *id = lexer_p_->lookup_identifier ("default_paper");
- return id ? id->paperdef () : new Paper_def ;
-}
-
-Midi_def*
-My_lily_parser::default_midi ()
-{
- Identifier *id = lexer_p_->lookup_identifier ("default_midi");
- return id ? id->mididef () : new Midi_def ;
-}
-
#include "stem.hh"
#include "text-def.hh"
+
+/*
+ UHGUGH THIS IS BROKEN! do not derive from Bow
+ */
IMPLEMENT_IS_TYPE_B1 (Plet_spanner,Bow);
Plet_spanner::Plet_spanner ()
do
{
Stem* s = stem_l_drul_[d] ? stem_l_drul_[d] : stem_l_drul_[(Direction)-d];
+
dy_f_drul_[d] = dir_ == s->get_dir () ? s->stem_end_f ()
- : s->stem_begin_f () + dir_ * nh_f / 2;
+ : s->stem_begin_f () + dir_ * nh_f / 2;
dy_f_drul_[d] *= .5 * interline_f;
dy_f_drul_[d] += dir_ * interline_f;
if (d == RIGHT)
dx_f_drul_[d] = nw_f;
}
while (flip(&d) != LEFT);
+ do {
+ if (stem_l_drul_[d]->empty_b ())
+ {
+ dy_f_drul_[d] = dy_f_drul_[flip (&d)]; // ughugh \[/3 r8 c8 r8 \]/1
+ }
+ }
+ while (flip(&d) != LEFT);
}
void
--- /dev/null
+/*
+ scope.cc -- implement Scope
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+ */
+
+#include "scope.hh"
+#include "assoc-iter.hh"
+#include "debug.hh"
+#include "identifier.hh"
+
+void
+Scope::print () const
+{
+ bool init_b = false; // ugh
+ for (Assoc_iter<String,Identifier*> ai (*this); ai.ok(); ai++)
+ {
+ if (ai.val()->init_b_ == init_b)
+ {
+ DOUT << ai.key() << '=';
+ ai.val()->print ();
+ }
+ }
+}
+
+Scope::~Scope ()
+{
+ for (Assoc_iter<String,Identifier*> ai (*this); ai.ok(); ai++)
+ {
+ DOUT << "deleting: " << ai.key()<<'\n';
+ delete ai.val();
+ }
+}
+
+Scope::Scope (Scope const&s)
+ : Dictionary<Identifier*> (s)
+{
+ for (Assoc_iter<String,Identifier*> ai (s); ai.ok(); ai++)
+ {
+ (*this)[ai.key ()] = ai.val ()->clone ();
+ }
+}
+
+Scope::Scope ()
+{}
Cpu_timer timer;
Global_translator * trans_p = odef_l->get_global_translator_p();
if (!trans_p)
- return ;
-
+ {
+ non_fatal_error ("No toplevel translator.");
+ return ;
+ }
*mlog << _("\nInterpreting music ...");
trans_p->last_mom_ = music_p_->time_int().max ();
/*
[TODO]
+ * URG: share code with tie
* begin and end should be treated as a Script.
* damping
* slur from notehead to stemend: c''()b''
*/
if (extrema[d] != spanned_drul_[d])
{
+ // ugh -- check if needed
dx_f_drul_[d] = -d
- *(spanned_drul_[d]->width ().length () -0.5 * notewidth_f);
+ *(spanned_drul_[d]->width ().length () - 0.5 * notewidth_f);
// prebreak
if (d == RIGHT)
{
dx_f_drul_[LEFT] = spanned_drul_[LEFT]->width ().length ();
- // urg
+ // urg -- check if needed
if (encompass_arr_.size () > 1)
dx_f_drul_[RIGHT] += notewidth_f;
}
*/
else if (extrema[d]->stem_l_ && !extrema[d]->stem_l_->transparent_b_)
{
+ Real notewidth_f = extrema[d]->width ().length ();
dy_f_drul_[d] = (int)rint (extrema[d]->stem_l_->height ()[dir_]);
dx_f_drul_[d] += 0.5 * notewidth_f - d * gap_f;
if (dir_ == extrema[d]->stem_l_->dir_)
}
else
{
+ Real notewidth_f = extrema[d]->width ().length ();
dy_f_drul_[d] = (int)rint (extrema[d]->head_positions_interval ()
[dir_]) * internote_f;
+ dx_f_drul_[d] += 0.5 * notewidth_f - d * gap_f;
}
dy_f_drul_[d] += dir_ * interline_f;
+ if (extrema[d]->stem_l_ && (dir_ == extrema[d]->stem_l_->dir_))
+ dy_f_drul_[d] -= dir_ * internote_f;
}
while (flip(&d) != LEFT);
}
}
while (flip(&d) != LEFT);
+
+ /*
+ Avoid too steep slurs.
+ * slur from notehead to stemend: c''()b''
+ */
+ Real damp_f = paper ()->get_var ("slur_slope_damping");
+ Offset d_off = Offset (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT],
+ dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
+ d_off.x () += width ().length ();
+
+ Real ratio_f = abs (d_off.y () / d_off.x ());
+ if (ratio_f > damp_f)
+ dy_f_drul_[(Direction)(- dir_ * sign (d_off.y ()))] -=
+ dir_ * (damp_f - ratio_f) * d_off.x ();
}
Array<Offset>
WARN << _("solution doesn't satisfy constraints.\n") ;
}
position_loose_cols (solution_vec);
- positions->energy_f_ = calculate_energy_f (solution_vec) / energy_normalisation_f_;
+ positions->energy_f_ = calculate_energy_f (solution_vec);
positions->config = solution_vec;
positions->error_col_l_arr_ = error_pcol_l_arr();
}
get_ruling_durations(shortest_playing_arr, context_shortest_arr);
Real interline_f = paper_l ()->interline_f ();
- Real nw_f = paper_l ()->note_width ();
+
Array<Real> ideal_arr_;
Array<Real> hooke_arr_;
+ interline_f / 2;
dist = dist >? minimum;
}
-
- // ugh: never let columns touch... try to set over here...
- // ugh: use j iso i triggers ice in gcc-2.7.2.3
- cols_[i].width_[LEFT] -= nw_f / 4;
ideal_arr_[i] = dist;
}
}
Scalar prop = get_property ("ydirection");
dir_ = prop.isnum_b () ? (Direction)int(prop) : CENTER;
if (dir_)
- stem_p_->dir_ = dir_;
+ {
+ stem_p_->dir_ = dir_;
+ stem_p_->dir_forced_b_ = true;
+ }
typeset_element(stem_p_);
stem_p_ = 0;
{
x_ = s->hpos_f ();
dir_ = s->dir_;
+ beam_dir_ = s->beam_dir_;
mult_i_ = s->mult_i_;
/*
For simplicity, we'll assume dir = UP and correct if
dir = DOWN afterwards.
*/
- idealy_f_ = s->chord_start_f () * dir_ / internote_f;
+ idealy_f_ = s->chord_start_f () * beam_dir_ / internote_f;
idealy_f_ *= internote_f;
- idealy_f_ += interbeam_f * mult_i_;
- miny_f_ = idealy_f_;
+ if (!beam_dir_ || (beam_dir_ == dir_))
+ {
+ idealy_f_ += interbeam_f * mult_i_;
+ miny_f_ = idealy_f_;
+ maxy_f_ = INT_MAX;
- // B"arenreiter
- if (mult_i_ < 3)
- idealy_f_ += 2.0 * interline_f;
+ // B"arenreiter
+ if (mult_i_ < 3)
+ idealy_f_ += 2.0 * interline_f;
+ else
+ idealy_f_ += 1.5 * interline_f;
+
+ miny_f_ += 1.0 * interline_f;
+
+ // lowest beam of (UP) beam must never be lower than second staffline
+ miny_f_ = miny_f_ >? (- 2 * internote_f - beam_f
+ + (mult_i_ > 0) * beam_f + interbeam_f * (mult_i_ - 1));
+ }
else
- idealy_f_ += 1.5 * interline_f;
+ {
+ idealy_f_ -= beam_f;
+ maxy_f_ = idealy_f_;
+
+ // B"arenreiter
+ if (mult_i_ < 3)
+ idealy_f_ -= 2.0 * interline_f;
+ else
+ idealy_f_ -= 1.5 * interline_f;
- miny_f_ += 1.0 * interline_f;
+ maxy_f_ -= 1.0 * interline_f;
- // lowest beam of (UP) beam must never be lower than second staffline
- miny_f_ = miny_f_ >? (- 2 * internote_f - beam_f
- + (mult_i_ > 0) * beam_f + interbeam_f * (mult_i_ - 1));
+ miny_f_ = -INT_MAX;
+ }
idealy_f_ /= internote_f;
miny_f_ /= internote_f;
-
+ maxy_f_ /= internote_f;
+ miny_f_ /= internote_f;
DOUT << "dir_: " << dir_ << '\n';
DOUT << "mult_i_: " << mult_i_ << '\n';
DOUT << "idealy_f_: " << idealy_f_ << '\n';
DOUT << "miny_f_: " << miny_f_ << '\n';
+ DOUT << "maxy_f_: " << maxy_f_ << '\n';
-
+ idealy_f_ = maxy_f_ <? idealy_f_;
idealy_f_ = miny_f_ >? idealy_f_;
}
yextent_drul_[DOWN] = yextent_drul_[UP] = 0;
flag_i_ = 2;
dir_ = CENTER;
+ beam_dir_ = CENTER;
+ dir_forced_b_ = false;
stem_xdir_ = LEFT;
staff_size_i_ = 8;
}
return r;
}
+
Real
Stem::hpos_f () const
{
- return note_delta_f () +Item::hpos_f ();
+ return note_delta_f () + Item::hpos_f ();
}
/*
head_l_arr_.substitute ((Note_head*)o_l, (Note_head*)n_l);
rest_l_arr_.substitute ((Rest*)o_l, (Rest*)n_l);
}
+
IPLC_INSTANTIATE(Score_elem);
IPLC_INSTANTIATE(Spanner);
IPLC_INSTANTIATE(Idealspacing);
+
+/* these are required at least on IRIX 5 and SunOS 4 */
+
+#if 0
+/*
+ what gcc version?
+ they're in lib/template.cc too, and break linux/gcc-2.7.2
+ are you sure they must be here too?
+
+ for now, i'll just change the switch in lib/template.cc
+ jcn
+ */
+
+#if defined (__linux__) && && __GNUC_MINOR__ < 8
+
+#include "list.tcc"
+
+// template class List<void *>;
+// template class Cursor<void *>;
+
+// this should work too, and
+LIST_INSTANTIATE (void *);
+
+#endif
+
+#endif
void
Tie::do_post_processing()
{
+ // URG: share code with slur!
assert (head_l_drul_[LEFT] || head_l_drul_[RIGHT]);
Real notewidth = paper ()->note_width ();
}
}
while (flip(&d) != LEFT);
+
+ /*
+ Avoid too steep ties
+ * slur from notehead to stemend: c''()b''
+ */
+ Real damp_f = paper ()->get_var ("tie_slope_damping");
+ Offset d_off = Offset (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT],
+ dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
+ d_off.x () += width ().length ();
+
+ Real ratio_f = abs (d_off.y () / d_off.x ());
+ if (ratio_f > damp_f)
+ dy_f_drul_[(Direction)(- dir_ * sign (d_off.y ()))] -=
+ dir_ * (damp_f - ratio_f) * d_off.x ();
}
void
# special rules for the documentation section.
# There are too many to add to the general rules
-.SUFFIXES: .pod .txt .1 .html
+.SUFFIXES: .pod .1 $(DOTTEXT) .html
pod2html=pod2html
pod2groff=pod2man --center="LilyPond documentation" --section="0"\
$(outdir)/%.mudtex: %.doc
$(depth)/bin/out/mudela-book --outdir=$(outdir)/ --outname=$(notdir $@) $<
-$(outdir)/%.txt: $(outdir)/%.1
+$(outdir)/%$(DOTTEXT): $(outdir)/%.1
troff -man -Tascii $< | grotty -b -u -o > $@
-$(depth)/%.txt: $(outdir)/%.txt
+#$(depth)/%$(DOTTEXT): $(outdir)/%$(DOTTEXT)
+# urg
+# $(depth)/%$(DOTTEXT): out/%$(DOTTEXT)
+# cp $< $@
+# huh?
+$(outdir)/%$(DOTTEXT): $(depth)/%
cp $< $@
-
# perl 5.003/4
POD2HTML5004=$(POD2HTML) --noindex --infile $< --outfile=$@; sh $(depth)/bin/add-URLs.sh $@
LSMENTRY=$(outdir)/lilypond.lsm
RPMSPEC=$(outdir)/lilypond.spec
+RPMRC=$(outdir)/rpmrc
IN_FILES = $(wildcard *.in)
EXTRA_DISTFILES = $(IN_FILES)
OUT_DISTFILES= $(outdir)/lelievijver.lsm $(LSMENTRY) $(RPMSPEC)
include ./$(depth)/make/Targets.make
include ./$(depth)/make/Rules.make
-default: $(RPMSPEC) $(LSMENTRY)
+default: $(RPMSPEC) $(LSMENTRY) $(RPMRC)
rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README
sed-date=sed 's!@DATE@!${date}!g'
sed-examples = sed 's!@EXAMPLE_LYS@!${rpmexamples} ${rpmmudocs}!g'
sed-docs=sed 's!@TEXT_DOCS@!${rpmdocs}!g'
+sed-dottext=sed 's!@DOTTEXT@!${DOTTEXT}!g'
+sed-rootdir=sed 's!@LILYPOND_ROOTDIR@!${LILYPOND_ROOTDIR}!g'
$(outdir)/%.spec: %.spec.in $(depth)/VERSION
- cat $< | $(sed-version) | $(sed-docs) | $(sed-examples) > $@
+ cat $< | $(sed-version) | $(sed-docs) | $(sed-examples) \
+ | $(sed-dottext)> $@
$(outdir)/%.lsm: %.lsm.in $(depth)/VERSION
cat $< | $(sed-version) | $(sed-date) > $@
+$(outdir)/%: %.in
+ cat $< | $(sed-rootdir) > $@
mv $(name-stem)-page*.gif $(outdir)/
touch $@
-$(outdir)/%.ly.txt: %.ly
+$(outdir)/%.ly$(DOTTEXT): %.ly
ln -f $< $@
$(outdir)/%.dvi: %.ly
ly2dvi -o $(outdir) $<
+ -mv $(basename $<).midi $(outdir)
%.gz: %
gzip -c9 $< > $@
-
-$(depth)/%.txt: check-doc-deps
+$(depth)/%$(DOTTEXT): check-doc-deps
rm -f $@
- ln `find ${depth}/Documentation -name $@ -print|head -1 ` .
+ ln `find ${depth}/Documentation -name ${@F} -print|head -1 ` $@
$(outdir)/%.ps: $(outdir)/%.dvi
dvips -o $@ $<
# Jan Nieuwenhuizen <jan@digicash.com>
# Han-Wen Nienhuys <hanwen@stack.nl>
-.PHONY : all clean config default dist doc doc++ dummy exe help lib TAGS html\
- check-flower-deps check-lib-deps check-doc-deps
+.PHONY : all clean config default dist doc doc++ dummy exe help html lib TAGS\
+ check-flower-deps check-lib-deps check-doc-deps check-html-deps
# target all:
#
lib: $(LIBRARY)
#
-
outdirs: outdir
$(LOOP)
outdir:
- -mkdir $(outdir)
+ -mkdir -p $(outdir)
# be careful about deletion.
clean: localclean
#
doc:
- $(MAKE) -C $(depth)/Documentation do-doc
+# $(MAKE) -C $(depth)/Documentation do-doc
+ $(MAKE) -C $(depth)/Documentation all
+html: $(HTMLFILES)
# ugh. should generate in out/
dist:
chmod -Rf a+rX $(distdir)
# ugh, the ugly way, then
(cd $(distdir); rm -rf $(NO_DOOS_DIST))
- cp $(lilyout)/lilypond.exe $(distdir)
- strip -s $(distdir)/lilypond.exe
- cp $(mi2muout)/mi2mu.exe $(distdir)
- strip -s $(distdir)/mi2mu.exe
- (cd ./$(depth); $(ZIP) $(DIST_NAME).exe.zip $(distdir))
+ ln $(lilyout)/lilypond $(distdir)/bin/lilypond.exe
+ strip -s $(distdir)/bin/lilypond.exe
+ ln $(mi2muout)/mi2mu $(distdir)/bin/mi2mu.exe
+ strip -s $(distdir)/bin/mi2mu.exe
+ (cd ./$(depth); $(ZIP) $(outdir)/$(DIST_NAME).exe.zip $(distdir))
# should be trapped
rm -rf $(distdir)/
check-doc-deps:
$(MAKE) -C $(depth)/Documentation
+check-html-deps:
+ $(MAKE) -C $(depth)/Documentation html
+
$(LIBLILY): dummy
$(MAKE) ./$(outdir)/$(@F) -C $(depth)/lib
WWW: local-WWW
$(LOOP)
-local-WWW:
-
-
ifneq ($(DEPFILES),)
include $(DEPFILES)
endif
SCRIPTS = configure configure.in aclocal.m4
README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE \
COPYING ONEWS NEWS README TODO \
- INSTALL.txt AUTHORS.txt PATCHES.txt
-EXTRA_DISTFILES = config.make.in config.hh.in .dstreamrc mudela-mode.el VERSION $(README_FILES) $(SCRIPTS)
+ INSTALL$(DOTTEXT) AUTHORS$(DOTTEXT) PATCHES$(DOTTEXT)
+EXTRA_DISTFILES = config.make.in config.hh.in .dstreamrc mudela-mode.el vimrc VERSION $(README_FILES) $(SCRIPTS)
cat $< >> $@
chmod -w $@
-
-website:
+website: examples
$(MAKE) CONFIGSUFFIX='www' local-WWW
$(MAKE) CONFIGSUFFIX='www' -C Documentation WWW
- tar cfz $(outdir)/htmldoc.tar.gz `find Documentation -type d -name 'out-www' -print` out-www
+ rm -f `find . -name \*.html~ -print`
+ tar cfz $(outdir)/htmldoc.tar.gz `find Documentation -type d -name 'out-www' -print` out-www index.html
examples:
+ $(MAKE) CONFIGSUFFIX='www' outdirs
$(MAKE) CONFIGSUFFIX='www' -C input WWW
$(MAKE) CONFIGSUFFIX='www' -C mutopia WWW
tar --exclude='*.dvi' --exclude='*.tex' --exclude='*.ps' -czf $(outdir)/examples.tar.gz `find input mutopia -type d -name 'out-www' -print`
+local-WWW: index.html
-
-
-
-local-WWW: $(outdir)/index.html
-
-$(outdir)/index.html: Documentation/$(outdir)/topweb.html NEWS
+index.html: Documentation/$(outdir)/topweb.html NEWS
cp Documentation/$(outdir)/topweb.html $@
add-html-footer --news=NEWS $@
Documentation/$(outdir)/topweb.html:
make -C Documentation/ html
+
+WWW-clean:
+ $(MAKE) CONFIGSUFFIX='www' clean
else
TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)
endif
-
#
+# ugh, but it gets hairy without extension..
+DOTTEXT=.txt
+
+# for rpmrc only
+LILYPOND_ROOTDIR=$(shell cd $(depth)/..; pwd)
#
# fix naming, use TOPLEVEL_ prefix _or_ MODULE?
DIST_NAME = lilypond-$(TOPLEVEL_VERSION)
-NO_DOOS_DIST = bin flower lib lily make mi2mu out
+# NO_DOOS_DIST = bin flower lib lily make mi2mu out
+NO_DOOS_DIST = flower lib lily make mi2mu out
#
# list of object files:
-ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly.txt, $(examples)))
+ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly$(DOTTEXT), $(examples)))
ps_examples=$(addprefix $(outdir)/, $(addsuffix .ps.gz, $(examples)))
gif_examples=$(addprefix $(outdir)/, $(addsuffix .gif, $(examples)))
make -C Documentation gifs
make prefix="$RPM_BUILD_ROOT/usr" install
%files
-%doc Documentation/out/*.txt
+%doc Documentation/out/*@DOTTEXT@
%doc Documentation/tex/*.doc
%doc Documentation/tex/*.bib
%doc mutopia/*.ly
Begin3
Titel: LilyPond
-Versie: 0.1.62
-Inschrijf datum: 06MAY98
+Versie: 0.1.63
+Inschrijf datum: 12MAY98
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
hoorbare vorm uit uit een muzikale definitie file:
jan@digicash.com (Jan Nieuwenhuizen)
Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.62.tar.gz
+ 395k lilypond-0.1.63.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.62.tar.gz
+ 395k lilypond-0.1.63.tar.gz
Copi"eer politie: GPL
End
Begin3
Title: LilyPond
-Version: 0.1.62
-Entered-date: 06MAY98
+Version: 0.1.63
+Entered-date: 12MAY98
Description: LilyPond is the GNU Project music typesetter. The program
generates visual or auditive output from a music
definition file: it can typeset formatted sheet music
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 570k lilypond-0.1.62.tar.gz
+ 570k lilypond-0.1.63.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
- 570k lilypond-0.1.62.tar.gz
+ 570k lilypond-0.1.63.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 0.1.62
+Version: 0.1.63
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.62.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.63.tar.gz
Summary: A program for typesetting music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
--- /dev/null
+sourcedir: @LILYPOND_ROOTDIR@/releases
+topdir: @LILYPOND_ROOTDIR@/redhat
+builddir: @LILYPOND_ROOTDIR@/redhat/BUILD
+rpmdir: @LILYPOND_ROOTDIR@/redhat/RPMS
+srcrpmdir: @LILYPOND_ROOTDIR@/redhat/SRPMS
+
#
# list of distribution files:
-#
+
TEXFILES = $(wildcard *.tex)
MFFILES = $(wildcard *.mf)
EXTRA_DISTFILES = TODO README $(MFFILES)
-#
+
lyout = $(outdir)/
texout = $(outdir)/
LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
LOGFILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
-#
default: $(LYTABLES) $(TEXTABLES) $(LOGFILES)
-localclean:
- rm -f $(LYTABLES) $(TEXTABLES)
$(outdir)/%.dvi: %.mf
mf $<
POINTERLIST_INSTANTIATE(Mudela_column);
POINTERLIST_INSTANTIATE(Mudela_score);
+#if 0
+/*
+ what gcc version?
+ they're in lib/template.cc too, and break linux/gcc-2.7.2
+ are you sure they must be here too?
+
+ for now, i'll just change the switch in lib/template.cc
+ jcn
+
+ */
+
+#if defined (__linux__) && && __GNUC_MINOR__ < 8
+
+#include "list.tcc"
+
+// template class List<void *>;
+// template class Cursor<void *>;
+
+// this should work too, and
+LIST_INSTANTIATE (void *);
+
+#endif
+
+#endif
+
#
include ./$(depth)/make/Mutopia.make
-examples=coriolan oboi-part
+#examples=coriolan oboi-part
include $(depth)/make/WWW.make
copyright = "public domain";
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
\include "clarinetti.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "clarinetto-1.ly"
\include "clarinetto-2.ly"
}
-\version "0.1.10";
+\version "0.1.14";
clarinetto1 = \melodic{
\octave c';
}
-\version "0.1.10";
+\version "0.1.14";
clarinetto2 = \melodic{
\octave c';
c'4-. r r2 | r1 |
c'4-. r r2 | b4-. r r2 |
R1 *5 |
- r2 r4 'b4-. |
+ r2 r4 b,4-. |
}
}
-\version "0.1.10";
+\version "0.1.14";
contrabasso = \melodic{
\octave c;
- c1\ff ~ | c | 'f4-. r r2 | r1 |
- c1\ff ~ | c | 'f4-. r r2 | r1 |
- c1\ff ~ | c | 'fis4-. r r2 | r1 |
- 'g4-. r r2 | 'g4-. r r2 |
+ c1\ff ~ | c | f,4-. r r2 | r1 |
+ c1\ff ~ | c | f,4-. r r2 | r1 |
+ c1\ff ~ | c | fis,4-. r r2 | r1 |
+ g,4-. r r2 | g,4-. r r2 |
c4\p r4 r2 | c4 r4 r2 | c4 r4 r2 | r1 |
c'4.-"cresc." c'8 bes4. bes8 | as4. as8 g4\f r4 |
}
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
\include "corni.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "corno-1.ly"
\include "corno-2.ly"
% ugh, key doesn't transpose along
% \global
\meter 4/4;
- \transpose 'a \$corno1
- \transpose 'a \$corno2
+ \transpose a, \$corno1
+ \transpose a, \$corno2
>
>
}
-\version "0.1.10";
+\version "0.1.14";
corno1 = \melodic{
\octave c';
}
-\version "0.1.10";
+\version "0.1.14";
corno2 = \melodic{
\octave c';
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
\include "fagotti.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "fagotto-1.ly"
\include "fagotto-2.ly"
}
-\version "0.1.10";
+\version "0.1.14";
fagotto1 = \melodic{
\octave c;
}
-\version "0.1.10";
+\version "0.1.14";
fagotto2 = \melodic{
\octave c;
fis4-. r r2 | r1 |
g4-. r r2 | g4-. r r2 |
R1 *5 |
- r2 r4 'g4-. |
+ r2 r4 g,4-. |
}
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
\include "flauti.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "flauto-1.ly"
\include "flauto-2.ly"
}
-\version "0.1.10";
+\version "0.1.14";
flauto1 = \melodic{
\octave c'';
}
-\version "0.1.10";
+\version "0.1.14";
flauto2 = \melodic{
\octave c'';
}
-\version "0.1.10";
+\version "0.1.14";
global = \melodic{
\meter 4/4;
}
-\version "0.1.10";
+\version "0.1.14";
oboe1 = \melodic{
\octave c'';
}
-\version "0.1.10";
+\version "0.1.14";
oboe2 = \melodic{
\octave c'';
R1 *2| f4-. r r2 | R1 *3 |
f4-. r r2 | R1 *3 |
es4-. r r2 | r1 |
- es4-. r r2 | 'b4-. r r2 |
+ es4-. r r2 | b,4-. r r2 |
R1 *5 |
- r2 r4 'b4-. |
+ r2 r4 b,4-. |
}
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
\include "oboi.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "oboe-1.ly"
\include "oboe-2.ly"
-% paper20.ly
+%J.S.Bach/paper20.ly
+\version "0.1.14";
\include "table20.ly"
\include "paper20.ly"
}
-\version "0.1.10";
+\version "0.1.14";
timpani = \melodic{
\octave c;
R1 *2 | c4-.\ff r r2 | R1 *3 |
c4-. r r2 | R1 *3 |
c4-. r r2 | r1 |
- 'g4-. r r2 | 'g4-. r r2 |
+ g,4-. r r2 | g,4-. r r2 |
R1 *5 |
- r2 r4 'g4-. |
+ r2 r4 g,4-. |
}
$timpani_staff = \type Staff = timpani <
}
-\version "0.1.10";
+\version "0.1.14";
\include "global.ly"
\include "trombe.ly"
}
-\version "0.1.10";
+\version "0.1.14";
\include "trombo-1.ly"
\include "trombo-2.ly"
}
-\version "0.1.10";
+\version "0.1.14";
trombo1 = \melodic{
\octave c';
}
-\version "0.1.10";
+\version "0.1.14";
trombo2 = \melodic{
\octave c';
R1 *2 | c4-. r r2 | R1 *3 |
c4-. r r2 | R1 *3 |
c4-. r r2 | r1 |
- 'g4-. r r2 | 'g4-. r r2 |
+ g,4-. r r2 | g,4-. r r2 |
R1 *5 |
- r2 r4 'g4-. |
+ r2 r4 g,4-. |
}
}
-\version "0.1.10";
+\version "0.1.14";
viola = \melodic{
\octave c;
}
-\version "0.1.10";
+\version "0.1.14";
violino1 = \melodic{
\octave c';
c1\ff ~ | c | <as'4-. c'-. f-.> r r2 | r1 |
c1 ~ | c | <d''4-. d'-. d-.> r r2 | r1 |
c1 ~ | c | <es''4-. es'-.> r r2 | r1 |
- <g'4-. c'-. es-.> r r2 | <b4-. d-. 'g-.> r r2 |
+ <g'4-. c'-. es-.> r r2 | <b4-. d-. g,-.> r r2 |
[c8-.\p es-.] [es()d] [d-. g-.] g4-"ten." |
[c8-. es-.] [es()d] [d-. g-.] g4-"ten." |
[c8-. es-.] [es()d] [d-. as-.] [as()g] |
}
-\version "0.1.10";
+\version "0.1.14";
violino2 = \melodic{
\octave c';
c1\ff ~ | c | <as'4-. c'-. f-.> r r2 | r1 |
c1 ~ | c | <as'4-. b-. d-.> r r2 | r1 |
c1 ~ | c | <c''4-. es'-. fis-.> r r2 | r1 |
- <c'4-. es-. 'g-.> r r2 | <b4-. d-. 'g-.> r r2 |
+ <c'4-. es-. g,-.> r r2 | <b4-. d-. g,-.> r r2 |
R1 *3 |
r2 ['b8-.\p f-.] [f()es] |
[es8-. as-.] as4.-"cresc." g8-. g4 ~ |
}
-\version "0.1.10";
+\version "0.1.14";
violoncello = \melodic{
\octave c;
- c1\ff ~ | c | 'f4-. r r2 | r1 |
- c1\ff ~ | c | 'f4-. r r2 | r1 |
- c1\ff ~ | c | 'fis4-. r r2 | r1 |
- 'g4-. r r2 | 'g4-. r r2 |
+ c1\ff ~ | c | f,4-. r r2 | r1 |
+ c1\ff ~ | c | f,4-. r r2 | r1 |
+ c1\ff ~ | c | fis,4-. r r2 | r1 |
+ g,4-. r r2 | g,4-. r r2 |
c4\p r4 r2 | c4 r4 r2 | c4 r4 r2 | r1 |
c'4.-"cresc." c'8 bes4. bes8 | as4. as8 g4\f r4 |
}
#
EXTRA_DISTFILES=preludes.tex
+
# descent order into subdirectories:
#
SUBDIRS =
#
-
# generic stuff/Makefile
#
include ./$(depth)/make/Mutopia.make
#
-examples=scsii-menuetto wtk1-fugue2 preludes-2
+examples=prelude-cello menuetto-alto wtk1-fugue2
+#menuetto-cello -> broken
+#preludes-2 -> broken
include $(depth)/make/WWW.make
--- /dev/null
+\header{
+filename = "allemande-alto.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Allemande";
+% opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c';
+}
+
+\include "allemande-urtext.ly";
+
+allemande_alto_global = \melodic{
+ \meter 4/4;
+ \key bes;
+ \partial 16;
+ \clef alto;
+ \skip 1*12;
+ \bar ":|:";
+ \skip 1*12;
+ \bar ":|";
+}
+
+allemande_alto_scripts = \melodic{
+}
+
+allemande_alto_staff = \type Staff <
+ \$allemande
+ \$allemande_alto_global
+ \$allemande_alto_scripts
+>
+
+\score{
+ \$allemande_alto_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+\header{
+filename = "allemande-cello.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Allemande";
+% opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c;
+}
+
+\include "allemande-urtext.ly";
+
+allemande_cello_global = \melodic{
+ \meter 4/4;
+ \key bes;
+ \partial 16;
+ \clef bass;
+ \skip 1*12;
+ \bar ":|:";
+ \skip 1*12;
+ \bar ":|";
+}
+
+allemande_cello_scripts = \melodic{
+}
+
+allemande_cello_staff = \type Staff <
+ \$allemande
+ \$allemande_cello_global
+ \$allemande_cello_scripts
+>
+
+\score{
+ \$allemande_cello_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+% allemande-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+comma = "\\sethuge,";
+
+% write as two voices?
+allemande = \melodic{
+ a,16 |
+ <[''d8 g' f' a> bes16()a][g()f e()d][d()cis d()e]['g8 \d bes16()g] |
+ [f( a )d f,] [e8 cis'] <[''d8. a' d> e16] [f g a bes!] |
+ %3
+ <['d8 a' fis' c,> \n d16()es][d()c bes()a][c()bes a()g][d'8. f,16] |
+ [e( g )bes d][c()bes a()g]\n[bes()a g()f]<[f8. a> <f16 a]> |
+ % urg fix
+ [b \n f,( e )d][e \d cis'( d )cis]<'d8. {[d'( )e16]}>\n[f( e d)e] |
+ %6
+ [d( c b )c][b( a gis)a][g8-\prall fis16()e][e' c( a )g] |
+ <[f! e'> a, f d]<\voiceone d {\voicetwo[b f' d b]}>\onevoice
+ [fis( b e )gis] \d [b( d c )b] |
+ %8
+ \n[c( a f )d][d( f e )d][gis'8.-\trill()a16]\d[b d e,()d] |
+ % urg
+ [c( e a')d']< {\voiceone [b8.-\trill a16] a8 }
+ {\voicetwo e,4 ['dis8 ~ dis32 e( fis gis][a b c d c b c )a]}> |
+ \onevoice
+ %10
+ [d'!16 gis'( a b a gis fis )e]<[c8 e a'> f16()e] [d()c b!()a] |
+ <[gis8 d' b'> e'16()f]\d[e()d c()b]<\voicetwo a8 e'
+ {\voiceone[d'16()b c()a]}> \onevoice e8 gis |
+ ['a8. cis16][e g!( f! )e][f( a )d gis,] a8.
+ %13
+ e,16 <\voicetwo a, cis'' {\voiceone ['e8. f16]}> \onevoice
+ \n[g!()e fis()a]\n['cis( d )e bes,][a8.-\trill()g16] |
+ [f a''(f)d][g' \n b,()cis a'][g(f e)d][fis d()es c(] |
+ %15
+ [)bes g'('a )g][fis a d c'][bes('fis)g bes][d()a bes()g] |
+ [es(d)es g][c()a bes()g]\d['d(c)d g]\n[bes()'fis g()es] |
+ %17
+ \n[c(bes)c bes'][a(c)es g,]<['c8-\trill fis'>\d g16()a] ['d8 es16()c] |
+ [bes(d )g bes,]['d8 fis]<['g8. g'> a16][bes d g, f] |
+ %19
+ <\voicetwo bes,8. {\voicetwo[e'-\trill()f16]}> [g()e c()bes]
+ \n[a()f' g,()f][e g'( a )bes] |
+ % :-(
+ % [bes( a g )f^\comma]
+ [bes( a g )f^"\\sethuge{\\ '}"]
+ [a()'e f()d][bes d(f)a][d'()a bes()g] |
+ %21
+ ['a(\n)g'(\n cis'())d][e()'g a()'es][f()d bes()d]\d['gis f'(e)d] |
+ % \n[d( cis b )a^\comma][c(a)fis d'][c a( b )d]
+ \n[d( cis b )a^"\\sethuge\\ ,"]
+ [c(a)fis d'][c a( b )d]
+ [f!(d )'gis d'] |
+ %23
+ [cis(e g!)bes][e'()a bes()g][f()'cis d()'gis][a8 cis!] |
+ ['d16 d''(c!)a][bes!(g)e cis'][d a f d] d'8.
+}
+
--- /dev/null
+\header{
+filename = "courante-alto.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Courante";
+% opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c';
+}
+
+\include "courante-urtext.ly";
+
+courante_alto_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \partial 16;
+ \clef alto;
+ \skip 2.*16;
+ \bar ":|:";
+ \skip 2.*16;
+ \bar ":|";
+}
+
+courante_alto_scripts = \melodic{
+}
+
+courante_alto_staff = \type Staff <
+ \$courante
+ \$courante_alto_global
+ \$courante_alto_scripts
+>
+
+\score{
+ \$courante_alto_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+\header{
+filename = "courante-cello.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Courante";
+% opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c;
+}
+
+\include "courante-urtext.ly";
+
+courante_cello_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \partial 16;
+ \clef alto;
+ \skip 2.*16;
+ \bar ":|:";
+ \skip 2.*16;
+ \bar ":|";
+}
+
+courante_cello_scripts = \melodic{
+}
+
+courante_cello_staff = \type Staff <
+ \$courante
+ \$courante_cello_global
+ \$courante_cello_scripts
+>
+
+\score{
+ \$courante_cello_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+% courante-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+
+% write as two voices?
+courante = \melodic{
+ d'16 |
+ [d a f a] ['d f g a]\d[bes()a bes()g] |
+ <\voiceone g4 a {\voicetwo \n cis, ~ [cis16 d e f]}>
+ \onevoice \d[g()f g()e] |
+ [f()d e()c!]\n[bes(a)bes a'][g f e d] |
+ %4
+ % [cis e \n a,(\d(b][[cis d e f][)g )bes-- a e] |
+ [cis e \n a,(b][[cis d e f][)g bes-- a e] |
+ % [f a \n'd(\d( e][f g a bes][)c )bes-- d c] |
+ [f a \n'd( e][f g a bes][)c bes-- d c] |
+ \n<''g4 {f'~ [f16} {c'4 ~ [c16 bes a g]}> [f()es d()es] |
+ %7
+ [d bes(a)bes][d bes e'! bes,][f' bes, g' bes,] |
+ \d['e( g )c' d][e f g a][bes()a bes()g]|
+ \n[a f(e)f][a f bes f,][c' f, d' f,] |
+ %10
+ ['cis( e )a' b][cis d e f][g()f g()e] |
+ [''d( f' )d' e]\n[d()c d()c][b()a b()a] |
+ \n[gis( a )b e,]\n[f()e f()d][e()c d()b] |
+ %13
+ \n[c a'( b c][b a gis)a]['d a' e, a'] |
+ [f a( b c][b a gis)a][f a e, a'] |
+ ['dis a'( b c][b a gis)a]['e a' e, g] |
+ [a e, cis e]['a cis e gis] a8.
+ %17
+ e'16 |
+ [e cis a cis]['e f g a][bes()g cis'()'g] |
+ <\voicetwo f4 {\voiceone d' ~ \stemdown[d16 a d e] }>
+ [f d a, c!] |
+ \n[b f,(d)f]\d['g d'(f)g][b f, d' f,] |
+ %20
+ [e g c,(d][e f g a][)bes! d c g,] |
+ <\voiceone a {\voicetwo [f c'(bes a][g f es d]
+ [)es c' f, es]}> |
+ <\voicetwo bes,4 {\voiceone d ~ [d16 e! f g]}>
+ \onevoice
+ [a bes c d] |
+ %23
+ ['e bes,(a)g][a f' \n'g()f]\d['c()g f' e] |
+ [f a( bes a][g f e )f][g e f d]|
+ [cis g' b, g']['a g' b, g']['cis g' a, g']|
+ %26
+ [f d f a][d a, d' e][f a, f d]|
+ ['g d'(g)a][bes g' a, f']['g e' f, d']|
+ \n[cis(d)e cis][a cis bes cis][a cis g, cis']|
+ %29
+ \n['f d'(e f][e d cis)d]['g d' a d]|
+ \d[bes d(e f][e d cis)d][bes d a d]|
+ ['gis d,(e f][e d cis)d][a d a cis]|
+ [d a f a]['d f a, d]
+ d,8.
+}
+
--- /dev/null
+\header{
+filename = "menuetto-alto.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Menuetto I";
+description = "Transcribed for Alto";
+source = "?";
+opus = "BWV 1008 no. 5";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c';
+}
+
+\include "menuetto-urtext.ly";
+
+menuetto_i_alto_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \clef alto;
+ \skip 2.*8;
+ \bar ":|:";
+ \clef violin;
+ \skip 2.*1;
+ \slurdotted
+ \skip 2.*3;
+ \clef alto;
+ \skip 2.*11;
+ s2._"Fine"
+ \bar ":|";
+}
+
+menuetto_i_alto_scripts = \melodic{
+ s2.
+ s8^"~"^1_2_4 s8*5
+ s2.*5
+ s4 s-\upbow s-\downbow
+ s2.-\upbow
+ s2.*5
+ s2 s4-\upbow
+ s4-\downbow s2
+ s2.*1
+ s2^0 s4
+ s2.*1
+ s4-\downbow s4-\upbow
+}
+
+menuetto_i_alto_staff = \type Staff <
+ \$menuetto_i
+ \$menuetto_i_alto_global
+% \$menuetto_i_alto_scripts
+>
+
+\score{
+ \$menuetto_i_alto_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 120;
+ }
+}
+
+menuetto_ii_alto_global = \melodic{
+ \meter 3/4;
+ \key fis cis;
+ \clef alto;
+ \skip 2.*8;
+ \bar ":|:";
+ \skip 2.*1;
+ \slurdotted
+ \skip 2.*14;
+ s2._"Menuetto I da Capo"
+ \bar ":|";
+}
+
+menuetto_ii_alto_staff = \type Staff <
+ \$menuetto_ii
+ \$menuetto_ii_alto_global
+% \$menuetto_ii_alto_scripts
+>
+
+\header{
+piece = "Menuetto II";
+}
+\score{
+ \$menuetto_ii_alto_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 120;
+ }
+}
+
--- /dev/null
+\header{
+filename = "menuetto-cello.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Menuetto I";
+source = "?";
+% opus = "BWV 1008 no. 5";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c;
+}
+
+\include "menuetto-urtext.ly";
+
+menuetto_i_cello_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \clef bass;
+ \skip 2.*8;
+ \bar ":|:";
+ \skip 2.*1;
+ \slurdotted
+ \skip 2.*14;
+ s2._"Fine"
+ \bar ":|";
+}
+
+menuetto_i_cello_scripts = \melodic{
+ s2.
+ s8^"~"^1_2_4 s8 s4 s^4
+ s4^0_1 s_4 s
+ s2.*5
+ s2^3 s4
+ s4 s8_1 s s4
+ s2.
+ s2 s8^4 s
+ s2.
+ s8 s^2 s^4
+ s_2 s s s_0 s_4 s_1
+ s2.*2
+ s4^3_1
+ s^1_3 s4
+ s2.
+ s4_2 s2
+ s8^2_3 s s s^1 s4^1
+}
+
+menuetto_i_cello_staff = \type Staff <
+ \$menuetto_i
+ \$menuetto_i_cello_global
+% \$menuetto_i_cello_scripts
+>
+
+\score{
+ \$menuetto_i_cello_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 120;
+ }
+}
+
+menuetto_ii_cello_global = \melodic{
+ \meter 3/4;
+ \key fis cis;
+ \clef bass;
+ \skip 2.*8;
+ \bar ":|:";
+ \skip 2.*1;
+ \slurdotted
+ \skip 2.*14;
+ s2._"Menuetto I da Capo"
+ \bar ":|";
+}
+
+menuetto_ii_cello_staff = \type Staff <
+ \$menuetto_ii
+ \$menuetto_ii_cello_global
+% \$menuetto_ii_cello_scripts
+>
+
+\header{
+piece = "Menuetto II";
+}
+\score{
+ \$menuetto_ii_cello_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 120;
+ }
+}
+
--- /dev/null
+% menuetto-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+menuetto_i_a = \melodic{
+% \octave relative;
+ <d,2\f f a> bes4 |
+ [bes8 a bes g] a4 |
+ <bes,4 d> g [f8 e] |
+ [f8( e )d cis b a] |
+ <d2 f a> bes!4 |
+ [bes8 a bes g] c!4 |
+ %7
+ <f, a> <bes, f' d'> <g,, g' e'> |
+ <a,,2. e' cis'> |
+ <a2\f e'> [d8( e16 )f] |
+ \slurdotted
+ [e8( d cis )e a,()g] |
+ a4 ~ d cis |
+ [g'8( f e )f d() c] |
+ %13
+ bes2 c4 |
+ [a8 g a f] <bes,4 e' d'> |
+ <a,, f' c'> [bes8 a g a] |
+ [f8( e )f a g bes] |
+ <fis2^\trill a> bes4 |
+ [c8 bes c a] fis4^\trill |
+ %19
+% dispute
+% <bes,4 g' d'> <c, g' c> <[d,8 bes'(> )a] |
+ <bes,4 g' d'> <c,, g' c> [bes8()a] |
+ [c8( bes a )bes g()bes] |
+ d4 ~ cis d |
+ [g,8 f g e] f4 |
+ [g,8 g'] <a,4. { e'^\trill ~ d8 }> |
+ <d,2. a' d> |
+}
+
+menuetto_i_b = \melodic{
+% \octave relative;
+ \slurdotted
+ \skip 2.*1; |
+ <c,8 e> \skip 8*5; |
+ \skip 2.*1; |
+ a,8 \skip 8*5; |
+ \skip 2.*1; |
+ e'8 \skip 8*5; |
+ \onevoice
+ \skip 2.*3; |
+ g8 \skip 8*5; |
+ f2 e4
+ d8 \skip 8*5; |
+ g4 ~ f e
+ f8 \skip 8*5; |
+ \skip 2.*3; |
+ es8 \skip 8*3; d4 |
+ \skip 4*2; d4 |
+ <d8 g> \skip 8*5; |
+% dispute
+% g2 f4 |
+ g4 \skip 4*1; f4 |
+ cis8 \skip 8*3; d4 |
+}
+
+% UGH, fix this like in sarabande
+menuetto_i_a_voice_urg = \melodic{
+ \skip 2.*1; \voiceone
+ \skip 2.*1; \onevoice
+ \skip 2.*1; \voiceone
+ \skip 2.*1; \onevoice
+ \skip 2.*1; \voiceone
+ \skip 2.*1; \onevoice
+ \skip 2.*3; \voiceone
+ \skip 2.*1; \voiceone
+ \skip 2.*3;
+ \skip 4*2; \onevoice
+ \skip 4*2; \voiceone
+ \skip2.*1; \voiceone
+ \skip 4*2; \onevoice
+ \skip2.*1; \voiceone
+ \skip 2.*1; \onevoice
+ \skip 2*1; \voiceone
+ \skip 4*1;
+ \skip 2.*4; \onevoice
+ \skip 2.*1;
+% \bar "|.";
+}
+
+menuetto_i_a_voice_urg_urg = \melodic<
+ \$menuetto_i_a_voice_urg
+ \$menuetto_i_a
+>
+
+menuetto_i_b_voice_urg = \melodic{
+ \voicetwo
+ % urg urg, huh?
+ \skip 2.*8; \voicetwo
+}
+
+menuetto_i_b_voice_urg_urg = \melodic<
+ \$menuetto_i_b_voice_urg
+ \$menuetto_i_b
+>
+
+menuetto_i = \type Voice \melodic<
+ { \$menuetto_i_a_voice_urg_urg }
+ { \$menuetto_i_b_voice_urg_urg }
+>
+
+menuetto_ii = \melodic{
+ \slurdotted
+ fis4^\trill [d8( e fis )g] |
+ a4 fis,, a'' |
+ [g,,8()b] e4 g |
+ \slurnormal
+ [d8( cis )b cis a g] |
+ % ugh, forcing knee
+ % Lily's not yet smart enough to decide for herself.
+ \stemup [fis \stemboth d''( cis b a )g] |
+ [b( g a fis e )d] |
+ %7
+ [cis d] g4 [fis8( g16 )a] |
+ <\stemdown a,2. \stemup e'> |
+ \stemboth
+ cis'4^\prall [e8( d cis )b] |
+ cis4 g,, cis'' |
+ [fis,8()a] d4 fis |
+ [b,8()a g()fis \slurdotted g()b] |
+ \slurnormal
+ %13
+ [e, d'( cis )b cis()ais] |
+ % check slur! [d, b' a! g fis )e] |
+ [d,( b' a! g fis )e] |
+ [g( fis e d cis )d] |
+ [b( cis d e fis )g] |
+ [a( g fis g a )b] |
+ c4 dis,, c'' |
+ %19
+ [b8()a c( b a )g] |
+ [fis() g a()fis g()e] |
+ \slurdotted
+ cis4^\trill [a8( b cis )d] |
+ \slurnormal
+ [e( fis g )b] a4 |
+ [g8()fis e()d e()cis] |
+ d2.
+}
+
--- /dev/null
+\header{
+filename = "prelude-alto.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Pr\\'elude"; % duh
+opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c';
+}
+
+\include "prelude-urtext.ly";
+
+prelude_alto_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \clef alto;
+ \skip 2.*63;
+ \bar "|.";
+}
+
+prelude_alto_scripts = \melodic{
+}
+
+prelude_alto_staff = \type Staff <
+ \$prelude
+ \$prelude_alto_global
+ \$prelude_alto_scripts
+>
+
+\score{
+ \$prelude_alto_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+\header{
+filename = "prelude-cello.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Pr\\'elude"; % duh
+opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c;
+}
+
+\include "prelude-urtext.ly";
+
+prelude_cello_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \clef bass;
+ \skip 2.*63;
+ \bar "|.";
+}
+
+prelude_cello_scripts = \melodic{
+}
+
+prelude_cello_staff = \type Staff <
+ \$prelude
+ \$prelude_cello_global
+ \$prelude_cello_scripts
+>
+
+\score{
+ \$prelude_cello_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+% prelude-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+
+prelude = \melodic{
+ [d,8 f] a4 ~ [a16 f( e )d] |
+ [cis( e g )a] bes4 ~ [bes16 a( g )f] |
+ [e( g a )cis] \d [e8.() bes,16] \n [a16( g f )e] |
+ [f( g a )f] [d8( c! bes )a] |
+ %5
+ [bes16 d( f )a] \d [d8.()c16] [bes( a g )f] |
+ [e( g bes )d] [c( a bes )g] [f( e )g bes,] |
+ \n [a c( e )g] \d [c8.()bes16] \n [a( g f )e] |
+ \d [d( f a )c] [bes( g a )f] \n [e( f )a f] |
+ %9
+ \d [g, bes( d )f] [bes8.() a16] \n [g( f e )g] |
+ % check slur! [a, c( e )g] [c a( e )g] [f( a )'d )es] |
+ [a, c( e )g] [c a( e )g] [f( a )d, es] |
+ [d a( bes )d] [g bes( a )c] \d [bes( g )d' f,] |
+ %12
+ \n[e b( c )e] \d[g d( e )c] [bes( g )e' bes,] |
+ [f8 a] \n c4 ~ [c16 bes( a )g] |
+ [fis a( bes )c] [d, c'( bes )a] [fis' es( d )c] |
+ \d [bes( a )g bes] \n d4 ~ [d16 \d c( bes )a] |
+ %16
+ \n[gis b( c )d] [e, d'( c )b] [gis' \d f ( e )d] |
+ [c( b a )c] [f( e f )gis] [a( f d )c] |
+ \n [b( d gis' )b] \d[d8.()c16] \n[b( a gis )a] |
+ %19
+ \d [c,( e a )c] [e8.()c16] \n [b( a gis )a] |
+ [d,( f a )d] \d[f8.()e16] \n[d( c b )d] |
+ \d[e, d'( c )b] \n[a c( b )a] [d, b'( a )gis] |
+ %22
+ [c, a'( g!)f] [cis g,( f )e] [d f( e )d] |
+ [gis' \d d'( e )f] [b' f,( e )d] [gis,\n d'( c )b] |
+ \d[a( b c )e] [a( b c )a] [e( c a )g!] |
+ % 25
+ % B"arenreiter and Chester say "c bes c"
+ [fis \n a( c )d] \d[es8.()d16] \n[c( bes )c a'] |
+ [bes,( a )bes d] [g, es'( f )g] [a, g'( f )es] |
+ [d( c )d f] [bes, g'( a )bes] [cis, bes'( a )g] |
+ % 28
+ [f( e )f a] [d, bes'( c! )d] [e,! \d d'( c )bes] |
+ \n[a( g )a c] [f, d'( e )f] [g, f'( e )d ] |
+ [cis g,( f )e] [a, e'( f )g] [cis'( bes! )a g] |
+ %31
+ [f( g )a cis] [d a( g )f] [a f( e )d] |
+ \d[gis' d,( e )f] [ a, f'( e )d] [gis'( f! )e d ] |
+ [cis( b )cis e] [a \n e( cis )e] [a, g'!( f )e] |
+ %34
+ [f( e )f a] [d a( f )a] \n[d, c'!( bes )a] |
+ [g( f )g cis'] [e \d cis( g, )cis'] [a,, g'( f )e ] |
+ [d a' d e] [f d a f] [d c'!( bes )a] |
+ %37
+ \n[g( a )bes d,] [es f g a] [bes g es' g,] |
+ \d[f( g )a cis,][ d e! f g][a f d' f,] |
+ [e( f )g bes,][a b cis d] \d[e bes, g' bes,] |
+ %40
+ [cis,8 a'] \n g'4 ~ [g16 bes( a )g] |
+ [f( e d )e] [f d a' f] [d' a f d] |
+ [gis,8 f'] d'4 [d16 f( e )d] |
+ [cis( b )a b][cis a d a][e' a, f' a,] |
+ %44
+ [g' \d e( cis )e][a,( cis )e f][g f g e] |
+ [f d( cis )d][a( cis )d e][f e f d] |
+ [e cis( b )cis]\n[a( b )cis d][e d e cis] |
+ %47
+ [d \n b( a )b][f,(gis )b cis][d cis d b] |
+ <g,,4^\fermata e' cis'> r r |
+ [bes16 g( fis)g][es g d g]\d[es( g)bes d,] |
+ [cis--( \n e!( g ))a]\d[bes8.()a16]\n[g( fis )g e'] |
+ %51
+ [f,! d' bes g]\d[a()f e()g][f()d cis()e] |
+ [d bes( a )g][fis--( \n a( c! ))es]\d[d( c bes )a] |
+ [bes g( fis )g][es g d g]\n[es( g )bes d,] |
+ %54
+ <\stemdown cis4 bes' {\voiceone [g'8.( )f16] }>
+ \n[e!( d cis b][a g f )e] \stemboth |
+ \d[d--( \n a'( d ))e][f( e d c!][bes! a g )f] |
+ \d[e--( \n a( cis ))e][g( f e d][cis b a )g] |
+ [f a( d )f][a d,( f )a][d bes! c! a] |
+ [g,, \d d'( g )a][bes \n g( fis)g][es' g, d' g,] |
+ <a,2. g' cis'>|
+ <a,, f' d'> |
+ <a,, e' d'> |
+ <a,, e' cis'> |
+ <d,, a' f' d' > |
+}
+
+
+
+
+
+
% mmm
title = "DOUZE PETITES PR\'ELUDES";
opus = "BWV 924";
+piece = "\\numfont 1";
% blz 1
% Clavierb"uchlein f"ur W. Fr. Bach
% Clav. W. Fr. Bach: 2-Praeambulum I
copyright = "public domain";
}
+\version "0.1.14";
one = \melodic{
\octave c'';
\textstyle "italic";
r\f ['b e a-5] r ['b e-3 g-5]
r [c-1 e-3 f-4] r ['g d-3 f-5] |
r ['g-"poco a poco dim." d-4 e] r ['g c-2 e]
- r ['a-1 c-3 d-4] r ['e 'b-3 d-5] |
- r ['e 'b c-4] r ['e 'a-2 c]
- r ['f-1 'a-3 'bes-4] r ['c 'g-3 'bes-5] |
- r ['c 'g 'a-4] r ['c 'f-2 'a]
- r ['d 'f-2 'b-5] r ['e 'g-2 c-5] |
- r\p ['d 'g c-5] r ['d 'g 'b-4]
- r ['c 'g-3 'b-5] r ['c 'fis-2 'a-4] |
- r [''b 'd 'a-5] r [''b 'd 'g-4]
- r [''a 'c 'g-5] r [''a 'c 'f!-4] |
+ r ['a-1 c-3 d-4] r ['e b,-3 d-5] |
+ r ['e b, c-4] r ['e a,-2 c]
+ r ['f-1 a,-3 bes,-4] r ['c g,-3 bes,-5] |
+ r ['c g, a,-4] r ['c f,-2 a,]
+ r ['d f,-2 b,-5] r ['e g,-2 c-5] |
+ r\p ['d g, c-5] r ['d g, b,-4]
+ r ['c g,-3 b,-5] r ['c fis,-2 a,-4] |
+ r [''b d, a,-5] r [''b d, g,-4]
+ r [''a c, g,-5] r [''a c, f,!-4] |
% ugh, arpeggio
<
- { \voiceone; 'f4 r s }
- { \voicetwo; <''g4 'd> r s }
+ { \voiceone; f,4 r s }
+ { \voicetwo; <''g4 d,> r s }
>
\onevoice;
% ugh beam across staffs, slur starts at lower staff
- r16 [''g-1( ''b 'd] |
+ r16 [''g-1( b,, d,] |
\voiceone;
- )''b s4 ['g16-1( 'b-2 d] )'b s s s [f-2 g-3 b-5 f-2] |
+ )''b s4 ['g16-1( b,-2 d] )'b s s s [f-2 g-3 b-5 f-2] |
\onevoice;
[e-1\f c'-5( g-3 f-2] [e-1 c'-5 g-3 e-2]
[)d c'-5( f-3 e-2] [d-1 b-5 f-3 d-2] |
[)c b-5( e-3 d-2] [c-1 a-5 e-3 c-2]
- [)'b-1 a-5( d-3 c-2] ['b-1 g-5 d-3 'b-2] |
- [)'a g-5 c-4 'b] ['a-"poco a poco dim." fis-5 c-2 'a-1]
- ['b-2 f d-4 c] ['b f d-4 'b-2] |
- ['g e c-3 'b] ['a e-5 c-3 'a-1]
- ['fis-2 d 'b-3 'a] ['g-1 d-5 'b-4 'g-2] |
- ['e c-5 'a-4 'g-3] ['fis-2 c-5 'a-4 'fis-2]
- ['d c-5 'b-4 'a] ['b-4 'g-2 d-5 'f-1] |
- ['g-4 'e-2 'f-1 d-5] [c-4 'b 'a 'g]
+ [)'b-1 a-5( d-3 c-2] ['b-1 g-5 d-3 b,-2] |
+ [)'a g-5 c-4 b,] ['a-"poco a poco dim." fis-5 c-2 a,-1]
+ ['b-2 f d-4 c] ['b f d-4 b,-2] |
+ ['g e c-3 b,] ['a e-5 c-3 a,-1]
+ ['fis-2 d b,-3 a,] ['g-1 d-5 b,-4 g,-2] |
+ ['e c-5 a,-4 g,-3] ['fis-2 c-5 a,-4 fis,-2]
+ ['d c-5 b,-4 a,] ['b-4 g,-2 d-5 f,-1] |
+ ['g-4 e,-2 f,-1 d-5] [c-4 b, a, g,]
[f-5 d-3 es-4 c-2] ['fis-1 es-4 d-3 c-2] |
- ['b-1 d-5 'b-3 'g-1] ['as-4-"cresc. e rall." 'f-2 'g-3 'd-1]
- ['es-2 'fis-3 'a-4 c-5]
+ ['b-1 d-5 b,-3 g,-1] ['as-4-"cresc. e rall." f,-2 g,-3 d,-1]
+ ['es-2 fis,-3 a,-4 c-5]
<
- { \voiceone; r [c8 'b16] }
- { \voicetwo; ['d8 'f-2] }
+ { \voiceone; r [c8 b,16] }
+ { \voicetwo; ['d8 f,-2] }
>
\onevoice; |
- <c1\mf 'g 'e>
+ <c1\mf g, e,>
\bar "|.";
}
two = \melodic{
\octave c;
\textstyle "roman";
- c4-5 e-3 g-\mordent^"(\\textsharp)" 'g4 |
- d-\mordent-5 f-3 a-\mordent^"(\\textsharp)" 'a4 |
+ c4-5 e-3 g-\mordent^"(\\textsharp)" g,4 |
+ d-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 |
e-5 e'-\mordent-1 a-4 b-\upprall |
c'4 e-4 fis gis-\downprall |
a4 c-4 d e-\upprall |
f4-1 e d-3-\prall c |
- g-\mordent^"(\\textsharp)" 'g g-\mordent 'g |
- g-\mordent 'g g-\mordent 'g |
+ g-\mordent^"(\\textsharp)" g, g-\mordent g, |
+ g-\mordent g, g-\mordent g, |
% ugh, f should be at upper staff
- g-\mordent r r16 ['g-5( 'b-4 d] )f-1 s s s |
+ g-\mordent r r16 ['g-5( b,-4 d] )f-1 s s s |
% s [g-5( b-4 d'-2] )f'-1 s s s s \clef violin; [g'-4 b'-2 d''-1]
% huh, can't violin anymore (see BUGS)
s [g-5( b-4 d'-2] )f'-1 s s s s [g'-4 b'-2 d''-1]
s s s s \clef bass; |
<
{ \voiceone; g1 ~ g ~ g ~ g ~ g ~ g ~ g }
- { \voicetwo; 'g1 ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g ~ 'g }
+ { \voicetwo; g,1 ~ g, ~ g, ~ g, ~ g, ~ g, ~ g, }
>
- <c1 'c>
+ <c1 c,>
\bar "|.";
}
filename = "preludes-2.ly";
title = "2";
opus = "BWV 939";
+piece = "\\numfont 2";
% blz 10
%
% Six Petits Pr'eludes
copyright = "public domain";
}
+\version "0.1.14";
one = \melodic{
\octave c'';
\textstyle "italic";
- r8\mf ['c-1( 'e-2 'g-4] ['e-2 'c-1 'bes-5 'g-3] |
- [)'a-4\< 'c-1( 'f-2 'a-4] ['f 'c c-5 'a-3] |
- [)'b-4 'g-1( 'b-2 d-4] ['b-2 'g f-5 \!d-3] |
+ r8\mf [c,-1( e,-2 g,-4] [e,-2 c,-1 bes,-5 g,-3] |
+ [)a,-4\< c,-1( f,-2 a,-4] [f, c, c-5 a,-3] |
+ [)b,-4 g,-1( b,-2 d-4] [b,-2 g, f-5 \!d-3] |
<
- {\voiceone; )e2-4\f r4 e-5 }
- {\voicetwo; <c2 'g> r4 <c 'g> }
+ {\voiceone )e2-4\f r4 e-5 }
+ {\voicetwo <c2 g,> r4 <c g,> }
>
- \onevoice; |
+ \onevoice |
<
- { \voiceone; d2-4 r4 d-4 }
- { \voicetwo; <c2 'a> r4 <c 'a> }
+ { \voiceone d2-4 r4 d-4 }
+ { \voicetwo <c2 a,> r4 <c a,> }
>
- \onevoice; |
+ \onevoice |
<
- { \voiceone; d8 }
- { \voicetwo; <'b8 'g> }
+ { \voiceone d8 }
+ { \voicetwo <b,8 g,> }
>
- \onevoice;
- ['g8-1\mf( 'b-2 d-4]
+ \onevoice
+ [g,8-1\mf( b,-2 d-4]
<
- { \voiceone; )'b4 e-5 }
- { \voicetwo; 'g4 'b }
+ { \voiceone )b,4 e-5 }
+ { \voicetwo g,4 b, }
>
- \onevoice; |
+ \onevoice |
<
- { \voiceone; c2 r4 < {c-5 ~ c8} {'a4 ~ 'a8} > }
- { \voicetwo; c2 r4 'e4 ~ 'e8 }
+ { \voiceone c2 r4 < {c-5 ~ c8} {a,4 ~ a,8} > }
+ { \voicetwo c2 r4 e,4 ~ e,8 }
>
- \onevoice;
- ['d-1\p( 'fis-2 'a-4] ['fis-2 'd-1 c-5 'a-3] |
- [)'b-4\< 'g-1( 'b-2 d-4] [ 'b-2 'g-1 f!-5 d-3] |
- [)e-4 'g-1( c-2 e-4] [c-2 'g g-5 e-3] |
- [)fis-4 'a-1( c-2 fis-4] [c 'a a-5 \!fis-3] |
+ \onevoice
+ [d,-1\p( fis,-2 a,-4] [fis,-2 d,-1 c-5 a,-3] |
+ [)b,-4\< g,-1( b,-2 d-4] [ b,-2 g,-1 f!-5 d-3] |
+ [)e-4 g,-1( c-2 e-4] [c-2 g, g-5 e-3] |
+ [)fis-4 a,-1( c-2 fis-4] [c a, a-5 \!fis-3] |
<
- { \voiceone; )g2-5\f }
- { \voicetwo; <d2 'b> }
+ { \voiceone )g2-5\f }
+ { \voicetwo <d2 b,> }
>
- \onevoice;
+ \onevoice
r4 b4-2( |
[c8-1 e-2 g c'] [g-2 e-1 bes-4 g-2] |
- [)a16->-3 g-2 f-1 e-3] [d c 'b!-3 'a-2]
- ['b-3\< 'g-1 'a 'b] [c-1 d e \!f] |
+ [)a16->-3 g-2 f-1 e-3] [d c b,!-3 a,-2]
+ [b,-3\< g,-1 a, b,] [c-1 d e \!f] |
g4-5\ff
<
- { \voiceone; c2-5 'b4-4 }
- { \voicetwo; 'g2-2 'd4-1 }
+ { \voiceone c2-5 b,4-4 }
+ { \voicetwo g,2-2 d,4-1 }
>
- \onevoice;
+ \onevoice
<
- { \voiceone; c1^5 }
- { \voicetwo; 'e1_1}
+ { \voiceone c1^5 }
+ { \voicetwo e,1_1}
>
- \onevoice;
+ \onevoice
\bar "|.";
}
two = \melodic{
\octave c;
<
- { \voiceone; c1 ~ | c ~ | c }
- { \voicetwo; 'c1 ~ | 'c ~ | 'c }
+ { \voiceone c1 ~ | c ~ | c }
+ { \voicetwo c,1 ~ | c, ~ | c, }
>
- \onevoice; |
+ \onevoice |
r8 [c-5( e-3 g-1] [e-3 c-5 c' e-4] |
[)fis-3 d-5( fis-3 a-1] [fis-3 d-5 d' fis-4] |
)g2-3 r4 g-2( |
- [)a8 'a-5( c-4 e-2] [c-4 'a-5 g e-3] |
+ [)a8 a,-5( c-4 e-2] [c-4 a,-5 g e-3] |
)fis2 r4 d-4 |
- g-\mordent-"(\\textsharp)" 'g4 g-\mordent 'g |
+ g-\mordent-"(\\textsharp)" g,4 g-\mordent g, |
% mordents in brackets...
- g-\mordent 'g g-\mordent 'g |
- g-\mordent 'g g-\mordent 'g |
- [g8 'g-5( 'b-4 d-2] ['b-4 'g-5 f!-1 d-3] |
+ g-\mordent g, g-\mordent g, |
+ g-\mordent g, g-\mordent g, |
+ [g8 g,-5( b,-4 d-2] [b,-4 g,-5 f!-1 d-3] |
[)e-2 c-4 e-2 g-1] [e-3 c-5 c' e-4] |
\textstyle "finger";
f1^"3\\_1" ~ |
- [f8 d-3 e-2 c-4] g4-1 'g^"5\\_2" |
- <c1 'c1>
+ [f8 d-3 e-2 c-4] g4-1 g,^"5\\_2" |
+ <c1 c,1>
\bar "|.";
}
filename = "preludes-3.ly";
title = "3";
opus = "BWV 999";
+piece = "\\numfont 3";
% Pr"aludum in C Moll f"ur Laute
% blz 16
% Six Petits Pr'eludes
filename = "preludes-4.ly";
title = "4";
opus = "BWV 925";
+piece = "\\numfont 4";
% blz 8
% Clavierb"uchlein f"ur W. Fr. Bach
% Clav. W. Fr. Bach: 27-Praeludium ex d neutral
enteredby = "jcn";
copyright = "public domain";
}
+\version "0.1.14";
one = \melodic{
\octave c'';
\textstyle "italic";
r16\p_"legato"
\textstyle "finger";
- ['d-1( 'fis-3 'd-1] ['a-2 'b-3 cis-4 'a-3]
+ ['d-1( fis,-3 d,-1] ['a-2 b,-3 cis-4 a,-3]
[d-3 cis-2 d-1 e-2] [d-1 fis-3 e-2 d-1] |
\textstyle "finger";
\stemup;
)cis4-2 fis-5 ~ [fis8 fis-4] e4-3 ~ |
- e16\< \stemboth ['a16( cis 'a] [d-2 e fis d-1]
+ e16\< \stemboth ['a16( cis a,] [d-2 e fis d-1]
[g-3 fis g a-4] [g-3 b a \!g] |
\stemup
)fis4-"2\\_3" [e8-2 a-5] <fis4-4 d-2> <gis-5 e-3> |
\textstyle "italic";
[fis_"dim." e fis-3 g] [fis-3 a-5 g fis]
\textstyle "finger";
- e4-"2\\_5" ~ e16 ['e( 'fis 'g ] |
+ e4-"2\\_5" ~ e16 ['e( fis, g, ] |
\textstyle "italic";
- ['a-4_"dim." 'g-1 'a 'b] ['a-2 c-4 'b 'a]
- ['g-1 'fis-2 'g-3 'a] ['g-3 'b 'a 'g] |
+ ['a-4_"dim." g,-1 a, b,] ['a-2 c-4 b, a,]
+ ['g-1 fis,-2 g,-3 a,] ['g-3 b, a, g,] |
\stemup
)'fis4\p
\skip 4*7; |
\textstyle "finger";
- d4.\mf cis8-"4\\_5" ~ cis 'b4-5 'a8-"4\\_5" ~ |
+ d4.\mf cis8-"4\\_5" ~ cis b,4-5 a,8-"4\\_5" ~ |
\textstyle "italic";
- 'a 'g4-5 'fis8-4 ~ ['fis16 'fis-4-"dim." 'e-3 'd-2]
+ a, g,4-5 fis,8-4 ~ ['fis16 fis,-4-"dim." e,-3 d,-2]
\textstyle "finger";
- 'e4-"3\\_5" ~ |
- ['e16 'e-5 'd 'cis] 'd4-5 ~ ['d16 'd-5 'cis ''b] 'cis4-5 |
+ e,4-"3\\_5" ~ |
+ ['e16 e,-5 d, cis,] d,4-5 ~ ['d16 d,-5 cis, b,,] cis,4-5 |
\stemboth
- [''fis16-1\p ''a-2 'd-5\< 'c-4] [''b-1 'd-2 'g-5 'fis-4]
- ['d-1 'b-5 'a 'g] ['fis-2 'e-1 'd-4 \!'c!-3] |
- [''b-2 'd-1 'g 'a] ['fis8-\prall 'e16-4 'd-3]
- ['d8. 'e16~] ['e 'd8 'cis16] |
+ [''fis16-1\p a,,-2 d,-5\< c,-4] [''b-1 d,-2 g,-5 fis,-4]
+ ['d-1 b,-5 a, g,] ['fis-2 e,-1 d,-4 \!'c!-3] |
+ [''b-2 d,-1 g, a,] ['fis8-\prall e,16-4 d,-3]
+ ['d8. e,16~] ['e d,8 cis,16] |
\stemup
- r16 ['d-1\< 'fis 'd] ['g 'a 'b 'g-1] [c-3 'b c d] [c e d-4 \!c] |
- 'b4-5 'a ~ ['a8 'g-5 ~] ['g16 'fis8-4 'e16-3] |
- ['fis8-4 'e-5~] ['e 'd-5~] 'd4 'cis-4 |
- 'd2\p-"rall." ~ ['d16 ''a-2( ''b-3 'cis-4] )'d4-5 |
+ r16 ['d-1\< fis, d,] ['g a, b, g,-1] [c-3 b, c d] [c e d-4 \!c] |
+ b,4-5 a, ~ ['a8 g,-5 ~] ['g16 fis,8-4 e,16-3] |
+ ['fis8-4 e,-5~] ['e d,-5~] d,4 cis,-4 |
+ d,2\p-"rall." ~ ['d16 a,,-2( b,,-3 cis,-4] )'d4-5 |
\bar "|.";
}
fis4-1( e8-2 a4 a4 gis8-2 |
) a8
\translator Staff=treble \octave c''; \stemdown
- 'a4 'a8 'b4.-"2\\_1" cis8 ~ |
+ a,4 a,8 b,4.-"2\\_1" cis8 ~ |
cis8
\translator Staff=bass \octave c; \stemup
a8 ~ [a d'] ~ d' d'4-> cis'8 |
d'8
\translator Staff=treble \octave c''; \stemdown
- d4-> cis8-1 ~ cis 'b4-1 'b8 |
- r8 'a4 'a8
+ d4-> cis8-1 ~ cis b,4-1 b,8 |
+ r8 a,4 a,8
\translator Staff=bass \octave c; \stemup
[g'8-1( fis'-2] )e'4-1 ~ |
e'4 d' ~ [d'16 d'-1 cis'-2 b-1] cis'4-2 ~ |
[cis'8 a-3] d'4.-1 d'4^> cis'8-2 |
\translator Staff=treble \octave c''; \stemdown
- 'd4
+ d,4
\stemboth
- r16 [''b-1\< 'd-2 ''b~] <'g4-5 'e-3 ''b>
- r16 ['cis-1 'e-2 \!'cis~] |
- <'a4-5 'fis-3 'cis> r16 ['d-1 'fis-2 'd~] <'b4-5 'g-3 'd>
- r16 ['fis-1 'a 'fis~] |
+ r16 [''b-1\< d,-2 b,,~] <'g4-5 e,-3 b,,>
+ r16 ['cis-1 e,-2 \!'cis~] |
+ <'a4-5 fis,-3 cis,> r16 ['d-1 fis,-2 d,~] <'b4-5 g,-3 d,>
+ r16 ['fis-1 a, fis,~] |
\stemdown
- 'fis4 'e 'd 'cis |
- ''b ''a ''b4. ''b8 |
- ''a4
+ fis,4 e, d, cis, |
+ b,, a,, b,,4. b,,8 |
+ a,,4
\translator Staff=bass \octave c; \stemup
r16 [b-3 fis-1 a-2] g4-1 r16 [a-3 e-1 g-2] |
\skip 4*4; \skip 16*1;
\translator Staff=treble \octave c''; \stemdown
- 'd8.-1 ~ ['d8 'c] 'd4 [''a8 ''g] |
+ d,8.-1 ~ ['d8 c,] d,4 [''a8 g,,] |
\translator Staff=bass \octave c; \stemup
[fis'8 c'-1] b4-1 \stemdown <a
\translator Staff=treble \octave c''; \stemdown
- ''a4.-2>
+ a,,4.-2>
\stemdown
- 'a8~ |
- ['a 'g-3~] ['g16 'e 'fis8~] ['fis16 'd8.~] ['d8. 'cis!16] |
+ a,8~ |
+ ['a g,-3~] ['g16 e, fis,8~] ['fis16 d,8.~] ['d8. cis,!16] |
\translator Staff=bass \octave c; \stemup
% <[d'8-2 a-1> <a~ g]> <a4 [fis16-2> e-1 fis-2 d-1]
<
three = \melodic{
\octave c;
% \stemdown;
- d4-3 c-4 'b e-3 |
- a16 ['a-5\mf( cis-3 'a-5] [d-2 e-1 fis-2 d-4]
+ d4-3 c-4 b, e-3 |
+ a16 ['a-5\mf( cis-3 a,-5] [d-2 e-1 fis-2 d-4]
[g-1 fis-3 g a] [g b a g] |
)fis4 fis e a-4 |
d'16 \stemboth [d-5\f( fis-3 d-5] [a-2 b-1 cis'-2 a-4]
[a-4 )fis-5 b-2 a-3] [gis-4 e-5 a-3 g-4] |
fis4. d8-5 e4-5 a4-3 |
\stemboth
- r16 [d-4( fis-2 d-4] [)g8-.-1 'g-.-5]
- r16 [e-4( g-2 e-4] [)a8-. 'a-.-5] |
- r16 [fis-4( a fis] [)b8-. 'b-.] r16 [g-4( b g] [)d'8-. d-.] |
- r16 ['d16-5( 'fis-3 'd] ['a-2 'b-1 cis-2 'a-4] [d 'b-5 d-3 'b]
+ r16 [d-4( fis-2 d-4] [)g8-.-1 g,-.-5]
+ r16 [e-4( g-2 e-4] [)a8-. a,-.-5] |
+ r16 [fis-4( a fis] [)b8-. b,-.] r16 [g-4( b g] [)d'8-. d-.] |
+ r16 ['d16-5( fis,-3 d,] ['a-2 b,-1 cis-2 a,-4] [d b,-5 d-3 b,]
[fis-2 g a-2 fis-4] |
- )fis16 ['g( 'b 'g] [d-2 e fis-2 d-4] [)g8-. 'g-.] r16 [cis-4( e cis] |
- [)fis8-. 'fis-.] \stemdown r16 ['b-4( d 'b] [)e8-. 'e-.]
- r16 ['a-4 cis 'a] |
+ )fis16 ['g( b, g,] [d-2 e fis-2 d-4] [)g8-. g,-.] r16 [cis-4( e cis] |
+ [)fis8-. fis,-.] \stemdown r16 ['b-4( d b,] [)e8-. e,-.]
+ r16 ['a-4 cis a,] |
\stemboth
- [d-1 e-3 fis-2 d-4] [g-1 fis-2 e-3 d-1] [cis!-3 'a-5 'b cis]
+ [d-1 e-3 fis-2 d-4] [g-1 fis-2 e-3 d-1] [cis!-3 a,-5 b, cis]
[d-2 e fis-2 d-4] |
- [g8 e-3] \stemdown [a 'a] ['b8.-4 'g16-5] 'a4-4 |
+ [g8 e-3] \stemdown [a a,] ['b8.-4 g,16-5] a,4-4 |
[d8-5 a-2~] [a g-3~] [g g-3] fis4-4 |
\stemup
r16 [g-2 b-1 g-3] [d'8.-1 c'16-1] [b8.-2 bes16-3] [a8-1 g] |
\stemdown
- r16 ['a-2 cis!-1 a-2] [d-1 e fis d] [e8-1 d-2] [e-1 'a-2] |
- [d 'a-2~] ['a16 'a-2 'b cis-2] d2 |
+ r16 ['a-2 cis!-1 a-2] [d-1 e fis d] [e8-1 d-2] [e-1 a,-2] |
+ [d a,-2~] ['a16 a,-2 b, cis-2] d2 |
}
four = \melodic{
\stemdown
d1 ~ |
d ~ |
- 'd ~
- 'd2 'd2
+ d, ~
+ d,2 d,2
}
global = \melodic{
\header{
filename = "preludes-5.ly";
title = "5";
+piece = "\\numfont 5";
+opus = "BWV 926";
% blz 2
% Clavierb"uchlein f"ur W. Fr. Bach
% Clav. W. Fr. Bach: 4-Praeludium 2
copyright = "public domain";
}
+\version "0.1.14";
one = \melodic{
\octave c';
\textstyle "italic";
[cis-1 bes-4 g-2 cis-1 a-5 g-4] |
[f-3 a f d a-5 f] |
[d-1 a-5 f-3 d-1 cis-2 d-1] |
- [e-3\< g-5 e-3 'bes-1 g-5 e-3] |
- ['bes-1 g-5 e-3 \!cis-2 'a-1 g-5] |
- [f16-4\mf d-2 c-1 'bes-3] \stemup 'a-2 s16 s8 s4 |
+ [e-3\< g-5 e-3 bes,-1 g-5 e-3] |
+ ['bes-1 g-5 e-3 \!cis-2 a,-1 g-5] |
+ [f16-4\mf d-2 c-1 bes,-3] \stemup a,-2 s16 s8 s4 |
% ugh
% s1 |
s4 s4 s4 |
[c'-5 a-3 fis-2 bes-4 g e ] |
[a-5 fis-"dim. e rall." d g-5 e cis-2] |
<
- { \voiceone; <fis2-.-5\p 'a> }
+ { \voiceone; <fis2-.-5\p a,> }
{ \voicetwo; [d32( cis d8. ~] ) d2 }
> |
\bar "|.";
\octave c;
% [d32( cis )d8.] r4 r |
d4-\mordent r r |
- 'd4 r r |
+ d,4 r r |
d-\mordent r r |
- 'd4 r r |
+ d,4 r r |
d-\mordent r r |
% d r r |
- 'd4 r r |
- [d8-2 'a-5 d-2 f-1 d-4 f-2] |
+ d,4 r r |
+ [d8-2 a,-5 d-2 f-1 d-4 f-2] |
[a-1 f-4 a-2 d'-1 a-2 d'-1] |
gis4-3 r r |
e-4( )gis-2 e |
f4-\mordent r r8 e |
d4 r8 [f-1 e d] |
[e-2 d-3 cis-4 e-1 d-2 cis-3] |
- d4-2( )c! 'bes-4 |
- 'a( )a 'a |
- 'a( )a 'a |
- 'a( )a 'a |
- 'a( )a 'a |
- 'bes r r |
- 'bes-5( )bes 'bes |
- 'a r r |
- 'a-2( )d-1 'd |
- 'g r r |
- 'g( )g 'g |
- 'g r r |
- 'g( )g 'g |
- 'a r r |
- 'a( )a 'a |
- 'a r r |
- 'a( )a 'a |
- 'cis r r |
- 'cis( )cis 'cis |
- 'd-4 s16
+ d4-2( )c! bes,-4 |
+ a,( )a a, |
+ a,( )a a, |
+ a,( )a a, |
+ a,( )a a, |
+ bes, r r |
+ bes,-5( )bes bes, |
+ a, r r |
+ a,-2( )d-1 d, |
+ g, r r |
+ g,( )g g, |
+ g, r r |
+ g,( )g g, |
+ a, r r |
+ a,( )a a, |
+ a, r r |
+ a,( )a a, |
+ cis, r r |
+ cis,( )cis cis, |
+ d,-4 s16
\stemdown
[g16-1-"m.g." f e] [f-2 a d-3 f] |
- 'a
+ a,
\stemup
- [d-5-"m.d." c 'bes] 'a
- \stemdown ['g-2 'f-"m.g." 'e] ['d 'f-4 'a-2 d-1] |
+ [d-5-"m.d." c bes,] a,
+ \stemdown ['g-2 f,-"m.g." e,] ['d f,-4 a,-2 d-1] |
\stemup
% [f-2\ped a]
[f-2-"Ped." a]
% r1 |
r4 r r |
%{
- ugh, 'forget' the 8 below:
- [cis-3( e cis 'a] [d16-1 c 'bes 'a] |
+ ugh, forget,' the 8 below:
+ [cis-3( e cis a,] [d16-1 c bes, a,] |
and lily dumps koor
lilypond: ../flower/include/varray.hh:116: struct Rhythmic_grouping *& Array<Rhythmic_grouping *>::elem(int) const: Assertion `i >=0&&i<size_' failed.
Aborted (core dumped)
%}
- [cis8-3( e cis 'a] [d16-1 c 'bes 'a] |
- [)'g8 g a-2( g-3 a-1 'a] |
+ [cis8-3( e cis a,] [d16-1 c bes, a,] |
+ [)'g8 g a-2( g-3 a-1 a,] |
)d4-3 d'-1 d |
d r r |
- 'd( )d 'd |
- 'd2. |
+ d,( )d d, |
+ d,2. |
\bar "|.";
}
\header{
filename = "preludes-6.ly";
title = "6";
+piece = "\\numfont 5";
opus = "BWV 940";
% blz 11
% Six Petits Pr'eludes
copyright = "public domain";
}
+\version "0.1.14";
one = \melodic{
\octave c';
\skip 4*4; |
a2-2 ~ [a16 a-1( g f] [e-4 f-2 c-5 d] |
[e32 d e8 f16] [d8.-4 c16-5] \stemboth )c4.-5 d8-4 |
\stemdown
- e4 ~ [e16 f-2( e-3 d-4] [cis 'a 'b cis-3] [d-4 e-3 f-2 d-4] |
+ e4 ~ [e16 f-2( e-3 d-4] [cis a, b, cis-3] [d-4 e-3 f-2 d-4] |
\textstyle "finger";
- )'bes!2-"5\\_4" 'a ~ |
- 'a 'a |
- 'd cis-5 |
+ )'bes!2-"5\\_4" a, ~ |
+ a, a, |
+ d, cis-5 |
a1-2
\bar "|.";
}
--- /dev/null
+\header{
+filename = "sarabande-alto.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Sarabande";
+% opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c';
+}
+
+\include "sarabande-urtext.ly";
+
+sarabande_alto_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \clef alto;
+ \skip 2.*12;
+ \bar ":|:";
+ \skip 2.*16;
+ \bar ":|";
+}
+
+sarabande_alto_scripts = \melodic{
+}
+
+sarabande_alto_staff = \type Staff <
+ \$sarabande
+ \$sarabande_alto_global
+ \$sarabande_alto_scripts
+>
+
+\score{
+ \$sarabande_alto_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+\header{
+filename = "sarabande-cello.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+piece = "Sarabande";
+% opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+%{
+ Tested Features:breaking algorithm, chords, multivoice, accents,
+ dotted slurs
+%}
+
+\version "0.1.14";
+
+urg_urg = \melodic {
+ \octave relative;
+ \octave c;
+}
+
+\include "sarabande-urtext.ly";
+
+sarabande_cello_global = \melodic{
+ \meter 3/4;
+ \key bes;
+ \clef bass;
+ \skip 2.*12;
+ \bar ":|:";
+ \skip 2.*16;
+ \bar ":|";
+}
+
+sarabande_cello_scripts = \melodic{
+}
+
+sarabande_cello_staff = \type Staff <
+ \$sarabande
+ \$sarabande_cello_global
+ \$sarabande_cello_scripts
+>
+
+\score{
+ \$sarabande_cello_staff
+ \include "scs-paper.ly";
+ \midi{
+ \tempo 4 = 40;
+ }
+}
+
--- /dev/null
+% sarabande-urtext.ly
+% belongs together with -cello.ly and -alto.ly
+% (who is going to make a -violin.ly?)
+
+%{
+Well, there are still some scripts in this "urtext".
+But merging music and scripts doen't work too well yet (see alto_scripts).
+%}
+
+\version "0.1.14";
+n = { \slurnormal }
+d = { \slurdotted }
+
+sarabande_a = \melodic{
+% \octave relative;
+ \voiceone \d['d8.()e16] e4.-\trill([d16 )e] |
+ f4. \onevoice [e8(d)c] |
+ [bes g']\n[f e16(f][g a bes)'d] |
+ cis4.-\trill\d[b8(a)g] |
+ % copy bar 1, half bar 2
+ \voiceone \d[d'8.()e16] e4.-\trill([d16 )e] |
+ %5
+ f'4. \onevoice [d8(d)e] |
+ \n[g bes16()a][c()bes a()g][d'8 f,] |
+ \voiceone e4.-\trill \onevoice \d[d8(c)bes] |
+ \voiceone \n[f' g16()a] a4. [g16()f] |
+ [g8 a16()bes]a4. [c16()d]|
+ % 11
+ \onevoice \d ['e8()f][''c g'][f'()e] |
+ f4 f,2 |
+ \voiceone a''4 \d a4.-\trill()bes8 |
+ [c bes16()a] \onevoice [fis8.-\trill()es16][d8()c] |
+ [bes g']['a fis'][es'()d] |
+ %16
+ \voiceone bes4.-\trill \onevoice [a8(g)f!] |
+ [g bes,()a f'(g)a] |
+ ['d as,()g es'(f)g]|
+ ['cis bes'][a g16()f][e!8 f16()d] |
+ [cis8 e16()a]['a8. g'16]\n[f8()e] |
+ %21
+ \voiceone [d e16()f]f4. [e16()d] |
+ [e8 f16()g]g4. [a16()bes] |
+ \d[a8 cis16()d]['d8 e16(f32)g][f8-\trill \n e16()d] |
+ d4 ['d16 a'( b cis][d e f )g] |
+ %25
+ [a(b c)b] c4. [b16()a] |
+ \d[b(cis d )cis] d4. \n[e16()f] |
+ \onevoice [d(cis)d f,] ['a8 e']\d[d'()cis] |
+ d4 d,,2 |
+}
+
+sarabande_b = \melodic{
+% \octave relative;
+ \voicetwo
+ d'4 a,2 |
+ <'d4. a'> s8*3 |
+ s2.*2
+ d4 a,2 |
+ <'d4. a'> s8*3 |
+ s2. |
+ <'c4. g'> s8*3 |
+ a4 <bes4. d> r8 |
+ bes4 <g2 f'> |
+ s2.*2 |
+ \d[f8()es] e4. r8 |
+ d4 s2 |
+ s2. |
+ <'g4. d'> s8*3 |
+ s2.*4 |
+ bes4 g2 |
+ g4 <'cis4. bes'> s8 |
+ <'f8 a d'> r r g a4 |
+ s2. |
+ f'4 fis4. s8 |
+ <'g4 d'> gis'4. s8 |
+}
+
+
+sarabande = \type Voice \melodic<
+ \$sarabande_a
+ \$sarabande_b
+>
+
--- /dev/null
+\paper{
+ linewidth= 180.\mm;
+ gourlay_maxmeasures = 10.0;
+ % for simple testing only!
+ castingalgorithm = \Wordwrap; % lots faster on my 486 -- jcn
+ \include "bar-numbering.ly";
+}
+
--- /dev/null
+\header{
+instrument="Alto";
+}
+
+instrument="alto";
+\include "solo-cello-suite-ii.ly"
+
+
+\version "0.1.14";
--- /dev/null
+\header{
+instrument="Cello";
+}
+
+instrument="cello";
+\include "solo-cello-suite-ii.ly"
+
+
+\version "0.1.14";
+++ /dev/null
-\header{
-filename = "scsii-menuetto.ly";
-title = "Cello Suite II, Menuetto I";
-subtitle = "Part V";
-instrument = "Menuetto I"; % duh
-description = "Cello suite transcribed for Viola";
-source = "?";
-opus = "BWV 1008 no. 5";
-composer = "Johann Sebastian Bach(1685-1750)";
-enteredby = "JCN";
-copyright = "public domain";
-}
-
-%{
- Tested Features:breaking algorithm, chords, multivoice, accents,
- dotted slurs
-%}
-
-\version "0.1.10";
-
-%% Stuff from MPP version
-% \lefttitle{Menuetto}
-% \tempo{Moderato}
-% \metron{4=120}
-%
-% \key\F % \key is F( f-major )
-%
-% \slope{30} % Fool MusiXTeX into 30 / 10 steeper beam
-% % because piece is set very tightly
-
-%{
- This file has a long heritage.
- It should probably be rewritten as two separate voices.
-%}
-
-
-IImenuetto = \melodic{
- \clef"alto";
- \property Staff.instrument = cello
- \meter 3/4;
- \key bes;
- \octave c';
-
- <a2 f d \f> bes4-. |
- <{\voiceone; [bes8^1 a bes-. g-.] a4-.^4 } {\voicetwo; <e8_2 c_4> }> |
- \onevoice;
- <d4 'bes-.> g-. [f8-. e-.] |
- <{\voiceone; [f8( e )d cis-. 'b-. 'a-.] } {\voicetwo; 'a8 }> |
- \onevoice;
- <a2 f d> bes!4-. |
- <{\voiceone; [bes8 a bes-. g-.] } {\voicetwo; e8 }>
- \onevoice;
- c'!4-. | <a-. f> <d'-.-\upbow f 'bes>
- <e'-.-\downbow g 'g> | <cis'2.-\upbow e 'a> \bar ":|:";
- \clef "violin";
- <e'2 a\f>
- [d'8( e'16 )f'] |
- \slurdotted;
- <{\voiceone; [e'8( d' cis'_2 )e' a( )g] } {\voicetwo; g8 }> |
- \onevoice;
- <{\voiceone; a4 ~ d' cis'-. } {\voicetwo; f2 e4 }> |
- \onevoice;
- <{\voiceone; [g'8^4( f' e' )f' d'^3( ) c'] } {\voicetwo; d8 }> |
- \onevoice;
- \clef "alto";
- <{\voiceone; bes2 c'4 } {\voicetwo; g4 ~ f e }> |
- \onevoice;
- <{\voiceone; [a8 g a f] } {\voicetwo; f8 }>
- \onevoice;
- <d'4-\upbow e 'bes> |
- <c'-\downbow f 'a> [bes8 a g a] |
- [f8( e )f a-. g-. bes-.] |
- <a2^"0"^\trill fis_3> bes4 |
- <{\voiceone; [c'8 bes c' a] } {\voicetwo; es8 }>
- \onevoice;
- fis4^\trill |
- <d'4-\downbow g 'bes> <c'-\upbow g c> <[bes8( d> )a] |
- <{\voiceone; [c'8( bes a )bes g( )bes] } {\voicetwo; <d8 g> }> |
- \onevoice;
- <{\voiceone; d'4 ~ cis' d' } {\voicetwo; g2 f4 }> |
- \onevoice;
- <{\voiceone; [g8 f g e] f4 } {\voicetwo; cis8 d4 }> |
- \onevoice;
- ['g8 g] <'a4. { e^\trill ~ d8-\upbow }> |
- \textstyle "italic"; % ugh
- <d2._"fine" 'a 'd> \bar ":|";
-}
-
-\score{
- \melodic{
- \IImenuetto
- }
- \paper{
- linewidth= 185.0\mm;
- }
- \midi{
- \tempo 4 = 120;
- }
-}
--- /dev/null
+\header{
+filename = "solo-cello-suite-ii.ly";
+title = "Solo Cello Suites";
+subtitle = "Suite II";
+opus = "BWV 1008";
+composer = "Johann Sebastian Bach(1685-1750)";
+}
+
+% urg
+
+\version "0.1.14";
+% \include "prelude-" + \instrument + ".ly";
+
+i = "prelude-" + \instrument + ".ly";
+ii = "allemande-" + \instrument + ".ly";
+iii = "courante-" + \instrument + ".ly";
+iv = "sarabande-" + \instrument + ".ly";
+v = "menuetto-" + \instrument + ".ly";
+vi = "gigue-" + \instrument + ".ly";
+
+\include \i;
+\include \ii;
+\include \iii;
+\include \iv;
+\include \v;
+% \include \vi;
%{
%}
-\version "0.1.10";
+\version "0.1.14";
global =
\stemdown
r8 [c8 d e] [f. g32 f] [e8 a] |
- [d g] ~ [g16 a g f] [e f e d] [c d c 'b] |
+ [d g] ~ [g16 a g f] [e f e d] [c d c b,] |
['a8 fis] g4 ~ [g8 fis16 e] [f8 d] |
[g f! e d] c r r g ~ |
%% 5
[d g] ~ [g16 a g f] [e8 a] ~ [a16 b a g] |
f2 [e8. fis16] g4 ~
%% 10
- g4 fis [g16 f! e d] [c d c 'b] |
- ['a16 c 'b 'a] 'g8 r8 r16 [c16 'b 'a] ['gis8 e] |
- [d c16 'b16] ['a 'gis 'a 'b] [c 'fis 'a 'gis] ['b8 'a16 'b]
- [c8 f e d] ~ [d c16 'b] ['b8. 'a16] |
- 'a4 r4 r2 |
+ g4 fis [g16 f! e d] [c d c b,] |
+ ['a16 c b, a,] g,8 r8 r16 [c16 b, a,] ['gis8 e] |
+ [d c16 b,16] ['a gis, a, b,] [c fis, a, gis,] ['b8 a,16 b,]
+ [c8 f e d] ~ [d c16 b,] ['b8. a,16] |
+ a,4 r4 r2 |
%% 15
- r2 r8 ['g8 'a 'b] |
+ r2 r8 ['g8 a, b,] |
[c8. d32 c] ['b8 c] [d e] [f!. g32 f!] |
[e8 a d g] ~ [g16 a g f] [e8 a] |
[d8 bes] [a g16 f] [g f g e] [f g g f32 g] |
[a16 cis d g] [e8. d16] d8 r8 r4 |
%% 20
- r2 r4 r8 'g |
- ['a 'b] [c. d32 c] ['b8 e 'a d] ~ |
+ r2 r4 r8 g, |
+ ['a b,] [c. d32 c] ['b8 e a, d] ~ |
[e16 e d c] ['b c d e] [f g a g] [f e d c] |
- 'b4 [c8 d] 'g c4 'b8 |
- c4 ['b8 'bes8] 'a d4 c8 |
+ b,4 [c8 d] g, c4 b,8 |
+ c4 ['b8 bes,8] a, d4 c8 |
%% 25
[d8 e] f4 ~ [f16 a g f] [e f e d] |
- c2 r16 ['g32 'a 'b!16 c] [d e f8] ~ |
+ c2 r16 ['g32 a, b,!16 c] [d e f8] ~ |
[f32 c d e f16 g] [a8. b16] <g2 c'2> |
}
%% 5
r2 r8 [c8 d e] |
[f. g32 f] [e8 a] [d g] ~ [g16 a g f] |
- [e f e d] [c d c 'b] ['a8 d a fis] |
+ [e f e d] [c d c b,] ['a8 d a fis] |
[g16 a bes g] [cis8 d] a4 e4 |
[a16 b c' d'] [c' b a g] c'8 r8 r4 |
%% 10
- r2 r8 ['g8 'a 'b] |
+ r2 r8 ['g8 a, b,] |
[c. d32 c] ['b8 e] ['a d] ~ [d16 e d c] |
- 'b8 e4 d8 c f!4 e8 ~ |
+ b,8 e4 d8 c f!4 e8 ~ |
e d4 e8 [f! e16 d] e4 |
- 'a4 r4 r2 |
+ a,4 r4 r2 |
%% 15
- r8 ['g8 'a 'b] [c. d32 c] ['b8 e] |
- ['a8 d] ~ [d16 e d c] ['b8 'bes 'a g'] |
+ r8 ['g8 a, b,] [c. d32 c] ['b8 e] |
+ ['a8 d] ~ [d16 e d c] ['b8 bes, a, g'] |
['a8 fis g e] d4 [e8 f!] |
[g8. a32 g] [f8 bes] [e a] ~ [a16 bes a g] |
[f e f d] [g8 a] d2 ~ |
%% 20
- [d16 e d c] ['b 'a 'g 'fis] ['e8 e fis g] ~ |
+ [d16 e d c] ['b a, g, fis,] ['e8 e fis g] ~ |
[g a16 g16] [fis8 d] g2 ~ |
g2 a4 [b8 c'] |
- [f16 a g f] [e d c 'b] [c d e f] [g8 'g] |
+ [f16 a g f] [e d c b,] [c d e f] [g8 g,] |
c1 ~ |
%% 25
c1 ~ |
Tested Features: stem direction, multivoice, forced accidentals.
%}
-\version "0.1.10";
+\version "0.1.14";
\include "nederlands.ly" % for correct parsing of note names
\translator Staff = treble \stemdown \octave c';
[g16 fis] [g8 c] [es g16 fis!] [g8 a] |
[d g16 fis] [g8 a!] [c16 d] es4 [d16 c] | % forced accident!
- 'bes8 r8 r16 [d e fis] [g a bes8] ~ [bes16 e f g] |
- [a bes c'8] ~ [c'16 fis16 g a] [bes8 es!16 d] [es8 'g] |
- ['as f16 es] [f8 'a8] ['bes g16 f] [g8 'b] |
+ bes,8 r8 r16 [d e fis] [g a bes8] ~ [bes16 e f g] |
+ [a bes c'8] ~ [c'16 fis16 g a] [bes8 es!16 d] [es8 g,] |
+ [as, f16 es] [f8 a,8] [bes, g16 f] [g8 b,] |
%% 20
[c16 f es d] [c Bes! As G] [F8 as g f] |
[es d es f] [B c d B] |
r8 [g16 fis] [g8 c] [es g16 fis] [g8 a] |
[d8 g16 fis] [g8 a] [c16 d] es4 [d16 c] |
%% 5
- ['bes8 es16 d] [es8 'g8] ['as f16 es] [f8 'a]
- ['bes8 g16 f] [g8 'b] [c8 d16 es] f4 ~ |
- [f8 es16 d] [c16 'bes! 'as 'g] ['f8 as g f]
- [es d es f] ['b c d 'b] |
+ [bes,8 es16 d] [es8 g,8] [as, f16 es] [f8 a,]
+ [bes,8 g16 f] [g8 b,] [c8 d16 es] f4 ~ |
+ [f8 es16 d] [c16 bes,! as, g,] [f,8 as g f]
+ [es d es f] [b, c d b,] |
[c g16 fis] [g8 d] es4 r8 e8 |
%% 10
[f f16 e] [f8 c8] d4 r8 d |
- [es8 es16 d] [es8 'bes] [c es16 d] [es8 f] |
- \stemboth ['bes es16 d] [es8 f] ['as16 'bes] c4 ['bes16 'as] |
+ [es8 es16 d] [es8 bes,] [c es16 d] [es8 f] |
+ \stemboth [bes, es16 d] [es8 f] [as,16 bes,] c4 [bes,16 as,] |
[G16 Es F G] [As Bes c d] [es d c d] [es f g a] |
[bes F G As] [Bes c d e] [f es d es] [ f g a b] |
%% 15
r [fis16 e] fis8 r r [G16 F] G8 r8 |
r8 [A16 G] A8 r r [B16 A] B8 r |
%% 20
- r8 [c16 'b] [c8 'g] [As c16 'b] [c8 d] |
+ r8 [c16 b,] [c8 g,] [As c16 b,] [c8 d] |
[G c16 B] [c8 d] [F16 G] As4 [G16 F] |
[Es8 c16 B] [c8 G] As4 r8 A |
- [Bes8 Bes16 A] [Bes8 F8] 'g4 r8 G ~ |
+ [Bes8 Bes16 A] [Bes8 F8] g,4 r8 G ~ |
[G As16 Bes] [c B c As] F2 ~ |
%% 25
[F8 d16 c] [d8 F] [Es es16 d] [es8 G] |
[G F16 Es] [F8 D] [As G] r A |
[B c] [F16 Es D C] C8 [c16 B] [c8 G] |
%% 30
- [As c16 B] [c8 <d 'b! 'as!]> [G8 c16 B] [c8 d] |
+ [As c16 B] [c8 <d b,! as,!]> [G8 c16 B] [c8 d] |
[F16 G] As4 [G16 F] E2 |
}
r [es d c] [d c16 Bes] [c8 d] |
[G8 bes16 a] [bes8 d] [es c'16 bes] [c'8 e] |
[f d'16 c'] [d'8 fis] g4 r16 [G A B] |
- [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 'b c d] |
+ [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 b, c d] |
%% 20
es8 r r e [f F Es! D] | % -> \classic_accidentals
r [As G F] [G F16 Es] [F8 G] |
copyright = "Public Domain";
}
-\version "0.1.10";
+\version "0.1.14";
global =
\melodic {
r8 [d16 a] [d' d a d'] r8 [d16 a] [d' d a d'] |
r8 [d16 f] [b d f b] r8 [d16 f] [b d f b] |
r8 [c16 g] [c' c g c'] r8 [c16 g] [c' c g c'] |
- r8 ['a16 c] [f 'a c f] r8 ['a16 c] [f 'a c f] |
- r8 ['a16 c] [f 'a c f] r8 ['a16 c] [f 'a c f] |
- r8 ['g16 'b] [f 'g 'b f] r8 ['g16 'b] [f 'g 'b f] |
- r8 ['g16 c] [e 'g c e] r8 ['g16 c] [e 'g c e] |
+ r8 ['a16 c] [f a, c f] r8 ['a16 c] [f a, c f] |
+ r8 ['a16 c] [f a, c f] r8 ['a16 c] [f a, c f] |
+ r8 ['g16 b,] [f g, b, f] r8 ['g16 b,] [f g, b, f] |
+ r8 ['g16 c] [e g, c e] r8 ['g16 c] [e g, c e] |
%% 20
- r8 ['bes16 c] [e 'bes c e] r8 ['bes16 c] [e 'bes c e] |
- r8 ['a16 c] [e 'a c e] r8 ['a16 c] [e 'a c e] |
- r8 ['a16 c] [ees 'a c ees] r8 ['a16 c] [ees 'a c ees] |
- r8 ['b16 c] [d 'b c d] r8 ['b16 c] [d 'b c d] |
- r8 ['g16 'b] [d 'g 'b d] r8 ['g16 'b] [d 'g 'b d] |
- r8 ['g16 c] [e 'g c e] r8 ['g16 c] [e 'g c e] |
- r8 ['g16 c] [f 'g c f] r8 ['g16 c] [f 'g c f] |
- r8 ['g16 'b] [f 'g 'b f] r8 ['g16 'b] [f 'g 'b f] |
- r8 ['a16 c] [fis 'a c fis] r8 ['a16 c] [fis 'a c fis] |
- r8 ['g16 c] [g 'g c g] r8 ['g16 c] [g 'g c g] |
+ r8 ['bes16 c] [e bes, c e] r8 ['bes16 c] [e bes, c e] |
+ r8 ['a16 c] [e a, c e] r8 ['a16 c] [e a, c e] |
+ r8 ['a16 c] [ees a, c ees] r8 ['a16 c] [ees a, c ees] |
+ r8 ['b16 c] [d b, c d] r8 ['b16 c] [d b, c d] |
+ r8 ['g16 b,] [d g, b, d] r8 ['g16 b,] [d g, b, d] |
+ r8 ['g16 c] [e g, c e] r8 ['g16 c] [e g, c e] |
+ r8 ['g16 c] [f g, c f] r8 ['g16 c] [f g, c f] |
+ r8 ['g16 b,] [f g, b, f] r8 ['g16 b,] [f g, b, f] |
+ r8 ['a16 c] [fis a, c fis] r8 ['a16 c] [fis a, c fis] |
+ r8 ['g16 c] [g g, c g] r8 ['g16 c] [g g, c g] |
%% 30
- r8 ['g16 c] [f 'g c f] r8 ['g16 c] [f 'g c f] |
- r8 ['g16 'b] [f 'g 'b f] r8 ['g16 'b] [f 'g 'b f] |
- r8 ['g16 'bes] [e 'g 'bes e] r8 ['g16 'bes] [e 'g 'bes e] |
+ r8 ['g16 c] [f g, c f] r8 ['g16 c] [f g, c f] |
+ r8 ['g16 b,] [f g, b, f] r8 ['g16 b,] [f g, b, f] |
+ r8 ['g16 bes,] [e g, bes, e] r8 ['g16 bes,] [e g, bes, e] |
- r8 ['f16 'a] [c f c 'a] [c 'a 'f 'a] ['f 'd 'f 'd] |
+ r8 ['f16 a,] [c f c a,] [c a, f, a,] ['f d, f, d,] |
r8 [g16 b] [d' f' d' b] [d' b g b] [d f e d] |
<e1 g c'> ||
}
r16 c8. ~ c4 r16 c8. ~ c4 |
r16 c8. ~ c4 ~ c2 |
- r16 'b8. ~ 'b4 ~ 'b2 |
+ r16 b,8. ~ b,4 ~ b,2 |
c1 ||}
% Bass
e e |
e e |
d d |
- 'g 'g |
+ g, g, |
c c |
%% 20
c c |
- 'f 'f |
- 'fis 'fis |
- 'aes 'aes |
- 'g 'g |
- 'g 'g |
- 'g 'g |
- 'g 'g |
- 'g 'g |
- 'g 'g |
+ f, f, |
+ fis, fis, |
+ aes, aes, |
+ g, g, |
+ g, g, |
+ g, g, |
+ g, g, |
+ g, g, |
+ g, g, |
%% 30
- 'g 'g |
- 'g 'g |
- 'c 'c |
+ g, g, |
+ g, g, |
+ c, c, |
- 'c 'c |
- 'c 'c |
- 'c1 }>
+ c, c, |
+ c, c, |
+ c,1 }>
}
# descent order into subdirectories:
#
-SUBDIRS = J.S.Bach Coriolan
+SUBDIRS = J.S.Bach Coriolan W.A.Mozart
EXTRA_DISTFILES += TODO
examples=standchen gallina
--- /dev/null
+
+# subdir level:
+#
+depth = ../..
+#
+
+EXTRA_DISTFILES=
+
+# descent order into subdirectories:
+#
+SUBDIRS =
+#
+
+# generic stuff/Makefile
+#
+include ./$(depth)/make/Mutopia.make
+#
+
+examples=cadenza
+
+include $(depth)/make/WWW.make
--- /dev/null
+\header{
+filename = "cadenza.ly";
+title = "Cadenza ad libitum";
+description = "Cadenza to Mozart Horn concerto 3";
+composer = "unknown";
+enteredby = "HWN";
+copyright = "public domain";
+}
+
+%{
+Tested Features: cadenza mode
+
+Ugh.. Wish we had grace notes.... It adds another dimension to this
+piece of music. %}
+
+\version "0.1.14";
+
+
+cad = \melodic {
+ \property Score.instrument = "french horn"
+ \type Staff {
+ \cadenza 1;
+ \grouping 1*4;
+ \octave c';
+
+ \clef "violin";
+ c'4.\mf g8
+
+
+ [e'^"accel" () d' c' b]
+ [b() c'] g-\fermata
+ \bar "empty";
+ c [c_"rubato" e g c']
+ \octave c'';
+ e4. e8 [g () f_"rit" e d]
+
+ dis4() e4
+ \bar "" ;
+ r8 [c16 d] [e f g gis]
+
+ a4-> f,() e, g
+ f-> d,() cis, e
+
+ d4^\fermata
+ \bar "" ;
+
+ r8 a, [b, cis]
+ [d16 cis d e]
+ f4() [f16 e d c]
+ b,4-\turn
+ \octave c'; [2/3 d'8 c'8 a8]1/1
+ g2
+ \bar "" ;
+ [g16 c e g] [c' e g c']\octave c'';
+ [e g, c e] g4^\fermata
+ \bar "" ;
+ [g8.(_"a tempo" e16 g8. )e16]
+ a4. g8 [f8 e8 d8 c8]
+ g,2 d2-\trill
+ c4
+ }}
+\score {
+ \melodic { \cad }
+ \midi { \tempo 4 = 90; }
+ \paper {
+ }
+}
--- /dev/null
+
+
+\version "0.1.14";
+
+allegro = \melodic
+{
+ \octave relative;
+
+ R1*18
+ r2 r4 g'4 |
+ e'4. () c8 [f (d c )b ]
+ [b()c] g4 r8 [g-. c-. e-.]
+ g2. ( [g16-.( f e ))f]
+ dis4 () e4-- r8 [c8-. c-. c-.]
+ c4.( [d16 )e] f4 () e
+ a,() d g,() c
+ d-. d-. [d8. c16 d8. e16]
+ c4 r r2
+ R1*3
+ c,2 ~ [c8 e( g )c]
+ [c () b ] b4-. r2
+ [c,8 () e g c] [e()g e c]
+ [c()b] b4-- r2
+ c4.() g8 e'4.() c8
+ [g'()d ] d4-- r4 d
+ [d8 () c] c4.( [d16 e] [d8 )c]
+ [c8(-\trill )b] b4 r2 |
+ d2~( [d8 e16 d] [c8 )b] |
+ [b()a-.] a4-> r8 [a-. a-. a-.]
+ a4 cis e g
+ [g16( fis e )d] d4-. r2 | % The g16 really is a grace note.
+ % mark B
+ R1*3
+ r2 r4 [d8 (b ]
+ [a )g d'( b] [a )g e'( c ]
+ [b8 )a] a4 r4 [a8-. a]
+ [a( b c cis] d4 )c
+ [ais8() b] r8 b [b()c] r c
+ [cis ()d] r4 r2
+ g,1 ~ g2 ~ [g8 a16 b] [c()d e c]
+ f4-. d-. b-. g-.
+ r1
+ c,2\p e4 g c e g4. e8 |
+ d4. [e16 fis] [g () fis e d] [c() b a g]
+ a1(-\trill % \grace{g a}
+ )g4 r r2
+ R1*15
+ % mark D
+ bes2 d4 f
+ g,2~ [g8 g'( es )c]|
+ bes4()a. [c8 d es]
+ cis4()d r8 [bes (c )d]
+ es2 () d4 r
+ es2\p () d4 r
+ [c8(\mf g' es )c] bes4()c-.
+ c4.( cis8 )d4 r
+ R1*2
+ es1~es1|
+ e!
+ d
+ c
+ c,
+ e''
+ e,
+ c'2 [b8( a gis )a]
+ [gis8 e gis b ] e4 r |
+ r8 [e, a c] dis4 r
+ r8 [e, a c] dis4 r
+ r8 [e, g b] e4 r
+ r8 [fis, b dis] fis4 r
+ r8 [gis, b d] f4 r
+ r8 [g, b d] f4 r
+ %mark E
+ R1*8
+ r2 r8 [g,-. g-. g-.]
+ e'4.() c8 [f( d c )b]
+ [b()c] g4 r8 [g c e] |
+ g2. ( [g16( f e ))f]
+ dis4()e r8 [c-. c c]
+ c4.( [d16 e] f4 )e
+ a, ( d g, )c
+ d d [
+ % \grace {e}
+ d8. c16 d8. e16]
+ c4 r r2
+ % mark F
+ R1*3
+ c,2~[c8( e g )c]
+ [c8()b] b4 r2
+ [c,8()e g c ] [e ()g e c]
+ [c()b] b4 r2
+ c2 (bes )a [a8(b c )cis]
+ d2( ~ [d8 e16 d] [d16() c b )c]
+ [c( b a) g] g4 r2 |
+ R1*3
+ r2 r4 [g'8()e]
+ [d()c g'()e] [d()c a'()f]
+ [e()d] d4 r [d8 d]
+ d4~( [d16 e d )e] [g8() f e d] |
+ c4 r r2
+ r1
+ c1 ~
+ c |
+ [c8-. c-.] r c-. [cis()d] r d-. |
+ [dis()e] r e-. [e()f] r f-. |
+ g4-. e-. c-. bes-. |
+ g-.\ff e-. c-. r |
+ a'2 ~ [a8 b16 c] [d e d e]
+ f4. () d8 [f8 ()d f d]
+ [c (e] )g2 [f16 e d c]
+ d1-\trill % \grace { c d}
+ c4 r r2
+ r1 |
+ % mark H
+ [/3 c8 ()b a ]/1 [/3 g a b]/1 [/3 c d e]/1 [/3 f()e d]/1 |
+ [/3 c () b a ]/1 [/3 g a b]/1 [/3 c d e]/1 [/3 f()e d]/1|
+ c4 \[/3 r8 [g'()e]\]/1 c4 \[/3 r8 [e () c]\]/1 |
+ g4 \[/3 r8 [c8() g] \]/1 [/3 e ()g e]/1 [/3c ()e c]/1|
+ g4 r8 g'\f [a b c d]|
+ d1(-\trill % \grace { c d }
+ )c4 r r2
+ R1*3
+ c1-\trill ( %\grace{c d}
+ )c4 r r2
+ R1*2
+
+ r4 [c8.^"tutti" c16] c4 c
+ c [c,8. c16] c4 c|
+ c2 r2 \bar "|.";
+
+}
+
+romanze = \melodic {
+ \octave relative;
+ \key bes;
+ \meter 2/2;
+ c'4.() f8 a,4 a
+ [bes8( c d bes] )g4 r8 g
+ a r bes r c r [d()bes]
+ a2()[g8 a( bes )b]
+ c4. () f8 a,4 a |
+ [bes8 (c d) bes] g4 r8 c,-.
+ [c8( e g )bes] [a( c f ) d]
+ c r e r f r r4
+ % mark A
+ R1*8
+ g4. f8 [e d c bes]
+ [bes( a d )c] c4 r
+ R1*2
+ g'4. f8 [e d c bes]
+ [bes (a d ) c] c4 r
+ r1
+ [c16\mf () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
+ [c16\p () d c-. d-.] [e () f e-. f-.] [g()e c-. c-.] [f()d b-. b-.]
+ [c8 c, c c] [c c c c]
+ % mark B
+ c1\f
+ R1*9
+ f''4.(\p )d8 b4 r8 g
+ g'4.() e8 c4 r8 cis |
+ d4(~ [d16 e d )e] [f8 () d f() d]
+ c2()b4 r
+ R1*4
+ e4. ()g8 c,4 ()cis
+ [d8( e f )d] b4 r8 g
+ [c ()e g g] [g( f e )d]
+ c4( % \grace { e}
+ [d8. )c16] [c8 c--( c-- )c--]
+ % mark C
+ des1\sf %\sfp
+ g,1\sf %\sfp
+ c\sf %\sfp
+ c,\sf %\sfp
+ R1*3
+ r8 [c c c] c2~
+ [c8 c' c c] c2~
+ [c8 e( g f] [e d c bes]
+ % mark D
+ )a4 r r2
+ R1*3
+ c4. () f8 a,4 a |
+ [bes8 (c d) bes] g4 r8 c,-.
+ [c8( e g )bes] [a( c f ) d]
+ c r e r f4 r4
+ R1*3
+ r2 r4 r8 c,8
+ [c8( e g )bes] [a( c f ) d]
+ c r e r f4 r4
+ g,1\pp
+ c,2~c4. c8
+ [c8( e g )bes] [a( c f ) d]
+ c r e r f4 r4
+ r1
+ c8-. r e-. r f4 r4
+ c8-. r c,-. r c4 r4|
+ \bar "|.";
+}
+
+rondotheme = \melodic {
+ \octave relative;
+ [c'8 c c] [c c c]
+ c4( cis8 )d r g,
+ [d'8 d d] [d d d]
+ d4( dis8 )e r c |
+ [c()d e] [f g a]
+ [g ()e c] c4 d8
+ e4()d8 e4()f8
+ e4.()d8 r r |
+}
+rondo = \melodic {
+ \partial 8;
+ \octave relative;
+ g'8 |
+ \meter 6/8;
+ \grouping 8*3 8*3;
+ \rondotheme
+
+ R2.*13 |
+ r8 r-\fermata d' [d e f]
+ [g ()e c-.] [d()e d]
+ c4 c8 [d e f]
+ [g()e c-.] [d()e d-.]
+ c4 r8 r4 r8 |
+ R2.*7
+ % mark A
+ c4.\p [d8 c d]
+ c4 r8 r4 r8
+ e4. [f8 e f]
+ e4 r8 r4 r8
+ g4. e4 c8
+ g2.~
+ [g8 a b] [c d e ]
+ e4.()d8 r r
+ R2.*4
+ e2.~ |
+ [e8 d c] [c b a]
+ d2.~
+ [d8 c b] [b a g]
+ g'4()e8 b4()cis8
+ %mark B
+ d4 r8 r4 r8
+ R2.*3 |
+ r8 [d-. d-.] [d()g d---.]
+ [d()g d-.] [d d d]
+ [d()g] r r4 r8
+ R2.*1
+ r8 [g,-. g-.] [c()e g,-.]
+
+ [c()e g,-.] [c()e g,-.]
+ [c c, c] [c c c]
+ [c c c] [c c c]
+ c4 r8 [c' d e]
+ d4()g8 [c, d e]
+ d4 r8 r4 r8
+ R2. |
+ r4 r8 [c-. d-. e-.]
+ d4()g8 [c, d e]
+ [d()g fis] [e d c]
+ [b () e d] [c b a]
+ % mark C
+ g4 r8 r4r r8
+ R2.
+
+
+
+
+}
+
+\score
+{
+ { \property Score.SkipBars = 1
+ \allegro
+ }
+}
+
+%{
+\score
+{
+ { \property Score.SkipBars = 1
+ \romanze
+ }
+}
+
+\score
+{
+ { \property Score.SkipBars = 1
+ \rondo
+ }
+}
+%}
definition below. --MB
%}
-\version "0.1.10";
+\version "0.1.14";
vi1=\melodic{
\meter 4/4;
title = "La Feria";
subtitle = "Los Toros";
opus = "";
-composer = "Paul Lac\\^ome d'Estalenx (1838-1920)";
+composer = "Paul Lac\\^ome dEstalenx (1838-1920)";
enteredby = "jcn";
copyright = "public domain";
latexheaders= "headers";
}
-
-\include "paper16.ly"
+\version "0.1.14";
%{
Silly latex file dropped; use ly2dvi
+
+Converted to relative octave from los-toros-oboe.ly:
+ :s/[^\\]'/'x/g
+ :s/'x//g
+ (511 substitutions on 155 lines)
+
+ lilypond -f los-toros-oboe 2> bla
+ wc -l bla
+ 138
+ 138 / 3 = 46 octave quotes of 511 remain!
+
%}
+\include "paper16.ly"
+
hoboonestart = \melodic{
-% ugh: can't copy: allegro/primo tempo
- \octave c';
+% ugh: cant copy: allegro/primo tempo
+ \octave relative;
\textstyle "large";
- [es'16-.^"Allegro" es'-. es'-. es'-.] [es'8-. d'-.] |
+ [es''16-.^"Allegro" es-. es-. es-.] [es8-. d-.] |
\textstyle "italic";
}
hobooneintro = \melodic{
- \octave c';
+ \octave relative;
% \textstyle "roman";
-% [es'16-.-"Allegro" es'-. es'-. es'-.] [es'8-. d'-.] |
+% [es''16-.-"Allegro" es-. es-. es-.] [es8-. d-.] |
% \textstyle "italic";
- [f'8.-> es'16(] [)d'8 c'-.] |
- [bes16( c' d' es'] [)d'8 c'-.] |
+ [f''8.-> es16(] [)d8 c-.] |
+ [bes16( c d es] [)d8 c-.] |
[bes-. as->~] [as16( g f g] |
- [as bes c' d'] [)es'8 c'-.] |
- [d'8-. c'16( bes] )as4 ~ |
- [as16 g( f g] [as c' bes as] |
+ [as bes c d] [)es8 c-.] |
+ [d8-. c16( bes] )as4 ~ |
+ [as16 g( f g] [as c bes as] |
% [)g8 as16 g(] [)f8 g16( f] |
[)g8 as16 g(] [)f8 g16( f] |
- [)es8 f16-. g-.] [as-. bes-. c'-. d'-.] |
- [es'-. es'-. es'-. es'-.] [es'8-. d'-.] |
- [f'8.-> es'16(] [)d'8 c'-.] |
- [bes16( c' d' es'] [)d'8 c'-.] |
+ [)es8 f16-. g-.] [as-. bes-. c-. d-.] |
+ [es-. es-. es-. es-.] [es8-. d-.] |
+ [f8.-> es16(] [)d8 c-.] |
+ [bes16( c d es] [)d8 c-.] |
[bes8 a->~] [a16 g( fis g] |
- [a bes c' d'] [)es'8 d'16()c'] |
- [bes-. g-. bes-. d'-.] g'4-> ~ |
- [g'16 f'( es' d'] [c' es' d' c'] |
- [)bes8 c'16( bes] [)a8 bes16( a] |
+ [a bes c d] [)es8 d16()c] |
+ [bes-. g-. bes-. d-.] g4-> ~ |
+ [g16 f( es d] [c es d c] |
+ [)bes8 c16( bes] [)a8 bes16( a] |
[)g8 r d'] r |
}
hoboonemid = \melodic{
- \octave c';
- [g16-. g-. g-. g-.] [g8-. f-.] |
+ \octave relative;
+ [g'16-. g-. g-. g-.] [g8-. f-.] |
as2-> |
[as16-. as-. as-. as-.] [as8-. g-.] |
bes2-> |
- [bes16-. bes-. bes-. bes-.] [bes8-. c'] |
+ [bes16-. bes-. bes-. bes-.] [bes8-. c] |
- r-"cresc." [d'8-. r c'-.] |
- r\f [d'-. es'-. f'-.] |
- [g'8.-> es'16] [bes8 g] |
+ r-"cresc." [d8-. r c-.] |
+ r\f [d-. es-. f-.] |
+ [g8.-> es16] [bes8 g] |
% four measures copied from 8 measures back...
[g16-.\p g-. g-. g-.] [g8-. f-.] |
as2-> |
[as16-. as-. as-. as-.] [as8-. g-.] |
bes2-> |
- [b16-. b-. b-. b-.] [b8-. c'-.] |
+ [b16-. b-. b-. b-.] [b8-. c-.] |
% same measure
- [b16-. b-. b-. b-.] [b8-. c'-.] |
+ [b16-. b-. b-. b-.] [b8-. c-.] |
- [b8-.-"cresc." c'-. b-. c'-.] |
- [d'-. es'-. d'-. es'-.] |
- [f'\f-. g'-. f'-. g'-.] |
- [as'-.\< g'-. as'-. bes'-.] |
- [\!g'16\ff-. g'-. g'-. g'-.] [g'8-. g'-.] |
- [g'8.-> g'16] [g'8 g'] |
- [g'8.-> g'16] [g'8 g'] |
- [f'8.-> f'16] [f'8 f'] |
- [f'8.-> f'16] [f'8 f'] |
- [bes'8-. as'16( g'] )f'4 ~ |
- [f'16 es'( d' es'] [f' as' g' )f'] |
- [es'( g' f' es'] [d' f' es' d'] |
- [c' es' d' c'] [b d' c' b] |
- [a c' bes a] [g bes a g] |
+ [b8-.-"cresc." c-. b-. c-.] |
+ [d-. es-. d-. es-.] |
+ [f\f-. g-. f-. g-.] |
+ [as-.\< g-. as-. bes-.] |
+ [\!g16\ff-. g-. g-. g-.] [g8-. g-.] |
+ [g8.-> g16] [g8 g] |
+ [g8.-> g16] [g8 g] |
+ [f8.-> f16] [f8 f] |
+ [f8.-> f16] [f8 f] |
+ [bes8-. as16( g] )f4 ~ |
+ [f16 es( d es] [f as g )f] |
+ [es( g f es] [d f es d] |
+ [c es d c] [b d c b] |
+ [a c bes a] [g bes a g] |
[fis a g fis] [e g fis )e] |
% `a deux
- [d8 d'] [es'8.-> c'16] |
+ [d8 d'] [es8.-> c16] |
[a8 bes g es] |
- [c' d' es'8. bes16] |
- [g8 es bes c] |
+ [c' d es8. bes16] |
+ [g8 es bes' c,] |
+ [d16-. d-. d-. d-.] [d8.-. es16->] |
+ [d'16-.-"cresc." d-. d-. d-.] [d8.-. es16->] |
[d16-. d-. d-. d-.] [d8.-. es16->] |
- [d'16-.-"cresc." d'-. d'-. d'-.] [d'8.-. es'16->] |
- [d'16-. d'-. d'-. d'-.] [d'8.-. es'16->] |
- [d'16 d' d' d'] [d'8 es'16-.] r16-\fermata^"court"^"tr\\`es" |
+ [d16 d d d] [d8 es16-.] r16-\fermata^"court"^"tr\\`es" |
% Un peu plus lent.
\textstyle "bold";
% ugh
-% d'4(\<^"Un peu plus lent" \textstyle "italic; _"tr\\`es \\'el\\'egant"
-% d'4(\^"Un peu plus lent et \\'el\\'egant"<
+% d4(\<^"Un peu plus lent" \textstyle "italic; _"tr\\`es \\'el\\'egant"
+% d4(\^"Un peu plus lent et \\'el\\'egant"<
\textstyle "italic";
- d'4(\<
- [e'8 \!fis'8] |
-% [)b'-. a'-.] [g16( fis' e' )d'] |
+ d4(\<
+ [e8 \!fis8] |
+% [)b-. a-.] [g16( fis e )d] |
\textstyle "bold";
- [)b'-.^"Un peu plus lent et \\'el\\'egant" a'-.] [g16( fis' e' )d'] |
+ [)b-.^"Un peu plus lent et \\'el\\'egant" a-.] [''g16( fis' e )d] |
\textstyle "italic";
- [d'( c' b\< c'] [)\!fis'8-. e'-.] |
- d4-> ~ [d16 e( fis g] |
- [a b\< d' fis'] [)\!a'8-. g'-.] |
- [fis'16( e' a )c'] e'4 ~ |
- [e'16 d'( e c'] [)b8-. a-.] |
+ [d( c b\< c] [)\!fis'8-. e-.] |
+ d,,4-> ~ [d16 e( fis g] |
+ [a b\< d fis] [)\!a8-. g-.] |
+ [fis16( e a, )c] e4 ~ |
+ [e16 d( e, c'] [)b8-. a-.] |
g2 ~ |
[g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
b2-> ~ |
- [b8 \[/3 d16( e fis ]1/1 [)g8-"cresc. poco" e'-.] |
- e'2-> ~ |
- [e'8 \[/3 d16( e fis ]1/1 [)g8\f d'-.] |
- [d'8.-> b'16-.] [g'16-. d'-. b-. c'-.] |
- [d'-. e'-. fis'-. a'-.] [g'8-. e'-.] |
- fis'2-> ~ |
- [fis'16 g'-.\< a'-. b'-.] [\!c''8-. c'-.] |
- [es'8.->(-"espress.") d'16] d'4 ~ |
- [d'16 e'( fis' a'] [)g'8 b-.] |
- [b8.->( )c'16] c'4 ~ |
- [c'16\< cis'( d' \!dis'] [)e'8-.-"dim." fis-.] |
+ [b8 \[/3 d,16( e fis ]1/1 [)g8-"cresc. poco" e'-.] |
+ e2-> ~ |
+ [e8 \[/3 d,,16( e fis ]1/1 [)g8\f d'-.] |
+ [d8.-> b'16-.] [g16-. d-. b-. c-.] |
+ [d-. e-. fis-. a-.] [g8-. e-.] |
+ fis2-> ~ |
+ [fis16 g-.\< a-. b-.] [\!c8-. c,-.] |
+ [es8.->(-"espress.") d16] d4 ~ |
+ [d16 e( fis a] [)g8 b,-.] |
+ [b8.->( )c16] c4 ~ |
+ [c16\< cis( d \!dis] [)e8-.-"dim." fis,-.] |
[fis8.->( g16] )g4 ~ |
% (only notes! of) five measures copied from 14 measures above
[g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
b2->-"cresc." ~ |
- [b8 \[/3 d16( e fis ]1/1 [)g8 e'-.] |
- e'2-> ~ |
- [e'8 \[/3 d16(_"h\\^atez" e fis ]1/1 [)g8\f d'-.] |
- [d'8.-> b16-.] [g16-.-"cresc." d'-. b-. c'-.] |
- [d'16\f\< e'-. fis'-. g'-.] [a'-. b-. c'-. \!d'-.]
+ [b8 \[/3 d,16( e fis ]1/1 [)g8 e'-.] |
+ e2-> ~ |
+ [e8 \[/3 d,,16(_"h\\^atez" e fis ]1/1 [)g8\f d'-.] |
+ [d8.-> b16-.] [g16-.-"cresc." d'-. b-. c-.] |
+ [d16\f\< e-. fis-. g-.] [a-. b,-. c-. \!d-.]
}
hoboonesecondstart = \melodic{
- \octave c';
-% ugh: can't copy: allegro/primo tempo
+ \octave relative;
+% ugh: cant copy: allegro/primo tempo
\textstyle "large";
- [es'16-.\ff^"Tempo 1$^o$" es'-. es'-. es'-.] [es'8-. d'-.] |
+ [es''16-.\ff^"Tempo 1$^o$" es-. es-. es-.] [es8-. d-.] |
\textstyle "italic";
}
hoboonelast = \melodic{
- \octave c';
+ \octave relative;
% could transpose/copy from measure 19...
- [d'16-.\p d'-. d'-. d'-.] [d'8-. c'-.] |
- es'2-> |
- [es'16-. es'-. es'-. es'-.] [es'8-. d'-.] |
- f'2-> |
- [f'16-. f'-. f'-. f'-.] [f'8-. g'-.] |
- r8 [a'-.-"cresc." r g'-.] |
- r [a'-.\f bes'-.\< \!c''-.] |
- [d''8.->\> \!bes'16] [f'8 d'] |
+ [d''16-.\p d-. d-. d-.] [d8-. c-.] |
+ es2-> |
+ [es16-. es-. es-. es-.] [es8-. d-.] |
+ f2-> |
+ [f16-. f-. f-. f-.] [f8-. g-.] |
+ r8 [a-.-"cresc." r g-.] |
+ r [a-.\f bes-.\< \!c-.] |
+ [d8.->\> \!bes16] [f8 d] |
% four measures copied from 8 measures back...
- [d'16-.\p d'-. d'-. d'-.] [d'8-. c'-.] |
- es'2-> |
- [es'16-. es'-. es'-. es'-.] [es'8-. d'-.-"cresc."] |
- f'2-> |
- [fis'16-.\p fis'-. fis'-. fis'-.] [fis'8-. g'-.] |
+ [d16-.\p d-. d-. d-.] [d8-. c-.] |
+ es2-> |
+ [es16-. es-. es-. es-.] [es8-. d-.-"cresc."] |
+ f2-> |
+ [fis16-.\p fis-. fis-. fis-.] [fis8-. g-.] |
% same measure
- [fis'16-.\p fis'-. fis'-. fis'-.] [fis'8-. g'-.] |
- [fis'8-. g'-. fis'-. g'-.] |
- [a'-. bes'-. a'-. bes'-. ] |
- [a'-.\f bes'-. a'-. bes'-. ] |
- [c''-.-"cresc." f'-. g'-. a'-.] |
- [bes'-. bes'-. ces''8.-> as'16] |
- [f'8-. ges'-. es'-. ces'-.] |
+ [fis16-.\p fis-. fis-. fis-.] [fis8-. g-.] |
+ [fis8-. g-. fis-. g-.] |
+ [a-. bes-. a-. bes-. ] |
+ [a-.\f bes-. a-. bes-. ] |
+ [c-.-"cresc." f,-. g-. a-.] |
+ [bes-. bes-. ces8.-> as16] |
+ [f8-. ges-. es-. ces-.] |
% `a deux
- [as-. bes-. ces'8.-> ges16] |
+ [as-. bes-. ces8.-> ges16] |
[es8-. ces'-. ges-. as-.] |
bes\p r r4 |
- [bes16-.-"cresc." bes-. bes-. bes-.] [bes8-. ces'->] |
+ [bes16-.-"cresc." bes-. bes-. bes-.] [bes8-. ces->] |
% same measure
- [bes16-. bes-. bes-. bes-.] [bes8-. ces'->] |
- [bes'16-.\ff bes'-. bes'-. bes'-.] [bes'8-. ces''16->] r16^"court"-\fermata |
+ [bes16-. bes-. bes-. bes-.] [bes8-. ces->] |
+ [bes'16-.\ff bes-. bes-. bes-.] [bes8-. ces16->] r16^"court"-\fermata |
% ugh: eight measures rest (ugh: r1 -> four beats...)
% eiht measures rest..
\textstyle "bold";
% r2^"Un peu plus lent et \\'el\\'egant"
-% r2^"\\fetanummer8"
- r2*8
+ R2*8
% r4 r8\p bes |
r4^"Un peu plus lent et \\'el\\'egant"
- r8\p bes |
+ r8\p bes,, |
% g2->^"Un peu plus lent et \\'el\\'egant" ~ |
g2-> ~ |
\textstyle "italic";
- g8 r r c' |
- c'2-> ~ |
- c'8 r r bes'\f |
- [bes'8.->\f g'16-.] [es'16-. bes-. g-. as-.] |
- [bes-.-"dim." c'-. d'-. f'-.] [es'8-. c'-.] |
- d'2-> ~ |
- [d'16-"dim."( es' f' g'] [)as'8 as-.] |
- [ces'8.->\p( )bes16-.] bes4 ~ |
- [bes16( c'! d' f'] [)es'8 g-.] |
+ g8 r r c |
+ c2-> ~ |
+ c8 r r bes'\f |
+ [bes8.->\f g16-.] [es16-. bes-. g-. as-.] |
+ [bes-.-"dim." c-. d-. f-.] [es8-. c-.] |
+ d2-> ~ |
+ [d16-"dim."( es f g] [)'as8 as-.] |
+ [ces8.->\p( )bes16-.] bes4 ~ |
+ [bes16( c! d f] [)es8 g,-.] |
[g8.->( )as16] as4 ~ |
- [as16( a bes b] [)c'8-. d-.] |
+ [as16( a bes b] [)c8-. d,-.] |
% a deux
[d8.->( ) es16] es4 ~ |
- es4 r8 bes-. |
+ es4 r8 bes'-. |
g2-> ~ |
- g8 r r c' |
- c'2 ~ |
- c'8 r r bes' |
- [bes'8.-> g'16-.] [es'16-. bes-. g-. as-.] |
- [bes-. c'-. d'-. es'-.] [f'-. g'-. as'-. bes'-.] |
- d''8-. r c''4-> ~ |
- [c''16 f'-. g'-. a'-.] [bes'-. c'-. d'-. es'-.] |
- g'8-. r f'4-> ~ |
- [f'16 bes-. c'-. d'-.] [es'-. f'-. g'-. as'-.] |
- c''8 r bes'4 ~ |
- [bes'8 as'-. g'8.-. e'16-.] |
- g'8-. r f'4-> ~ |
- [f'8 es'-. ces'8.-. as16-.] |
+ g8 r r c |
+ c2 ~ |
+ c8 r r bes' |
+ [bes8.-> g16-.] [es16-. bes-. g-. as-.] |
+ [bes-. c-. d-. es-.] [f-. g-. as-. bes-.] |
+ d8-. r c4-> ~ |
+ [c16 f,-. g-. a-.] [bes-. c,-. d-. es-.] |
+ g8-. r f4-> ~ |
+ [f16 bes,-. c-. d-.] [es-. f-. g-. as-.] |
+ c8 r bes4 ~ |
+ [bes8 as-. g8.-. e16-.] |
+ g8-. r f4-> ~ |
+ [f8 es-. ces8.-. as16-.] |
% `a deux
\textstyle "large";
- [ces'8.->^"Plus vite" bes16-.(] [a bes es' d'] |
+ [ces8.->^"Plus vite" bes16-.(] [a bes es d] |
\textstyle "italic";
- [)c'!8.-> bes16] [a( bes es' )d'] |
- [c'->( bes es' )d'] [c'->( bes es' )d'] |
+ [)c!8.-> bes16] [a( bes es )d] |
+ [c->( bes es )d] [c->( bes es )d] |
% same measure
- [c'->( bes es' )d'] [c'->( bes es' )d'] |
- [c'( bes a bes] [c' d' es' e'] |
- [g' )f' d'( es'] [f' g' as' a'] |
- [c'' )bes' bes( c'] [d' es' f' g'] |
- [as' g' f' g'] [as' bes' c'' d''] |
+ [c->( bes es )d] [c->( bes es )d] |
+ [c( bes a bes] [c d es e] |
+ [g )f d( es] [f g as a] |
+ [c )bes bes,( c] [d es f g] |
+ [as g f g] [as bes c d] |
\textstyle "large";
- [)es''-.^"Tempo 1$^o$" g'-. g'-. g'-.] [g'8-. g'-.] |
+ [)es-.^"Tempo 1$^o$" g,-. g-. g-.] [g8-. g-.] |
\textstyle "italic";
- bes'4.-> g'8-. |
- gis'2->( |
- )as'! |
- [g'16-. g'-. g'-. g'-.] [g'8-. g'-.] |
- bes'4.-> g'8-. |
- gis'2->( |
-% )as'! |
- )as' |
- [bes'16-. bes'-. bes'-. bes'-.] [bes'8-. bes'-.] |
- bes'4.-> g'8-. |
- [g'16-._"h\\^atez" g'-. g'-. g'-.] [g'8-. g'-.] |
- g'4.-> g'8-. |
- es'4.-> es'8-. |
+ bes4.-> g8-. |
+ gis2->( |
+ )as! |
+ [g16-. g-. g-. g-.] [g8-. g-.] |
+ bes4.-> g8-. |
+ gis2->( |
+% )as! |
+ )as |
+ [bes16-. bes-. bes-. bes-.] [bes8-. bes-.] |
+ bes4.-> g8-. |
+ [g16-._"h\\^atez" g-. g-. g-.] [g8-. g-.] |
+ g4.-> g8-. |
+ es4.-> es8-. |
bes4.-> bes8-. |
\textstyle "large";
- g'4.->^"Presto" g'8-. |
+ g'4.->^"Presto" g8-. |
\textstyle "italic";
- es'4.-> es'8-. |
- [bes-. bes-. es'-. g'-.] |
- [bes'-. bes-. es'-. g'-.] |
- bes'-. r r4 |
- g'8-. r r4 |
- g'8-. r r4 |
+ es4.-> es8-. |
+ [bes-. bes-. es-. g-.] |
+ [bes-. bes,-. es-. g-.] |
+ bes-. r r4 |
+ g8-. r r4 |
+ g8-. r r4 |
}
hoboone = \melodic {
$staff_hoboone = \type Staff = hoboonestaff <
\global
\property Staff.instrument = "oboe"
+ % don't expand multi-bar rest
+ \property Score.SkipBars = 1
\hoboone
>
a4 = \paper{
-% \paper_twenty
- linewidth= 185.\mm;
- gourlay_maxmeasures = 10.0;
- Staff = \translator {
- \type "Engraver_group_engraver";
- defaultclef = violin;
-
- \consists "Bar_engraver";
- \consists "Clef_engraver";
- \consists "Key_engraver";
- \consists "Meter_engraver";
- \consists "Local_key_engraver";
- \consists "Staff_sym_engraver";
- \consists "Collision_engraver";
- \consists "Rest_collision_engraver";
- \consists "Bar_column_engraver";
- \consists "Bar_number_engraver";
- \consists "Separating_line_group_engraver";
- \consists "Line_group_engraver";
-
- \accepts "Voice";
- }
+ \include "bar-numbering.ly"
}
a4sixteen = \paper{
\paper_sixteen
linewidth= 193.\mm;
- Staff = \translator {
- \type "Engraver_group_engraver";
- defaultclef = violin;
-
- \consists "Bar_engraver";
- \consists "Clef_engraver";
- \consists "Key_engraver";
- \consists "Meter_engraver";
- \consists "Local_key_engraver";
- \consists "Staff_sym_engraver";
- \consists "Collision_engraver";
- \consists "Rest_collision_engraver";
- \consists "Bar_column_engraver";
- \consists "Bar_number_engraver";
- \consists "Separating_line_group_engraver";
- \consists "Line_group_engraver";
-
- \accepts "Voice";
- }
+ \include "bar-numbering.ly"
}
\score{
+++ /dev/null
-\header{
-filename = "los-toros-oboe.ly";
-title = "La Feria";
-subtitle = "Los Toros";
-opus = "";
-composer = "Paul Lac\\^ome dEstalenx (1838-1920)";
-enteredby = "jcn";
-copyright = "public domain";
-latexheaders= "headers";
-}
-
-%{
-Silly latex file dropped; use ly2dvi
-
-Converted to relative octave from los-toros-oboe.ly:
- :s/[^\\]'/'x/g
- :s/'x//g
- (511 substitutions on 155 lines)
-
- lilypond -f los-toros-oboe 2> bla
- wc -l bla
- 138
- 138 / 3 = 46 octave quotes of 511 remain!
-
-%}
-
-\include "paper16.ly"
-
-hoboonestart = \melodic{
-% ugh: cant copy: allegro/primo tempo
- \octave relative;
- \textstyle "large";
- [es''16-.^"Allegro" es-. es-. es-.] [es8-. d-.] |
- \textstyle "italic";
-}
-
-hobooneintro = \melodic{
- \octave relative;
-% \textstyle "roman";
-% [es''16-.-"Allegro" es-. es-. es-.] [es8-. d-.] |
-% \textstyle "italic";
- [f''8.-> es16(] [)d8 c-.] |
- [bes16( c d es] [)d8 c-.] |
- [bes-. as->~] [as16( g f g] |
- [as bes c d] [)es8 c-.] |
- [d8-. c16( bes] )as4 ~ |
- [as16 g( f g] [as c bes as] |
-% [)g8 as16 g(] [)f8 g16( f] |
- [)g8 as16 g(] [)f8 g16( f] |
- [)es8 f16-. g-.] [as-. bes-. c-. d-.] |
- [es-. es-. es-. es-.] [es8-. d-.] |
- [f8.-> es16(] [)d8 c-.] |
- [bes16( c d es] [)d8 c-.] |
- [bes8 a->~] [a16 g( fis g] |
- [a bes c d] [)es8 d16()c] |
- [bes-. g-. bes-. d-.] g4-> ~ |
- [g16 f( es d] [c es d c] |
- [)bes8 c16( bes] [)a8 bes16( a] |
- [)g8 r d'] r |
-}
-
-hoboonemid = \melodic{
- \octave relative;
- [g'16-. g-. g-. g-.] [g8-. f-.] |
- as2-> |
- [as16-. as-. as-. as-.] [as8-. g-.] |
- bes2-> |
- [bes16-. bes-. bes-. bes-.] [bes8-. c] |
-
- r-"cresc." [d8-. r c-.] |
- r\f [d-. es-. f-.] |
- [g8.-> es16] [bes8 g] |
-
- % four measures copied from 8 measures back...
- [g16-.\p g-. g-. g-.] [g8-. f-.] |
- as2-> |
- [as16-. as-. as-. as-.] [as8-. g-.] |
- bes2-> |
- [b16-. b-. b-. b-.] [b8-. c-.] |
-
- % same measure
- [b16-. b-. b-. b-.] [b8-. c-.] |
-
- [b8-.-"cresc." c-. b-. c-.] |
- [d-. es-. d-. es-.] |
- [f\f-. g-. f-. g-.] |
- [as-.\< g-. as-. bes-.] |
- [\!g16\ff-. g-. g-. g-.] [g8-. g-.] |
- [g8.-> g16] [g8 g] |
- [g8.-> g16] [g8 g] |
- [f8.-> f16] [f8 f] |
- [f8.-> f16] [f8 f] |
- [bes8-. as16( g] )f4 ~ |
- [f16 es( d es] [f as g )f] |
- [es( g f es] [d f es d] |
- [c es d c] [b d c b] |
- [a c bes a] [g bes a g] |
- [fis a g fis] [e g fis )e] |
- % `a deux
- [d8 d'] [es8.-> c16] |
- [a8 bes g es] |
- [c' d es8. bes16] |
- [g8 es bes' 'c] |
- [d16-. d-. d-. d-.] [d8.-. es16->] |
- [d'16-.-"cresc." d-. d-. d-.] [d8.-. es16->] |
- [d16-. d-. d-. d-.] [d8.-. es16->] |
- [d16 d d d] [d8 es16-.] r16-\fermata^"court"^"tr\\`es" |
- % Un peu plus lent.
- \textstyle "bold";
-
-% ugh
-% d4(\<^"Un peu plus lent" \textstyle "italic; _"tr\\`es \\'el\\'egant"
-% d4(\^"Un peu plus lent et \\'el\\'egant"<
- \textstyle "italic";
- d4(\<
- [e8 \!fis8] |
-% [)b-. a-.] [g16( fis e )d] |
- \textstyle "bold";
- [)b-.^"Un peu plus lent et \\'el\\'egant" a-.] [''g16( fis' e )d] |
- \textstyle "italic";
- [d( c b\< c] [)\!fis8-. e-.] |
- ''d4-> ~ [d16 e( fis g] |
- [a b\< d fis] [)\!a8-. g-.] |
- [fis16( e 'a )c] e4 ~ |
- [e16 d( 'e c'] [)b8-. a-.] |
- g2 ~ |
- [g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
- b2-> ~ |
- [b8 \[/3 'd16( e fis ]1/1 [)g8-"cresc. poco" e'-.] |
- e2-> ~ |
- [e8 \[/3 ''d16( e fis ]1/1 [)g8\f d'-.] |
- [d8.-> b'16-.] [g16-. d-. b-. c-.] |
- [d-. e-. fis-. a-.] [g8-. e-.] |
- fis2-> ~ |
- [fis16 g-.\< a-. b-.] [\!c8-. 'c-.] |
- [es8.->(-"espress.") d16] d4 ~ |
- [d16 e( fis a] [)g8 'b-.] |
- [b8.->( )c16] c4 ~ |
- [c16\< cis( d \!dis] [)e8-.-"dim." 'fis-.] |
- [fis8.->( g16] )g4 ~ |
-
- % (only notes! of) five measures copied from 14 measures above
- [g8 \[/3 d16( e fis ]1/1 [)g8 d'-.] |
- b2->-"cresc." ~ |
- [b8 \[/3 'd16( e fis ]1/1 [)g8 e'-.] |
- e2-> ~ |
- [e8 \[/3 ''d16(_"h\\^atez" e fis ]1/1 [)g8\f d'-.] |
- [d8.-> b16-.] [g16-.-"cresc." d'-. b-. c-.] |
- [d16\f\< e-. fis-. g-.] [a-. 'b-. c-. \!d-.]
-}
-
-
-hoboonesecondstart = \melodic{
- \octave relative;
-% ugh: cant copy: allegro/primo tempo
- \textstyle "large";
- [es''16-.\ff^"Tempo 1$^o$" es-. es-. es-.] [es8-. d-.] |
- \textstyle "italic";
-
-}
-
-hoboonelast = \melodic{
- \octave relative;
- % could transpose/copy from measure 19...
- [d''16-.\p d-. d-. d-.] [d8-. c-.] |
- es2-> |
- [es16-. es-. es-. es-.] [es8-. d-.] |
- f2-> |
- [f16-. f-. f-. f-.] [f8-. g-.] |
- r8 [a-.-"cresc." r g-.] |
- r [a-.\f bes-.\< \!c-.] |
- [d8.->\> \!bes16] [f8 d] |
-
- % four measures copied from 8 measures back...
- [d16-.\p d-. d-. d-.] [d8-. c-.] |
- es2-> |
- [es16-. es-. es-. es-.] [es8-. d-.-"cresc."] |
- f2-> |
- [fis16-.\p fis-. fis-. fis-.] [fis8-. g-.] |
- % same measure
- [fis16-.\p fis-. fis-. fis-.] [fis8-. g-.] |
- [fis8-. g-. fis-. g-.] |
- [a-. bes-. a-. bes-. ] |
- [a-.\f bes-. a-. bes-. ] |
- [c-.-"cresc." 'f-. g-. a-.] |
- [bes-. bes-. ces8.-> as16] |
- [f8-. ges-. es-. ces-.] |
- % `a deux
- [as-. bes-. ces8.-> ges16] |
- [es8-. ces'-. ges-. as-.] |
- bes\p r r4 |
- [bes16-.-"cresc." bes-. bes-. bes-.] [bes8-. ces->] |
- % same measure
- [bes16-. bes-. bes-. bes-.] [bes8-. ces->] |
- [bes'16-.\ff bes-. bes-. bes-.] [bes8-. ces16->] r16^"court"-\fermata |
- % ugh: eight measures rest (ugh: r1 -> four beats...)
- % eiht measures rest..
- \textstyle "bold";
-% r2^"Un peu plus lent et \\'el\\'egant"
- R2*8
-% r4 r8\p bes |
- r4^"Un peu plus lent et \\'el\\'egant"
- r8\p ''bes |
-% g2->^"Un peu plus lent et \\'el\\'egant" ~ |
- g2-> ~ |
- \textstyle "italic";
- g8 r r c |
- c2-> ~ |
- c8 r r bes'\f |
- [bes8.->\f g16-.] [es16-. bes-. g-. as-.] |
- [bes-.-"dim." c-. d-. f-.] [es8-. c-.] |
- d2-> ~ |
- [d16-"dim."( es f g] [)'as8 as-.] |
- [ces8.->\p( )bes16-.] bes4 ~ |
- [bes16( c! d f] [)es8 'g-.] |
- [g8.->( )as16] as4 ~ |
- [as16( a bes b] [)c8-. 'd-.] |
- % a deux
- [d8.->( ) es16] es4 ~ |
- es4 r8 bes'-. |
- g2-> ~ |
- g8 r r c |
- c2 ~ |
- c8 r r bes' |
- [bes8.-> g16-.] [es16-. bes-. g-. as-.] |
- [bes-. c-. d-. es-.] [f-. g-. as-. bes-.] |
- d8-. r c4-> ~ |
- [c16 'f-. g-. a-.] [bes-. 'c-. d-. es-.] |
- g8-. r f4-> ~ |
- [f16 'bes-. c-. d-.] [es-. f-. g-. as-.] |
- c8 r bes4 ~ |
- [bes8 as-. g8.-. e16-.] |
- g8-. r f4-> ~ |
- [f8 es-. ces8.-. as16-.] |
- % `a deux
- \textstyle "large";
- [ces8.->^"Plus vite" bes16-.(] [a bes es d] |
- \textstyle "italic";
- [)c!8.-> bes16] [a( bes es )d] |
- [c->( bes es )d] [c->( bes es )d] |
- % same measure
- [c->( bes es )d] [c->( bes es )d] |
- [c( bes a bes] [c d es e] |
- [g )f d( es] [f g as a] |
- [c )bes 'bes( c] [d es f g] |
- [as g f g] [as bes c d] |
- \textstyle "large";
- [)es-.^"Tempo 1$^o$" 'g-. g-. g-.] [g8-. g-.] |
- \textstyle "italic";
- bes4.-> g8-. |
- gis2->( |
- )as! |
- [g16-. g-. g-. g-.] [g8-. g-.] |
- bes4.-> g8-. |
- gis2->( |
-% )as! |
- )as |
- [bes16-. bes-. bes-. bes-.] [bes8-. bes-.] |
- bes4.-> g8-. |
- [g16-._"h\\^atez" g-. g-. g-.] [g8-. g-.] |
- g4.-> g8-. |
- es4.-> es8-. |
- bes4.-> bes8-. |
- \textstyle "large";
- g'4.->^"Presto" g8-. |
- \textstyle "italic";
- es4.-> es8-. |
- [bes-. bes-. es-. g-.] |
- [bes-. 'bes-. es-. g-.] |
- bes-. r r4 |
- g8-. r r4 |
- g8-. r r4 |
-}
-
-hoboone = \melodic {
- \hoboonestart
- \hobooneintro
- \hoboonemid
- \hoboonesecondstart
- \hobooneintro
- \hoboonelast
-}
-
-global = \melodic{
- \key bes es as;
- \meter 2/4;
- \skip 4*110;
- \key fis; |
- \bar "||";
- \skip 4*58;
- \key bes es as; |
- \bar "||";
- \skip 4*220;
- \bar "|.";
-}
-
-
-$staff_hoboone = \type Staff = hoboonestaff <
- \global
- \property Staff.instrument = "oboe"
- \hoboone
->
-
-a4 = \paper{
-% \paper_twenty
- linewidth= 185.\mm;
- gourlay_maxmeasures = 10.0;
- Staff = \translator {
- \type "Engraver_group_engraver";
- defaultclef = violin;
-
- \consists "Bar_engraver";
- \consists "Clef_engraver";
- \consists "Key_engraver";
- \consists "Meter_engraver";
- \consists "Local_key_engraver";
- \consists "Staff_sym_engraver";
- \consists "Collision_engraver";
- \consists "Rest_collision_engraver";
- \consists "Bar_column_engraver";
- \consists "Bar_number_engraver";
- \consists "Separating_line_group_engraver";
- \consists "Line_group_engraver";
-
- \accepts "Voice";
- }
-}
-
-a4sixteen = \paper{
- \paper_sixteen
- linewidth= 193.\mm;
- Staff = \translator {
- \type "Engraver_group_engraver";
- defaultclef = violin;
-
- \consists "Bar_engraver";
- \consists "Clef_engraver";
- \consists "Key_engraver";
- \consists "Meter_engraver";
- \consists "Local_key_engraver";
- \consists "Staff_sym_engraver";
- \consists "Collision_engraver";
- \consists "Rest_collision_engraver";
- \consists "Bar_column_engraver";
- \consists "Bar_number_engraver";
- \consists "Separating_line_group_engraver";
- \consists "Line_group_engraver";
-
- \accepts "Voice";
- }
-}
-
-\score{
- \$staff_hoboone
- \paper{ \a4 }
- \midi{
- \tempo 4 = 80;
- }
-% \paper{ \a4sixteen }
-}
-
copyright = "public domain";
}
-\version "0.1.10";
+\version "0.1.14";
\include "standchen.ly"
description = "A schubert song in 20 pt";
}
-\version "0.1.10";
+\version "0.1.14";
% fool make-website
% \include "standchen.ly";
%}
\include "paper16.ly"
-\version "0.1.10";
+\version "0.1.14";
commands = \melodic{
\skip 2.*4;
\key bes;
\octave c';
\duration 8;
- r \pp < [ d 'a-| > f-| < d 'a-| > f-| < d 'a-| ] > |
+ r \pp < [ d a,-| > f-| < d a,-| > f-| < d a,-| ] > |
%%2
- r < [ d 'bes-| > f-| < d 'bes-| > f-| < d 'bes-| ] > |
+ r < [ d bes,-| > f-| < d bes,-| > f-| < d bes,-| ] > |
%%3
\textstyle "italic";
- r_"simile" < [ d 'bes > e < d 'bes > e < d 'bes ] >|
+ r_"simile" < [ d bes, > e < d bes, > e < d bes, ] >|
\textstyle "roman";
%%4
- r < [ 'a cis > e < 'a cis > e < 'a cis ] > |
+ r < [ a, cis > e < a, cis > e < a, cis ] > |
%%5
[2/3 a() bes a ]1/1 d'4. a |
%%6
\key bes;
\octave c';
\duration 2;
- 'd r4 |
+ d, r4 |
%%2
- ''bes r4 |
+ bes,, r4 |
%%3
- ''g r4 |
+ g,, r4 |
%%4
- ''a r4 |
+ a,, r4 |
%%5
\duration 8;
\multi 2 < { \stemup
- [ 'f 'a d 'a d 'a ]
- [ 'd 'e 'g 'e 'g 'e ]
- [ 'cis 'e 'g 'e 'g 'e ]
- [ 'd 'a d 'a d 'a ]
+ [ f, a, d a, d a, ]
+ [ d, e, g, e, g, e, ]
+ [ cis, e, g, e, g, e, ]
+ [ d, a, d a, d a, ]
}
{ \stemdown
- 'd2 r4
- ''bes2 r4
- ''a2 r4
- 'd2 r4
+ d,2 r4
+ bes,,2 r4
+ a,,2 r4
+ d,2 r4
} >
%%9
\stemboth
- [ 'a e g e g e ] |
+ [ a, e g e g e ] |
%%10
- [ 'd 'a d 'a d 'a ] |
+ [ d, a, d a, d a, ] |
%%11
\multi 2 <
{ \stemup
- [ 'f 'a d 'a d 'a ]
- [ 'd 'e 'g 'e 'g 'e ]
- [ 'e 'g 'bes 'g 'bes 'g ]
- [ 'a c f c f c ]
+ [ f, a, d a, d a, ]
+ [ d, e, g, e, g, e, ]
+ [ e, g, bes, g, bes, g, ]
+ [ a, c f c f c ]
} { \stemdown
- 'd2 r4
- ''bes2 r4
- 'c2 r4
- 'f2 r4 }
+ d,2 r4
+ bes,,2 r4
+ c,2 r4
+ f,2 r4 }
>
%%15
\stemboth
- [ 'c 'g 'bes 'g 'bes 'g ] |
+ [ c, g, bes, g, bes, g, ] |
%%16
- [ ''f 'c 'f 'c 'f 'c ] |
+ [ f,, c, f, c, f, c, ] |
\multi 2 <
{ \stemup
- [ ''a 'e 'g 'e 'g 'e ][ 'd 'a d 'a d 'a ]
- [ ''bes 'f 'bes 'f 'bes 'f ][ ''f 'c 'f 'c 'f 'c ] }
+ [ a,, e, g, e, g, e, ][ d, a, d a, d a, ]
+ [ bes,, f, bes, f, bes, f, ][ f,, c, f, c, f, c, ] }
{ \stemdown
- ''a2 r4
- 'd2 r4
- ''bes2 r4
- ''f2 r4
+ a,,2 r4
+ d,2 r4
+ bes,,2 r4
+ f,,2 r4
} >
%%21
\stemboth
- < [ 'e 'c > 'g c 'g c 'g ] |
+ < [ e, c, > g, c g, c g, ] |
%%22
- [ 'f 'a c 'a 'f 'c ] |
+ [ f, a, c a, f, c, ] |
\multi 2 < {
\stemup
- [ ''a 'e 'g 'e 'g 'e ]
- [ 'd 'fis 'a 'fis 'a 'fis ]
- [ ''g 'd 'b 'd 'b 'd ]
- [ 'd 'a d 'a d 'a ]
+ [ a,, e, g, e, g, e, ]
+ [ d, fis, a, fis, a, fis, ]
+ [ g,, d, b, d, b, d, ]
+ [ d, a, d a, d a, ]
}
{\stemdown
- ''a2 r4
- 'd2 r4
- ''g2 r4
- 'd2 r4
+ a,,2 r4
+ d,2 r4
+ g,,2 r4
+ d,2 r4
}
>
\stemboth
- < [ 'cis ''a > 'e 'a 'e 'a 'e ] |
+ < [ cis, a,, > e, a, e, a, e, ] |
%%28
- [ 'd 'a d 'a d 'a ] |
+ [ d, a, d a, d a, ] |
%%29
- [ 'd 'g 'bes 'g 'bes 'g ] |
+ [ d, g, bes, g, bes, g, ] |
%#%\volta1
%%30
- [ 'd 'fis 'a 'fis 'a 'fis ] |
+ [ d, fis, a, fis, a, fis, ] |
%%31
- [ ''a 'e 'a 'e 'a 'e ] |
+ [ a,, e, a, e, a, e, ] |
%%32
- [ 'd 'fis 'a 'fis 'a 'fis ] |
+ [ d, fis, a, fis, a, fis, ] |
%%33
- [ 'd 'g 'b 'g 'b 'g ] |
+ [ d, g, b, g, b, g, ] |
%%34
- [ 'd 'fis 'a 'fis 'a 'fis ] |
+ [ d, fis, a, fis, a, fis, ] |
%%35
- [ ''a 'e 'a 'e 'a 'e ] |
+ [ a,, e, a, e, a, e, ] |
%%36
- [ 'd 'fis 'a 'fis 'a 'fis ] |
+ [ d, fis, a, fis, a, fis, ] |
%#%\volta2
%%37
- [ ''a 'e 'g 'e ''bes^> 'e ] |
+ [ a,, e, g, e, bes,,^> e, ] |
%%38
- [ ''a < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a ] > |
+ [ a,, < e cis a, > < e cis a, > < e cis a, > < e cis a, > < e cis a, ] > |
%%39
- [ ''a 'e 'g 'e ''bes^> 'e ] |
+ [ a,, e, g, e, bes,,^> e, ] |
%%40
- [ ''a < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a > < e cis 'a ] > |
+ [ a,, < e cis a, > < e cis a, > < e cis a, > < e cis a, > < e cis a, ] > |
%%41
- [ ''ais 'e 'fis 'e 'fis 'e ] |
+ [ ais,, e, fis, e, fis, e, ] |
%%42
- < [ 'd ''b > 'fis 'b 'fis 'b 'fis ] |
+ < [ d, b,, > fis, b, fis, b, fis, ] |
%%43
- < [ 'e ''b > 'g 'b 'g 'b 'g ] |
+ < [ e, b,, > g, b, g, b, g, ] |
%%44
- < [ 'd ''b > 'fis 'b 'fis 'b 'fis ] |
+ < [ d, b,, > fis, b, fis, b, fis, ] |
%%45
\multi 2 < { \stemup
- [ ''g 'd 'b 'd 'b 'd ]
- [ 'd 'a d 'a d 'a ]
+ [ g,, d, b, d, b, d, ]
+ [ d, a, d a, d a, ]
} {
\stemdown
- ''g2 r4
- 'd2 r4
+ g,,2 r4
+ d,2 r4
} >
%%47
\stemboth
- < [ 'cis ''a > 'e 'a 'e 'a 'e ] |
+ < [ cis, a,, > e, a, e, a, e, ] |
%%48
- [ 'd 'fis 'a 'fis 'a 'fis ] |
+ [ d, fis, a, fis, a, fis, ] |
%%49
- [ 'd 'a d 'a d 'a ] |
+ [ d, a, d a, d a, ] |
%%50
- [ ''g 'e 'g 'e 'g 'e ] |
+ [ g,, e, g, e, g, e, ] |
%%51
- [ ''a 'e 'g 'e 'g 'e ] |
+ [ a,, e, g, e, g, e, ] |
%%52
- [ ''d 'd 'fis 'd 'fis 'd ] |
+ [ d,, d, fis, d, fis, d, ] |
%%53
- [ 'd 'g 'bes 'g 'bes 'g ] |
+ [ d, g, bes, g, bes, g, ] |
%%54
- [ 'd 'fis 'a 'fis 'a 'fis ] |
+ [ d, fis, a, fis, a, fis, ] |
%%55
- [ ''a 'e 'g 'e 'g 'e ] |
+ [ a,, e, g, e, g, e, ] |
%%56
- [ ''d ''a 'd ''a 'd ''a ] |
+ [ d,, a,, d, a,, d, a,, ] |
%%57
- [ ''d ''a 'd ''a 'd ''a ]
+ [ d,, a,, d, a,, d, a,, ]
%%58
- < 'd2.^\fermata ''d2. > |
+ < d,2.^\fermata d,,2. > |
}
multiple \paper{}s in one \score
%}
-\version "0.1.10";
+\version "0.1.14";
$vocal_verse1 = \melodic{
\octave c';
\octave c';
\clef violin;
% ugh: i'd like to type this!
- %r8\pp [<'g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.>] |
- r8\pp <['g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.]> |
- r8 <['as-. c-.> <c-. es-.> <'as-. c-.> <c-. es-.> <'as-. c-.]> |
- r8 <['as-. c-.> <c-. d-.> <'as-. c-.> <c-. d-.> <'as-. c-.]> |
- r8 <['g-. 'b-.> <'b-. d-.> <'g-. 'b-.> <'b-. d-.> <'g-. 'b-.]> |
- \break;
+ %r8\pp [<g,-. c-.> <c-. es-.> <g,-. c-.> <c-. es-.> <g,-. c-.>] |
+ r8\pp <[g,-. c-.> <c-. es-.> <g,-. c-.> <c-. es-.> <g,-. c-.]> |
+ r8 <[as,-. c-.> <c-. es-.> <as,-. c-.> <c-. es-.> <as,-. c-.]> |
+ r8 <[as,-. c-.> <c-. d-.> <as,-. c-.> <c-. d-.> <as,-. c-.]> |
+ r8 <[g,-. b,-.> <b,-. d-.> <g,-. b,-.> <b,-. d-.> <g,-. b,-.]> |
+ \break
}
$treble_verse1 = \melodic{
\octave c';
% \clef violin;
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['f c> <c d> <'f c> <c d> <'f c]> |
- r8 <['f 'g 'b> <'g 'b d> <'f 'g 'b> <'g 'b d> <'f 'g 'b]> |
- r8 <['es 'g c> <'g c es> <'es 'g c> <'g c es> <'es 'g c]> |
+ r8 <[g, c> <c es> <g, c> <c es> <g, c]> |
+ r8 <[f, c> <c d> <f, c> <c d> <f, c]> |
+ r8 <[f, g, b,> <g, b, d> <f, g, b,> <g, b, d> <f, g, b,]> |
+ r8 <[es, g, c> <g, c es> <es, g, c> <g, c es> <es, g, c]> |
<g'4.( b> <)f'8 d'> <[/3 f' d'> <es' c'> <d' b]1/1> |
<c'2. es'> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['f c> <c d> <'f c> <c d> <'f c]> |
- r8 <['f 'as 'bes> <'as 'bes d> <'f 'g 'bes> <'g 'bes d> <'f 'g 'bes]> |
- r8 <['es 'g 'bes> <'g 'bes es> <'es 'g 'bes> <'g 'bes es]>
+ r8 <[g, c> <c es> <g, c> <c es> <g, c]> |
+ r8 <[f, c> <c d> <f, c> <c d> <f, c]> |
+ r8 <[f, as, bes,> <as, bes, d> <f, g, bes,> <g, bes, d> <f, g, bes,]> |
+ r8 <[es, g, bes,> <g, bes, es> <es, g, bes,> <g, bes, es]>
<{ es'( | )bes4. as8}{ c'( | )d4.( )f8 } >
< [/3 f as> <es g> <d f]1/1> |
<es2. g> |
- r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> |
- r8 <['es 'g> <'g c> <'es 'g> <'g c> <'es 'g]> |
- r8\pp <['es 'as c> <'as c es> <'es 'as c> <'as c es> <'es 'as c]> |
- r8 <['es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes]> |
+ r8 <[f, g,> <g, b,> <f, g,> <g, b,> <f, g,]> |
+ r8 <[es, g,> <g, c> <es, g,> <g, c> <es, g,]> |
+ r8\pp <[es, as, c> <as, c es> <es, as, c> <as, c es> <es, as, c]> |
+ r8 <[es, g, bes,> <g, bes, es,> <es, g, bes,> <g, bes, es,> <es, g, bes,]> |
% [/3 as\grace( bes )
[/3 as8(( g )as]1/1 c'4.-> ) as8 |
g2. |
- r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> |
- r8 <['e 'g> <'g c> <'e 'g> <'g c> <'e 'g]> |
- r8 <['f 'a c> <'a c f> <'f 'a c> <'a c f> <'f 'a c]> |
- r8 <['e 'g c> <'g c e> <'e 'g c> <'g c e> <'e 'g c]> |
+ r8 <[f, g,> <g, b,> <f, g,> <g, b,> <f, g,]> |
+ r8 <[e, g,> <g, c> <e, g,> <g, c> <e, g,]> |
+ r8 <[f, a, c> <a, c f> <f, a, c> <a, c f> <f, a, c]> |
+ r8 <[e, g, c> <g, c e> <e, g, c> <g, c e> <e, g, c]> |
<{[/3 f'8\f( e' f']1/1 a'4. )f'8 } {\[/3 f e f \] a4. f8 } > |
<e2 e'> r4 |
}
\octave c';
<f2\mf as!(> <[as8.->( c'> <)f16 )as]> |
<e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
- <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
+ <f4. g> <[b,8-. g-.(> <d-. g-.> <f-. )g-.]> |
<e2 g\pp> <e4 g> |
<f2\mf a(> <[a8.( c'> <)f16 )a]> |
<e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
- <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
+ <f4. g> <[b,8-. g-.(> <d-. g-.> <f-. )g-.]> |
<e2. g> |
}
\octave c';
r2. |
% lily: 221: warning: Junking request: Span_dynamic_req: the \>
- <['g8.\< g> <'g16 g> <'b8. b> <\!'b16\> b16> <d8. d'> <d16 d']> |
+ <[g,8.\< g> <g,16 g> <b,8. b> <\! b,16\> b16> <d8. d'> <d16 d']> |
% lily: 222: warning: Can't find cresc to end.
- < { c4( )'b } { c'4( )b } > \!r |
+ < { c4( )b, } { c'4( )b } > \!r |
% ugh
-% <'g4. g> <'b8 b> <[d8.-> d'->> c'16] |
- <'g4. g> <'b8 b> [d'8.-> c'16] |
+% <g,4. g> <b,8 b> <[d8.-> d'->> c'16] |
+ <g,4. g> <b,8 b> [d'8.-> c'16] |
% ugh, ugh: connecting chords
< { d2.\f( )a2} { e2. ~ e2 } { b2. c2 }> r4 |
<
}
>
% 4 bars copied from end verse1
- r8 <['f\p 'a c> <'a c f> <'f 'a c> <'a c f> <'f 'a c]> |
- r8 <['e 'g c> <'g c e> <'e 'g c> <'g c e> <'e 'g c]> |
+ r8 <[f,\p a, c> <a, c f> <f, a, c> <a, c f> <f, a, c]> |
+ r8 <[e, g, c> <g, c e> <e, g, c> <g, c e> <e, g, c]> |
<{[/3 f'8\f( e' f']1/1 a'4. )f'8 } {\[/3 f e f \] a4. f8 } > |
<e2 e'> r4 |
<es2 es'> r4 |
<d2 d'> r4 |
- <'b2 b> r4 |
+ <b,2 b> r4 |
<c2 c'> <e4\pp g> |
% four copied from begin eentje
<f2\mf as!(> <[as8.->( c'> <)f16 )as]> |
<e4. g> <[e8-. g-.(> <e-. g-.> <e-. )g-.]> |
- <f4. g> <['b8-. g-.(> <d-. g-.> <f-. )g-.]> |
+ <f4. g> <[b,8-. g-.(> <d-. g-.> <f-. )g-.]> |
\textstyle "italic";
<e2._"dim." g> |
- <'g2. e g> |
- <'g2.-\fermata e g> |
+ <g,2. e g> |
+ <g,2.-\fermata e g> |
}
$bass_intro = \melodic{
\octave c;
\clef bass;
- <'c2 c> r4 |
- <''as2 'as> r4 |
- <''f2 'f> r4 |
- <''g2 'g> r4 |
+ <c,2 c> r4 |
+ <as,,2 as,> r4 |
+ <f,,2 f,> r4 |
+ <g,,2 g,> r4 |
}
$bass_verse1 = \melodic{
\octave c;
% \clef bass;
- <'c2 c> r4 |
- <''as2 'as> r4 |
- <''g2 'g> r4 |
- <'c2 c> r4 |
- <''g8 'g> <[g d'> <d' f'> <g d'> <d' f'> <g d']> |
- <'c8 c> <[g c'> <c' es'> <g c'> <c' es'> <g c']> |
- <'c2 c> r4 |
- <''as2 'as> r4 |
- <''bes2 'bes> r4 |
- <''es2 'es> r4 |
- ''bes8 <['bes f> <f bes> <'bes f> <f bes> <'bes f]> |
- ''es8 <['bes es> <es g> <'bes es> <es g> <'bes es]> |
- <''g2 'g> r4 |
- <'c2 c> r4 |
- <''as2 'as> r4 |
- <''es2 'es> r4 |
- <''bes8 'bes> <[f bes> <bes d'> <f bes> <bes d'> <f bes]> |
- <''es8 'es> <[es g bes> <g bes es'> <es g bes> <g bes es'> <es g bes]> |
- <''g2 'g> r4 |
- <'c2 c> r4 |
- <''f2 'f> r4 |
- <'c2 c> r4 |
- <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
- 'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+ <c,2 c> r4 |
+ <as,,2 as,> r4 |
+ <g,,2 g,> r4 |
+ <c,2 c> r4 |
+ <g,,8 g,> <[g d'> <d' f'> <g d'> <d' f'> <g d']> |
+ <c,8 c> <[g c'> <c' es'> <g c'> <c' es'> <g c']> |
+ <c,2 c> r4 |
+ <as,,2 as,> r4 |
+ <bes,,2 bes,> r4 |
+ <es,,2 es,> r4 |
+ bes,,8 <[bes, f> <f bes> <bes, f> <f bes> <bes, f]> |
+ es,,8 <[bes, es> <es g> <bes, es> <es g> <bes, es]> |
+ <g,,2 g,> r4 |
+ <c,2 c> r4 |
+ <as,,2 as,> r4 |
+ <es,,2 es,> r4 |
+ <bes,,8 bes,> <[f bes> <bes d'> <f bes> <bes d'> <f bes]> |
+ <es,,8 es,> <[es g bes> <g bes es'> <es g bes> <g bes es'> <es g bes]> |
+ <g,,2 g,> r4 |
+ <c,2 c> r4 |
+ <f,,2 f,> r4 |
+ <c,2 c> r4 |
+ <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+ c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
}
$bass_eentje = \melodic{
\octave c;
- <'c8 c> <[c f as!> <f as c'> <c f as> <f as c'> <c f as]> |
- 'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
- <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
- 'c8 <[e g> <g c'> <e g> <g c'> <e g]> |
- <'c8 c> <[c f a> <f a c'> <c f a> <f a c'> <c f a]> |
- 'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
- <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
- 'c8 <[e g> <g c'> <e g> <g c'> <e g]> |
+ <c,8 c> <[c f as!> <f as c'> <c f as> <f as c'> <c f as]> |
+ c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+ <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+ c,8 <[e g> <g c'> <e g> <g c'> <e g]> |
+ <c,8 c> <[c f a> <f a c'> <c f a> <f a c'> <c f a]> |
+ c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+ <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+ c,8 <[e g> <g c'> <e g> <g c'> <e g]> |
}
$bass_through = \melodic{
\octave c;
- <''g8 'g> <['g 'b d> <'b d f> <'g 'b d> <'as!-> b-> d->> <'b d f]> |
- <''g8 'g> <['g d> <d f> <'g d> <'as-> b-> d->> <'b d f]> |
+ <g,,8 g,> <[g, b, d> <b, d f> <g, b, d> <as,!-> b-> d->> <b, d f]> |
+ <g,,8 g,> <[g, d> <d f> <g, d> <as,-> b-> d->> <b, d f]> |
% copied
- <''g8 'g> <['g d> <d f> <'g d> <'as-> b-> d->> <'b d f]> |
- <''g8 'g> <['g d e> <d f> <'g d> <'gis-> 'b-> d->> <'b d f]> |
- <''gis8 'gis> <[d e> <e b> <d e> <e b> <d e]> |
- <''a8 'a> <[c e> <e a> <c e> <e a> <c e]> |
- <''a8 'a> <['a d f> <d f a> <'a d f> <d f a> <'a d f]> |
- <''a8 'a> <['a c e> <c e a> <'a c e> <c e a> <'a c e]> |
+ <g,,8 g,> <[g, d> <d f> <g, d> <as,-> b-> d->> <b, d f]> |
+ <g,,8 g,> <[g, d e> <d f> <g, d> <gis,-> b,-> d->> <b, d f]> |
+ <gis,,8 gis,> <[d e> <e b> <d e> <e b> <d e]> |
+ <a,,8 a,> <[c e> <e a> <c e> <e a> <c e]> |
+ <a,,8 a,> <[a, d f> <d f a> <a, d f> <d f a> <a, d f]> |
+ <a,,8 a,> <[a, c e> <c e a> <a, c e> <c e a> <a, c e]> |
% 4 bars copied from end verse1
- <''f2 'f> r4 |
- <'c2 c> r4 |
- <''g8 'g> <[d g> <g b> <d g> <g b> <d g]> |
- 'c8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
-
- <'c8 c> <[c es! g> <es g c'> <c es! g> <es g c'> <c es! g]> |
- <''f8 'f> <[d f> <f as!> <d f> <f as!> <d f]> |
- <''g8 'g> <[d f> <f g> <d f> <f g> <d f]> |
- 'c8 <[c e> <e g> <c e> <e g> <c e]> |
- 'c8 <[c f> <f as> <c f> <f as> <c f]> |
- 'c8 <[c e> <e g> <c e> <e g> <c e]> |
- ''g8 <['g d> <d f> <'g d> <d f> <'g d]> |
+ <f,,2 f,> r4 |
+ <c,2 c> r4 |
+ <g,,8 g,> <[d g> <g b> <d g> <g b> <d g]> |
+ c,8 <[c e g> <e g c'> <c e g> <e g c'> <c e g]> |
+
+ <c,8 c> <[c es! g> <es g c'> <c es! g> <es g c'> <c es! g]> |
+ <f,,8 f,> <[d f> <f as!> <d f> <f as!> <d f]> |
+ <g,,8 g,> <[d f> <f g> <d f> <f g> <d f]> |
+ c,8 <[c e> <e g> <c e> <e g> <c e]> |
+ c,8 <[c f> <f as> <c f> <f as> <c f]> |
+ c,8 <[c e> <e g> <c e> <e g> <c e]> |
+ g,,8 <[g, d> <d f> <g, d> <d f> <g, d]> |
% copied from two bars back
- 'c8 <[c e> <e g> <c e> <e g> <c e]> |
- 'c8 <[c e> <e g> <c e> <e g> <c e]> |
- <'c2._\fermata 'g c> |
+ c,8 <[c e> <e g> <c e> <e g> <c e]> |
+ c,8 <[c e> <e g> <c e> <e g> <c e]> |
+ <c,2._\fermata g, c> |
}
global = \melodic{
\meter 3/4;
\key bes es as;
\skip 4 * 12;
- \break;
+ \break
\skip 4 * 234;
\bar "|.";
}
>
a4 = \paper{
- gourlay_maxmeasures = 7.;
linewidth= 193.\mm;
-Score = \translator {
- \type Score_engraver;
-
- \consists "Timing_engraver";
- \consists "Bar_column_engraver";
- \consists "Bar_number_engraver";
- \consists "Span_score_bar_engraver";
- \consists "Score_priority_engraver";
- \consists "Priority_horizontal_align_engraver";
- \consists "Vertical_align_engraver";
-
-
- \accepts "Staff_group";
- \accepts "Staff";
- \accepts "Rhythmic_staff";
- \accepts "Lyrics";
- \accepts "Grand_staff";
-}
+ \include "score-bar-numbering.ly";
}
\score{
\font\italicfont=cmti10 scaled \magstep1
\font\boldfont=cmbx10
\font\largefont=cmbx12
+ \font\hugefont=cmbx15 scaled \magstep 2
\else
\def\settext##1{{\normalfont\normalsize ##1}}
\def\setitalic##1{\textit{\normalsize ##1}}
\def\setbold##1{\textbf{\normalsize ##1}}
\def\setlarge##1{\textbf{\large ##1}}
+ \def\sethuge##1{\textbf{\huge ##1}}
\fi
}
\def\cmrsixteen{
\font\italicfont=cmti9
\font\boldfont=cmbx8
\font\largefont=cmbx10
+ \font\hugefont=cmbx12 scaled \magstep 2
\else
\def\settext##1{{\normalfont\footnotesize ##1}}
\def\setitalic##1{\textit{\small ##1}}
\def\setbold##1{\textbf{\footnotesize ##1}}
\def\setlarge##1{\textbf{\normalsize ##1}}
+ \def\sethuge##1{\textbf{\huge ##1}}
\fi
}
- \def\cmreleven{
- \font\smalltextfont=cmr5
- \font\meterfont=cmbx8
- \font\textmusic=cmmi8
- \ifundefined{documentclass}
- \font\normaltextfont=cmr6
- \font\italicfont=cmti6
- \font\boldfont=cmbx6
- \font\largefont=cmbx8
- \else
- \def\settext##1{{\normalfont\tiny ##1}}
- \def\setitalic##1{\textit{\tiny ##1}}
- \def\setbold##1{\textbf{\tiny ##1}}
- \def\setlarge##1{\textbf{\footnotesize ##1}}
- \fi
- }
-
\def\cmrthirteen{
\font\smalltextfont=cmr6
\font\meterfont=cmbx9
\font\italicfont=cmti7
\font\boldfont=cmbx7
\font\largefont=cmbx9
+ \font\hugefont=cmbx12
\else
\def\settext##1{{\normalfont\scriptsize ##1}}
\def\setitalic##1{\textit{\scriptsize ##1}}
\def\setbold##1{\textbf{\scriptsize ##1}}
\def\setlarge##1{\textbf{\small ##1}}
+ \def\sethuge##1{\textbf{\huge ##1}}
+ \fi
+ }
+ \def\cmreleven{
+ \font\smalltextfont=cmr5
+ \font\meterfont=cmbx8
+ \font\textmusic=cmmi8
+ \ifundefined{documentclass}
+ \font\normaltextfont=cmr6
+ \font\italicfont=cmti6
+ \font\boldfont=cmbx6
+ \font\largefont=cmbx8
+ \font\hugefont=cmbx10
+ \else
+ \def\settext##1{{\normalfont\tiny ##1}}
+ \def\setitalic##1{\textit{\tiny ##1}}
+ \def\setbold##1{\textbf{\tiny ##1}}
+ \def\setlarge##1{\textbf{\footnotesize ##1}}
+ \def\sethuge##1{\textbf{\huge ##1}}
\fi
}
\def\musixsixteendefs{
\def\setitalic#1{\italicfont #1}
\def\setbold#1{\boldfont #1}
\def\setlarge#1{\largefont #1}
+ \def\sethuge#1{\hugefont #1}
\fi
\def\setdynamic#1{\dynfont #1}
\def\thecomposer{}
\def\thearranger{}
\def\theinstrument{}
+\def\theopus{}
+\def\thepiece{}
%
% duh. LaTeX has a \title too.
\renewcommand*{\title}[1]{\def\thetitle{#1\\}}
\newcommand*{\composer}[1]{\def\thecomposer{#1\\}}
\newcommand*{\arranger}[1]{\def\thearranger{#1}}
\newcommand*{\instrument}[1]{\def\theinstrument{#1}}
+\newcommand*{\opus}[1]{\def\theopus{#1}}
+\newcommand*{\piece}[1]{\def\thepiece{#1}}
%
\newcommand*{\mudelatitle}[1]{\def\thetitle{#1\\}}
\newcommand*{\mudelasubtitle}[1]{\def\thesubtitle{#1\\}}
\newcommand*{\mudelacomposer}[1]{\def\thecomposer{#1\\}}
\newcommand*{\mudelaarranger}[1]{\def\thearranger{#1}}
\newcommand*{\mudelainstrument}[1]{\def\theinstrument{#1}}
+\newcommand*{\mudelaopus}[1]{\def\theopus{#1}}
+\newcommand*{\mudelapiece}[1]{\def\thepiece{#1}}
%
\def\makelilytitle
{
{\center\bfseries\huge\center\thetitle}
\par
- {\center\bfseries\large\thesubtitle}
- %\bigskip
- {\flushleft\theinstrument\hfill\scshape\thecomposer}{\hfill\thearranger}
+ {\center\bfseries\Large\thesubtitle}
+ \bigskip
+ {\flushright\scshape\thecomposer\par}
+ % urg
+ \edef\saveparskip{\parskip}\parskip-5mm
+ {\flushright\theopus\par}
+ {\flushright\thearranger\par}
+ \parskip\saveparskip
+ {\center\large\theinstrument\par}
+ {\flushleft\scshape\large\thepiece}
+}
+\def\makelilypiecetitle
+{
+ \bigskip
+ {\flushright\theopus\par}
+ {\flushleft\scshape\large\thepiece}
}
\endinput
+
--- /dev/null
+:version 4.0
+"
+" some handy key mappings
+"
+" F7 prev error
+map \e[18~ :cp\r
+"
+" F8 next error
+map \e[19~ :cn\r
+"
+" F9 make
+map \e[20~ :w\r:se makeprg=make\ -k\r:make\r
+"
+" F10 run buffer through lily
+map \e[21~ :w\r:se makeprg=lilypond\ %:t\r:make\r
+"
+" F11 check buffer for quarts
+map \e[23~ :w\r:se makeprg=lilypond\ -Q%:t\r:make\r
+"
+"
+" errorformat for lily (with columns) and gcc
+" (how to see multiple-line error messages?)
+"
+se errorformat=%f:%l:%c:\ %m,%f:%l:\ %m,In\ file\ included\ from\ %f:%l:,\^I\^Ifrom\ %f:%l%m