From 1d68a5cb88be610da4d811b675afc433ee423c54 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 01:19:26 +0000 Subject: [PATCH] lilypond-1.4.2 --- Documentation/user/latex-example.latex | 18 +-- Documentation/user/tutorial.itely | 148 +++++++++++++------------ lily/tuplet-bracket.cc | 2 +- make/ly-rules.make | 4 +- 4 files changed, 92 insertions(+), 80 deletions(-) diff --git a/Documentation/user/latex-example.latex b/Documentation/user/latex-example.latex index 022a4c8368..68a861072a 100644 --- a/Documentation/user/latex-example.latex +++ b/Documentation/user/latex-example.latex @@ -26,16 +26,16 @@ c d e \begin{lilypond} \header { - title = "Title"; - subtitle = "Subtitle"; - subsubtitle = "Subsubtitle"; - opus = "Opus 1"; - piece = "Piece"; - composer = "Composer"; - enteredby = "JCN"; - instrument = "instrument"; + title = "Title" + subtitle = "Subtitle" + subsubtitle = "Subsubtitle" + opus = "Opus 1" + piece = "Piece" + composer = "Composer" + enteredby = "JCN" + instrument = "instrument" } -\paper { linewidth = -1.; } +\paper { linewidth = -1. } \score { \notes \relative c'' { a b c d } } diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index d764ad916c..bbc3d20133 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -10,7 +10,7 @@ * First steps:: Music language of LilyPond * Simple legend:: Small table of music language symbols * Running LilyPond:: Printing music -* The first tune:: The first tune +* The first real tune:: The first real tune * Lyrics and chords:: Lyrics and chords * More movements :: Joining separate pieces of music * A piano excerpt:: Piano music @@ -34,7 +34,7 @@ language. After this first contact, we will show you how to run LilyPond to produce printed output; you should then be able to create your first sheets of music. -The tutorial continues with a bit more elaborate example of real music. +The tutorial continues with a slightly more elaborate example of real music. This piece introduces and explains some finer details of LilyPond. Then, a number of more complex examples follow, that will help you to produce most complex music with LilyPond. @@ -114,7 +114,8 @@ s16_" " @end quotation @separate -A sharp is made by adding ``@code{is}'', a flat by adding ``@code{es}'': +A sharp (@texisharp{}) is made by adding ``@code{is}'', a flat +(@texiflat{}) by adding ``@code{es}'': @quotation @example @@ -361,12 +362,13 @@ Don't worry about all the quotes. @end lilypond @end quotation +@c accidentals... There are some interesting points to note in this example. Firstly, -accidentals don't have to be marked explicitly: you just enter the -pitch, and LilyPond determines whether or not to print an accidental. -Secondly, bar lines and beams are drawn automatically. Thirdly, -LilyPond calculates line breaks for you; it doesn't matter where you -make new lines in the source file. +accidentals (sharps and flats) don't have to be marked explicitly: you +just enter the note name, and LilyPond determines whether or not to +print an accidental. Secondly, bar lines and beams are drawn +automatically. Thirdly, LilyPond calculates line breaks for you; it +doesn't matter where you make new lines in the source file. The example also indicates that a piece of music written in a high register needs lots of quotes. This makes the input a bit unreadable, @@ -381,7 +383,7 @@ To use relative mode, add @code{\relative} before the piece of music. You must also give a note from which relative starts, in this case @code{c''}. -@c In relative ocatave mode, quotes are used to mark large jumps in the +@c In relative octave mode, quotes are used to mark large jumps in the @c melody. Without any quotes or commas, the interval between a note and @c its predecessor is assumed to be a fourth or less. Quotes and commas @c add octaves in up and down direction. @@ -412,7 +414,7 @@ For example: @code{c f} goes up; @code{c g} goes down: @c grappig: Pa vond het heel logies, en slim toen-i eenmaal begreep. @c in eerste instantie drong het `relative' niet door zonder extra uitleg. You can make a large interval by adding octaviation quotes. Note that -quotes or commas do not determine the absolote height of a note; +quotes or commas do not determine the absolute height of a note; the height of a note is relative to the previous one. @c don't use commas or quotes in this sentence For example: @code{c f,} goes down; @code{f, f} are both the same; @@ -441,7 +443,7 @@ A slur is drawn across many notes, and indicates bound articulation @quotation @lilypond[fragment,relative 1, verbatim] -c8( cis d )e +d4( )c16( cis d e c cis d )e( )d4 @end lilypond @end quotation @separate @@ -532,7 +534,7 @@ c-\ff c-\mf @separate Crescendi are started with the commands @code{\<} and @code{\>}. The -command @code{\!} finishes a crescendo on the following. +command @code{\!} finishes a crescendo on the following note. @quotation @lilypond[verbatim,relative 1] c2\< \!c2-\ff \>c2 \!c2 @@ -641,7 +643,7 @@ fine tuning output, polyphonic music, and integrating text and music. @quotation @multitable @columnfractions .10 .20 .40 -@item @code{[]} +@item @code{[ ]} @tab beam @tab @lilypond[fragment, relative 1] @@ -663,7 +665,7 @@ fine tuning output, polyphonic music, and integrating text and music. d ~ d @end lilypond -@item @code{()} +@item @code{( )} @tab slur @tab @lilypond[fragment, relative 1] @@ -695,7 +697,7 @@ a a' c c, @end lilypond -@item @code{<>} +@item @code{< >} @tab chord @tab @lilypond[fragment, relative 1] @@ -837,14 +839,14 @@ You can also print from the command line by executing @code{gsview32 /s test.ps} -@node The first tune -@section The first tune +@node The first real tune +@section The first real tune -This tutorial will demonstrate how to use Lilypond by presenting -examples of input along with resulting output. We will use English -terms for notation. In case you are not familiar with those, you may -consult the glossary that is distributed with LilyPond. +The rest of this tutorial will demonstrate how to use Lilypond by +presenting examples of input along with resulting output. We will use +English terms for notation. In case you are not familiar with those, +you may consult the glossary that is distributed with LilyPond. The examples discussed are included in the distribution, in the subdirectory @file{input/tutorial/}@footnote{When we refer to filenames, @@ -940,12 +942,15 @@ Prepare LilyPond for accepting notes. @end example @cindex relative -As we will see, each note is described by its note name, duration, -octave and possibly a chromatic alteration. In this setup, the octave -is indicated by using high quotes (@code{'}) and ``lowered quotes'' -(commas: @code{,}). The central C is denoted by @code{c'}. The C one -octave higher is @code{c''}. One and two octaves below the central C is -denoted by @code{c} and @code{c,} respectively. +@c removed duplicate introduction to octave marks /MB +@c Shorten even more? + +@c As we will see, each note is described by its note name, duration, +@c octave and possibly a chromatic alteration. In this setup, the octave +@c is indicated by using high quotes (@code{'}) and ``lowered quotes'' +@c (commas: @code{,}). The central C is denoted by @code{c'}. The C one +@c octave higher is @code{c''}. One and two octaves below the central C is +@c denoted by @code{c} and @code{c,} respectively. Even though a piece of music often spans a range of several octaves, it mostly moves in small intervals. LilyPond has a special entry mode to @@ -1126,7 +1131,7 @@ staccato as shown above. @end example -Rests are denoted by the special notename @code{r}. +Rests are denoted by the special note name @code{r}. @separate @example @@ -1145,8 +1150,8 @@ identifier. \bar "|." @} @end example -Here the music ends. LilyPond does not automatically typeset and end -bar, we must explicitely request one, using @code{"|."}. +Here the music ends. LilyPond does not automatically typeset an end +bar, we must explicitly request one, using @code{"|."}. @separate @example @@ -1297,7 +1302,7 @@ information to print titles above the music. the @code{\header} block contains assignments. In each assignment, a variable is set to a value. Lexically, both the variable name and the assigned value are strings. The values have to be quoted here, because -they contain spaces, the variable names could also be put within quotes +they contain spaces. The variable names could also be put within quotes but it is not necessary. @separate @example @@ -1423,7 +1428,7 @@ separated by dots. @end example -Some modifiers have predefined names, eg. @code{min} is the same as +Some modifiers have predefined names, e.g. @code{min} is the same as @code{3-}, so @code{d-min} is a minor @code{d} chord. @separate @example @@ -1510,7 +1515,7 @@ silly. @end example -The second argument of @code{\addlyrics} is the melody. We instantiate +The first argument of @code{\addlyrics} is the melody. We instantiate a @code{Staff} context explicitly: should you choose to remove the comment before the ``note heads'' version of the accompaniment, the accompaniment will be on a nameless staff. The melody has to be on @@ -1526,7 +1531,7 @@ the melody and accompaniment staffs different names. @cindex context variables @cindex setting context variables An interpretation context has variables, called properties, that tune -its behaviour. One of the variables is @code{noAutoBeaming}. Setting +its behavior. One of the variables is @code{noAutoBeaming}. Setting this Staff's property to @code{##t}, which is the boolean value @var{true}, turns the automatic beaming mechanism off for the current staff. @cindex GUILE @@ -1589,7 +1594,7 @@ Lyrics. @end example MIDI (Musical Instrument Digital Interface) is a standard for connecting and recording digital instruments. So a MIDI file is like a -tape recording of an instrument. The @code{\midi} block causes makes the +tape recording of an instrument. The @code{\midi} block makes the music go to a MIDI file, so you can listen to the music you entered. It is great for checking the music. Whenever you hear something weird, you probably hear a typing error. @@ -1623,10 +1628,10 @@ The first thing it does, is running LilyPond on the input file. After some calculations, a @file{.tex} is produced. The contents of this file are very low-level instructions. -For example, the following file (@file{miniatures.ly}) +For example, consider the following file (@file{miniatures.ly}) @example -\version "1.3.124" +\version "1.4.0" \header @{ title = "Two miniatures" tagline = "small is beautiful" @@ -1651,7 +1656,7 @@ For example, the following file (@file{miniatures.ly}) @end example The titling in this manual was not generated by ly2dvi, so we can't -exactly show it would look, but the result should resemble this: +exactly show what it would look like, but the result should resemble this: @center @strong{Two miniatures} @flushright @@ -1690,7 +1695,7 @@ Next, now we'll look at the example line by line to explain new things. @separate @example -\version "1.3.124" +\version "1.4.0" @end example Lilypond and its language are still under development, and occasionally, details of the syntax are changed. This fragment indicates for which @@ -1699,7 +1704,7 @@ version number will be checked, and you will get a warning when the file is too old. This version number is also used by the @code{convert-ly} program (See -@ref{convert-ly}), which uses it to update the file to the latest lily +@ref{convert-ly}), which is used to update the file to the latest lily version. @separate @@ -1741,7 +1746,7 @@ note was entered. For more information, see @ref{Point and click}. The @code{\score} blocks that follow in the file don't have @code{\paper} sections, so the settings of this block are substituted: A -paper block, at top-level, i.e. not in a @code{\score} block sets the +paper block at top level, i.e. not in a @code{\score} block sets the default page layout. @separate @@ -1764,7 +1769,7 @@ little space, a longer phrase more space. @end example In previous examples, notes were specified in relative octaves, -i.e. each note was put in the octave that would put it closest to its +i.e. each note was put in the octave that is closest to its predecessor. Besides relative, there is also absolute octave specification, which you get when you don't specify @code{\relative}. In this input mode, the central C is denoted by @code{c'}. Going down, you @@ -1774,7 +1779,7 @@ get @code{c} @code{c,} @code{c,,} etc. Going up, you get @code{c''} When you're copying music from existing sheet music, relative octaves are probably the easiest to use: it's less typing work and errors are easily spotted. However, if you write LilyPond input directly, either by -hand (i.e. composing) or by computer, absolute octaves are easier to use. +hand (i.e. composing) or by computer, absolute octaves may be easier to use. @separate @@ -1890,7 +1895,7 @@ file @file{scm/grob-description.scm}. stemDown = \property Voice.Stem \override #'direction = #-1 @end example -Set a proprerty for all Stem grobs in the current Voice: +Set a property for all Stem grobs in the current Voice: @code{direction} is set to @code{-1}, which encodes down. The setting remains in effect until it is reverted. @@ -1900,7 +1905,7 @@ remains in effect until it is reverted. @end example Revert the to the previous setting. The effect of precisely one -@code{\stemDown} or @code{\stemUp} is neutralised. +@code{\stemDown} or @code{\stemUp} is neutralized. LilyPond includes the identifiers @code{\stemUp}, @code{\stemDown} along @@ -1915,9 +1920,9 @@ viola = \notes \relative c' \context Voice = viola @{ @end example In this example, you can see multiple parts on a staff. Each part is associated with one notation context. This notation context handles -stems and dynamics (among others). The name of this context is +stems and dynamics (among others). The type name of this context is @code{Voice}. For each part we have to make sure that there is -precisely one @code{Voice} context, so we give it an unique name +precisely one @code{Voice} context, so we give it a unique name (`@code{viola}'). @separate @@ -2061,7 +2066,7 @@ etc. Here we fiddle with a property and make a beam. The argument of @end example Normally, grace notes are always stem up, but in this case, the upper -voice interferes. We set the stems down here. +voice interferes, so we set the stems down here. As far as relative mode is concerned, the previous note is the @code{c'''2} of the upper voice, so we have to go an octave down for @@ -2100,8 +2105,8 @@ written out in full eight times. @cindex transposing @cindex relative mode and transposing -Transposing can be done with @code{\transpose}. It takes two arguments -the first specifies what central C should be transposed to. The second +Transposing can be done with @code{\transpose}, which takes two arguments. +The first specifies what central C should be transposed to. The second is the to-be-transposed music. As you can see, in this case, the transposition has no effect, as central C stays at central C. @@ -2258,7 +2263,7 @@ to the end of the piece, and we can set the end bar. Key = \notes \key as \major @end example Declare the key signature of the piece and assign it to the identifier -@var{Key}. Lateron, we'll use @code{\Key} for all staffs except those +@var{Key}. Later on, we'll use @code{\Key} for all staffs except those for transposing instruments. @node The full score @@ -2329,13 +2334,8 @@ conductor's score. indent = 15 * \staffspace linewidth = 60 * \staffspace textheight = 90 * \staffspace - \translator@{ - \VoiceContext - \consists "Multi_measure_rest_engraver" - @} \translator@{ \HaraKiriStaffContext - \remove "Multi_measure_rest_engraver" @} @} \midi @{ @@ -2381,7 +2381,7 @@ When naming the tuning of the french horn, we'll need a piece of text with a flat sign. LilyPond has a mechanism for font selection and kerning called Scheme markup text (See @ref{Text markup}). The flat sign is taken from the music font, and its name is @code{accidentals--1} -(The sharp sign is called @code{accidentals-+1}). The default font is +(The sharp sign is called @code{accidentals-1}). The default font is too big for text, so we select a relative size of @code{-2}. @separate @@ -2403,8 +2403,8 @@ of the properties of a @var{side-position-interface} that can be tweaked is the @var{padding}: the amount of extra space that is put between this Grob and other Grobs. We set the padding to three staff spaces. -You can find all this kind of information in LilyPond's automatically -generated documentation in +You can find information on all these kind of properties in LilyPond's +automatically generated documentation in @ifnottex @ref{ (lilypond-internals)lilypond-internals, LilyPond Internals}. @end ifnottex @@ -2495,8 +2495,11 @@ when they're different. (columns "(E" ,text-flat ")")) @end example The french horn has the most complex scheme markup name, made up of two -lines of text. The second line has two elements (columns), the @code{E} -and the flat sign @code{text-flat} that we defined before. +lines of text. The second line has three elements (columns), the @code{(E}, +the flat sign @code{text-flat} that we defined before and a final @code{")"}. +Note that we use a backquote instead of an ordinary quote at the +beginning of the Scheme expression to be able to access the +@code{text-flat} identifier, `unquoting' it with a @code{,}. @separate @example @@ -2506,7 +2509,7 @@ The french horn is to be tuned in E-flat, so we tell the MIDI backend to transpose this staff by three steps. Note how we can choose different tuning for entering, printing and -playing, using @code{\transpose} and the MIDI Staff proprerty +playing, using @code{\transpose} and the MIDI Staff property @var{transposing}. @separate @@ -2529,6 +2532,12 @@ Usually, LilyPond's predefined setup of notation contexts (Thread, Voice, Staff, Staffgroup, Score) is just fine. But in this case, we want a different type of Staff context. +@example + \translator@{ + \HaraKiriStaffContext + @} +@end example + In orchestral scores, it often happens that one instrument has only rests during one line of the score. The @code{HaraKiriStaffContext} can be used as a regular @code{StaffContext} drop-in and will take care of @@ -2580,7 +2589,7 @@ Opus 1. Because we separated the music definitions from the @code{\score} -instantiations, we can easily define a second score from the music of +instantiations, we can easily define a second score with the music of the second flute. This then is the part for the second flute player. Of course, we make separate parts for all individual instruments. @@ -2616,8 +2625,8 @@ true. Until now, you have been using @file{ly2dvi} to invoke LilyPond. There are three other routes. Firstly, there is a script called @code{lilypond-book}, that allows you to freely mix LilyPond input with -Texinfo or LaTeX input. For example, this manual was written using -@code{lilypond-book}. It is discussed in @ref{lilypond-book}. +Texinfo or \LaTeX input. For example, this manual was written using +@code{lilypond-book}. It is discussed below and in @ref{lilypond-book}. Secondly, you can generate PostScript directly. This is useful if you @@ -2627,9 +2636,10 @@ PostScript output, invoke LilyPond as follows: @example lilypond -f ps test.ly @end example -You have to set some environment variables to view or print this -output. More information can be found in @ref{Invoking -LilyPond}. +You have to set some environment variables to view or print this output. +More information can be found in @ref{Invoking LilyPond}. Since the +direct Postscript generation has some problems, it is recommended +to use @file{ly2dvi}. Thirdly, if you want to do special things with your output, you can run @@ -2726,7 +2736,7 @@ $ xdvi lilbook @end example Notice the @code{outdir} option to lilypond-book. Running lilypond-book -and running latex creates a lot of temporary files, and you wouldn't +and running latex creates a lot of temporary files, and you wouldn't want those to clutter up your working directory. Hence, we have them created in a separate subdirectory. diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index a21a2a4959..e6e07253ca 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -83,7 +83,7 @@ Tuplet_bracket::brew_molecule (SCM smob) { number_visibility = gh_scm2bool (numb); } - else if (bracket == ly_symbol2scm ("if-no-beam")) + else if (numb == ly_symbol2scm ("if-no-beam")) number_visibility = !par_beam; diff --git a/make/ly-rules.make b/make/ly-rules.make index 8c6dc1e97e..4c238e1fb6 100644 --- a/make/ly-rules.make +++ b/make/ly-rules.make @@ -1,6 +1,6 @@ # Mudela_rules.make -.SUFFIXES: .doc .dvi .mudtex .tely .texi +.SUFFIXES: .doc .dvi .mudtex .tely .texi .ly $(outdir)/%.latex: %.doc @@ -34,6 +34,8 @@ $(outdir)/%.info: $(outdir)/%.nexi #$(outdir)/%.nfo: $(outdir)/%.nexi # $(MAKEINFO) --output=$(outdir)/$(*F).info $< +$(outdir)/%.tex: $(outdir)/%.ly + $(LILYPOND) $(LILYPOND_BOOK_INCLUDES) -o $@ $< # # Timothy's booklet -- 2.39.5