From: Han-Wen Nienhuys Date: Wed, 26 Apr 2000 22:12:25 +0000 (+0200) Subject: release: 1.3.47 X-Git-Tag: release/1.3.47 X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=d3c90f63573d53cfb191cc48f8f6ee672a5ca37a;p=lilypond.git release: 1.3.47 =========== * Drastically reduced vertical space used by headers/footers, when using ly2dvi. See input/test/fill-a4.ly. * Fixed bug with colons appearing on repeat span-bars. * Added Bar_number_engraver to standard Score context * Construct octavation scripts in the clef-engraver; this fixes the hara + clef8 problem 1.3 --- diff --git a/CHANGES b/CHANGES index 20d4ab0e98..ba1a1e5bdb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,19 +1,16 @@ ---- ../lilypond-1.3.46/CHANGES Mon Apr 17 13:20:52 2000 -++ b/CHANGES Tue Mar 20 20:00:00 2001 -@@ -1,3 +1,8 @@ -1.3.46.jcn1 -=========== - -* Website build fixes. - - 1.3.46 - ====== - 1.3.46.jcn2 +1.3.46.jcn2 =========== * Drastically reduced vertical space used by headers/footers, when using ly2dvi. See input/test/fill-a4.ly. +* Fixed bug with colons appearing on repeat span-bars. + +* Added Bar_number_engraver to standard Score context + +* Construct octavation scripts in the clef-engraver; this fixes the +hara + clef8 problem + 1.3.46 ====== diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index 7f4113cdef..72aeaddca7 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -12,9 +12,7 @@ include $(depth)/make/stepmake.make default: local-doc -local-WWW: copy-for-me $(outdir)/regression-test.ps.gz $(outdir)/regression-test.html -# we want footers even if website builds (or is built) partly - $(MAKE) footify +local-WWW: copy-for-me $(outdir)/regression-test.ps.gz $(outdir)/regression-test.html footify copy-for-me: $(foreach a, $(README_TOP_FILES),cp ../$(a) $(outdir)/$(a).txt && ) true diff --git a/Documentation/topdocs/index.tely b/Documentation/topdocs/index.tely index 9677961953..326173916e 100644 --- a/Documentation/topdocs/index.tely +++ b/Documentation/topdocs/index.tely @@ -188,8 +188,7 @@ substitute @code{unsubscribe} where you would put @code{subscribe}. These pages were entirely created from a @strong{development snapshots} of the LilyPond package. The version of this webpage is printed at the -bottom. If you want to volunteer for making more beautiful webpages, -then please mail us! +bottom. @html

diff --git a/Documentation/topdocs/topweb.tely b/Documentation/topdocs/topweb.tely deleted file mode 100644 index 9677961953..0000000000 --- a/Documentation/topdocs/topweb.tely +++ /dev/null @@ -1,211 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@setfilename index.info -@settitle LilyPond homepage - -@node Top, , , (dir) -@top - -@html -

-[ - Download - | - FAQ - | - Documentation - | - Music archives - | - Mailing lists - | - News -] -@end html - -@html -

-[logo] -@end html -@unnumberedsec LilyPond -- The GNU Project Music Typesetter - -@c something breaks on 3.12 f - -@unnumberedsec What is LilyPond? - -LilyPond is a music typesetter. It produces beautiful sheet music using -a high level description file as input. It excels at typesetting -classical music, but you can also print pop-songs. With LilyPond we -hope to make music publication software available to anyone on the -internet. - -@unnumberedsec Why should I use it? - -The input to LilyPond is plain text. So, you can use your favorite text -editor to enter it, you can put it in mail or embed it in an article like -this: - -@quotation -@mudela[fragment,verbatim] - \relative c'' { \key es; r8 [c16 b] [c8 g] [as c16 b] [c8 d] | g,4 } -@end mudela -@end quotation - -The output looks very good: the font and the layout algorithms were -inspired by engraved music, so you can expect that same clear and -elegant look from your LilyPond output. And if you don't like the -looks, you can tweak almost everything. - -The program also has limited MIDI functionality: you can write MIDI -files with lilypond, and we have a simple MIDI to lilypond conversion -tool, @file{midi2ly}. - -LilyPond is free software. It is licensed under GNU General Public -License, so you can use, modify and redistribute the program with -almost no restrictions. LilyPond is part of the -@uref{http://www.gnu.org/,GNU Project}. - -The version numbers are in Linux-kernel style: even numbered versions -are `stable'. The webpages for the stable version (1.2) reside at GNU, -here: @uref{http://www.gnu.org/software/lilypond}. Big enhancements go -into the latest odd numbered version (1.3); its webpages are on - @uref{http://www.cs.uu.nl/~hanwen/lilypond/,Han-Wen's site}. - -If want more information, you can browse the -@uref{Documentation/user/out-www/lilypond.html, manual} or other -@uref{Documentation/out-www/index.html, documentation}. - - -@unnumberedsec News - -For the latest and greatest features, check out the -@uref{Documentation/out-www/CHANGES.txt, Change Log}. - - -@html - -@end html -@unnumberedsec Sheet music - - -If you are interested in sheet music typeset by LilyPond, have a look at -the examples included. We have @uref{short-examples.html,short -examples} and @uref{long-examples.html,longer examples}. The -examples include sound bites in MIDI, pictures in PNG, printable scores -in PostScript, and LilyPond input. - -Others use LilyPond too. -@uref{http://www.geocities.com/Vienna/Studio/1714/harpsichord.html,John -Sankey}, harpsichordist to the internet, is typesetting the complete -@uref{http://www.geocities.com/Vienna/Studio/1714/scarlattidwn.html,sonatas -by Scarlatti}. Jeff Covey, guitar player and overall nice guy, is -putting @uref{http://www4.smart.net/~jcovey/scores/,guitar music} on the -net. The @uref{http://sca.uwaterloo.ca/Mutopia/,Mutopia project} is a -large archive of public domain sheet music under construction. - -@html - -@end html -@unnumberedsec Download - -If you want to compile LilyPond from source, download here: -@itemize @bullet -@item Download stable releases at -@uref{ftp://ftp.gnu.org/gnu/lilypond/} -@item Download development releases at -@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/} -@item Canadian mirror @uref{http://sca.uwaterloo.ca/lilypond/} and @uref{ftp://sca.uwaterloo.ca/pub/} -@item Another site in Europe -@uref{ftp://ftp.lilypond.org/pub/LilyPond/} -@end itemize - -Installing and compiling requires many additional packages, which are -listed in the @uref{Documentation/topdocs/out-www/INSTALL.html, -installation instructions}. - -There are binaries available, but alas they are not updated for every version released. -@itemize @bullet -@item RedHat-i386 and Linuxppc RPMs: -@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/} -@item Debian binary @uref{ftp://ftp.debian.org/pub/debian/dists/unstable/main/binary-i386/tex} -@item Windows NT: @uref{http://home.austin.rr.com/jbr/jeff/lilypond/} -@end itemize - - -@html - -@end html -@unnumberedsec Mailing list - -If you have questions, do write to the mailing lists! - (But don't forget to read the @uref{Documentation/out-www/faq.html, -Frequently Asked Questions} first.) - - -@table @samp -@item info-gnu-music@@gnu.org - is a moderated list for information on the GNU Music project, to - subscribe: send mail with subject "subscribe" to - info-gnu-music-request@@gnu.org. - - As this list is moderated, normal people should ask to - @email{drl@@gnu.org, David R. Linn} or - @email{hanwen@@cs.uu.nl, Han-Wen} to forward announces instead of - sending it to info-gnu-music@@gnu.org - - This list is archived at - @uref{http://www.mail-archive.com/info-gnu-music@@gnu.org} - -@item help-gnu-music@@gnu.org - For help with LilyPond music project. To subscribe: send - mail with subject "subscribe" to - @email{help-gnu-music-request@@gnu.org} The archive is at - @uref{http://www.mail-archive.com/help-gnu-music@@gnu.org}. - -@item bug-gnu-music@@gnu.org - If you have bugreports, you should send them to this list. If you -want to know about bugs, subscribe: send mail with subject "subscribe" -to @email{bug-gnu-music-request@@gnu.org}. The archive is at -@uref{http://www.mail-archive.com/bug-gnu-music@@gnu.org} - - Please include in your bugreport the version of LilyPond that -you experience the problem with, a description of your system and sample -input to reproduce the problem. Do not send output files over the list, -they tend to be very big and don't help with describing the problem. - - -@item gnu-music-discuss@@gnu.org, - For discussions concerning LilyPond, to subscribe: send - mail with subject "subscribe" to - @email{gnu-music-discuss-request@@gnu.org} - The archive is at - @uref{http://www.mail-archive.com/gnu-music-discuss@@gnu.org} -@end table - -If you want to unsubscribe use the same procedure as subscribing, but -substitute @code{unsubscribe} where you would put @code{subscribe}. - -@unnumberedsubsec Webmaster's Disclaimer - -These pages were entirely created from a @strong{development snapshots} -of the LilyPond package. The version of this webpage is printed at the -bottom. If you want to volunteer for making more beautiful webpages, -then please mail us! - -@html -

-[ - Download - | - FAQ - | - Documentation - | - Music archives - | - Mailing lists - | - News -] -@end html - -@bye diff --git a/Documentation/user/bugs.itexi b/Documentation/user/bugs.itexi index b77b7e75e3..51513a24f7 100644 --- a/Documentation/user/bugs.itexi +++ b/Documentation/user/bugs.itexi @@ -1,5 +1,5 @@ -@node Reporting Bugs -@chapter Bug reports +@node Reporting Bugs, , , Top +@section Bug reports There is an extensive list of todoes and bugs. See the file @file{TODO} distributed with the sources. If you have a problem you diff --git a/Documentation/user/convert-mudela.itexi b/Documentation/user/convert-mudela.itexi index f7248c6b66..02b13d8f45 100644 --- a/Documentation/user/convert-mudela.itexi +++ b/Documentation/user/convert-mudela.itexi @@ -1,4 +1,4 @@ -@node convert-mudela +@node convert-mudela, , ,Top @chapter convert-mudela @code{convert-mudela} sequentially applies different mudela-conversions to upgrade a Mudela input file. It uses diff --git a/Documentation/user/invoking.itexi b/Documentation/user/invoking.itexi index 3f10359669..7471539356 100644 --- a/Documentation/user/invoking.itexi +++ b/Documentation/user/invoking.itexi @@ -1,5 +1,5 @@ -@node Invoking LilyPond +@node Invoking LilyPond, , , Top @chapter Invoking LilyPond @cindex Invoking LilyPond diff --git a/Documentation/user/lilypond.tely b/Documentation/user/lilypond.tely index 0a2ff30db8..b4bbf8a654 100644 --- a/Documentation/user/lilypond.tely +++ b/Documentation/user/lilypond.tely @@ -79,8 +79,7 @@ than the names being similar :-)" @contents -@node Top -@chapter GNU LilyPond --- The music typesetter +@node Top, , , (dir) @menu * Tutorial:: a tutorial introduction to lilypond. @@ -106,17 +105,17 @@ than the names being similar :-)" @mbinclude tutorial.itely -@mbinclude invoking.itexi +@include invoking.itexi -@mbinclude bugs.itexi +@include bugs.itexi @mbinclude refman.itely -@mbinclude moreinfo.itexi +@include moreinfo.itexi -@mbinclude convert-mudela.itexi +@include convert-mudela.itexi -@node Index +@node Index, , , Top @unnumbered Index @printindex cp diff --git a/Documentation/user/moreinfo.itexi b/Documentation/user/moreinfo.itexi index dc0c722a47..826a3d15fb 100644 --- a/Documentation/user/moreinfo.itexi +++ b/Documentation/user/moreinfo.itexi @@ -1,5 +1,5 @@ -@node More information -@chapter Resources +@node More information, , , Top +@section Resources A further source for information is the website, which can be found at @uref{http://www.lilypond.org/}. The website contains on-line diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 8cf1e2450f..62540f2636 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -1,44 +1,45 @@ -@node Reference Manual -@chapter Reference Manual - +@node Reference Manual, , , Top @menu -* Overview:: Overview -* Top level:: Top level -* notenames:: -* Lexical conventions:: Lexical conventions -* Other languages:: -* modes:: -* Types:: Types -* Music expressions:: Music expressions -* Atomic music expressions:: Atomic music expressions -* Note specification:: -* barlines:: -* Manual beams:: -* stem tremolo:: -* Compound music expressions:: Compound music expressions -* relative:: -* Repeats:: -* transpose:: -* Ambiguities:: Ambiguities -* Notation conversion specifics:: -* autobeam:: -* lyricprint:: -* Notation Contexts:: Notation Contexts -* Properties:: -* Notation output definitions:: Notation output definitions -* paper:: -* Paper variables:: -* contextdefs:: -* engravers:: -* Sound output:: Sound output -* midilist:: +* Overview:: Overview +* Top level:: Top level +* notenames:: notenames +* Lexical conventions:: Lexical conventions +* Other languages:: notelang +* modes:: modes +* Types:: Types +* Music expressions:: Music expressions +* Atomic music expressions:: Atomic music expressions +* Note specification:: notedesc +* barlines:: barlines +* Manual beams:: Manual beam +* tremolo:: tremolo +* Compound music expressions:: Compound music expressions +* relative:: relative +* Repeats:: Repeats +* transpose:: transpose +* Ambiguities:: Ambiguities +* Notation conversion specifics:: Notation conversion specifics +* autobeam:: autobeam +* lyricprint:: lyricprint +* Notation Contexts:: Notation Contexts +* Properties:: Changing formatting +* Notation output definitions:: Notation output definitions +* paper:: paper +* Paper variables:: papervars +* contextdefs:: contextdefs +* engravers:: engravers +* Sound output:: Sound output +* midilist:: midilist +* Pre-defined Identifiers:: Pre-defined Identifiers @end menu +@chapter Reference Manual -@node Overview + +@node Overview, , , Reference Manual @section Overview This document@footnote{This document has been revised for @@ -64,7 +65,7 @@ typesetting and from a performance point of view. -@node Top level +@node Top level, , , Reference Manual @section Top level @cindex top level @@ -107,8 +108,7 @@ metre, arranger, piece and tagline. It is customary to put the @code{\header} at the top of the file. -@node notenames -@section notenames +@node notenames, , , Reference Manual Note name tables can be specified using @@ -154,7 +154,7 @@ forbidden after top level assignments. -@node Lexical conventions +@node Lexical conventions, , , Reference Manual @section Lexical conventions @cindex lexical conventions @@ -305,8 +305,7 @@ This is used to detect invalid input, and to aid @cindex other languages -@node Other languages -@section Other languages +@node Other languages, , , Reference Manual Note name definitions have been provided in various languages. Simply include the language specific init file. For example: @@ -334,8 +333,7 @@ subsection XREF-notenames [FIXME]. @cindex modes -@node modes -@section modes +@node modes, , , Reference Manual To simplify entering notes, lyrics, and chords, @emph{Mudela} has three special input modes on top of the default mode. In each mode, words @@ -345,7 +343,7 @@ a keyword or as an identifier. The behavior of the modes differs in two ways: Different modes treat unquoted words differently, and different modes have different rules for deciding what is a word. -@table @code +@table @samp @item Normal mode. @cindex mode!normal @@ -432,7 +430,7 @@ versions, thus the use of the dollar sign is discouraged.} -@node Types +@node Types, , , Reference Manual @section Types @cindex types and identifiers @@ -499,7 +497,7 @@ reference to the first identifier useless.} -@node Music expressions +@node Music expressions, , , Reference Manual @section Music expressions @cindex music expressions @@ -527,7 +525,7 @@ discussed in subsection XREF-compoundmusic [FIXME]. -@node Atomic music expressions +@node Atomic music expressions, , , Reference Manual @section Atomic music expressions @@ -569,8 +567,7 @@ In Note, Chord, and Lyrics mode, durations may be designated by numbers and dots. See Section XREF-notelang [FIXME] for details. -@node Note specification -@section Note specification +@node Note specification, , , Reference Manual @cindex note specification @@ -850,8 +847,7 @@ Prints a mark over or under (depending on the @code{Mark_engraver}@indexcode{Mark_engraver} to either the Score or Staff context for this to work. -@node barlines -@section barlines +@node barlines, , , Reference Manual @example \bar@keyindex{bar} @var{bartype}; @@ -1015,8 +1011,7 @@ this has the same effect as the space rest `@code{s}'. @cindex beams -@node Manual beams -@section Manual beams +@node Manual beams, , , Reference Manual A beam is specified by surrounding the beamed notes with brackets `@code{[}@indexcode{[}' and `@code{]}@indexcode{]}'. @@ -1280,8 +1275,7 @@ The slur syntax with parentheses is a shorthand for this. @cindex tremolo marks -@node stem tremolo -@section stem tremolo +@node stem tremolo, , , Reference Manual Tremolo marks can be printed on a single note by adding `@code{:}[@var{length}]' after the note. The length must be at @@ -1296,7 +1290,7 @@ no last value. -@node Compound music expressions +@node Compound music expressions, , , Reference Manual @section Compound music expressions @cindex compound music expressions @@ -1417,8 +1411,7 @@ a Voice context: @cindex relative pitch specification -@node relative -@section relative +@node relative, , , Reference Manual It is easy to get confused by octave changing marks and accidentally putting a pitch in the wrong octave. A much better way of entering a @@ -1659,14 +1652,13 @@ error, since there will be no main note to attach the grace notes to. @cindex repeats -@node Repeats -@section Repeats +@node Repeats, , , Reference Manual In order to specify repeats, use the @code{\repeat}@keyindex{repeat} keyword. Since repeats look and sound differently when played or printed, there are a few different variants of repeats. -@table @code +@table @samp @item unfolded Repeated music is fully written (played) out. Useful for MIDI output. @@ -1779,8 +1771,7 @@ bars will not. @cindex transposition of pitches -@node transpose -@section transpose +@node transpose, , , Reference Manual A music expression can be transposed with @code{\transpose}@keyindex{transpose}. The syntax is @@ -1876,7 +1867,7 @@ lyrics for @var{musicexpr2}. -@node Ambiguities +@node Ambiguities, , , Reference Manual @section Ambiguities @cindex ambiguities @@ -1926,15 +1917,14 @@ foo = -6 -@node Notation conversion specifics +@node Notation conversion specifics, , , Reference Manual @section Notation conversion specifics -[todo] + @cindex automatic beam generation -@node autobeam -@section autobeam +@node autobeam, , , Reference Manual By default, LilyPond will generate beams automatically. This feature can be disabled by setting the @code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming} @@ -2026,8 +2016,7 @@ If you want inversions to be recognized, you must set the property @cindex printing!lyrics -@node lyricprint -@section lyricprint +@node lyricprint, , , Reference Manual Lyric syllables must be interpreted within a @code{Lyrics} context @@ -2108,7 +2097,7 @@ For example: -@node Notation Contexts +@node Notation Contexts, , , Reference Manual @section Notation Contexts @cindex notation contexts @@ -2247,7 +2236,7 @@ as @code{c4}. These are the contexts supplied with the package. They are defined in the initialization file @file{ly/engraver.ly}. -@table @code +@table @samp @item @code{Grace}@indexcode{Grace} The context for handling grace notes. It is instantiated automatically when you use @code{\grace}. Basically, it is an @@ -2368,677 +2357,9 @@ currently search the source code for calls to @code{get_property}. The rest of the section is devoted to an (incomplete) overview of available properties. +@mbinclude properties.itely -@node Properties -@section Properties - -Properties are Scheme values, so they have a type. The type of a -property is listed in parentheses after the property name. - -@macro propertytype{t} - (\t\) -@end macro - - -TODO: - - -@table @code - @item @code{Generic_property_list} - Defines names and types for generic properties. These are properties - than can be plugged into the backend directly. See the init file - @file{generic-property.scm} for details. For internal use only. - - @item @code{XXXVerticalExtent}@indexcode{groupVerticalExtent} @propertytype{Interval: a cons of numbers} - Hard code the size of the vertical group in context XXX, example -@example -\property Staff.StaffVerticalExtent = #(-5.0 . 5.0) -@end example - The value is a cons of real numbers, that measure the extent in - staff spaces. -@end table - -@subsubheading Lyrics properties - -@cindex properties!Lyrics - -@table @code - @item @code{textStyle}@indexcode{textStyle} @propertytype{string} - Set the font for lyrics. The available font choices are - @code{roman}, @code{italic}, @code{bold}, @code{large}, @code{Large}, - @code{typewriter}, and @code{finger}. The @code{finger} font can - only display numbers. Note also that you must be careful when - using @code{\property} in Lyrics mode, because of the way strings - are parsed. Either put quotes around the arguments to - @code{\property} or be sure to leave a space on both sides of the - dot. -@end table - -@subsubheading Thread properties - -@cindex properties!Thread - -@table @code - @item @code{noteheadStyle}@indexcode{noteheadStyle} @propertytype{string} - Selects type of note head. Choices are @code{cross}, - @code{diamond}, @code{harmonic}, @code{transparent}, and @code{""}. - They are shown in that order below. - - @mudela[center,verbatim] - \score { - \notes { - \property Staff.barNonAuto = 1 - \property Voice.noteHeadStyle = cross - a' - \property Voice.noteHeadStyle = diamond - a' - \property Voice.noteHeadStyle = harmonic - a' - \property Voice.noteHeadStyle = transparent - a' - \property Voice.noteHeadStyle = "" - a' - } - \paper { - linewidth = -1.; - } - } - -@end mudela -@end table - -@subsubheading Grace properties - -@cindex properties!Grace - - -@table @code - @item @code{stemStyle}@indexcode{flagStyle} @propertytype{string} - By default set to @code{"grace"} meaning that all unbeamed - notes with flags are typeset with a slash through the flag. - Setting to @code{""} gives standard flags. - -@mudela[verbatim] -c'8 \property Voice.flagStyle = "grace" c'8 -@end mudela -@end table - - -@subsubheading Voice properties - -@cindex properties!Voice - -@table @code - @item @code{abbrev}@indexcode{abbrev} @propertytype{integer} - Set length for tremolo to be used if no length is explicitly - specified. - - @item @code{articulationScriptPadding}@indexcode{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. - - @item @code{articulationScriptVerticalDirection} @propertytype{direction} - @indexcode{articulationScriptVerticalDirection} - Determines the location of articulation marks. Set to @code{\up} - to print marks above the staff; set to @code{\down} to print marks - below the staff. This property does not override explicit - directions marked with `@code{^}' or `@code{_}' in the mudela file. - - @item @code{noAutoBeaming}@indexcode{beamAuto} @propertytype{boolean} - If set to 1 then beams are not generated automatically. - - @item @code{beamAutoEnd}@indexcode{beamAutoEnd} @propertytype{?} - Specifies when automatically generated beams can end. See - section XREF-autobeam [FIXME]. - - @item @code{beamAutoBegin}@indexcode{beamAutoBegin} @propertytype{?} - Specifies when automatically generated beams can start. See - section XREF-autobeam [FIXME]. - - -[outdated FIXME] - @item @code{beamQuantisation}@indexcode{beamQuantisation} @propertytype{symbol} - Set to @code{\none} for no quantization. Set to @code{\normal} to - quantize position and slope. Set to @code{\traditional} to avoid - wedges. These three settings are available via - @code{\beamposfree}@keyindex{beamposfree}, - @code{\beamposnormal}@keyindex{beamposnormal}, and - @code{\beampostraditional}@keyindex{beampostraditional}. - - @item @code{beamSlopeDamping}@indexcode{beamSlopeDamping} @propertytype{number} - Set to @code{\none} for undamped beams. Set to @code{\normal} for - damped beams. Set to @code{\infinity} for beams with zero slope. - The identifiers - @code{\beamslopeproportional}@keyindex{beamslopeproportional}, - @code{\beamslopedamped}@keyindex{beamslopedamped}, and - @code{\beamslopezero}@keyindex{beamslopezero} each set the - corresponding value. - - @item @code{dynamicDirection}@indexcode{dynamicDirection} @propertytype{direction} - Determines location of dynamic marks. Set to @code{\up} to print - marks above the staff; set to @code{\down} to print marks below - the staff. - - @item @code{dynamicStyle}@indexcode{dynamicStyle} @propertytype{string} - Set the text style for dynamics. - - @item @code{fontSize}@indexcode{fontSize} @propertytype{number} - Can be used to select smaller font sizes for music. The normal - font size is 0, and the two smaller sizes are -1 - and -2. - -@mudela[verbatim] -c''16 \property Staff.fontSize = -2 c''16 -@end mudela - - @item @code{forceHorizontalShift}@indexcode{forceHorizontalShift} - Force horizontal shift for collision resolution. It overrides - automatic collision resolution. The value is the shift amount - expressed in @code{note_width}, as set in the paper section. - -@item @code{collisionMergeDotted}@indexcode{collisionMergeDotted} @propertytype{boolean} - -Merge noteheads in collisions, even if they have a different number of -dots. This normal notation for polyphonic guitar music. - -@mudelafile[verbatim]{force-hshift.ly} - - -[FIXME: this should be moved] - -Lilypond always arranges note heads on alternate sides of a stem (that -is, within a single voice) as necessary to prevent collisions (note head -overlaps). For up stems, the upper note of a colliding pair is placed -on the right side of the stem, the lower on the left. For down stems, -the algorithm works in reverse. - -Lily also attempts to prevent collisions of note heads in different -voices. A situation where chords of two or more voices are played -simultaneously within one staff. - -By default, if only two voices (and both have opposite stem directions) -are in this 'collision group', the notes both are shifted by @code{0.5 -\quartwidth} if there are unisons or seconds between the voices. - -If there are more than two voices in a collision group, shifting is -inactive by default, since in this case, there are multiple chords with -the same stem direction. By distinguish between those chords, LilyPond -can do collision resolution in these cases as well. - -Distinguishing between voices with the same stem direction, is done by -setting the property @code{Voice.horizontalNoteShift}. It must be set -to a different integer for each voice. Then, all note heads in collision -groups (not just unisons and seconds) will be offset, one voice relative -another. The following fragment of sheet music shows how shifting is -done, with values of @code{horizontalNoteShift} printed over and under -the notes. In this case the chords are just simple notes. - -@c URG : mudela book bug. -@mudela[singleline,verbatim] -\score { - \notes \context Staff < - \context Voice = VA { \stemup f''4^"0" } - \context Voice = VB {\stemup - \property Voice.horizontalNoteShift = 1 d''4^" 1" } - \context Voice = VC { \stemup \property -Voice.horizontalNoteShift = 2 b'4^" 2" } - \context Voice = VD { \stemdown \property -Voice.horizontalNoteShift = 1 g'4_"1 " } - \context Voice = VE { \stemdown e'4_"0" } - > -} -@end mudela - -If you are not satisfied with the collision resolution of LilyPond, you -can override the horizontal shift value of the chord of one Voice, by -setting @code{forceHorizontalShift}. This sets the amount shift, -measured in black note head widths. - -To take complete control of note position shifts in complex passages, -you have set things up for normal collisions and override all shifts by -setting @code{forceHorizontalShift} to zero everywhere -@example -\property Voice.horizontalNoteShift = -\property Voice.forceHorizontalShift = "0.0" -@end example - -Then you can set the force property to a suitable value before each note -that really needs it (unisons and seconds), and reset it to 0.0 after -the note. - - @item @code{horizontalNoteShift}@indexcode{horizontalNoteShift} @propertytype{integer} - Enable LilyPond to shift notes horizontally if they collide with - other notes. This is useful when typesetting many voices on one - staff. The identifier @code{\shift}@keyindex{shift} is defined to - enable this. Traditionally, the outer chords (the upmost and - downmost voices), should have no @code{horizontalNoteShift}. - - @item @code{markScriptPadding}@indexcode{markScriptPadding} @propertytype{number} - Determines the extra space added between the mark and the closest - staff line or note. - - @item @code{markDirection}@indexcode{markDirection} @propertytype{direction} - 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. - - @item @code{midiInstrument}@indexcode{midiInstrument} @propertytype{string} - Sets the instrument for MIDI output. If this property is not set - then LilyPond will use the @code{instrument} property. This must - be set to one of the strings on the list of MIDI instruments that - appears in section XREF-midilist [FIXME]. If you use a string which - is not listed, LilyPond will silently substitute piano. - - @item @code{restStyle}@indexcode{restStyle} @propertytype{string} - Change the layout of rests shorter than quarter notes. - Currently, the standard layout @code{""} and mensural notation - @code{"mensural"} are available. Mensural rests of duration - 32 or shorter are not available. -@mudela[verbatim] -r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 -\property Staff.restStyle = "mensural" -r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 -@end mudela - - @item @code{scriptHorizontal}@indexcode{scriptHorizontal} @propertytype{boolean} - Put scripts left or right of note heads. Support for this is - limited. Accidentals will collide with scripts. - - @item @code{slurVerticalDirection}@indexcode{slurVerticalDirection} @propertytype{direction} - Set to @code{\free} for free choice of slur direction, set to - @code{\up} to force slurs up, set to @code{\down} to force slurs - down. The shorthands @code{\slurup}@keyindex{slurup}, - @code{\slurdown}@keyindex{slurdown}, and - @code{\slurboth}@keyindex{slurboth} are available. - - @item @code{slurDash}@indexcode{slurDash} @propertytype{number} - Set to NIL for normal slurs, 1 for dotted slurs, and a - larger value for dashed slurs. Identifiers - @code{\slurnormal}@keyindex{slurnormal} and - @code{\slurdotted}@keyindex{slurdotted} are predefined to set the - first two settings. - -@mudela[verbatim] - c4( )d - \property Voice.slurDash = 3 - c ( )e -@end mudela - -@item @code{stemLength}@indexcode{stemLength} - Set length of stems. Unit is `@code{interline}/2', so - @code{stemLength} defaults to 7. -@mudela[verbatim] -g''4 \property Voice.stemLength = #14 g4 \property Voice.stemLength = #3 g4 g,,4 -@end mudela - - @item @code{stemLeftBeamCount}@indexcode{stemLeftBeamCount} @propertytype{integer} - Specify the number of beams to draw on the left side of the next - note. Overrides automatic beaming. The value is only used once, - and then it is erased. - - @item @code{stemRightBeamCount}@indexcode{stemRightBeamCount} @propertytype{integer} - Specify the number of beams to draw on the right side of the next - note. Overrides automatic beaming. The value is only used once, - and then it is erased. - - @item @code{tieDash}@indexcode{tieDash} @propertytype{integer} - Set dashing of ties. See also @code{slurDash} - - @item @code{tieVerticalDirection}@indexcode{tieVerticalDirection} @propertytype{direction} - Set to @code{\free} for free choice of tie direction, set to - @code{\up} to force ties up, set to @code{\down} to force ties - down. - - @item @code{transposing}@indexcode{transposing} @propertytype{integer} - Transpose the MIDI output. Set this property to the number of - half-steps to transpose by. - - @item @code{textEmptyDimension}@indexcode{textEmptyDimension} @propertytype{boolean} - If set to true then text placed above or below the staff is - assumed to have zero width. @code{fatText} and @code{emptyText} -are predefined settings. - -@mudela[verbatim] -c4^"foo" \emptyText c4^"foo" c4 -@end mudela - - @item @code{textStyle}@indexcode{textStyle} @propertytype{string} - Set the text style for superscripts and subscripts. See above - for list of text styles. - - @item @code{textScriptPadding}@indexcode{textScriptPadding} @propertytype{number} - Determines the extra space added between superscripted resp. - subscripted text and the closest staff line or note. - - @item @code{verticalDirection}@indexcode{verticalDirection} @propertytype{direction} - Determines the direction of stems, subscripts, beams, slurs, and - ties. Set to @code{\down} to force them down, @code{\up} to force - them up, or @code{\free} to let LilyPond decide. This can be used - to distinguish between voices on the same staff. The - @code{\stemdown}@keyindex{stemdown}, @code{\stemup}@keyindex{stemup}, - and @code{\stemboth}@keyindex{stemboth} identifiers set this - property. - - - @item @code{tupletDirection}@indexcode{tupletDirection} @propertytype{direction} - 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. - - @item @code{tupletBracketVisibility}@indexcode{tupletBracketVisibility} @propertytype{boolean} or @propertytype{symbol} - @item @code{tupletNumberVisibility}@indexcode{tupletNumberVisibility} @propertytype{boolean} or @propertytype{symbol} - - These properties the visibility of the tuplet bracket and its -number respectively. Setting it to false will prevent printing of the -associated element. Setting the property to 'if-no-beam will make it -print only if there is no beam associated with this tuplet bracket. - -[fixme examples] - - @item @code{tupletInvisible}@indexcode{tupletInvisible} @propertytype{boolean} - - If set to true, tuplet bracket creation is switched off -entirely. This has the same effect as setting both -@code{tupletNumberVisibility} and @code{tupletBracketVisibility} to -@code{#f}, but as this does not even create elements, this setting -uses less memory and time. - - -@item @code{tupletSpannerDuration} @indexcode{tupletSpannerDuration} -@propertytype{moment} - -Normally a tuplet bracket is as wide as the -@code{\times} expression that gave rise to it. By setting this -property, you can make brackets last shorter. Example - -@mudela[verbatim,fragment] -\context Voice \times 2/3 { - \property Voice.tupletSpannerDuration = #(make-moment 1 4) - [c8 c c] [c c c] -} -@end mudela - -@end table - -@subsubheading Staff properties - -@cindex properties!Staff - -@table @code - - @item @code{barNonAuto}@indexcode{barNonAuto} @propertytype{boolean} - If set to true then bar lines will not be printed - automatically; they must be explicitly created with @code{\bar} - keywords. Unlike with the @code{\cadenza} keyword, measures are - still counted. Bar generation will resume according to that - count if this property is set to zero. - - @item @code{barNumberDirection}@indexcode{barNumberDirection} @propertytype{direction} - Set to @code{\up} or @code{\down} to put bar numbers above or below - the staff. - - @item @code{barNumberScriptPadding}@indexcode{barNumberScriptPadding} - Sets extra space between the bar number and the bar it labels. - - @item @code{barSize}@indexcode{barSize} - Specify the height of the bar lines if it should be different - than the staff height. -@mudela[verbatim] -c1 c1 \property Staff.barSize = 20 c1 c1 -@end mudela - - @item @code{barAtLineStart}@indexcode{barAtLineStart} @propertytype{boolean} - Set to true to produce a bar line after the clef at the start - of each line (but not at the beginning of the music). - - [BROKEN] - - @item @code{clefStyle}@indexcode{clefStyle} @propertytype{string} - Determines how clefs are typeset. If set to @code{transparent}, - the clefs are not printed at all, if set to - @code{fullSizeChanges}, clef changes in the middle of a line are - typeset with a full size clef. By default, clef changes are - typeset in smaller size. - - @item @code{supportedClefTypes}@indexcode{supportedClefTypes} @propertytype{alist} - - Clef settings supported. The value is an association list clef -descriptions indexed by clef name (alto, baritone, etc.). A clef -description is a list with the glyph name, and the staff position -where it should go. For internal use. - - @item @code{clefPitches}@indexcode{clefPitches} @propertytype{alist} - Settings for the position of the central C, relative to this clef - symbol. For internal use. - - @item @code{defaultClef}@indexcode{defaultClef} @propertytype{string} - Clef setting to use when this context is created. If unset, -no clef is printed upon creation. - - @item @code{marginDirection}@indexcode{marginDirection} @propertytype{direction} - Set to @code{\left} or @code{\right} to specify location of - marginal scripts. - - @item @code{marginScriptPadding}@indexcode{marginScriptPadding} - Specify extra space for marginal scripts. - - @item @code{forgetAccidentals}@indexcode{forgetAccidentals} @propertytype{boolean} - Causes accidentals to be printed at every note instead of - remembered for the duration of a measure. - - @item @code{noResetKey}@indexcode{noResetKey} @propertytype{boolean} - Do not reset the key at the start of a measure. Accidentals will - be printed only once and are in effect until overridden, possibly - many measures later. - - @item @code{staffSpace}@indexcode{staffLineLeading} @propertytype{number} - Specifies the distance (in points) between lines of the staff. - - @item @code{numberOfStaffLines}@indexcode{numberOfStaffLines} @propertytype{integer} - Specifies the number of staff lines. The default is 5. - - @item @code{postBreakPadding}@indexcode{postBreakPadding} @propertytype{number} - Extra space in points to be added after the clef, time signature - and key signature on the staff. Deprecated, do not use. - - @item @code{noVoltaBraces}@indexcode{noVoltaBraces} @propertytype{boolean} - Set to true to suppress the printing of brackets over alternate - endings specified by the command @code{\alternative}. - - - @item @code{barAlways}@indexcode{barAlways} @propertytype{boolean} - If set to true a bar line is drawn after each note. - - @item @code{defaultBarType}@indexcode{defaultBarType} @propertytype{string} - Sets the default type of bar line. See Section XREF-barlines [FIXME] - for a list of available bar types. - - @item @code{instrument}, @code{instr} @propertytype{string} - @indexcode{instrument}@indexcode{instr} - If @code{Instrument_name_engraver} -@cindex Instrument_name_engraver - is - added to the Staff translator, then the @code{instrument} property - is used to label the first line of the staff and the @code{instr} - property is used to label subsequent lines. If the - @code{midiInstrument} property is not set, then @code{instrument} - is used to determine the instrument for MIDI output. - - @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean} - If set to false, then keys are the same in all octaves. If set - to true then the key signature for different octaves can be - different and is specified independently: - - @example - \keysignature bes fis' - @end example - - The default value is @code{#f}. Can be set to @code{#t} with - @code{\specialkey} or reset with @code{\normalkey}. - - @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @propertytype{string} - Changes the default two-digit layout for time signatures. The - following values are recognized: - - @table @code - @item @code{C}@indexcode{C} - 4/4 and 2/2 are typeset as C and struck C, respectively. All - other time signatures are written with two digits. - - @item @code{old}@indexcode{old} - 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are - typeset with old-style mensuration marks. All other time - signatures are written with two digits. - - @item @code{1}@indexcode{1} - All time signatures are typeset with a single - digit, e.g. 3/2 is written as 3. - - @item @indexcode{CM/N}@code{C}@var{M}@code{/}@var{N}, - @indexcode{oldM/N}@code{old}@var{M}@code{/}@var{N} or - @code{old6/8alt}@indexcode{old6/8alt} - Tells LilyPond to use a specific symbol as time signature. - @end table - - The different time signature characters are shown below with its - names: - - @mudela[center,verbatim] - - \score { - \notes\relative c'' { - \property Voice.textStyle = typewriter - \property Staff.timeSignatureStyle = "C2/2" - \time 2/2; a2^"C2/2" a2 - \property Staff.timeSignatureStyle = "C4/4" - \time 2/2; a2^"C4/4" a2 - \property Staff.timeSignatureStyle = "old2/2" - \time 2/2; a2^"old2/2" a2 - \property Staff.timeSignatureStyle = "old3/2" - \time 2/2; a2^"old3/2" a2 - \property Staff.timeSignatureStyle = "old2/4" - \time 2/2; a2^"old2/4" a2 - \property Staff.timeSignatureStyle = "old4/4" - \time 2/2; a2^"old4/4" a2 - \property Staff.timeSignatureStyle = "old6/4" - \time 2/2; a2^"old6/4" a2 - \property Staff.timeSignatureStyle = "old9/4" - \time 2/2; a2^"old9/4" a2 - \property Staff.timeSignatureStyle = "old4/8" - \time 2/2; a2^"old4/8" a2 - \property Staff.timeSignatureStyle = "old6/8" - \time 2/2; a2^"old6/8" a2 - \property Staff.timeSignatureStyle = "old6/8alt" - \time 2/2; a2^"old6/8alt" a2 - \property Staff.timeSignatureStyle = "old9/8" - \time 2/2; a2^"old9/8" a2 - } - \paper { - linewidth = 4.5 \in; - } - } - -@end mudela - - @item @code{voltaSpannerDuration}@indexcode{voltaSpannerDuration} @propertytype{moment} - Set to an integer to control the size of the brackets printed by - @code{\alternative}. The integer specifies the number of whole - notes duration to use for the brackets. It is rounded to the - nearest measure. This can be used to shrink the length of - brackets in the situation where one alternative is very large. - It may have odd effects if the specified duration is longer than - the music given in an @code{\alternative}. -@end table - -@subsubheading GrandStaff properties - -@cindex properties!GrandStaff - -@table @code - @item @code{maxVerticalAlign}@indexcode{maxVerticalAlign} @propertytype{number} - Set the maximum vertical distance between staffs. - - @item @code{minVerticalAlign}@indexcode{minVerticalAlign} @propertytype{number} - Set the minimum vertical distance between staffs. -@end table - -@subsubheading Score properties - -@cindex properties!Score - - - - -@table @code - @item @code{skipBars}@indexcode{skipBars} @propertytype{boolean} - Set to 1 to skip the empty bars that are produced by - multimeasure notes and rests. These bars will not appear on the - printed output. Set to zero (the default) to expand multimeasure - notes and rests into their full length, printing the appropriate - number of empty bars so that synchronization with other voices is - preserved. - - @quotation - -@mudela[fragment,verbatim,center] -r1 r1*3 R1*3\property Score.skipBars=1 r1*3 R1*3 - -@end mudela - @end quotation - -@item @code{breakAlignOrder}@indexcode{breakAlignOrder} @propertytype{list of string} - - Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines: -@example - \property Score.breakAlignOrder = #'( - "Span_bar" - "Breathing_sign" - "Clef_item" - "Staff_bar" - "Key_item" - "Time_signature" - ) -@end example - - -@item @code{timing}@indexcode{timing} @propertytype{boolean} - Keep administration of measure length, position, bar number, etc? -Switch off for cadenzas. - -@item @code{currentBarNumber}@indexcode{currentBarNumber} @propertytype{integer} - Contains the current barnumber. This property is incremented at -every barline. - -@item @code{measurePosition}@indexcode{measurePosition} @propertytype{Moment} - - How much of the current measure (measured in whole notes) have we had? - -@item @code{oneBeat}@indexcode{oneBeat} @propertytype{Moment} - - How long does one beat in the current time signature last? - -@item @code{measureLength}@indexcode{measureLength} @propertytype{Moment} - - How long does one measure in the current time signature last? - -@end table - -@subsubheading ChordNamesVoice properties - -@cindex properties!ChordNamesVoice - -@table @code - @item @code{chordInversion}@indexcode{chordInversion} @propertytype{boolean} - Determines whether LilyPond should look for chord inversions when - translating from notes to chord names. Set to 1 to find - inversions. The default is 0 which does not look for - inversions. -@end table - - - -@node Notation output definitions +@node Notation output definitions, , , Reference Manual @section Notation output definitions @cindex output @@ -3047,8 +2368,7 @@ every barline. @cindex output definition -@node paper -@section paper +@node paper, , , Reference Manual The most important output definition is the @code{\paper} block, for music notation. The syntax is @@ -3129,8 +2449,7 @@ select. @cindex paper variables -@node Paper variables -@section Paper variables +@node Paper variables, , , Reference Manual There is a large number of paper variables that are used to control details of the layout. These variables control the defaults for the @@ -3144,7 +2463,7 @@ height in points. Nevertheless, here are some variables you may want to use or change: -@table @code +@table @samp @item @code{indent}@indexcode{indent} The indentation of the first line of music. @@ -3167,8 +2486,7 @@ Nevertheless, here are some variables you may want to use or change: @end table -@node contextdefs -@section contextdefs +@node contextdefs, , , Reference Manual @cindex context definition @@ -3210,7 +2528,7 @@ A context definition has this syntax: @var{typename} is one of -@table @code +@table @samp @item @code{Engraver_group_engraver}@indexcode{Engraver_group_engraver} The standard cooperation engraver. @@ -3289,7 +2607,7 @@ such an identifier outside of @code{\score}, you must do Some pre-defined identifiers can simplify modification of translators. The pre-defined identifiers are: -@table @code +@table @samp @item @code{StaffContext}@indexcode{StaffContext} Default Staff context. @@ -3337,14 +2655,13 @@ translator: -@node engravers -@section engravers +@node engravers, , , Reference Manual The engravers for paper output are: [incomplete, FIXME] -@table @code +@table @samp @item @code{Bar_engraver}@indexcode{Bar_engraver} Engraves bar lines. Normally in @code{Staff} and @code{RhythmicStaff}. @@ -3473,7 +2790,7 @@ The engravers for paper output are: -@node Sound output +@node Sound output, , , Reference Manual @section Sound output @@ -3501,8 +2818,7 @@ The contexts for MIDI output are defined in @file{ly/performer.ly}. @cindex MIDI instrument names -@node midilist -@section midilist +@node midilist, , , Reference Manual The MIDI instrument name is set by the @code{Staff.midiInstrument}@indexcode{Staff.midiInstrument} property or, @@ -3567,7 +2883,7 @@ piano. The types available for MIDI translators are: -@table @code +@table @samp @item @code{Performer_group_performer}@indexcode{Performer_group_performer} @item @code{Score_performer}@indexcode{Score_performer} @item @code{Staff_performer}@indexcode{Staff_performer} @@ -3575,7 +2891,7 @@ The types available for MIDI translators are: The performers for MIDI translators are: -@table @code +@table @samp @item @code{Key_performer}@indexcode{Key_performer} @item @code{Time_signature_performer}@indexcode{Time_signature_performer} @item @code{Note_performer}@indexcode{Note_performer} @@ -3585,7 +2901,7 @@ The performers for MIDI translators are: -@node Pre-defined Identifiers +@node Pre-defined Identifiers, , , Reference Manual @section Pre-defined Identifiers @@ -3596,7 +2912,7 @@ Various identifiers are defined in the initialization files to provide shorthands for some settings. Most of them are in @file{ly/declarations.ly}. -@table @code +@table @samp @item @code{\break}@keyindex{break} Force a line break in music by using a large argument for the keyword @code{\penalty}. diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 4d9e32e2f1..9bd5e9e28e 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -1,17 +1,16 @@ - -@node Tutorial @chapter Tutorial +@node Tutorial, , , Top @menu -* Introduction:: Introduction -* The first tune:: The first tune -* Lyrics and chords:: Lyrics and chords -* Piano music:: Piano music -* end of tutorial:: The end +* Introduction:: Introduction +* The first tune:: The first tune +* Lyrics and chords:: Lyrics and chords +* Piano music:: Piano music +* end of tutorial:: The end @end menu -@node Introduction +@node Introduction, , , Tutorial @section Introduction @@ -30,7 +29,7 @@ subdirectory @file{input/tutorial/}. It is recommended that you experiment with writing Mudela input yourself, to get a feel for how LilyPond behaves. -@node The first tune +@node The first tune, , , Tutorial @section The first tune @@ -333,7 +332,7 @@ symbols and their placement is @emph{generated} from a high-level musical description. In other words, LilyPond would be best described by `music compiler' or `music to notation compiler'. -@node Lyrics and chords +@node Lyrics and chords, , , Tutorial @section Lyrics and chords In this section we show how to typeset a song of unknown @@ -693,7 +692,7 @@ will be set in two lines. @end example End the score block. -@node Piano music +@node Piano music, , , Tutorial @section Piano music Our third subject is a piece piano music. The fragment in the input @@ -957,7 +956,7 @@ parts. [TODO: demonstrate Hara-Kiri with scores and part extraction.] -@node end of tutorial +@node end of tutorial, , , Tutorial @section The end That's all folks. From here, you can either try fiddling with input diff --git a/VERSION b/VERSION index 358ef34a53..0a0477f199 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=46 -MY_PATCH_LEVEL=jcn1 +PATCH_LEVEL=47 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/bugs/hara-clef.ly b/input/bugs/hara-clef.ly deleted file mode 100644 index 639ebaa150..0000000000 --- a/input/bugs/hara-clef.ly +++ /dev/null @@ -1,10 +0,0 @@ - -\score { -\notes < \context Staff { \clef "G^8"; s1 s1 s1 } - \context Staff = CC { c1 c c } > - -\paper { -\translator { - \HaraKiriStaffContext -}} -} diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index bfd3c54f5a..8df115231c 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -9,6 +9,7 @@ */ #include + #include "staff-symbol-referencer.hh" #include "bar.hh" #include "clef-item.hh" @@ -21,11 +22,15 @@ #include "array.hh" #include "engraver.hh" #include "direction.hh" +#include "side-position-interface.hh" +#include "text-item.hh" /// where is c-0 in the staff? class Clef_engraver : public Engraver { Clef_item * clef_p_; + Text_item * octavate_p_; Clef_change_req * clef_req_l_; + void create_clef(); bool set_type (String); protected: @@ -55,6 +60,7 @@ Clef_engraver::Clef_engraver() c0_position_i_ = 0; clef_position_i_ = 0; octave_dir_ = CENTER; + octavate_p_ = 0; } bool @@ -177,7 +183,21 @@ Clef_engraver::create_clef() si.set_position (clef_position_i_); if (octave_dir_) { - clef_p_->set_elt_property ("octave-dir", gh_int2scm (octave_dir_)); + Text_item * g = new Text_item; + Side_position_interface spi (g); + spi.set_axis (Y_AXIS); + spi.add_support (clef_p_); + g->set_elt_property ("text", ly_str02scm ( "8")); + g->set_elt_property ("style", gh_str02scm ("italic")); + g->set_parent (clef_p_, Y_AXIS); + g->set_parent (clef_p_, X_AXIS); + + g->set_elt_property ("self-alignment-X", gh_int2scm (0)); + g->add_offset_callback (Side_position_interface::aligned_on_self, X_AXIS); + g->add_offset_callback (Side_position_interface::centered_on_parent, X_AXIS); + g->set_elt_property ("direction", gh_int2scm (octave_dir_)); + octavate_p_ = g; + announce_element (Score_element_info (octavate_p_, clef_req_l_)); } } @@ -198,11 +218,19 @@ Clef_engraver::do_pre_move_processing() if (clef_p_) { if(to_boolean (clef_p_->remove_elt_property("non-default"))) - clef_p_->set_elt_property("visibility-lambda", - scm_eval (ly_symbol2scm ("all-visible"))); - + { + SCM all = scm_eval (ly_symbol2scm ("all-visible")); + clef_p_->set_elt_property("visibility-lambda", all); + if (octavate_p_) + octavate_p_->set_elt_property("visibility-lambda", all); + } typeset_element (clef_p_); clef_p_ =0; + + if (octavate_p_) + typeset_element(octavate_p_); + + octavate_p_ = 0; } } @@ -212,8 +240,5 @@ Clef_engraver::do_post_move_processing() clef_req_l_ = 0; } - - - ADD_THIS_TRANSLATOR(Clef_engraver); diff --git a/lily/clef-item.cc b/lily/clef-item.cc index af14a41828..f0a8b8566f 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -52,42 +52,4 @@ Clef_item::before_line_breaking () } -void -Clef_item::do_add_processing () -{ - if (!break_status_dir ()) // broken stuff takes care of their own texts - { - Text_item *g =0; - - SCM octave_dir = remove_elt_property ("octave-dir"); - if (isdir_b (octave_dir)) - { - g = new Text_item; - Side_position_interface spi (g); - spi.set_axis (Y_AXIS); - - pscore_l_->line_l_->typeset_element (g); - - spi.add_support (this); - g->set_elt_property ("text", ly_str02scm ( "8")); - g->set_elt_property ("style", gh_str02scm ("italic")); - g->set_parent (this, Y_AXIS); - g->set_parent (this, X_AXIS); - - g->set_elt_property ("self-alignment-X", gh_int2scm (0)); - g->add_offset_callback (Side_position_interface::aligned_on_self, X_AXIS); - g->add_offset_callback (Side_position_interface::centered_on_parent, X_AXIS); - - g->set_elt_property ("direction", octave_dir); - - add_dependency (g); // just to be sure. - SCM my_vis = get_elt_property ("visibility-lambda"); - if (gh_procedure_p (my_vis)) - g->set_elt_property ("visibility-lambda", my_vis); - - } - - } -} - diff --git a/lily/command-request.cc b/lily/command-request.cc index af9e706632..3f941f3fe1 100644 --- a/lily/command-request.cc +++ b/lily/command-request.cc @@ -31,8 +31,6 @@ Bar_req::Bar_req (String s) type_str_ = s; } - - bool Barcheck_req::do_equal_b (Request const *r) const { diff --git a/lily/include/clef-item.hh b/lily/include/clef-item.hh index 60322e19ed..758e42a8a6 100644 --- a/lily/include/clef-item.hh +++ b/lily/include/clef-item.hh @@ -16,18 +16,17 @@ properties: - nondefault: not set because of existence of a bar + nondefault -- not set because of existence of a bar? - octave_dir: should we print an octave symbol (8), and where? (up=1, down=-1)? + change -- is this a change clef (smaller size)? - change: is this a change clef (smaller size)? + glyph -- a string determining what glyph is typeset */ class Clef_item : public Item { protected: virtual void before_line_breaking (); - virtual void do_add_processing (); public: VIRTUAL_COPY_CONS(Score_element); }; diff --git a/lily/include/command-request.hh b/lily/include/command-request.hh index 5f138b28b0..f8755a92db 100644 --- a/lily/include/command-request.hh +++ b/lily/include/command-request.hh @@ -87,8 +87,8 @@ public: String type_str_; Bar_req (String); protected: + virtual bool do_equal_b (Request const*) const; virtual void do_print () const; - bool do_equal_b (Request const *) const; VIRTUAL_COPY_CONS(Music); }; diff --git a/lily/score.cc b/lily/score.cc index da9c2d1da1..e8fd342f35 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -23,6 +23,10 @@ #include "paper-def.hh" +/* + TODO: junkme. + */ + Score::Score() : Input() { diff --git a/lily/span-bar.cc b/lily/span-bar.cc index 13e2491f97..84a9833236 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -86,11 +86,9 @@ Span_bar::evaluate_empty () { type_str= ".|."; } - } - /* - uhh. should do something with type_str ?!! - */ + set_elt_property ("glyph", ly_str02scm (type_str.ch_C())); + } } Interval diff --git a/lily/time-signature.cc b/lily/time-signature.cc index 0c11decc33..4a67538f35 100644 --- a/lily/time-signature.cc +++ b/lily/time-signature.cc @@ -73,7 +73,7 @@ Time_signature::special_time_signature (String s, int n, int d) const Molecule Time_signature::time_signature (int num, int den) const { - String sty = "number"; + String sty = "timesig"; /* UGH: need to look at fontsize. diff --git a/ly/engraver.ly b/ly/engraver.ly index 72a0a5678e..d51ddb210e 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -324,7 +324,6 @@ StupidScore = \translator { BarNumberingStaffContext = \translator { \StaffContext \consists "Mark_engraver"; - \consists "Bar_number_engraver"; }; HaraKiriStaffContext = \translator { @@ -344,7 +343,6 @@ HaraKiriStaffContext = \translator { OrchestralPartStaffContext = \translator { \StaffContext \consists "Mark_engraver"; - \consists "Bar_number_engraver"; }; ScoreContext = \translator { @@ -374,6 +372,7 @@ ScoreContext = \translator { \consists "Spacing_engraver"; \consists "Vertical_align_engraver"; + \consists "Bar_number_engraver"; alignmentReference = \down; defaultClef = #"treble" defaultBarType = #"|" @@ -387,6 +386,7 @@ ScoreContext = \translator { \accepts "PianoStaff"; \accepts "NoteNames"; + markVisibilityFunction = #end-of-line-invisible barNumberVisibilityFunction = #begin-of-line-visible }; @@ -399,7 +399,6 @@ OrchestralScoreContext= \translator { barScriptPadding = #2.0 % dimension \pt markScriptPadding = #4.0 - \consists "Bar_number_engraver"; \consists "Mark_engraver"; }; diff --git a/ly/paper16.ly b/ly/paper16.ly index 9445759068..1256998bd2 100644 --- a/ly/paper16.ly +++ b/ly/paper16.ly @@ -20,6 +20,7 @@ paper_sixteen = \paper { font_finger = 4.; font_volta = 5.; font_number = 8.; + font_timesig = 8.; font_dynamic = 10.; font_mark = 10.; diff --git a/ly/paper20.ly b/ly/paper20.ly index aeb925a834..fc0566e536 100644 --- a/ly/paper20.ly +++ b/ly/paper20.ly @@ -14,6 +14,7 @@ paper_twenty = \paper { font_finger = 5.; font_volta = 8.; font_number = 10.; + font_timesig = 10.; font_mark = 12.; % what about: diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index e7a88e0a05..0d565db6aa 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.46 -Entered-date: 17APR00 +Version: 1.3.47 +Entered-date: 27APR00 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.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 - 1000k lilypond-1.3.46.tar.gz + 1000k lilypond-1.3.47.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.46.tar.gz + 1000k lilypond-1.3.47.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 00c79003a4..cb451a8406 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.3.46 +Version: 1.3.47 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.46.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.47.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/scm/lily.scm b/scm/lily.scm index 7e67be562c..677c0e44e7 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -159,7 +159,6 @@ ("feta" . "feta") ("feta-1" . "feta") ("feta-2" . "feta") - ("finger" . "feta-nummer") ("typewriter" . "cmtt") ("italic" . "cmti") ("roman" . "cmr") @@ -167,6 +166,8 @@ ("large" . "cmbx") ("Large" . "cmbx") ("mark" . "feta-nummer") + ("finger" . "feta-nummer") + ("timesig" . "feta-nummer") ("number" . "feta-nummer") ("volta" . "feta-nummer")) ) diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index cf7526c0b1..42474ba6fc 100644 --- a/stepmake/stepmake/texinfo-rules.make +++ b/stepmake/stepmake/texinfo-rules.make @@ -6,7 +6,7 @@ $(outdir)/%.info: $(outdir)/%.texi makeinfo --output=$@ $< $(outdir)/%.html: $(outdir)/%.texi - -makeinfo --force --output=$@ --html --no-split $< + -makeinfo --force --output=$@ --html --no-headers $< # we want footers even if website builds (or is built) partly $(footify) $@ diff --git a/stepmake/stepmake/yolily-topdoc-targets.make b/stepmake/stepmake/yolily-topdoc-targets.make index b60d82b2d3..98824da8b1 100644 --- a/stepmake/stepmake/yolily-topdoc-targets.make +++ b/stepmake/stepmake/yolily-topdoc-targets.make @@ -8,9 +8,9 @@ $(outdir)/%.html: %.yo $(sed-version) < $@.in > $@ rm -f $@.in -local-WWW: - -cp $(outdir)/*png $(outdir)/index.html $(depth) # don't fail if not making website +local-WWW: copy-to-top copy-to-top: $(TO_TOP_FILES) $(foreach i, $(TO_TOP_FILES), \ cp $(i) $(depth)/ && ) true + -cp $(outdir)/*png $(outdir)/index.html $(depth) # don't fail if not making website