]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/tweaks.itely
Merge branch 'lilypond/translation' of ssh://trettig@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / Documentation / user / tweaks.itely
index 387d119fec5b621ee2af8c94835bb26268798a10..5914c6b6c17d8ea0bd7a1ac85c0b537d30104969 100644 (file)
@@ -836,7 +836,7 @@ to the front of these values when they are entered in the
   @tab @code{2.5}, @code{0.34}
 @item Direction
   @tab A valid direction constant or its numerical equivalent
-  @tab @code{#LEFT}, @code{#CENTER}, @code{#UP},
+  @tab @code{LEFT}, @code{CENTER}, @code{UP},
        @code{1}, @code{-1}
 @item Integer
   @tab A positive whole number
@@ -2287,7 +2287,7 @@ context handles a certain object.  Since the @code{MetronomeMark}
 object
 is handled in the @code{Score} context, property changes in the
 @code{Voice} context will not be noticed.  For more details, see
-@ruser{Constructing a tweak}.
+@ruser{Modifying properties}.
 
 If the @code{padding} property of an object is increased when that
 object is in a stack of objects being positioned according to
@@ -2557,12 +2557,12 @@ Here's the final result:
 @node Real music example
 @subsection Real music example
 
-We end this section on Tweaks by showing the steps to be taken to 
-deal with a tricky example which needs several tweaks to produce 
-the desired output.  The example has been deliberately chosen to 
-illustrate the use of the Notation Reference to resolve unusual 
-problems with notation.  It is not representative of more usual 
-engraving process, so please do not let these difficulties put 
+We end this section on Tweaks by showing the steps to be taken to
+deal with a tricky example which needs several tweaks to produce
+the desired output.  The example has been deliberately chosen to
+illustrate the use of the Notation Reference to resolve unusual
+problems with notation.  It is not representative of more usual
+engraving process, so please do not let these difficulties put
 you off!  Fortunately, difficulties like these are not very common!
 
 The example is from Chopin's Première Ballade, Op. 23, bars 6 to
@@ -2580,8 +2580,8 @@ rhMusic = \relative c'' {
   bes1~ |
   \bar "||"
   \time 6/4
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   bes2.^\markup {\bold "Moderato"} r8
   <<
     {c,8[ d fis bes a] | }
@@ -2596,8 +2596,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4.}
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2679,10 +2679,10 @@ lhMusic = \relative c' {
 All the notes are right, but the appearance is far from
 satisfactory.  The tie clashes with the change in time signature,
 the beaming in the third bar is wrong, the notes are not
-merged together, and several notation elements are missing.  
+merged together, and several notation elements are missing.
 Let's first deal with the easier things.
 We can correct the beaming by inserting a beam
-manually, and we can easily add the left hand slur and the right 
+manually, and we can easily add the left hand slur and the right
 hand phrasing slur, since these were all covered in the Tutorial.
 Doing this gives:
 
@@ -2792,28 +2792,28 @@ lhMusic = \relative c' {
 @end lilypond
 
 On to bar three and the start of the Moderato section.  The
-tutorial showed how to add embolded text with the
-@code{\markup} command, so adding @q{Moderato} in bold is easy.
-But how do we merge notes in different voices together?  The
-index in the Notation Reference does not mention merging,
-but a search of the text for @q{merge} quickly leads us to
-the overrides for merging differently headed and differently
+tutorial showed how to add embolded text with the @code{\markup}
+command, so adding @q{Moderato} in bold is easy.
+But how do we merge notes in different voices together?  This is
+where we need to turn to the Notation Reference for help.  A search
+for @qq{merge} in the Notation Reference index quickly leads us to
+the commands for merging differently headed and differently
 dotted notes in @ruser{Collision resolution}.  In our
 example we need to merge both types of note for the duration
 of the polyphonic section in bar 3, so using the information
-in the Notation Reference we add
+we find in the Notation Reference we add
 
 @example
-\override Staff.NoteCollision #'merge-differently-headed = ##t
-\override Staff.NoteCollision #'merge-differently-dotted = ##t
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
 @end example
 
 @noindent
 to the start of that section and
 
 @example
-\revert Staff.NoteCollision #'merge-differently-headed
-\revert Staff.NoteCollision #'merge-differently-dotted
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
 @end example
 
 @noindent
@@ -2827,8 +2827,8 @@ rhMusic = \relative c'' {
   \bar "||"
   \time 6/4
   bes2.^\markup {\bold "Moderato"} r8
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   % Start polyphonic section of four voices
   <<
     {c,8[ d fis bes a] | }
@@ -2839,8 +2839,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4. | }
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted  
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2866,11 +2866,11 @@ lhMusic = \relative c' {
 }
 @end lilypond
 
-These overrides have merged the two F-sharp notes, but not the two 
+These overrides have merged the two F-sharp notes, but not the two
 on D.  Why not?  The answer is there in the same section in the
-Notation Reference -- notes being merged must have stems in 
-opposite directions and two notes cannot be merged successfully if 
-there is a third note in the same note column.  Here the two D's 
+Notation Reference -- notes being merged must have stems in
+opposite directions and two notes cannot be merged successfully if
+there is a third note in the same note column.  Here the two D's
 both have upward stems and there is a third note -- the C.  We know
 how to change the stem direction using @code{\stemDown}, and
 the Notation Reference also says how to move the C -- apply a shift
@@ -2878,7 +2878,7 @@ using one of the @code{\shift} commands.  But which one?
 The C is in voice two which has shift off, and the two D's are in
 voices one and three, which have shift off and shift on,
 respectively.  So we have to shift the C a further level still
-using @code{\shiftOnn} to avoid it interfering with the two D's.  
+using @code{\shiftOnn} to avoid it interfering with the two D's.
 Applying these changes gives:
 
 @lilypond[quote,verbatim,ragged-right]
@@ -2889,8 +2889,8 @@ rhMusic = \relative c'' {
   \bar "||"
   \time 6/4
   bes2.^\markup {\bold "Moderato"} r8
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   % Start polyphonic section of four voices
   <<
     {c,8[ d fis bes a] | }
@@ -2903,8 +2903,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4. | }
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2945,8 +2945,8 @@ rhMusic = \relative c'' {
   \bar "||"
   \time 6/4
   bes2.^\markup {\bold "Moderato"} r8
-  \override Staff.NoteCollision #'merge-differently-headed = ##t
-  \override Staff.NoteCollision #'merge-differently-dotted = ##t
+  \mergeDifferentlyHeadedOn
+  \mergeDifferentlyDottedOn
   <<
     {c,8[ d fis bes a] | }
   \\
@@ -2960,8 +2960,8 @@ rhMusic = \relative c'' {
   \\
     {s4 fis4.}
   >>
-  \revert Staff.NoteCollision #'merge-differently-headed
-  \revert Staff.NoteCollision #'merge-differently-dotted
+  \mergeDifferentlyHeadedOff
+  \mergeDifferentlyDottedOff
   g2.\)
 }
 
@@ -2992,13 +2992,11 @@ lhMusic = \relative c' {
 @section Further tweaking
 
 @menu
-* Other uses for tweaks::       
-* Using variables for tweaks::  
-* Other sources of information::  
-* Avoiding tweaks with slower processing::  
+* Other uses for tweaks::
+* Using variables for tweaks::
+* Other sources of information::
+* Avoiding tweaks with slower processing::
 * Advanced tweaks with Scheme::  
-* context list FIXME::          
-* another thing FIXME::         
 @end menu
 
 @node Other uses for tweaks
@@ -3073,8 +3071,8 @@ For example, if we wished to change the metronome setting in order
 to simulate a fermata in the MIDI output we would not want the
 metronome markings to appear in the printed output, and we would
 not want it to influence the spacing between the two systems or
-the spacing of the notes on the staff.  So setting its
-@code{stencil} property to @code{#f} would be the best way.
+the positions of adjacent annotations on the staff.  So setting
+its @code{stencil} property to @code{#f} would be the best way.
 We show here the effect of the two methods:
 
 @lilypond[quote,verbatim,ragged-right]
@@ -3084,12 +3082,30 @@ We show here the effect of the two methods:
     \tempo 4=120
     a4 a a
     \once \override Score.MetronomeMark #'transparent = ##t
-    % Invisible tempo marking to lengthen fermata note in MIDI
+    % Invisible tempo marking to lengthen fermata in MIDI
     \tempo 4=80
     a\fermata
-    \once \override Score.MetronomeMark #'stencil = ##f
-    % Invisible tempo marking to restore tempo in MIDI
+    % New tempo for next section
+    \tempo 4=100
+    a a a a
+  }
+  \layout { }
+  \midi { }
+}
+@end lilypond
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  \relative c'' {
+    % Visible tempo marking
     \tempo 4=120
+    a4 a a
+    \once \override Score.MetronomeMark #'stencil = ##f
+    % Invisible tempo marking to lengthen fermata in MIDI
+    \tempo 4=80
+    a\fermata
+    % New tempo for next section
+    \tempo 4=100
     a a a a
   }
   \layout { }
@@ -3098,10 +3114,11 @@ We show here the effect of the two methods:
 @end lilypond
 
 @noindent
-Both methods remove the metronome mark from the printed output,
-and both affect the MIDI timing as required, but the first
-(transparent) metronome mark still influences the note spacing
-while the second (with no stencil) does not.
+Both methods remove the metronome mark which lengthens the fermata
+from the printed output, and both affect the MIDI timing as 
+required, but the transparent metronome mark in the first line
+forces the following tempo indication too high while the
+second (with the stencil removed) does not.
 
 @node Using variables for tweaks
 @subsection Using variables for tweaks
@@ -3173,15 +3190,24 @@ VerseFour  = \lyricmode { O | \emph Tri -- ni -- ty \norm of | love and pow'r }
 
 The Internals Reference documentation contains a lot of information
 about LilyPond, but even more information can be gathered by
-looking at the internal LilyPond files.  To explore these, first
-find the directory appropriate to your system, as follows:
+looking at the internal LilyPond files.  To explore these, you must
+first find the directory appropriate to your system.  The location
+of this directory depends (a) on whether you obtained LilyPond
+by downloading a precompiled binary from lilypond.org
+or whether you installed it from a package manager (i.e.
+distributed with Linux, or installed under fink or cygwin) or
+compiled it from source, and (b) on which operating system it is 
+being used:
+
+@strong{Downloaded from lilypond.org}
 
-@strong{Download from lilypond.org: Linux}
+@itemize @bullet
+@item Linux
 
 Navigate to
 @file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/}
 
-@strong{Download from lilypond.org: MacOS X}
+@item MacOS X
 
 Navigate to
 @file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
@@ -3189,19 +3215,20 @@ by either @code{cd}-ing into this directory from the
 Terminal, or control-clicking on the LilyPond application and
 selecting @q{Show Package Contents}.
 
-@strong{Download from lilypond.org: Windows}
+@item Windows
 
 Using Windows Explorer, navigate to
 @file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
 
-@strong{Installed from a package manager or from source: all}
+@end itemize
+
+@strong{Installed from a package manager or compiled from source}
 
 Navigate to
 @file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, where
 @var{PREFIX} is set by your package manager or @code{configure}
 script, and @var{X.Y.Z} is the LilyPond version number.
 
-
 @smallspace
 
 Within this directory the two interesting subdirectories are
@@ -3372,174 +3399,3 @@ can be found in @ref{Tweaking with Scheme}.
 
 
 
-
-@node context list FIXME
-@subsection context list FIXME
-
->> > > - list of contexts: my *danger unmaintainable* 
->> > > alarm just went off.  I'm 
-
-I knew it would... And leaving out some of them is perfectly fine
-with me.
-I do think that a list like this, with the main contexts and a
-brief
-description of  what they do (perhaps also with a note about what
-default
-behavior is associated with each of them, but this may be
-unmanageable),
-should be there, and then we could simply list the remaining ones
-without
-further explanation and with links to the IR.
-
-
-The Master Of All Contexts
-==========================
-
-    * Score
-        This is the top level notation context. No other context
-can
-        contain a Score context. This context handles the
-        administration of time signatures. It also makes sure that
-        items such as clefs, time signatures, and key-signatures
-are
-        aligned across staves.
-        You cannot explicitly instantiate a Score context (since
-it is
-        not contained in any other context). It is instantiated
-        automatically when an output definition (a \score or
-\layout
-        block) is processed. 
-        (it should also be made clear somewhere what the
-difference is between
-        \score and \Score).
-
-Top-level contexts: Staff containers
-====================================
-    * StaffGroup
-        Groups staves while adding a bracket on the left side,
-        grouping the staves together. The bar lines of the
-contained
-        staves are connected vertically. StaffGroup only consists
-of a
-        collection of staves, with a bracket in front and spanning
-bar
-        lines.
-    * ChoirStaff
-        Identical to StaffGroup except that the contained staves
-are
-        not connected vertically.
-    * GrandStaff
-        A group of staves, with a brace on the left side, grouping
-the
-        staves together. The bar lines of the contained staves are
-        connected vertically.
-    * PianoStaff
-        Just like GrandStaff but with a forced distance between
-the
-        staves, so cross staff beaming and slurring can be used.
-    * DrumStaff
-        Handles typesetting for percussion. Can contain DrumVoice
-    * InnerStaffGroup
-    * InnerChoirStaff
-
-Staff-level contexts
-====================
-    * Staff
-        Handles clefs, bar lines, keys, accidentals. It can
-contain
-        Voice contexts.
-    * RhythmicStaff
-        Like Staff but for printing rhythms. Pitches are
-        ignored; the notes are printed on one line.
-    * TabStaff
-        Context for generating tablature. By default lays the
-music
-        expression out as a guitar tablature, printed on six
-lines.
-    * VaticanaStaff
-        Same as Staff, except that it is accommodated for
-        typesetting a piece in gregorian style. 
-    * MensuralStaff
-        Same as Staff, except that it is accommodated for
-        typesetting a piece in mensural style. 
-
-Voice-level (bottom) contexts
-=============================
-What is generated by default here?  The voice-level contexts
-initiate
-certain properties and start engravers. 
-
-    * Voice 
-        Corresponds to a voice on a staff. This context handles
-the
-        conversion of dynamic signs, stems, beams, super- and
-        subscripts, slurs, ties, and rests.
-        You have to instantiate this explicitly if you want to
-have
-        multiple voices on the same staff. 
-        Bottom context.
-    * VaticanaVoice
-        Same as Voice, except that it is accommodated for
-        typesetting a piece in gregorian style.  
-    * MensuralVoice
-        Same as Voice, except that it is accommodated for
-        typesetting a piece in mensural style. 
-    * Lyrics
-        Corresponds to a voice with lyrics. Handles the printing
-of a
-        single line of lyrics.
-        Bottom context.
-    * DrumVoice
-        A voice on a percussion staff.
-    * FiguredBass
-         
-    * ChordNames
-        Typesets chord names.  This context is a `bottom' context;
-it
-        cannot contain other contexts.
-
-------------------------------
-Then the following, which I don't know what to do with:
-
-    * TabVoice
-    * GregorianTranscriptionVoice
-    * GregorianTranscriptionStaff
-
-    * FretBoards
-        Engraves fretboards from chords. Not easy... Not
-documented.
-    * NoteNames
-
-    * CueVoice Not documented
-    * Global
-        Hard coded entry point for LilyPond. Cannot be tuned.
-    * Devnull
-        Silently discards all musical information given to this
-context.
-
-
-@node another thing FIXME
-@subsection another thing FIXME
-
-Another thing that is needed, is an overview of the various naming
-conventions: 
-
-    scheme functions: lowercase-with-hyphens (incl. one-word
-names)
-    scheme functions: ly:plus-scheme-style
-    music events, music classes and music properties:
-as-scheme-functions
-    Grob interfaces: scheme-style
-    backend properties: scheme-style (but X and Y!)
-    contexts (and MusicExpressions and grobs): Capitalized or
-CamelCase
-    context properties: lowercaseFollowedByCamelCase
-    engravers:
-Capitalized_followed_by_lowercase_and_with_underscores
-
-Which of these are conventions and which are rules?
-Which are rules of the underlying language, and which are
-LP-specific?
-
-
-