From 0d17e9c759bd61c9b20a7c4d9941a412c2a53f5f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 9 Jun 1999 12:15:02 +0200 Subject: [PATCH] release: 1.1.47 --- AUTHORS.txt | 8 +- Documentation/COPYRIGHT | 88 +++++++++++++ Documentation/CodingStyle.yo | 73 +---------- Documentation/GNUmakefile | 1 + Documentation/faq.yo | 16 ++- Documentation/links.yo | 35 ++---- Documentation/man/lilypond.yo | 95 ++++++-------- Documentation/man/out/lilypond.1 | 118 ++++++++---------- Documentation/tex/other-packages.bib | 3 +- Documentation/tex/refman.yo | 19 ++- Documentation/topdocs/AUTHORS.yo | 8 +- Documentation/topdocs/INSTALL.yo | 85 ++++++------- Documentation/topdocs/PATCHES.yo | 18 +-- Documentation/topdocs/README.yo | 2 +- Documentation/topdocs/index.yo | 4 +- INSTALL.txt | 178 ++++++++++++--------------- NEWS | 21 +++- PATCHES.txt | 15 +-- TODO | 70 +---------- VERSION | 2 +- buildscripts/mf-to-table.py | 5 + input/bugs/rep.ly | 2 +- input/test/mark.ly | 2 +- input/test/multi-measure-rest.ly | 2 +- input/test/tuplet.fly | 43 +++++++ lily/g-script-engraver.cc | 9 +- lily/include/audio-item.hh | 5 - lily/include/dimensions.hh | 4 + lily/include/ly-symbols.hh | 1 + lily/include/midi-item.hh | 4 +- lily/include/new-repeated-music.hh | 9 ++ lily/include/tuplet-spanner.hh | 6 +- lily/lookup.cc | 29 ++++- lily/tuplet-engraver.cc | 13 ++ lily/tuplet-spanner.cc | 64 ++++++---- ly/deutsch.ly | 10 +- ly/property.ly | 20 +-- make/out/lelievijver.lsm | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- mutopia/N.W.Gade/brass.ly | 56 ++++----- mutopia/N.W.Gade/global.ly | 5 +- mutopia/N.W.Gade/global.tex | 4 +- mutopia/N.W.Gade/parts.ly | 105 +++++++++------- mutopia/N.W.Gade/score.ly | 53 ++++---- mutopia/N.W.Gade/strings.ly | 28 ++--- mutopia/N.W.Gade/wood.ly | 32 ++--- scm/lily.scm | 2 +- tex/titledefs.tex | 1 + 49 files changed, 718 insertions(+), 675 deletions(-) create mode 100644 Documentation/COPYRIGHT create mode 100644 input/test/tuplet.fly diff --git a/AUTHORS.txt b/AUTHORS.txt index 9ca7d95ce5..fcae67073e 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -60,9 +60,5 @@ o Jeffrey B. Reed , Windows-NT sup- o Shay Rojanski Some mudela source. -Your name could be here! If you want to help, then take a -look at the SMALLISH PROJECTS section of in the file TODO. -Some do not involve coding C++ - -[And of course we sincerely thank J.S.Bach, F.Schubert, T. -Merula and W.A.Mozart for their beautiful music] +Your name could be here! If you want to fix something, do +it, and send us a patch! diff --git a/Documentation/COPYRIGHT b/Documentation/COPYRIGHT new file mode 100644 index 0000000000..1628105c98 --- /dev/null +++ b/Documentation/COPYRIGHT @@ -0,0 +1,88 @@ +[Note to uninitiated readers. This is a Q&A document that explains +what to watch out for when submitting scores for the Mutopia project. +The Mutopia project is an effort to accumulate an archive of sheet +music that is in the public domain. The project should be similar to +the Gutenberg project. + +We will be using music typesetting software to produce the software. +The project will only accept music for composers that have passed into +the PD. The sole remaining problem is caused by the editorial +changes. A recent edition may contain editorial amendments that are +not in the PD, so we cannot simply copy the music from recent +editions.] + + + +What is copyright? + +Copyright is a legal system that protects the expressions of ideas. +It was originally conceived to foster development of art and +knowledge. + +Copyright law gives "owners" of the expressions the right to restrict +reproductions of these expressions and collect fees. In this way they +can earn a living. For example, a poet may restrict xeroxing and +public performances of his poems, and demand a fee for print for +prints and performances. + +After some time ---for most forms of expression, this is 70 years +after the author died--- the work goes into the public domain, which +means that all restrictions are lifted. You can print, perform and +modify the works as much as you like. + +Copyright law is internationalised. In most countries the conditions +from the Berne convention have been adopted. + + + + +How does copyright work for music scores? + +Let's analyze how a printed score is produced: + +1. The composer composes music. + +2. An editor edits the music, based on the composer's manuscript and +on other editions. + +3. An engraver lays out the editor's product. + +As you can see, there are three individuals, whose expressions are +protected by copyright law. Since we are interested in the scores +that are in the PD. + +The copyright on the music itself passes into the PD 70 years after +the death of the composer. (Or XXXX years after publication if the +work is published posthumously.) + +The copyright on the editorial changes pass in to the PD 70 years +after death of the editor, or XXX years after publication. Depending on YYY + +The copyright of the engraver is of no interest to us, since we will +not reproduce any of the layout. + + + +What are editorial changes? + + + + + + +How do I find out what changes might be copyrighted? + +You cannot copyright something you did not create yourself. So if you +find the same editorial changes across different editions it is +unlikely that it is copyrighted. + + + + +Urtexts? + + + +Scores that are not marked with dates? + + diff --git a/Documentation/CodingStyle.yo b/Documentation/CodingStyle.yo index ec80eb456a..c39d41f0a4 100644 --- a/Documentation/CodingStyle.yo +++ b/Documentation/CodingStyle.yo @@ -7,8 +7,7 @@ We use these standards while doing programming for GNU LilyPond. If you do some hacking, we appreciate it if you would follow this rules, but if you don't, we still like you. -Functions and methods do not return errorcodes, but use assert for -checking status. +Functions and methods do not return errorcodes. quote( @@ -100,7 +99,6 @@ nsubsect(CLASSES and TYPES:) verb( This_is_a_class - AClass_name (for Abbreviation_class_name) ) nsubsect(MEMBERS) @@ -229,73 +227,8 @@ verb( nsect(HUNGARIAN NOTATION NAMING CONVENTION) Proposed is a naming convention derived from the so-called -em(Hungarian Notation). - -nsubsect(Hungarian) - -The Hungarian Notation was conceived by or at least got its name from, -the hungarian programmer Charles Simonyi. It is a naming convention -with the aim to make code more readable (for fellow programmers), and -more accessible for programmers that are new to a project. - -The essence of the Hungarian Notation is that every identifier has a -part which identifies its type (for functions this is the result -type). This is particularly useful in object oriented programming, -where a particular object implies a specific interface (a set of -member functions, perhaps some redefined operators), and for -accounting heap allocated memory pointers and links. - -nsubsect(Advantages) - -Another fun quote from Microsoft Secrets: - -quote( - The Hungarian naming convention gives developers the ability - to read other people's code relatively easily, with a minmum - number of comments in the source code. Jon De Vann estimated - that only about 1 percent of all lines in the Excel product - code consist of comments, but the code is still very - understandable due to the use of Hungarian: "if you look at - our source code, you also notice very few comments. Hungarian - gives us the ability to go in and read code..." -) - -Wow! If you use Hungarian you don't have to document your software! -Just think of the hours I have wasted documenting while this "silver bullet" -existed. I feel so stupid and ashamed! (Didn't MMM-Brooks say `There is -no silver bullet?' --HWN) - - -nsubsect(Disadvantages) - -itemize( -it()more keystrokes (disk space!) -it()it looks silly code(get_slu_p()) -it()it looks like code from micro suckers -it()(which) might scare away some (otherwise good?) - progammers, or make you a paria in the free - software community -it()it has ambiguities -it()not very useful if not used consistently -it()usefullness in em(very large) (but how many classes is very large?) - remains an issue. -) - -nsubsect(Proposal) - -itemize( -it()learn about cut and paste / use emacs or vi - or lean to type using ten fingers -it()Use emacs dabbrev-expand, with dabbrev-case-fold-search set to nil. -it()use no, or pick less silly, abbrvs. -it()use non-ambiguous postfixes code(identifier_name_type_modifier[_modifier]) -it()There is no need for Hungarian if the scope of the variable is small, - ie. local variables, arguments in function definitions (not - declarations). -) - -Macros, code(enum)s and code(const)s are all uppercase, -with the parts of the names separated by underscores. +em(Hungarian Notation). Macros, code(enum)s and code(const)s are all +uppercase, with the parts of the names separated by underscores. nsubsect(Types) diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index b6e67c58bc..c7dbe8373f 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -7,6 +7,7 @@ SUBDIRS=man tex pictures topdocs ntweb STEPMAKE_TEMPLATES=documentation README_TOP_FILES=NEWS DEDICATION TODO ANNOUNCE-0.1 AIMS INFO_FILES = $(wildcard $(outdir)/$(package).info*) +EXTRA_DIST_FILES = COPYRIGHT diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 87d5e056e0..a878886610 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -321,6 +321,9 @@ Don't forget to put your name and e-mail address in the file(AUTHORS.pod) file, or you won't get credits :-] +em(Please) always send a bf(-u) diff, even if it is larger than the +whole file. + question(How do I learn the C++ code?) The entry point is in code(main()). Good luck. :-) @@ -410,15 +413,20 @@ older installations) afterwards, so that TeX will find the files. Also, don't forget to remove all old .tfm and .*pk files when the font is updated (as it will be in version 1.1.40, for example). -question(How does PS output work?) +question(Are there scalable versions of the font?) -itemize( - it() -Generate the PostScript Type-3 fonts. In the file(mf/) +Yes, they are type-3 fonts. In the file(mf/) subdirectory, issue: verb( make pfa ) in the mf/ subdirectory. This will also make file(mfplain) for metapost. +The file(pfa)s will be in the subdirectory file(out/). + +question(How does PS output work?) + +itemize( + it() +Generate the PostScript Type-3 fonts. it() Run lilypond with option tt(-f ps): verb( diff --git a/Documentation/links.yo b/Documentation/links.yo index 3617caae07..9addb6fc2c 100644 --- a/Documentation/links.yo +++ b/Documentation/links.yo @@ -1,4 +1,3 @@ - article(links - Links to other related websites)(HWN and JCN)() sect(DESCRIPTION) @@ -12,7 +11,6 @@ nsubsect(LilyPond) description( dit(lurl(http://www.cs.uu.nl/people/hanwen/lilypond/))Han-Wen's site. -dit(lurl(http://www.xs4all.nl/~jantien/lilypond/))Jan's site. dit(lurl(http://sca.uwaterloo.ca/lilypond/))The canadian mirror (thanks, Eric!) ) @@ -21,8 +19,9 @@ subsect(Other) description( dit(lurl(http://www.gnu.org/)) - LilyPond is part of the GNU Project started by the Free Software - Foundation to create a system of free software for the world-community + LilyPond is part of the GNU Project. The GNU project is the name + of Richard Stallman's effort to create a freely available + system of software. dit(lurl(http://www.zib.de/Visual/software/doc++/index.html)) The documentation system for C++ sources, which is used for the LilyPond sources. @@ -34,38 +33,22 @@ dit(lurl(http://www.iat.unc.edu/technology/music/music.html)) An enormous collection of music related URLs dit(lurl(http://www.ram.org/ramblings/philosophy/fmp.html)) Musings on free music, plus hints how to record your own (free) music. - dit(lurl(http://www.geocities.com/Vienna/Studio/1714/)) John Sankey has taken up the task of recording classical -music, and distributing the results at no cost. + music, and distributing the results at no cost. ) - sect(Ftp) -We will upload major releases to the following sites: - -description( -dit(lurl(ftp://metalab.unc.edu/pub/Linux/apps/sound/convert)) - The GNU/Linux FTP site - -dit(lurl(ftp://ftp.dante.de/tex-archive/support/lilypond)) - An ftp site which is in CTAN. CTAN is a worldwide network of - sites full of TeX() stuff. - -dit(lurl(ftp://ftp.redhat.com/pub/contrib/)) - The FTP site of RedHat Software. -) - -At this moment we have about one development-patchlevel per week. -These development releases will also be at +At this moment we have about one development-patchlevel per week. +These development releases will be at itemize( it()lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development) it()lurl(ftp://sca.uwaterloo.ca/pub/lilypond) -it()[your mirror here] +it()lurl(ftp://ftp.lilypond.org/pub/lilypond) ) Debian releases are located at @@ -102,13 +85,11 @@ dit(lurl(http://www.ssc.com/linux/)) dit(lurl( http://sound.condorow.net)) Dave Philips' Linux sound applications page dit(lurl(http://www4.smart.net/~jcovey/scores.html)) - Jeff Covey's guitar music= + Jeff Covey's guitar music dit(lurl(http://www.home.fh-karlsruhe.de/~rost0001/web/musik/musik.html)) Stochastic composing using LilyPond dit(lurl(http://www.medieval.org/emfaq/scores/software.html)) More software for (early) music. -dit(lurl(http://www.emry.net/webwatcher/)) - The Linux webwatcher: this site logs changes in important Linux sites. dit(lurl(http://www.pbm.com/~lindahl/ravenscroft/modern)) Transcriptions of the music of Thomas Ravenscroft, partly using LilyPond diff --git a/Documentation/man/lilypond.yo b/Documentation/man/lilypond.yo index ddfdf4ad54..d680277e43 100644 --- a/Documentation/man/lilypond.yo +++ b/Documentation/man/lilypond.yo @@ -6,7 +6,7 @@ COMMENT( manpage(LilyPond) (1) - (1998) + (1999) (The LilyPond package) (The GNU Project Music Typesetter) @@ -24,10 +24,10 @@ includefile(../BLURB.in) manpageoptions() description( -dit(-I,--include=FILE) +dit(-I,--include=) add file(FILE) to the search path for input files. dit(-M,--midi) - This disables TeX output. If you have a \midi definition, it will do the + Disable TeX output. If you have a \midi definition, it will do the midi output only. dit(-d,--dependencies) Also output rules to be included in Makefile. @@ -52,7 +52,7 @@ dit(-i,--init=FILE) dit(--include, -I=DIRECTORY) Add file(DIRECTORY) to the search path for input files. dit(--ignore-version, -V) - Make incompatible mudela version non-fatal. + Make the incompatible mudela version warning non-fatal. ) manpagesection(FEATURES) @@ -67,10 +67,10 @@ it()ASCII script input, with identifiers (for music reuse), customizable notenames, customisable fontset. it()MIDI output lets you check if you have entered the correct notes. it()MIDI to Mudela conversion through the mi2mu program. -it()Multiple staffs in one score. Each staff can have different meters. +it()Multiple staffs in one score. Each staff can have different time signatures. it()Beams, slurs, ties, chords, super/subscripts (accents and text) triplets, general n-plet (triplet, quadruplets, etc.), lyrics, - transposition dynamics (both absolute and hairpin style). + transposition, dynamics (both absolute and hairpin style). it()Multiple voices within one staff; beams optionally shared between voices. Up to four voices is handled cleanly. it()Multiple scores within one input file. Each score is output to @@ -80,7 +80,7 @@ it()Clef changes, meter changes, cadenza-mode, key changes, repeat bars. manpagesection(DISCLAIMER) -GNU LilyPond is copyright 1996-1998 by its authors. GNU LilyPond is +GNU LilyPond is copyright 1996-1999 by its authors. GNU LilyPond is distributed under the terms of the GNU General Public License. GNU LilyPond is provided without any warranty what so ever. GNU LilyPond may be freely distributed. For further information consult @@ -88,15 +88,17 @@ the GNU General Public License, from the file file(COPYING). manpagesection(PROBLEMS) -There is an extensive list of todoes and bugs. See file(TODO). If you -have a problem you should try to find out +There is an extensive list of todoes and bugs. See the file +file(TODO) distributed with the sources. If you have a problem you +should try to find out itemize( it()If the bug has been fixed in a newer release. it()If the bug has been found earlier, consult file(TODO) and file(BUGS). ) -If you have found a bug, then you should send a bugreport. +If you have found a bug, then we would appreciate it if you sent a +bugreport. itemize( it()Send a copy of the input which causes the error. @@ -104,15 +106,16 @@ it()Send a description of the platform you use. it()Send a description of the LilyPond version you use (with compile/configure options please). it()Send a description of the bug itself. -it()Send it to email(bug-gnu-music@gnu.org) (you don't have to subscribe - to this mailinglist). +it()Send it to email(bug-gnu-music@gnu.org); you don't have to be subscribed + to this mailinglist. ) manpagefiles() description( dit(file(init.ly)) The initialisation file with symbol tables etc. It - includes files from the directory file(init/). + includes files from the directory + file(PREFIX/share/lilypond/ly/). (file(PREFIX) typically is file(/usr/local) ) manspagesection(environment) @@ -121,6 +124,8 @@ description( dit(LILYINCLUDE) additional directories for finding lilypond data. The format is like the format of file(PATH). +dit(LILYPREFIX) + [FIXME] dit(LANG) selects the language for the warning messages of LilyPond. ) @@ -131,25 +136,26 @@ Lots of them. See file(TODO) and file(BUGS) manpageseealso() +LilyPond comes with various other documentation files, but most are in +the form of manual pages. They are included in the source +package. Interesting documents include + description( -dit(internals) - On technical details of LilyPond -dit(mudela-man) - On the input format. This is a LilyPond-enhanced LaTeX document. dit(MANIFESTO) Goals of the GNU LilyPond project. dit(FAQ) The GNU LilyPond FAQ list -dit(GNU url(LilyPond)(http://www.cs.uu.nl/people/hanwen/lilypond/index.html)) - has her own webpage. This webpage contains the MIDI, GIF and PS files for - some standard music files. It also has the complete LilyPond documentation ) -GNU LilyPond is -updated very frequently, the latest version is always available at: -lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond). This FTP site is mirrored -at a number of sites; consult the project web pages for information -about mirrors. +A further source for information is the website, which can be found at +lurl(http://www.lilypond.org/). The website contains on-line versions +of the documentation + + +GNU LilyPond is updated very frequently, the latest version is always +available at: lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond). This FTP +site is mirrored at a number of sites; consult the project web pages +for information about mirrors. For programs which are part of the GNU music project, the following mailing list have been setup: @@ -178,47 +184,18 @@ gnu-music-discuss. manpagesection(REMARKS) GNU LilyPond has no connection with the music package Rosegarden, other -than the names being similar (:-) - -manpagesection(HISTORY) -cindex(History) - -(for a detailed changelog, see file(NEWS)) - -GNU LilyPond's roots lie in MPP, a preprocessor to the rather arcane -MusiXTeX macro package for TeX. A friend of mine, Jan Nieuwenhuizen -wrote the first 44 versions (0.01 to 0.44), then his program caught my -attention, and I was slowly sucked in to the interesting problem of -easily producing beautifully printed music. I contributed some -code. We soon realised that MPP's design was too fundamentally broken -to be repaired, so it was decided to rewrite MPP. We debated a lot about -the requirements to an inputformat (fall 1995). I sat down and started -with a parser-first, bottom-up rewrite called mpp95 (which totally -failed, obviously). - -After long and hard thinking, I came up with an algorithm for the -horizontal spacing of multiple staffs (april 1996) I coded it (and did -not test it). After starting with this fundamental piece, I slowly -added the stages which come before spacing, and after. A half year -later, I had a first working version, (october 1996). I announced -Patchlevel 0.0.7 (or 8) to the mutex list after asking some technical -details on spacing; it was downloaded approximately 4 times. Then I -got the hang of it, and in the subsequent two months, I coded until it -had doubled in size (pl 23). - -Most the other history is described in the NEWS file. The first large -scale release (0.1) was done after approximately 78 patchlevels on -August 1, 1997. +than the names being similar :-) manpageauthor() cindex(Author) -Please consult the documentation file file(AUTHORS.txt) for more detailed -information, and small contributions. - itemize( it()nemail(Han-wen Nienhuys)(hanwen@cs.uu.nl) lurl(http://www.cs.uu.nl/people/hanwen) it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org) lurl(http://www.xs4all.nl/~jantien) ) + +Please consult the documentation file file(AUTHORS) for more detailed +information, and small contributions. + diff --git a/Documentation/man/out/lilypond.1 b/Documentation/man/out/lilypond.1 index 76386a29d6..d3e8212ed2 100644 --- a/Documentation/man/out/lilypond.1 +++ b/Documentation/man/out/lilypond.1 @@ -1,4 +1,4 @@ -.TH "LilyPond" "1" "1998" "The LilyPond package" "The GNU Project Music Typesetter" +.TH "LilyPond" "1" "1999" "The LilyPond package" "The GNU Project Music Typesetter" .PP .PP .SH "NAME" @@ -17,10 +17,10 @@ beams, slurs, triplets, named chords, transposing, formatting scores, part extraction\&. It includes a nice font of musical symbols\&. .PP .SH "OPTIONS" -.IP "-I,--include=FILE" +.IP "-I,--include=" add \fBFILE\fP to the search path for input files\&. .IP "-M,--midi" -This disables TeX output\&. If you have a \emidi definition, it will do the +Disable TeX output\&. If you have a \emidi definition, it will do the midi output only\&. .IP "-d,--dependencies" Also output rules to be included in Makefile\&. @@ -45,7 +45,7 @@ Set init file to \fBFILE\fP (default: \fBinit\&.ly\fP)\&. .IP "--include, -I=DIRECTORY" Add \fBDIRECTORY\fP to the search path for input files\&. .IP "--ignore-version, -V" -Make incompatible mudela version non-fatal\&. +Make the incompatible mudela version warning non-fatal\&. .PP .SH "FEATURES" .PP @@ -61,11 +61,11 @@ MIDI output lets you check if you have entered the correct notes\&. .IP o MIDI to Mudela conversion through the mi2mu program\&. .IP o -Multiple staffs in one score\&. Each staff can have different meters\&. +Multiple staffs in one score\&. Each staff can have different time signatures\&. .IP o Beams, slurs, ties, chords, super/subscripts (accents and text) triplets, general n-plet (triplet, quadruplets, etc\&.), lyrics, -transposition dynamics (both absolute and hairpin style)\&. +transposition, dynamics (both absolute and hairpin style)\&. .IP o Multiple voices within one staff; beams optionally shared between voices\&. Up to four voices is handled cleanly\&. @@ -77,7 +77,7 @@ Clef changes, meter changes, cadenza-mode, key changes, repeat bars\&. .PP .SH "DISCLAIMER" .PP -GNU LilyPond is copyright 1996-1998 by its authors\&. GNU LilyPond is +GNU LilyPond is copyright 1996-1999 by its authors\&. GNU LilyPond is distributed under the terms of the GNU General Public License\&. GNU LilyPond is provided without any warranty what so ever\&. GNU LilyPond may be freely distributed\&. For further information consult @@ -85,15 +85,17 @@ the GNU General Public License, from the file \fBCOPYING\fP\&. .PP .SH "PROBLEMS" .PP -There is an extensive list of todoes and bugs\&. See \fBTODO\fP\&. If you -have a problem you should try to find out +There is an extensive list of todoes and bugs\&. See the file +\fBTODO\fP distributed with the sources\&. If you have a problem you +should try to find out .PP .IP o If the bug has been fixed in a newer release\&. .IP o If the bug has been found earlier, consult \fBTODO\fP and \fBBUGS\fP\&. .PP -If you have found a bug, then you should send a bugreport\&. +If you have found a bug, then we would appreciate it if you sent a +bugreport\&. .PP .IP o Send a copy of the input which causes the error\&. @@ -105,49 +107,53 @@ Send a description of the LilyPond version you use .IP o Send a description of the bug itself\&. .IP o -Send it to bug-gnu-music@gnu\&.org (you don\'t have to subscribe -to this mailinglist)\&. +Send it to bug-gnu-music@gnu\&.org; you don\'t have to be subscribed +to this mailinglist\&. .PP .SH "FILES" .IP "\fBinit\&.ly\fP" The initialisation file with symbol tables etc\&. It -includes files from the directory \fBinit/\fP\&. -.PP +includes files from the directory +\fBPREFIX/share/lilypond/ly/\fP\&. (\fBPREFIX\fP typically is \fB/usr/local\fP +) +.IP manspagesection(environment) -.PP +.IP .IP "LILYINCLUDE" additional directories for finding lilypond data\&. The format is like the format of \fBPATH\fP\&. +.IP "LILYPREFIX" +[FIXME] .IP "LANG" selects the language for the warning messages of LilyPond\&. -.PP +.IP .SH "BUGS" -.PP +.IP Lots of them\&. See \fBTODO\fP and \fBBUGS\fP -.PP +.IP .SH "SEE ALSO" -.PP -.IP "internals" -On technical details of LilyPond -.IP "mudela-man" -On the input format\&. This is a LilyPond-enhanced LaTeX document\&. +.IP +LilyPond comes with various other documentation files, but most are in +the form of manual pages\&. They are included in the source +package\&. Interesting documents include +.IP .IP "MANIFESTO" Goals of the GNU LilyPond project\&. .IP "FAQ" The GNU LilyPond FAQ list -.IP "GNU LilyPond" -has her own webpage\&. This webpage contains the MIDI, GIF and PS files for -some standard music files\&. It also has the complete LilyPond documentation -.PP -GNU LilyPond is -updated very frequently, the latest version is always available at: -ftp://ftp\&.cs\&.uu\&.nl/pub/GNU/LilyPond\&. This FTP site is mirrored -at a number of sites; consult the project web pages for information -about mirrors\&. -.PP +.IP +A further source for information is the website, which can be found at +http://www\&.lilypond\&.org/\&. The website contains on-line versions +of the documentation +.IP +GNU LilyPond is updated very frequently, the latest version is always +available at: ftp://ftp\&.cs\&.uu\&.nl/pub/GNU/LilyPond\&. This FTP +site is mirrored at a number of sites; consult the project web pages +for information about mirrors\&. +.IP For programs which are part of the GNU music project, the following mailing list have been setup: -.PP +.IP .IP "info-gnu-music@gnu\&.org" For information on the GNU Music project, to subscribe: send mail with subject "subscribe" to info-gnu-music-request@gnu\&.org @@ -163,52 +169,24 @@ bug-gnu-music-request@gnu\&.org For discussions concerning the GNU Music project, to subscribe: send mail with subject "subscribe" to gnu-music-discuss-request@gnu\&.org -.PP +.IP Announces of new versions will be sent to info-gnu-music and gnu-music-discuss\&. -.PP +.IP .SH "REMARKS" -.PP +.IP GNU LilyPond has no connection with the music package Rosegarden, other -than the names being similar (:-) -.PP -.SH "HISTORY" -.PP -(for a detailed changelog, see \fBNEWS\fP) -.PP -GNU LilyPond\'s roots lie in MPP, a preprocessor to the rather arcane -MusiXTeX macro package for TeX\&. A friend of mine, Jan Nieuwenhuizen -wrote the first 44 versions (0\&.01 to 0\&.44), then his program caught my -attention, and I was slowly sucked in to the interesting problem of -easily producing beautifully printed music\&. I contributed some -code\&. We soon realised that MPP\'s design was too fundamentally broken -to be repaired, so it was decided to rewrite MPP\&. We debated a lot about -the requirements to an inputformat (fall 1995)\&. I sat down and started -with a parser-first, bottom-up rewrite called mpp95 (which totally -failed, obviously)\&. -.PP -After long and hard thinking, I came up with an algorithm for the -horizontal spacing of multiple staffs (april 1996) I coded it (and did -not test it)\&. After starting with this fundamental piece, I slowly -added the stages which come before spacing, and after\&. A half year -later, I had a first working version, (october 1996)\&. I announced -Patchlevel 0\&.0\&.7 (or 8) to the mutex list after asking some technical -details on spacing; it was downloaded approximately 4 times\&. Then I -got the hang of it, and in the subsequent two months, I coded until it -had doubled in size (pl 23)\&. -.PP -Most the other history is described in the NEWS file\&. The first large -scale release (0\&.1) was done after approximately 78 patchlevels on -August 1, 1997\&. +than the names being similar :- .PP .SH "AUTHOR" .PP -Please consult the documentation file \fBAUTHORS\&.txt\fP for more detailed -information, and small contributions\&. -.PP .IP o Han-wen Nienhuys http://www\&.cs\&.uu\&.nl/people/hanwen .IP o Jan Nieuwenhuizen http://www\&.xs4all\&.nl/~jantien +.PP +Please consult the documentation file \fBAUTHORS\fP for more detailed +information, and small contributions\&. +.PP diff --git a/Documentation/tex/other-packages.bib b/Documentation/tex/other-packages.bib index 25b86464dc..8ff5024157 100644 --- a/Documentation/tex/other-packages.bib +++ b/Documentation/tex/other-packages.bib @@ -69,8 +69,7 @@ symphonic music), as well as for operas or ballets. " @Misc{igor, title = {Igor}, author = {Technoligor AB}, - note = {Commercial music notation with bigwig supporters. -Still in beta}, + note = {Commercial music notation with bigwig supporters.}, html={http://www.igortech.pi.se/}, } diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo index 121f41f66d..5711ca323b 100644 --- a/Documentation/tex/refman.yo +++ b/Documentation/tex/refman.yo @@ -1525,13 +1525,28 @@ and -2. dit(code(abbrev)) Set length for tremolo to be used if no length is explicitly specified. -GONE dit(code(markScriptPadding)) Determines the extra space added between +dit(code(tupletDirection)) Determines the direction of triplets and +other tuplets. Set to code(\down) to force them below the staff, +code(\up) to force them above, or code(\free) to let LilyPond decide. + +dit(code(tupletVisibility)) Determines whether tuplets of notes are +labelled. Setting to 0 shows nothing; setting to 1 shows a number; +setting to 2 shows a number and a bracket if there is no beam; setting +to 3 shows a number, and if there is no beam it adds a bracket; +setting to 4 shows both a number and a bracket unconditionally. The +code(pletoff) and code(pleton) identifiers set the property to 0 and 3, +respectively. + +dit(code(markScriptPadding)) Determines the extra space added between the mark and the closest staff line or note. -GONE dit(code(markDirection)) Determines if marks should be printed above +dit(code(markDirection)) Determines if marks should be printed above or below the staff. Set to code(\up) to print marks above the staff; set to code(\down) to print marks below the staff. +dit(code(articulationScriptPadding)) Determines the extra space added +between articulation marks, such as staccato, tenuto, trill, up/down +bow or fermata, and the closest staff line or note. ) subsubsubsect(Staff properties) diff --git a/Documentation/topdocs/AUTHORS.yo b/Documentation/topdocs/AUTHORS.yo index cce65cd0ac..844103c86f 100644 --- a/Documentation/topdocs/AUTHORS.yo +++ b/Documentation/topdocs/AUTHORS.yo @@ -46,10 +46,6 @@ it()Shay Rojanski ) -Your name could be here! If you want to help, then take a look at the -SMALLISH PROJECTS section of in the file file(TODO). Some do not involve -coding C++ - -[And of course we sincerely thank J.S.Bach, F.Schubert, T. Merula and -W.A.Mozart for their beautiful music] +Your name could be here! If you want to fix something, do it, and send +us a patch! diff --git a/Documentation/topdocs/INSTALL.yo b/Documentation/topdocs/INSTALL.yo index 91a2f82972..36590d3185 100644 --- a/Documentation/topdocs/INSTALL.yo +++ b/Documentation/topdocs/INSTALL.yo @@ -27,7 +27,7 @@ it()A GNU system: GNU LilyPond is known to run on these GNU systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and Solaris. -it()Lots of disk space: LilyPond takes between 50 and 100 mb to +it()Lots of disk space: LilyPond takes between 30 and 100 mb to compile if you use debugging information. If you are short on disk-space run configure with code(--disable-debugging). @@ -35,23 +35,43 @@ Although we recommend to use Unix, LilyPond is known to run on Windows NT/95/98 as well. See Section ref(w32). it() EGCS 1.1 or newer. -it() Python 1.5 (Strictly speaking, you shouldn't need Python for - compiling and installing, but you'll need it to regenerate the font - tables, e.g.). -it() GUILE 1.3 (no, GUILE 1.2 won't work), check out lurl(http://www.gnu.org/software/guile/guile.html). + +it() Python 1.5, +Check out +lurl(ftp://ftp.python.org) or lurl(ftp://ftp.cwi.nl/pub/python). + +it() GUILE 1.3, check out lurl(http://www.gnu.org/software/guile/guile.html). + +it()GNU make. +Check out lurl(ftp://ftp.gnu.org). + +it()Flex (version 2.5.4 or newer). +Check out lurl(ftp://ftp.gnu.org). + +it()Bison (version 1.25 or newer). +Check out lurl(ftp://ftp.gnu.org). + +it()Yodl. All documentation will be in Yodl. (1.30.17) +lurl(ftp://ftp.lilypond.org/pub/yodl) + +it()The geometry package for LaTeX is needed to use ly2dvi. +Available at +lurl(ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry) +or at mirror site lurl(ftp://ftp.dante.de) ) + sect(RUNNING) GNU LilyPond does use a lot of resources. For operation you need the -following: +following software itemize( it()TeX it()A PostScript printer and/or viewer (such as Ghostscript) is strongly recommended. Xdvi will show all embedded PostScript too if you have Ghostscript installed. -it() GUILE 1.3 (no, GUILE 1.2 won't work), check out lurl(http://www.gnu.org/programs/guile.html) +it() GUILE 1.3, check out lurl(http://www.gnu.org/programs/guile.html) ) @@ -66,47 +86,11 @@ The empty path component represents TeX() and MetaFont's default search paths. Scripts with the proper paths for the bourne and C-shell respectively are generated in file(buildscripts/out/lilypond-profile) and -file(buildscripts/out/lilypond-login) during compilation. - +file(buildscripts/out/lilypond-login) during compilation. -sect(RECOMMENDED) +LilyPond is a hideously slow program. A fast CPU and plenty of RAM is +recommended for comfortable use. -Although not strictly necessary, these are recommended to have. - -itemize( -it()GNU make. -Check out lurl(ftp://ftp.gnu.org) -or any mirror of this site. -it()Flex (version 2.5.4 or newer). -Check out lurl(ftp://ftp.gnu.org) -or any mirror of this site. -it()Bison (version 1.25 or newer). -Check out lurl(ftp://ftp.gnu.org) -or any mirror of this site. -it() GUILE 1.3 (no, GUILE 1.2 won't work), -check out lurl(http://www.gnu.org/programs/guile.html). - - -it()Python (version 1.5 or newer). Check out -lurl(ftp://ftp.python.org) or lurl(ftp://ftp.cwi.nl/pub/python). - -it()Yodl. All documentation will be in Yodl. (1.30.17) -lurl(ftp://ftp.lilypond.org/pub/yodl) - lurl(http://www.cs.uu.nl/~hanwen/yodl) -it()Texinfo. (version 3.12 or newer) - -it()GNU find -Check out lurl(ftp://ftp.gnu.org) -or any mirror of this site. - -it()The geometry package for LaTeX is needed to use ly2dvi. - Available at -lurl(ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry) -or at mirror site lurl(ftp://ftp.dante.de) - -it() A fast computer: a full page of music typically takes 1 minute on my - 486/133, using the bf(--enable-checking) compile. -) sect(WEBSITE) @@ -124,10 +108,11 @@ man2html can be had from lurl(http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Ne ) Building the website requires pnmtopng. The version of file(pnmtopng) -that is distributed with RedHat 5.1 contains a bug (pnmtopng is -dynamically linked to the wrong version of libpng). Recompile it from -source, and make sure that the pnmtopng binary is linked statically to -the libpng that is included in libgr. +that is distributed with RedHat 5.1 and 5.2 contains a bug: pnmtopng +is dynamically linked to the wrong version of libpng. Recompile it +from source, and make sure that the pnmtopng binary is linked +statically to the libpng that is included in libgr. RedHat 6.0 does +not have this problem. verb( tar xzf libgr-2.0.13.tar.gz make diff --git a/Documentation/topdocs/PATCHES.yo b/Documentation/topdocs/PATCHES.yo index b08b7ea428..4827716c15 100644 --- a/Documentation/topdocs/PATCHES.yo +++ b/Documentation/topdocs/PATCHES.yo @@ -5,11 +5,14 @@ PATCHES - track and distribute your code changes nsect(DESCRIPTION) This page documents how to distribute your changes to GNU lilypond -(or in fact any other StepMake package). nsect(ABSTRACT) -Distributing a change normally goes like this: +We would like to have unified context diffs with full pathnames. A +script automating supplied with Lily. + + Distributing a change normally +goes like this: itemize( it()make your fix/add your code @@ -108,12 +111,11 @@ verb( nsect(SYNCHRONISE) -If you're not very quick with sending your patch, there's a good chance -that an new release of LilyPond comes available. In such a case (and -sometimes for other unkown reasons :-), the maintainer will probably ask -you to make a new patch against the latest release. -Your best bet is to download the latest release, and apply your patch -against this new source tree: +If you're not very quick with sending your patch, there's a good +chance that an new release of LilyPond comes available. In such a +case, the maintainer will probably ask you to make a new patch against +the latest release. Your best bet is to download the latest release, +and apply your patch against this new source tree: verb( cd lilypond-0.1.74 diff --git a/Documentation/topdocs/README.yo b/Documentation/topdocs/README.yo index 1b321d7bdd..1f59640ccc 100644 --- a/Documentation/topdocs/README.yo +++ b/Documentation/topdocs/README.yo @@ -56,7 +56,7 @@ criticism, comments, bugreports, patches, etc. verb( Please send your e-mail to one of the MAILING LISTS ) -and not to us personally. See file(Documentation/links.yo) for more info. +and em(not) to us personally. See file(Documentation/links.yo) for more info. sect(WINDOWS 32) diff --git a/Documentation/topdocs/index.yo b/Documentation/topdocs/index.yo index 2d645208a7..804d96aeb9 100644 --- a/Documentation/topdocs/index.yo +++ b/Documentation/topdocs/index.yo @@ -31,7 +31,8 @@ nsubsect(Webmaster's Disclaimer) These pages were entirely created from the LilyPond package-sources. Sorry for poor look they have: we want to be hacking at LilyPond, and -not at the webpages. +not at the webpages. If you want to volunteer for making shazzy +webpages, then please mail us! Note: These pages are created from the latest bf(development snapshots) of LilyPond, specifically, this page was made from LilyPond @@ -67,7 +68,6 @@ nsect(Documentation) itemize( it()url(Tutorial)(DOEXPAND(docdir)/tex/DOEXPAND(outdir)/tutorial.html) it()url(FAQ)(DOEXPAND(docdir)/DOEXPAND(outdir)/faq.html) -it()url(Reference Manual)(DOEXPAND(docdir)/tex/DOEXPAND(outdir)/refman.html) it()url(Mailing Lists)(DOEXPAND(docdir)/DOEXPAND(outdir)/mail.html) it()url(All of the LilyPond documentation)(DOEXPAND(docdir)/DOEXPAND(outdir)/index.html) it()url(The DOC++ documentation of the C++ sources.)(DOEXPAND(depth)/docxx/index.html) diff --git a/INSTALL.txt b/INSTALL.txt index 3ca4a10605..622b63747e 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -9,15 +9,14 @@ Contents 2: OBTAINING 3: PREREQUISITES 4: RUNNING -5: RECOMMENDED -6: WEBSITE -7: CONFIGURING and COMPILING -8: CONFIGURING FOR MULTIPLE PLATFORMS -9: INSTALLING -10: REDHAT LINUX -11: DEBIAN GNU/LINUX -12: WINDOWS NT/95 -13: AUTHORS +5: WEBSITE +6: CONFIGURING and COMPILING +7: CONFIGURING FOR MULTIPLE PLATFORMS +8: INSTALLING +9: REDHAT LINUX +10: DEBIAN GNU/LINUX +11: WINDOWS NT/95 +12: AUTHORS 1: ABSTRACT @@ -45,92 +44,73 @@ o A GNU system: GNU LilyPond is known to run on these GNU systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and Solaris. -o Lots of disk space: LilyPond takes between 50 and 100 +o Lots of disk space: LilyPond takes between 30 and 100 mb to compile if you use debugging information. If you are short on disk-space run configure with --disable- debugging. Although we recommend to use Unix, LilyPond is known to - run on Windows NT/95/98 as well. See Section 12. + run on Windows NT/95/98 as well. See Section 11. o EGCS 1.1 or newer. -o Python 1.5 (Strictly speaking, you shouldn't need - Python for compiling and installing, but you'll need it - to regenerate the font tables, e.g.). +o Python 1.5, Check out ftp://ftp.python.org or + ftp://ftp.cwi.nl/pub/python. -o GUILE 1.3 (no, GUILE 1.2 won't work), check out - http://www.gnu.org/software/guile/guile.html. +o GUILE 1.3, check out http://www.gnu.org/soft- + ware/guile/guile.html. + +o GNU make. Check out ftp://ftp.gnu.org. + +o Flex (version 2.5.4 or newer). Check out + ftp://ftp.gnu.org. + +o Bison (version 1.25 or newer). Check out + ftp://ftp.gnu.org. + +o Yodl. All documentation will be in Yodl. (1.30.17) + ftp://ftp.lilypond.org/pub/yodl + +o The geometry package for LaTeX is needed to use ly2dvi. + Available at ftp://ftp.ctan.org/tex- + archive/macros/latex/contrib/supported/geometry or at + mirror site ftp://ftp.dante.de 4: RUNNING -GNU LilyPond does use a lot of resources. For operation you -need the following: +GNU LilyPond does use a lot of resources. For operation you +need the following software o TeX o A PostScript printer and/or viewer (such as - Ghostscript) is strongly recommended. Xdvi will show - all embedded PostScript too if you have Ghostscript + Ghostscript) is strongly recommended. Xdvi will show + all embedded PostScript too if you have Ghostscript installed. -o GUILE 1.3 (no, GUILE 1.2 won't work), check out - http://www.gnu.org/programs/guile.html +o GUILE 1.3, check out http://www.gnu.org/pro- + grams/guile.html -For running LilyPond successfully you have to help TeX and -MetaFont find various files. The recommended way of doing -so is adjusting the environment variables in the start-up -scripts of your shell. An example is given here for the +For running LilyPond successfully you have to help TeX and +MetaFont find various files. The recommended way of doing +so is adjusting the environment variables in the start-up +scripts of your shell. An example is given here for the Bourne shell: export MFINPUTS="/usr/local/share/lilypond/mf:" export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:" -The empty path component represents and MetaFont's default -search paths. Scripts with the proper paths for the bourne +The empty path component represents and MetaFont's default + +search paths. Scripts with the proper paths for the bourne and C-shell respectively are generated in build- -scripts/out/lilypond-profile and buildscripts/out/lilypond- +scripts/out/lilypond-profile and buildscripts/out/lilypond- login during compilation. -5: RECOMMENDED +LilyPond is a hideously slow program. A fast CPU and plenty +of RAM is recommended for comfortable use. -Although not strictly necessary, these are recommended to -have. - -o GNU make. Check out ftp://ftp.gnu.org or any mirror of - this site. - -o Flex (version 2.5.4 or newer). Check out - ftp://ftp.gnu.org or any mirror of this site. - -o Bison (version 1.25 or newer). Check out - ftp://ftp.gnu.org or any mirror of this site. - -o GUILE 1.3 (no, GUILE 1.2 won't work), check out - http://www.gnu.org/programs/guile.html. - -o Python (version 1.5 or newer). Check out - ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python. - -o Yodl. All documentation will be in Yodl. (1.30.17) - ftp://ftp.lilypond.org/pub/yodl - http://www.cs.uu.nl/~hanwen/yodl - -o Texinfo. (version 3.12 or newer) - -o GNU find Check out ftp://ftp.gnu.org or any mirror of - this site. - -o The geometry package for LaTeX is needed to use ly2dvi. - Available at ftp://ftp.ctan.org/tex- - archive/macros/latex/contrib/supported/geometry or at - mirror site ftp://ftp.dante.de - -o A fast computer: a full page of music typically takes 1 - minute on my 486/133, using the --enable-checking com- - pile. - -6: WEBSITE +5: WEBSITE If you want to auto-generate Lily's website, you'll need some additional conversion tools. @@ -148,12 +128,11 @@ o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html. TeTeX users should not forget to rerun texhash. Building the website requires pnmtopng. The version of pnm- -topng that is distributed with RedHat 5.1 contains a bug -(pnmtopng is dynamically linked to the wrong version of -libpng). Recompile it from source, and make sure that the +topng that is distributed with RedHat 5.1 and 5.2 contains a +bug: pnmtopng is dynamically linked to the wrong version of +libpng. Recompile it from source, and make sure that the pnmtopng binary is linked statically to the libpng that is - -included in libgr. +included in libgr. RedHat 6.0 does not have this problem. tar xzf libgr-2.0.13.tar.gz make @@ -163,7 +142,7 @@ included in libgr. You can then install the new pnmtopng into /usr/local/bin/ -7: CONFIGURING and COMPILING +6: CONFIGURING and COMPILING to install GNU LilyPond, simply type: @@ -184,9 +163,9 @@ This will install a number of files, something close to: /usr/local/share/lilypond/* /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo -The above assumes that you are root and have the GNU devel- +The above assumes that you are root and have the GNU devel- opment tools, and your make is GNU make. If this is not the -case, you can adjust your environment variables to your +case, you can adjust your environment variables to your taste: export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" @@ -195,16 +174,16 @@ taste: CPPFLAGS are the preprocessor flags. The configure script is Cygnus configure, and it will accept ---help. If you are not root, you will probably have to make +--help. If you are not root, you will probably have to make it with a different --prefix option. Our favourite location is ./configure --prefix=$HOME/usr -In this case, you will have to set up MFINPUTS, and TEXIN- +In this case, you will have to set up MFINPUTS, and TEXIN- PUTS accordingly. -Since GNU LilyPond currently is beta, you are advised to +Since GNU LilyPond currently is beta, you are advised to also use --enable-debugging @@ -216,33 +195,33 @@ Options to configure include: Enable debugging print routines (lilypond -D option) --enable-optimise - Set maximum optimisation: compile with -O2. This can - be unreliable on some compiler/platform combinations + Set maximum optimisation: compile with -O2. This can + be unreliable on some compiler/platform combinations (eg, DEC Alpha and PPC) --enable-profiling Compile with support for profiling. --enable-config - Output to a different configuration file. Needed for + Output to a different configuration file. Needed for multi-platform builds -All options are documented in the configure help The option +All options are documented in the configure help The option --enable-optimise is recommended for Real Life usage. If you do make all -everything will be compiled, but nothing will be installed. -The resulting binaries can be found in the subdirectories +everything will be compiled, but nothing will be installed. +The resulting binaries can be found in the subdirectories out/ (which contain all files generated during compilation). -8: CONFIGURING FOR MULTIPLE PLATFORMS +7: CONFIGURING FOR MULTIPLE PLATFORMS If you want to compile LilyPond with different configuration -settings, then, you can use the --enable-config option. -Example: suppose I want to build with and without profil- +settings, then, you can use the --enable-config option. +Example: suppose I want to build with and without profil- ing. Then I'd use the following for the normal build, ./configure --prefix=~ --disable-optimise --enable-checking @@ -256,7 +235,7 @@ uration. make config=optprof make config=optprof install -9: INSTALLING +8: INSTALLING If you have done a successful make, then a simple @@ -265,14 +244,13 @@ If you have done a successful make, then a simple should do the trick. If you are doing an upgrade, please remember to remove obso- -lete .pk and .tfm files of the fonts. A script has been +lete .pk and .tfm files of the fonts. A script has been provided to do the work for you, see bin/clean-fonts.sh. CAVEATS -o The -O2 option triggers bugs on various platforms - (PowerPC, Alpha). If you experience problems, you - +o The -O2 option triggers bugs on various platforms + (PowerPC, Alpha). If you experience problems, you should first try turning off this. EXAMPLE @@ -302,10 +280,10 @@ This is what the output looks like over here: Check out the input files, some of them have comments Please refer to the man page for more information. -10: REDHAT LINUX +9: REDHAT LINUX -RedHat Linux users can compile an RPM. A spec file is in -make/out/lilypond.spec, it is distributed along with the +RedHat Linux users can compile an RPM. A spec file is in +make/out/lilypond.spec, it is distributed along with the sources. You can make the rpm by issuing @@ -313,18 +291,18 @@ You can make the rpm by issuing rpm -tb lilypond-x.y.z.tar.gz rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z -11: DEBIAN GNU/LINUX +10: DEBIAN GNU/LINUX -A Debian package is also available; contact Anthony Fok -foka@debian.org. The build scripts are in the subdirectory +A Debian package is also available; contact Anthony Fok +foka@debian.org. The build scripts are in the subdirectory debian/. -12: WINDOWS NT/95 +11: WINDOWS NT/95 Separate instructions on building for W32 are avaible in the file README-W32.yo. -13: AUTHORS +12: AUTHORS Han-Wen Nienhuys diff --git a/NEWS b/NEWS index 4b1694fbf5..a44a11ac86 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,27 @@ +pl 46.mb2 + - Reintroduced the tupletVisibility property. Same values as + the old version (pletvisibility), see the Reference Manual. + Note: does not work correctly with automatic beams. + - Added a tupletDirection property. + +pl 46.uu1 + - bf: {} in texts. + +pl 45.hwn2 + - more doc updates. + + +pl 46.mb1 + - Added property articulationScriptPadding + - N.W.Gade: layout fixes + +********* + pl 45.hwn1 - Audio broadcast & acknowledge. - more advanced spacing for prefatory matter - tuplet appearance tweaking - + - bf: ChoirStaff pl 45.uu1 - glossary fixes (thanks Dirk). diff --git a/PATCHES.txt b/PATCHES.txt index af208e12f6..55e1a71ea7 100644 --- a/PATCHES.txt +++ b/PATCHES.txt @@ -6,11 +6,13 @@ NAME DESCRIPTION This page documents how to distribute your changes to -GNU lilypond (or in fact any other StepMake package). +GNU lilypond ABSTRACT - Distributing a change normally goes like this: + We would like to have unified context diffs with full +pathnames. A script automating supplied with Lily. Dis- +tributing a change normally goes like this: o make your fix/add your code @@ -119,11 +121,10 @@ SYNCHRONISE If you're not very quick with sending your patch, there's a good chance that an new release of LilyPond comes available. -In such a case (and sometimes for other unkown reasons :-), -the maintainer will probably ask you to make a new patch -against the latest release. Your best bet is to download -the latest release, and apply your patch against this new -source tree: +In such a case, the maintainer will probably ask you to make +a new patch against the latest release. Your best bet is to +download the latest release, and apply your patch against +this new source tree: cd lilypond-0.1.74 gzip -dc ../patches/lilypond-0.1.73.jcn1.diff.gz | patch -p1 -E diff --git a/TODO b/TODO index 5079798708..d68cafc830 100644 --- a/TODO +++ b/TODO @@ -50,7 +50,6 @@ I understand your point. It should be changed. > but I hope you understand what I want to say. > . * didot / big point. -. * devise standard for functioning of Vertical_align_element. . * midi key. . * Repeats . * input/bugs/rep.ly (moved from test) @@ -81,15 +80,7 @@ preMudelaExample[eps]{}, and change it in document body sometimes. that can generate the same tune in two different modes without having to go through and rewrite all the music in the other mode. -Long lyrics don't get a space at the end. They just run right up -against the next lyric. (I don't think this used to be the case.) - Lyrics and scripts collide. - -\key b; \time 4/4; looks bad. The clef and time signature are too close. - -restStyle=mensural doesn't seem to work (lots of characters not found -for rests.fly) . * Phrasing: Indicating the textual underlay of a piece, or otherwise dividing a piece into phrases. @@ -101,7 +92,7 @@ specify the third. Should there be? note + circle = note + 1/4 of its length - the circle is like a dot that's not filled in. for example, on +5 the circle is like a dot that's not filled in. for example, on page three, the c-sharp on the second line should be a quarter with a circle, not a quarter tied to a sixteenth. is this at all possible with lily? @@ -113,22 +104,6 @@ specify the third. Should there be? . * spacing for prefatory matter . * accidentals closer to note head . * to space the staffs/staffgroups contained in the score. - -In the orchestscore.ly file, I tried: -\paper{ - \translator { - \OrchestralScoreContext - minVerticalAlign = 3.0*\staffheight; - } - \translator { - \StaffGroupContext - minVerticalAlign = 3.0*\staffheight; - } - \translator { - \StaffContext - minVerticalAlign = 3.0*\staffheight; - } -} . * heavier beams? .* Cleanups needed @@ -169,7 +144,7 @@ In the orchestscore.ly file, I tried: > see the problem for August. . * Abstraction for engravers: . * make "in-between" engraver (Tie, Extender) -. * make wide_spanner_engraver (line_group_spanne,r staff_symbol) +. * make wide_spanner_engraver (line_group_spanner, staff_symbol) . * remove Interval dim_ from Dimension_cache and rename the struct. . * do scaled fonts generally . * Spacing. @@ -257,9 +232,6 @@ compilation. . * use Fourier transformation for rhythmic quantisation. . * horizontal centering of dynamics . * $DEPENDENCIES_OUTPUT support -. * Xdvi zooming ?! Try to understand GS garbage collection. -gs: Error: /undefined in draw_beam -gs: Operand stack: . * fix vertical alignment and stafflines . * declaring Performers . * *.yo: fix pod manpage layout legacy @@ -425,34 +397,6 @@ languages: > Would it be hard to add support for proper dynamics in MIDI output? I > would really like to have this feature... -To answer this, I have to give a little background. Please say so if -I am being obtuse. - -Both audio and notation elements are created decentrally, when -LilyPond says "Interpreting music ... [8][16] etc." After all -elements are created, they are processed again to calculate all -parameters. After that is done, they are dumped onto the output (the -MIDI stream or the TeX file). - -The audio and notation elements are created by objects called -performer and engraver respectively. They work by taking a chunk of -input (a so-called request), and using the request to create an audio -or notation element. - -After some processing, the engraver sends the created elements to -its enclosing notation/performance context. - -In the case of notation, engravers can also modify existing elements -created by sibling engravers. Eg. the beam-engraver will modify stems -when it creates a beam over a couple of stems. This is done in -Engraver::do_acknowledge_element () and -Engraver::do_process_acknowledged (). - -In the case of audio, there are no mechanisms to modify existing audio -elements. After the audio elements are created, they are sent directly -to the enclosing context (an instance of Performer_group_performer), -through the method Performer::play () - Concretely spoken, for dynamics you have to write a performer (Dynamics_performer), that will take the input requests. If I understand correctly, every MIDI note played must have its dynamic @@ -465,16 +409,9 @@ So the best way of handling this, is 1 supporting dynamic settings in Audio_note - 2 mimicking the broadcast/acknowledge mechanism of the Engravers in - the Performers - - 3 using that mechanism to write a Dynamics_performer that will modify + 2 Write a Dynamics_performer that will modify any notes it finds to set appropriate strengths. -You could also kludge this by deriving from Performer_group_performer -a performer that also sets dynamics within notes, but that is not the -elegant way to do it. - I'd say that the work involved is not hard, but you have to be fluent with C++ and need some insight into the working of Notation Contexts and friends. I guess I could do it in a day or so, but if you are not @@ -486,7 +423,6 @@ valuable, and I think I have more interesting things to do than fixing the MIDI output (I don't even have a soundcard). But I *do* want to help you or other people with implementing this, so if you need help, don't hesitate to ask. - . * account for rhythmic position in measure . * etc. diff --git a/VERSION b/VERSION index 624ee8e3b1..1ed063fa0a 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=46 +PATCH_LEVEL=47 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/buildscripts/mf-to-table.py b/buildscripts/mf-to-table.py index eb45314a1b..2b57d02c6f 100644 --- a/buildscripts/mf-to-table.py +++ b/buildscripts/mf-to-table.py @@ -6,6 +6,11 @@ # # (c) 1997 Han-Wen Nienhuys + +# +# TODO: Should use RE. +# + import os import sys import getopt diff --git a/input/bugs/rep.ly b/input/bugs/rep.ly index 94a06157c0..b829282123 100644 --- a/input/bugs/rep.ly +++ b/input/bugs/rep.ly @@ -3,7 +3,7 @@ \context Staff \notes\relative c'{ c4 d e f \repeat semi 3 { g a b c } -% \alternative { { c b a g } { f e d c } } c c c c + \alternative { { c b a g } { f e d c } } c c c c \alternative { { c b a g } { f e d c } { c d e f } } g g g g \repeat semi 2 { c c c c } diff --git a/input/test/mark.ly b/input/test/mark.ly index 6d0f2aac3f..5dd835a96d 100644 --- a/input/test/mark.ly +++ b/input/test/mark.ly @@ -24,7 +24,7 @@ two = \notes\relative c{ markScriptPadding = "4.0"; markHangOn = "Bar"; markHangDepth = "1"; -% markDirection = \diown; +% markDirection = \down; } } } diff --git a/input/test/multi-measure-rest.ly b/input/test/multi-measure-rest.ly index 1e2e3195ab..696b9bad5b 100644 --- a/input/test/multi-measure-rest.ly +++ b/input/test/multi-measure-rest.ly @@ -1,5 +1,5 @@ -\score { \notes { \time 3/4; \key cis; R2. R2.*5 } +\score { \notes { \time 3/4; \key cis; R2.*5 R2. R2.*5 } \paper { \translator { \ScoreContext skipBars = 1; } linewidth = -1.; diff --git a/input/test/tuplet.fly b/input/test/tuplet.fly new file mode 100644 index 0000000000..92ac4d4739 --- /dev/null +++ b/input/test/tuplet.fly @@ -0,0 +1,43 @@ +\property Voice.textEmptyDimension = 1 +\property Voice.textScriptPadding = 10 +\property Voice.tupletVisibility = 0 +\times2/3{c'4^"tupletVisibility = 0" d e} \times2/3{[f8 g a]} + \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 1 +\times2/3{c,4^"tupletVisibility = 1" d e} \times2/3{[f8 g a]} + \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 2 +\times2/3{c,4^"tupletVisibility = 2" d e} \times2/3{[f8 g a]} + \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 3 +\times2/3{c,4^"tupletVisibility = 3" d e} \times2/3{[f8 g a]} + \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 4 +\times2/3{c,4^"tupletVisibility = 4" d e} \times2/3{[f8 g a]} + \times2/3{b16 c d} c8 | \break + +\property Voice.tupletDirection = \down +\property Voice.tupletVisibility = 0 +\times2/3{c,4^"tupletDirection = \\textbackslash{}down" d e} + \times2/3{[[f8 g a]]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 1 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 2 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 3 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 4 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 |\break + +\property Voice.tupletDirection = \up +\property Voice.tupletVisibility = 0 +\times2/3{c,4^"tupletDirection = \\textbackslash{}up" d e} + \times2/3{[[f8 g a]]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 1 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 2 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 3 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | +\property Voice.tupletVisibility = 4 +\times2/3{c,4 d e} \times2/3{[f8 g a]} \times2/3{b16 c d} c8 | diff --git a/lily/g-script-engraver.cc b/lily/g-script-engraver.cc index b7afb866f5..bac7b55cb2 100644 --- a/lily/g-script-engraver.cc +++ b/lily/g-script-engraver.cc @@ -73,10 +73,17 @@ G_script_engraver::do_process_requests() if (l->dir_) ss->dir_ = l->dir_; + Real padding = 1.0; + Scalar paddingprop = get_property ("articulationScriptPadding", 0); + if (paddingprop.length_i() && paddingprop.isnum_b ()) + { + padding = (Real)paddingprop; + } + ss->staff_support_b_ = !follow_staff; p->set_staff_side (ss); ss->set_elt_property (script_priority_scm_sym, priority); - ss->set_elt_property (padding_scm_sym, gh_double2scm(1.0)); + ss->set_elt_property (padding_scm_sym, gh_double2scm(padding)); script_p_arr_.push (p); staff_side_p_arr_.push (ss); diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index 72c2c61a0b..b6b6d33c00 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -16,11 +16,6 @@ We need virtual constructors, let's try decentralised factory for specific audio implemenations. - TODO: - - virtual Niff_item* niff_item_p() = 0; - - virtual CSound_item* score_item_p() = 0; */ struct Audio_item : public Audio_element { Audio_item (Request* req_l); diff --git a/lily/include/dimensions.hh b/lily/include/dimensions.hh index 65629f03d5..d6b7cfd176 100644 --- a/lily/include/dimensions.hh +++ b/lily/include/dimensions.hh @@ -8,11 +8,15 @@ const Real INCH_TO_PT=72.270; const Real CM_TO_PT=INCH_TO_PT/2.54; const Real MM_TO_PT=CM_TO_PT/10; const Real PT_TO_PT =1.0; +const Real INCH_TO_BP = 72; +const Real BIGPOINT_TO_POINT = INCH_TO_PT/ INCH_TO_BP; + #define PT *PT_TO_PT #define MM *MM_TO_PT #define CM *CM_TO_PT #define INCH *INCH_TO_PT +#define BIGPOINT *BIGPOINT_TO_POINT String print_dimen (Real); diff --git a/lily/include/ly-symbols.hh b/lily/include/ly-symbols.hh index 18135bbf89..fafa503ad9 100644 --- a/lily/include/ly-symbols.hh +++ b/lily/include/ly-symbols.hh @@ -57,6 +57,7 @@ DECLARE_LY_SYMBOL(text); DECLARE_LY_SYMBOL(transparent); DECLARE_LY_SYMBOL(tuplet); DECLARE_LY_SYMBOL(tuplet_thick); +DECLARE_LY_SYMBOL(tuplet_visibility); DECLARE_LY_SYMBOL(visibility_lambda); DECLARE_LY_SYMBOL(volta); DECLARE_LY_SYMBOL(volta_thick); diff --git a/lily/include/midi-item.hh b/lily/include/midi-item.hh index 51996efa7f..eb3b9f5276 100644 --- a/lily/include/midi-item.hh +++ b/lily/include/midi-item.hh @@ -97,7 +97,7 @@ struct Midi_time_signature : Midi_item { }; /** - Turn a note on (blond). + Turn a note on. */ struct Midi_note : public Midi_item { Midi_note (Audio_item* audio_item_l); @@ -111,7 +111,7 @@ struct Midi_note : public Midi_item { }; /** - Turn a note off (dark). + Turn a note off */ struct Midi_note_off : public Midi_item { Midi_note_off (Midi_note*); diff --git a/lily/include/new-repeated-music.hh b/lily/include/new-repeated-music.hh index bc44ca390d..7488e3883c 100644 --- a/lily/include/new-repeated-music.hh +++ b/lily/include/new-repeated-music.hh @@ -39,6 +39,15 @@ is called unfolded. Useful for MIDI. + + If the number of repeats is smaller than the number of alternatives, then + + FIXME + + If the number of repeats is bigger than the number of alternatives, then + + FIXME + */ class New_repeated_music : public Music { diff --git a/lily/include/tuplet-spanner.hh b/lily/include/tuplet-spanner.hh index c66009c7cf..2faa3bcd48 100644 --- a/lily/include/tuplet-spanner.hh +++ b/lily/include/tuplet-spanner.hh @@ -28,11 +28,7 @@ public: String number_str_; - /* - junk us. - */ - bool bracket_visibility_b_; - bool num_visibility_b_; + bool parallel_beam_b_; protected: Link_array beam_l_arr_; diff --git a/lily/lookup.cc b/lily/lookup.cc index 846e2614eb..11a6d49e94 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -381,8 +381,11 @@ Lookup::stem (Real y1, Real y2) const taken from Knuth's plain.tex: */ static Real mag_steps[] = {1, 1, 1.200, 1.440, 1.7280, 2.074, 2.488}; +/** + TODO: THIS IS UGLY. Since the user has direct access to TeX + strings, we try some halfbaked attempt to detect TeX trickery. - +*/ Molecule Lookup::text (String style, String text) const { @@ -416,14 +419,21 @@ Lookup::text (String style, String text) const Font_metric* afm_l = all_fonts_global_p->find_font (style); DOUT << "\nChars: "; - + + + int brace_count =0; for (int i = 0; i < text.length_i (); i++) { + if (text[i]=='\\') for (i++; (i < text.length_i ()) && isalpha(text[i]); i++) ; else { + if (text[i] == '{') + brace_count ++; + else if (text[i] == '}') + brace_count --; Character_metric *c = afm_l->get_char ((unsigned char)text[i],false); w += c->dimensions()[X_AXIS].length (); @@ -439,6 +449,21 @@ Lookup::text (String style, String text) const ydims *= mag_steps[font_mag]; } + if(brace_count) + { + warning (_f ("Non-matching braces in text `%s', adding braces.", text.ch_C())); + + if (brace_count < 0) + { + text = to_str ('{', -brace_count) + text; + } + else + { + text = text + to_str ('}', brace_count); + } + } + + DOUT << "\n" << to_str (w) << "\n"; m.dim_.x () = Interval (0, w); m.dim_.y () = ydims; diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 51832adf9d..347ed70c43 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -34,12 +34,25 @@ Tuplet_engraver::do_try_music (Music *r) void Tuplet_engraver::do_process_requests () { + int dir = 0; + Scalar prop = get_property ("tupletDirection", 0); + if (prop.isnum_b()) + dir = (int)prop; + int visibility = 3; + prop = get_property ("tupletVisibility", 0); + if (prop.isnum_b()) + visibility = (int)prop; + for (int i= started_span_p_arr_.size (); i < time_scaled_music_arr_.size (); i++) { Tuplet_spanner* glep = new Tuplet_spanner; started_span_p_arr_.push (glep); glep->number_str_ = to_str (time_scaled_music_arr_[i]->den_i_); + glep->set_elt_property(tuplet_visibility_scm_sym, + gh_int2scm (visibility)); + if (dir != 0) + glep->set_elt_property(dir_forced_scm_sym, gh_int2scm (dir)); announce_element (Score_element_info (glep, time_scaled_music_arr_ [i])); } } diff --git a/lily/tuplet-spanner.cc b/lily/tuplet-spanner.cc index 9ff1e89bde..1383acbb1d 100644 --- a/lily/tuplet-spanner.cc +++ b/lily/tuplet-spanner.cc @@ -19,8 +19,7 @@ Tuplet_spanner::Tuplet_spanner () { - bracket_visibility_b_ = true; - num_visibility_b_ = true; + parallel_beam_b_ = false; } /* @@ -31,36 +30,52 @@ Tuplet_spanner::do_brew_molecule_p () const { Molecule* mol_p = new Molecule; + // Default behaviour: number always, bracket when no beam! + bool bracket_visibility = !parallel_beam_b_; + bool number_visibility = true; + SCM visibility_sym =get_elt_property (tuplet_visibility_scm_sym); + if (visibility_sym != SCM_BOOL_F) + { + /* Property values: + 0 show nothing + 1 show number + 2 show (number and bracket)-if-no-beam + 3 show number, and bracket-if-no-beam + 4 show number, and bracket + */ + int value = gh_scm2int (SCM_CDR(visibility_sym)); + bracket_visibility = (value == 4 || (value > 1 && !parallel_beam_b_)); + number_visibility = (value > 2 || value == 1 || + (value == 2 && !parallel_beam_b_)); + } + if (column_arr_.size ()){ Real ncw = column_arr_.top ()->extent (X_AXIS).length (); + Real w = extent (X_AXIS).length () + ncw; Molecule num (lookup_l ()->text ("italic", number_str_)); num.align_to (X_AXIS, CENTER); + num.translate_axis (w/2, X_AXIS); Real interline = paper_l ()->get_realvar (interline_scm_sym); + Real dy = column_arr_.top ()->extent (Y_AXIS) [dir_] + - column_arr_[0]->extent (Y_AXIS) [dir_]; + num.align_to (Y_AXIS, CENTER); + num.translate_axis (dir_ * interline, Y_AXIS); + + num.translate_axis (dy/2, Y_AXIS); + - if (beam_l_arr_.size () == 1 && !bracket_visibility_b_) + /* if (beam_l_arr_.size () == 1 && !bracket_visibility) { - Beam *beam_l = beam_l_arr_[0]; - Directional_spanner* ds = dynamic_cast(beam_l); - num.translate_axis (dir_ * interline, Y_AXIS); - num.translate (ds->center ()); - num.translate_axis (ncw, X_AXIS); } - - if (bracket_visibility_b_) + */ + if (bracket_visibility) { - Real dy = column_arr_.top ()->extent (Y_AXIS) [dir_] - - column_arr_[0]->extent (Y_AXIS) [dir_]; - Real w = extent (X_AXIS).length () + ncw; - num.align_to (Y_AXIS, CENTER); - num.translate_axis (dir_ * interline, Y_AXIS); - - num.translate (Offset (w/2, dy/2)); mol_p->add_molecule (lookup_l ()->plet (dy, w, dir_)); } - if (num_visibility_b_) + if (number_visibility) { mol_p->add_molecule (num); } @@ -91,11 +106,11 @@ Tuplet_spanner::do_post_processing () if (!broken_b () && spanned_drul_[LEFT]->column_l () == beam_l->spanned_drul_[LEFT]->column_l () && spanned_drul_[RIGHT]->column_l () == beam_l->spanned_drul_[RIGHT]->column_l ()) - bracket_visibility_b_ = false; + parallel_beam_b_ = true; } - if (column_arr_.size () == 1) - bracket_visibility_b_ = false; + // if (column_arr_.size () == 1) + // bracket_visibility_b_ = false; } void @@ -113,6 +128,13 @@ Direction Tuplet_spanner::get_default_dir () const { Direction d = UP; + SCM dir_sym =get_elt_property (dir_forced_scm_sym); + if (dir_sym != SCM_BOOL_F) { + d= (Direction) gh_scm2int (SCM_CDR(dir_sym)); + if (d != CENTER) + return d; + } + for (int i=0; i < column_arr_.size (); i ++) { if (column_arr_[i]->dir () < 0) diff --git a/ly/deutsch.ly b/ly/deutsch.ly index ef247f87f3..a1aa126891 100644 --- a/ly/deutsch.ly +++ b/ly/deutsch.ly @@ -1,9 +1,11 @@ -% % common german names for notes. "es" means flat, "is" means sharp % % by Roland Meier % based on swedish.ly by Mats Bengtsson. +% 1999/06/09 Bjoern Jacke +% added asas and marked ases as `unusual' + % % Please note that, while these names are used to enter *notes*, they @@ -36,7 +38,8 @@ g = \musicalpitch { -1 4 0 } gis = \musicalpitch { -1 4 1 } gisis = \musicalpitch { -1 4 2 } - ases = \musicalpitch { -1 5 -2 } + asas = \musicalpitch { -1 5 -2 } + ases = \musicalpitch { -1 5 -2 } % non-standard name for asas as = \musicalpitch { -1 5 -1 } a = \musicalpitch { -1 5 0 } ais = \musicalpitch { -1 5 1 } @@ -78,7 +81,8 @@ G = \musicalpitch { -2 4 0 } Gis = \musicalpitch { -2 4 1 } Gisis = \musicalpitch { -2 4 2 } - Ases = \musicalpitch { -2 5 -2 } + Asas = \musicalpitch { -2 5 -2 } + Ases = \musicalpitch { -2 5 -2 } % non-standard name for Asas As = \musicalpitch { -2 5 -1 } A = \musicalpitch { -2 5 0 } Ais = \musicalpitch { -2 5 1 } diff --git a/ly/property.ly b/ly/property.ly index ede2be764d..7aa173d0b4 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -132,15 +132,15 @@ slurdotted = %{ for grace note hack, see input/test/grace.ly %} -pletoff = { - \property Voice.pletvisibility = 0 +tupletoff = { + \property Voice.tupletVisibility = 0 } -pleton = { - \property Voice.pletvisibility = 3 +tupleton = { + \property Voice.tupletVisibility = 3 } tiny = { \property Voice.fontSize= "-2" - \pletoff %urg + \tupletoff %urg } small = { @@ -149,7 +149,7 @@ small = { normalsize = { \property Voice.fontSize= "0" - \pleton %urg + \tupleton %urg } %{ @@ -164,20 +164,20 @@ grace = { \tiny % it would be so cool not to have to specify these factors each time... % :-( - \property Voice.pletvisibility = 0 + \property Voice.tupletVisibility = 0 \[1/16 } graceat = \melodic { \normalsize - \property Voice.pletvisibility = 0 + \property Voice.tupletVisibility = 0 \] \[31/32 } ecarg = \melodic { - \property Voice.pletvisibility = 0 + \property Voice.tupletVisibility = 0 \] - \property Voice.pletvisibility = 3 + \property Voice.tupletVisibility = 3 } %} diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index e913cd4d66..a4bcc81feb 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.46 -Inschrijf datum: 04JUN99 +Versie: 1.1.47 +Inschrijf datum: 09JUN99 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.46.tar.gz + 770k lilypond-1.1.47.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.46.tar.gz + 770k lilypond-1.1.47.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index a3fb14fe65..d67fbc0822 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.46 -Entered-date: 04JUN99 +Version: 1.1.47 +Entered-date: 09JUN99 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 770k lilypond-1.1.46.tar.gz + 770k lilypond-1.1.47.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.46.tar.gz + 770k lilypond-1.1.47.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index bd326193d7..b47a80facf 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.46 +Version: 1.1.47 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.46.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.47.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mutopia/N.W.Gade/brass.ly b/mutopia/N.W.Gade/brass.ly index a4439356a1..a7320929c4 100644 --- a/mutopia/N.W.Gade/brass.ly +++ b/mutopia/N.W.Gade/brass.ly @@ -36,7 +36,7 @@ r \tiny g8 \f *1/2 \normalsize d'2 \> ( *7/8| [g,8. a16 g8. a16 \! g8. ) a16 ] | g4 r r | R2. | -r4 r^\fermata r8^\fermata r | +r4 r r8 r | R2*8 | d'8-. \pp r c-. r | d r c g | @@ -200,7 +200,7 @@ c4 r8 g ( | ) e'4 r8 g,8 ( | ) c4 r | R2 | -e4 \fz r^\fermata +e4 \fz r } corIhelp=\notes\relative c''' { @@ -208,10 +208,10 @@ corIhelp=\notes\relative c''' { \tiny s2.*32 | -s2*33 | +s2*33 | \stemup r4 r8 [g16^"oboe" \p ( a ] | [ ) g8-. fis16 ( g ][ ) fis8-. f16 ( g ] | -[ ) f8-. e16 ( f ] ) e8-. s | +[ ) f8-. e16 ( f ] ) e8-. s | \stemboth s2*66 | [f,,16^"Vlc." ( g f g][f g f8 ] | ) e4 r | @@ -262,7 +262,7 @@ r r [g,16 ( \p d' e d ] | R2. | [g8. ( a16 g8. a16 g8. a16] | [g8._"dim." a16 ] g4. a8 | -[g8. a16] ) g4^\fermata \pp r8^\fermata r | +[g8. a16] ) g4 \pp r8 r | R2*8 | g8-. \pp r c,-. r | g'-. r c,-. r | @@ -406,7 +406,7 @@ e4 r8 g ( | ) c,4 r8 g'8 ( | ) e4 r | R2 | -c'4-. \fz r^\fermata +c'4-. \fz r } trpI=\notes\relative c'' { @@ -416,7 +416,7 @@ trpI=\notes\relative c'' { [d8. ( \f e16 ] ) d2 | R2.*30 | -r4 r^\fermata r8 ^\fermata r | +r4 r r8 r | R2*12 | g,2 \f ~ | g4 r | @@ -514,7 +514,7 @@ d-. r | d-. r | g, r | R2 | -g4 \fz r^\fermata +g4 \fz r } trpIhelp=\notes\relative c'' { @@ -522,23 +522,23 @@ trpIhelp=\notes\relative c'' { s2.*32 | s2*9 | -r4 r8 c-.^"Clar. I" | +r4^"Clar. I" r8 c-. | [bes-. a-. g-. f-. ] | [e-. d-. c-. ] r8 | s2*23 | -r4 r8 g''8^"Cor. I" ( | +r4^"Cor. I" r8 g''8 ( | ) g,4. g8 ( | [) d' d16 ( e ] )d8 s | s2*75 | -r4 r8 c-.^"Clar. I" | +r4^"Clar. I" r8 c-. | [bes-. a-. g-. f-. ] | [e-. d-. c-. ] s8 | s2*25 -r4 r8 a''^"Oboe" | +r4^"Oboe" r8 a'' | a-. [ gis-. gis-. \< g-.] | [g-. fis-. \! fis-. f-. ] | s2*53 | -r4 r8 [c'16^"Flauto" ( d] | +r4^"Flauto" r8 [c'16 ( d] | ) c8 [b16 ( c ] ) b8 [bes16 ( c ] | )bes8 [a16 ( bes ] ) a8 [c16 ( d] | ) c8 [b16 ( c ] ) b8 [bes16 ( c ] | @@ -550,22 +550,22 @@ trpIIhelp=\notes\relative c'' { s2.*32 | s2*9 | -r4 r8 c-.^"Clar. I" | +r4^"Clar. I" r8 c-. | [bes-. a-. g-. f-. ] | [e-. d-. c-. ] r8 | s2*23 | -r4 r8 g''8^"Cor. I" ( | +r4^"Cor. I" r8 g''8 ( | ) g,4. g8 ( | [) d' d16 ( e ] )d8 s | s2*75 | -r4 r8 c-.^"Clar. I" | +r4^"Clar. I" r8 c-. | [bes-. a-. g-. f-. ] | [e-. d-. c-. ] s8 | s2*28 -r4 g'8^"Trp. I" \f r | +r4^"Trp. I" g'8 \f r | [d'-. d16 ( e ] ) d8 r | s2*51 | -r4 r8 [c'16^"Flauto" ( d] | +r4^"Flauto" r8 [c'16 ( d] | ) c8 [b16 ( c ] ) b8 [bes16 ( c ] | )bes8 [a16 ( bes ] ) a8 [c16 ( d] | ) c8 [b16 ( c ] ) b8 [bes16 ( c ] | @@ -578,7 +578,7 @@ trpII=\notes\relative c' { \property Staff."midiInstrument" = "trumpet" R2.*31 | -r4 r^\fermata r8 ^\fermata r | +r4 r r8 r | R2*12 | g2 \f ~ | g4 r | @@ -671,7 +671,7 @@ g-. r | g-. r | g r | R2 | -g4 \fz r^\fermata +g4 \fz r } timpani=\notes\relative c, { @@ -698,7 +698,7 @@ c2.:32 | c2.:32 | c2.:32 | c4 r r | -r r^\fermata r8^\fermata r | +r r r8 r | R2*12 | f,2:32 \f ~ | f4 r | @@ -709,7 +709,7 @@ R2 | f8 r r4 | R2*14 | \context Staff <{\voiceone \clef "treble"; - r4^"Tri." r8 e''' | + r4^"Trg." r8 e''' | [e e e e ] | [e e e g,, ] | % In reality: e e e e | e g r r4 | @@ -769,7 +769,7 @@ R2*3 | c'4 \fz r | R2*10 | \context Staff <{\voiceone \clef "treble"; - r4^"Tri." r8 e'' | + r4^"Trg." r8 e'' | [e e e e ] | [e e e g,, ] | % In reality: e e e e | e4 g4 r4 | @@ -840,7 +840,7 @@ f2:32 ~ | f2:32 ~ | f8 r r4 | r2 | -f4 \fz r^\fermata +f4 \fz r } timphelp=\notes\relative c' { @@ -850,7 +850,7 @@ timphelp=\notes\relative c' { [c8. ( d16] ) c2 | s2.*30 | s2*9 | -r4 r8 \clef "treble"; c'-.^"Clar. I" | +r4^"Clar. I" r8 \clef "treble"; c'-. | [bes-. a-. g-. f-. ] | [e-. d-. c-. ] r8 \clef "bass"; | s2*24 | @@ -858,15 +858,15 @@ s2*24 | %[ ) g8-. fis16 ( g ][ ) fis8-. f16 ( g ] | %[ ) f8-. e16 ( f ] ) e8-. \clef "bass"; s | s2*77 | -r4 r8 \clef "treble"; c'-.^"Clar. I" | +r4^"Clar. I" r8 \clef "treble"; c'-. | [bes-. a-. g-. f-. ] | [e-. d-. c-. ] r8 \clef "bass"; | s2*28 -%r4 r8 \clef "treble"; a''^"Oboe" | +%r4^"Oboe" r8 \clef "treble"; a'' | %a-. [ gis-. gis-. \< g-.] | %[g-. fis-. \! fis-. ] \clef "bass"; s8 | s2*57 | -r4 r8 \clef "treble"; bes'^"Vi. I" ( | +r4^"Vi. I" r8 \clef "treble"; bes' ( | ) bes'4. d,8 ( | ) d'4. c,8 ( | ) c'4. e,8 ( | diff --git a/mutopia/N.W.Gade/global.ly b/mutopia/N.W.Gade/global.ly index 135997817d..f2de39bfbe 100644 --- a/mutopia/N.W.Gade/global.ly +++ b/mutopia/N.W.Gade/global.ly @@ -2,10 +2,11 @@ globalNoKey=\notes { \time 3/4; \skip 2.*31; -s2 s8 \bar "||"; \break +s4 s4^\fermata s8^\fermata \bar "||"; \break s8 \time 2/4; -\skip 2*225; +\skip 2*224; +s4 s4^\fermata \bar "|."; } diff --git a/mutopia/N.W.Gade/global.tex b/mutopia/N.W.Gade/global.tex index 0fa5588102..5046499d6e 100644 --- a/mutopia/N.W.Gade/global.tex +++ b/mutopia/N.W.Gade/global.tex @@ -19,7 +19,7 @@ % Modified from lilypond/tex/headers.tex: \advance\topmargin-5mm \advance\headsep-4mm -\addtolength{\textheight}{12mm} +\addtolength{\textheight}{17mm} \advance\footskip-3mm \usepackage{fancyheadings} @@ -33,6 +33,7 @@ % Modified from lilypond/tex/titledefs.tex: \def\makelilytitle{% + \vspace*{-10mm}% \begin{center} \bfseries \ifx\mudelanull\thetitle\else\sethuge{\thetitle}\\ \fi @@ -57,4 +58,5 @@ % {\flushleft\setLarge{\normalfont\scshape\thepiece}} {\flushleft\setLarge{\textbf\thepiece}} \leavevmode + \enlargethispage*{5mm} } diff --git a/mutopia/N.W.Gade/parts.ly b/mutopia/N.W.Gade/parts.ly index e70c89dbe2..32616d92f0 100644 --- a/mutopia/N.W.Gade/parts.ly +++ b/mutopia/N.W.Gade/parts.ly @@ -8,6 +8,9 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + "Statens Musikbibliotek, Stockholm, Sweden"; } +% Process with 'ly2dvi -s parts.ly' to get the separate parts. + + \version "1.0.20"; \include "global.ly" @@ -19,29 +22,26 @@ my_paper = \paper { textheight = 275.0 \mm; \translator { \OrchestralPartStaffContext - textScriptPadding = 5.0; } \translator { \ScoreContext skipBars = 1; markScriptPadding = "6.0"; - textstyle = "italic"; - textEmptyDimension = 1; - oldTieBehavior = 1; - } - \translator { \VoiceContext - oldTieBehavior = 1; + barNumberScriptPadding = "11.0"; + textScriptPadding = 5.0; textstyle = "italic"; textEmptyDimension = 1; } } - +%{ \score{ \context Staff < - \global - \marks - \flauto - \flautohelp + \context Voice < + \global + \marks + \flauto + > + \context Voice = help \flautohelp > \header{ instrument = "Flauto"; @@ -54,13 +54,15 @@ my_paper = \paper { \tempo 4=120; } } - +%} \score{ \context Staff < - \global - \marks - \oboe - \oboehelp + \context Voice < + \global + \marks + \oboe + > + \context Voice = help \oboehelp > \header{ instrument = "Oboe"; @@ -73,9 +75,9 @@ my_paper = \paper { \tempo 4=120; } } - +%{ \score{ - \context Staff < + \context Voice < \globalNoKey \marks \clarI @@ -93,7 +95,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \globalNoKey \marks \clarII @@ -111,7 +113,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \global \marks \fagotto @@ -130,10 +132,12 @@ my_paper = \paper { \score{ \context Staff < - \globalNoKey - \marks - \corI - \corIhelp + \context Voice < + \globalNoKey + \marks + \corI + > + \context Voice = help \corIhelp > \header{ instrument = "Corno I in F"; @@ -149,10 +153,12 @@ my_paper = \paper { \score{ \context Staff < - \globalNoKey - \marks - \corII - \corIIhelp + \context Voice < + \globalNoKey + \marks + \corII + > + \context Voice = help \corIIhelp > \header{ instrument = "Corno II in F"; @@ -168,10 +174,12 @@ my_paper = \paper { \score{ \context Staff < - \globalNoKey - \marks - \trpI - \trpIhelp + \context Voice < + \globalNoKey + \marks + \trpI + > + \context Voice = help \trpIhelp > \header{ instrument = "Tromba I in B\\textflat"; @@ -187,10 +195,12 @@ my_paper = \paper { \score{ \context Staff < - \globalNoKey - \marks - \trpII - \trpIIhelp + \context Voice < + \globalNoKey + \marks + \trpII + > + \context Voice = help \trpIIhelp > \header{ instrument = "Tromba II in B\\textflat"; @@ -206,10 +216,12 @@ my_paper = \paper { \score{ \context Staff < - \globalNoKey - \marks - \timpani - \timphelp + \context Voice < + \globalNoKey + \marks + \timpani + > + \context Voice = help \timphelp > \header{ instrument = "Timpani \& Triangolo"; @@ -224,7 +236,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \global \marks \viI @@ -242,7 +254,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \global \marks \viII @@ -260,7 +272,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \global \marks \notes{s2.*32 s2*142 \break} @@ -279,7 +291,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \global \marks \vlc @@ -297,7 +309,7 @@ my_paper = \paper { } \score{ - \context Staff < + \context Voice < \global \marks \cb @@ -313,3 +325,4 @@ my_paper = \paper { \tempo 4=120; } } +%} \ No newline at end of file diff --git a/mutopia/N.W.Gade/score.ly b/mutopia/N.W.Gade/score.ly index 25902f259e..64fa9c6fbe 100644 --- a/mutopia/N.W.Gade/score.ly +++ b/mutopia/N.W.Gade/score.ly @@ -19,32 +19,32 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + \score{ < \context StaffGroup = wood < - \context Staff = flauto < + \context Voice = flauto < \property Staff.instrument = "Flauto" \property Staff.instr = "Fl." \global \marks \flauto > - \context Staff = oboe < + \context Voice = oboe < \property Staff.instrument = "Oboe" \property Staff.instr = "Ob." \global \oboe > - \context Staff = clarI < + \context Voice = clarI < \property Staff.instrument = "Clarinetto I" \property Staff.instr = "Cl. I" \globalNoKey \clarI > - \context Staff = clarII < + \context Voice = clarII < \property Staff.instrument = "Clarinetto II" \property Staff.instr = "Cl. II" \globalNoKey \clarII > - \context Staff = fagotto < + \context Voice = fagotto < \property Staff.instrument = "Fagotto" \property Staff.instr = "Fg." \global @@ -53,55 +53,67 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + > \context StaffGroup = brass < \context Staff = cor < - \globalNoKey \property Staff.instrument = "2 Corni in F" \property Staff.instr = "Cor." - \context Voice = corI { \stemup \corI } - \context Voice = corII { \stemdown \corII } + \context Voice = corI < + \globalNoKey + \stemup \property Voice.dynamicDir = \up + \corI + > + \context Voice = corII { + \stemdown \property Voice.dynamicDir = \down + \corII + } > \context Staff = trp < - \globalNoKey \property Staff.instrument = "2 Trp. in B\\textflat " \property Staff.instr = "Trp." - \context Voice = trpI { \stemup \trpI } - \context Voice = trpII { \stemdown \trpII } + \context Voice = trpI < + \globalNoKey + \stemup \property Voice.dynamicDir = \up + \trpI + > + \context Voice = trpII { + \stemdown \property Voice.dynamicDir = \down + \trpII + } > > - \context StaffGroup = percussion <\context Staff = timpani < + \context StaffGroup = percussion <\context Voice = timpani < \property Staff.instrument = "Timp. \& Triang." - \property Staff.instr = "Timp. \& Triang." + \property Staff.instr = "Tmp \& Trg" \global \timpani > > \context StaffGroup = strings < \context GrandStaff = violins < - \context Staff = viI < + \context Voice = viI < \property Staff.instrument = "Violin I" \property Staff.instr = "Vi. I" \global \viI > - \context Staff = viII < + \context Voice = viII < \property Staff.instrument = "Violin II" \property Staff.instr = "Vi. II" \global \viII > > - \context Staff = vla < + \context Voice = vla < \property Staff.instrument = "Viola" \property Staff.instr = "Vla." \global \vla > - \context Staff = vlc < + \context Voice = vlc < \property Staff.instrument = "Violoncello" \property Staff.instr = "Vlc" \global \vlc > - \context Staff = cb < + \context Voice = cb < \property Staff.instrument = "Contrabasso" \property Staff.instr = "C.B." \global @@ -116,6 +128,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + \translator { \OrchestralScoreContext minVerticalAlign = 2.5*\staffheight; + barNumberScriptPadding = "12.0"; } \translator { \StaffContext \consists "Staff_margin_engraver"; @@ -123,10 +136,6 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + textstyle = "italic"; textScriptPadding = 5.0; textEmptyDimension = 1; -% oldTieBehavior = 1; - } - \translator { \VoiceContext - oldTieBehavior = 1; } } } diff --git a/mutopia/N.W.Gade/strings.ly b/mutopia/N.W.Gade/strings.ly index 373cacafde..168c1fa52f 100644 --- a/mutopia/N.W.Gade/strings.ly +++ b/mutopia/N.W.Gade/strings.ly @@ -32,7 +32,7 @@ r8 [ c ( g' c, f c ] | [ bes c ] ) bes2 ~ | bes r4 | R2.*4 | -r4 r^\fermata r8^\fermata [c'16 \pp ( d] | \time 2/4; +r4 r r8 [c'16 \pp ( d] | \time 2/4; ) c8 r r [c16 ( d] | ) c8 r r [c16 ( d] | [c d c a][f a c d] | @@ -255,7 +255,7 @@ c r a r | r8 c, | f2 ~ | f ( | - r^\fermata + r } @@ -291,7 +291,7 @@ c \< ~ | \! c \pp ~ | c2 r4 | R2.*4 | -r4 r^\fermata r8^\fermata [c'16 \pp ( d] | \time 2/4; +r4 r r8 [c'16 \pp ( d] | \time 2/4; ) c8 r r [c16 ( d] | ) c8 r r [c16 ( d] | [c d c a][f a c d] | @@ -558,7 +558,7 @@ es \< es4 \! d8 \f | r8 c, | [a16 ( gis a gis][a gis a gis] | [a gis a gis][a gis a gis] | -<) a4 f' \fz > r^\fermata +<) a4 f' \fz > r } vla=\notes\relative c' { @@ -588,10 +588,10 @@ g2 \mf [a8 \< ( \! d ] | [ c \> b \! c g e ) c] | [e'8. \pp ( f16 d8 e f d ] | b4 [c8 \< a f \! ) a ] | -c,2 \p ~ c'4 | -c,2 ~ c'4 | -c,2 ~ c'4 | -c, ~ c' r | +c,2 \p () c'4 | +c,2 () c'4 | +c,2 () c'4 | +c, () c' r | [c,8 ( g' ][ c g c a ] | [bes c ] ) a4 r | R2. | @@ -603,7 +603,7 @@ r4 r c, \pp ~ | c2. ~ | c4 r r | R2.*3 | -r4 r^\fermata r8^\fermata r8 | +r4 r r8 r8 | R2*4 | c'8-. \pp r bes-. r | c-. r bes-. r | @@ -832,7 +832,7 @@ a r c-. r | r8 c, | [c'16 ( b c b][c b c b] | [c b c b][c b c b] | - r^\fermata + r } vlc=\notes\relative c' { @@ -869,7 +869,7 @@ g ) f f, ( \< | % added slur ) e2. ~ | e2 r4 | R2.*4 | -r4 r4^\fermata r8^\fermata [c'16 \pp ( d] | \time 2/4; % \pp added +r4 r4 r8 [c'16 \pp ( d] | \time 2/4; % \pp added ) c8 r r [c16 ( d] | ) c8 r r [c16 ( d] | [c d c a][f a c d] | @@ -1102,7 +1102,7 @@ f4 r8 c8 ( | ) f4 r8 c8 ( | ) f,2 ~ | f ( | -) f'4 \fz r^\fermata +) f'4 \fz r } cb=\notes\relative c { @@ -1136,7 +1136,7 @@ r4 r f ( \< | r r dis ( \< | \! ) e2 r4 | R2.*6 | -r4 r^\fermata r8^\fermata r | +r4 r r8 r | R2*4 | d8-. \pp r g-. r | d-. r g-. r | @@ -1331,5 +1331,5 @@ f4 r8 c8 ( | ) f4 r8 c8 ( | ) f,2 ~ | f ( | -) f'4 \fz r^\fermata +) f'4 \fz r } diff --git a/mutopia/N.W.Gade/wood.ly b/mutopia/N.W.Gade/wood.ly index 17ee152456..6276f9af7b 100644 --- a/mutopia/N.W.Gade/wood.ly +++ b/mutopia/N.W.Gade/wood.ly @@ -20,7 +20,7 @@ R2.*4 | [c8. ( d16] c4. ) a8 | [a8. ( g16 ] ) f4 r | R2.*13 | -r4 r4^\fermata r8^\fermata r8 \time 2/4; +r4 r4 r8 r8 \time 2/4; R2*4 | d'8-. \pp r d-. r | d-. r d-. r | @@ -191,7 +191,7 @@ f4 r8 c ( | ) a'4 r8 c, ( | ) f4 r | R2 | -f4-. \fz r^\fermata +f4-. \fz r } @@ -212,7 +212,7 @@ R2.*4 | [c8. ( d16] c4. ) a8 | [a8. ( g16 ] ) f4 r | R2.*13 | -r4 r4^\fermata r8^\fermata r8 \time 2/4; +r4 r4 r8 r8 \time 2/4; R2*4 | a'8-. \pp r g-. r | a8-. r g-. r | @@ -233,7 +233,7 @@ dis,2 | c r d r | g, r r4 | R2*10 | -R4 r8 e' \p | +r4 r8 e' \p | e [es-. es-.] d-. | d-. [cis-. cis-.] c-. | c [c16 ( d] [es8 d16 c] | % slur added @@ -370,7 +370,7 @@ f4 r8 c' ( | ) a4 r8 c ( | ) f4 r | R2 | -f4 \fz r^\fermata +f4 \fz r } @@ -398,7 +398,7 @@ d4-> () b r | r r \times 2/3 { [d8 ( b ) d ] } | a4 () d r | R2.*6 | -r4 r4^\fermata r8^\fermata r8 | +r4 r4 r8 r8 | R2*4 | gis,8-. \pp r a-. r | gis-. r a-. r | @@ -606,7 +606,7 @@ g r d r | ) b'4 r8 d, ( | ) g,2 ~ | g ( | -) g'4-. \fz r^\fermata +) g'4-. \fz r } @@ -634,7 +634,7 @@ d4 () b r | r r \times 2/3 { [d8 \f ( b ) d ] } | a4 () d r | R2.*6 | -r4 r4^\fermata r8^\fermata r8 | +r4 r4 r8 r8 | R2*9 | r4 r8 d-. \p | [c-. b-. \< a-. g-. ] | @@ -815,7 +815,7 @@ b4 r | d4 r8 d, ( | ) g2 ~ | g ( | -) b4-. \fz r^\fermata +) b4-. \fz r } fagotto=\notes\relative c' { @@ -825,7 +825,7 @@ fagotto=\notes\relative c' { [c8. \f ( d16 ] ) c2_"dim." | [c8. ( d16 ] ) c4 r | R2.*29 | -r4 r4^\fermata r8^\fermata r8 | +r4 r4 r8 r8 | R2*4 | c8-. \pp r bes-. r | c8-. r bes-. r | @@ -1032,14 +1032,14 @@ c-. r c-. r | ) f4 r8 c ( | ) f,2 ~ | f ( | -) c'4 \fz r^\fermata +) c'4 \fz r } oboehelp=\notes\relative c'' { \tiny s2.*32 | -s2*32 | +s2*32 | \stemdown [a8^"Vi. I" ( g f d] | [b g ) a ] s8 | s2*106 | @@ -1051,16 +1051,16 @@ flautohelp=\notes\relative c'' { \tiny s2.*32 | -s2*32 | +s2*32 | \stemdown [a8^"Vi. I" ( g f d] | -[b g ) a ] s8 | +[b g ) a ] s8 | \stemboth s2*60 | f''2^"Oboe" ( | b,4 [c8 ) b] | -s2*44 | +s2*44 | \stemdown [d8^"Vi. I" ( c bes g] | [e c ) d] s | -s2*54 | +s2*54 | \stemup bes''4.^"Vi. I" a8 | [g-. f-. e-. ] s8 | } diff --git a/scm/lily.scm b/scm/lily.scm index cc68e713a0..70c06dc82e 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -82,7 +82,7 @@ ;; Spacing constants for prefatory matter. ;; -;; rules for this are complicated. See [Wanske] page 126 -- 134 +;; rules for this spacing are much more complicated than this. See [Wanske] page 126 -- 134 ;; ;; (define space-alist diff --git a/tex/titledefs.tex b/tex/titledefs.tex index 51df6979e7..5cda54d789 100644 --- a/tex/titledefs.tex +++ b/tex/titledefs.tex @@ -36,6 +36,7 @@ \newcommand*{\mudelaopus}[1]{\def\theopus{#1}} \newcommand*{\mudelapiece}[1]{\def\thepiece{#1}} \newcommand*{\mudelametre}[1]{\def\themetre{#1}} +\newcommand*{\mudelameter}[1]{\def\themetre{#1}} \newcommand*{\mudelapoet}[1]{\def\thepoet{#1}} % % -- 2.39.2