]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into translation
authorJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 29 Jan 2017 09:33:10 +0000 (10:33 +0100)
committerJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 29 Jan 2017 09:33:10 +0000 (10:33 +0100)
Documentation/notation/changing-defaults.itely
Documentation/notation/chords.itely
Documentation/notation/percussion.itely
Documentation/notation/rhythms.itely
Documentation/web/community.itexi
ly/music-functions-init.ly

index c8f9ebc510c3ee2f5b993291025278bb2a8a37ff..222615a33f722a5ce07f6b5349bb659bda4d0c39 100644 (file)
@@ -1005,8 +1005,26 @@ command:
 @}
 @end example
 
-Since such a @q{context modification} is specified inside of
-music, it will affect @emph{all} outputs (typesetting @emph{and}
+Alternatively, if the music is being entered using the short form of the
+input mode-specifying commands, e.g. @code{\chords} rather than
+@code{\chordmode}, the @code{\with} command must be placed immediately
+after the mode-specifying command:
+
+@example
+\chords \with @{ [context settings for this (implicit) context instance only] @}
+@{
+  @dots{}
+@}
+@end example
+
+@noindent
+as it is the implicit context created by these short forms which should
+be modified.  The same consideration applies to the other input
+mode-specifying short forms (@code{\drums}, @code{\figures}), see
+@ref{Input modes}.
+
+Since context modifications specified in @code{\with} blocks are inside
+music, they will affect @emph{all} outputs (typesetting @emph{and}
 Midi) as opposed to changes within an output definition.
 
 The following types of settings may be specified:
@@ -1082,6 +1100,10 @@ A predefined command such as @code{\dynamicUp}
 
 @end itemize
 
+@seealso
+Notation Reference:
+@ref{Input modes}
+
 @node Order of precedence
 @unnumberedsubsubsec Order of precedence
 
@@ -2614,43 +2636,56 @@ modified by completely re-defining them as alists.}
 @subsection Input modes
 
 The way in which the notation contained within an input file is
-interpreted is determined by the current input mode.
+interpreted is determined by the current input mode.  In general,
+there are two ways of specifying the mode: a long form, e.g.
+@code{\chordmode}, and a short form, e.g. @code{\chords}.  The long
+form is typically used when supplying input to a variable or when
+entering input directly into an explicitly created context.  The short
+form implicitly creates a context of the correct type for the input and
+passes the input directly to it.  It is useful in simple situations
+when there is no requirement to explicitly create the receiving context.
 
 @subsubsubheading Chord mode
 
 This is activated with the @code{\chordmode} command, and causes
 input to be interpreted with the syntax of chord notation, see
-@ref{Chord notation}.  Chords are rendered as notes on a staff.
+@ref{Chord notation}.  Music in chord mode is rendered as chords on a staff
+when entered into a @code{Staff} context, as chord names when entered
+into a @code{ChordNames} context or as fret boards when entered into
+a @code{FretBoards} context.
 
-Chord mode is also activated with the @code{\chords} command.
-This also creates a new @code{ChordNames} context and
-causes the following input to be interpreted with the syntax of
-chord notation and rendered as chord names in the @code{ChordNames}
-context, see @ref{Printing chord names}.
+Chord mode is also activated with the @code{\chords} command.  This
+also causes the following input to be interpreted with the syntax of
+chord notation but in addition it implicitly creates a new
+@code{ChordNames} context and renders the input into it as chord names,
+see @ref{Printing chord names}.
 
 @subsubsubheading Drum mode
 
 This is activated with the @code{\drummode} command, and causes
 input to be interpreted with the syntax of drum notation, see
-@ref{Basic percussion notation}.
+@ref{Basic percussion notation}.  Music in drum mode is rendered as
+percussion notes when entered into a @code{DrumStaff} context.
 
-Drum mode is also activated with the @code{\drums} command.
-This also creates a new @code{DrumStaff} context and causes the
-following input to be interpreted with the syntax of drum notation
-and rendered as drum symbols on a drum staff, see
-@ref{Basic percussion notation}.
+Drum mode is also activated with the @code{\drums} command.  This
+also causes the following input to be interpreted with the syntax of
+drum notation but in addition it implicitly creates a new
+@code{DrumStaff} context and renders the input into it as percussion
+notes, see @ref{Basic percussion notation}.
 
 @subsubsubheading Figure mode
 
 This is activated with the @code{\figuremode} command, and causes
 input to be interpreted with the syntax of figured bass, see
-@ref{Entering figured bass}.
+@ref{Entering figured bass}.  Music in figure mode is rendered as
+figured bass when entered into a @code{FiguredBass} context or a
+@code{Staff} context.
 
 Figure mode is also activated with the @code{\figures} command.
-This also creates a new @code{FiguredBass} context and causes the
-following input to be interpreted with the figured bass syntax
-and rendered as figured bass symbols in the @code{FiguredBass}
-context, see @ref{Introduction to figured bass}.
+This also causes the following input to be interpreted with the
+figured bass syntax but in addition it implicitly creates a new
+@code{FiguredBass} context and renders the input into it as figured
+bass, see @ref{Introduction to figured bass}.
 
 @subsubsubheading Fret and tab modes
 
@@ -2660,22 +2695,29 @@ To create tab diagrams, enter notes or chords in note mode and
 render them in a @code{TabStaff} context, see
 @ref{Default tablatures}.
 
-To create fret diagrams above a staff, you have two choices.
-You can either use the @code{FretBoards} context (see
-@ref{Automatic fret diagrams}) or you can enter them as a markup
-above the notes using the @code{\fret-diagram} command (see
-@ref{Fret diagram markups}).
+To create fret diagrams above a staff, enter notes or chords in either
+note mode or chord mode and render them in a @code{FretBoards} context,
+see @ref{Automatic fret diagrams}.  Alternatively, fret diagrams can be
+entered as markup above the notes using the @code{\fret-diagram}
+command, see @ref{Fret diagram markups}.
 
 @subsubsubheading Lyrics mode
 
 This is activated with the @code{\lyricmode} command, and causes
 input to be interpreted as lyric syllables with optional durations
-and associated lyric modifiers, see @ref{Vocal music}.
-
-Lyric mode is also activated with the @code{\addlyrics} command.
-This also creates a new @code{Lyrics} context and an implicit
-@code{\lyricsto} command which associates the following lyrics
-with the preceding music.
+and associated lyric modifiers, see @ref{Vocal music}.  Input in
+lyric mode is rendered as lyric syllables when entered into a
+@code{Lyrics} context.
+
+Lyric mode is also activated with the @code{\lyrics} command.  This
+also causes the following input to be interpreted as lyric syllables
+but in addition it implicitly creates a new @code{Lyrics} context and
+renders the input into it as lyric syllables.
+
+Lyric mode is also activated with the @code{\addlyrics} command.  This
+also implicitly creates a new @code{Lyrics} context and in addition it
+adds an implicit @code{\lyricsto} command which associates the following
+lyrics with the preceding music, see @ref{Automatic syllable durations}.
 
 @subsubsubheading Markup mode
 
index acc8f14f9d1488d100d5b5c6e31d10c08c1f8d6a..49ade62bfe30d56f5a8d160c1797c181ce726d8e 100644 (file)
@@ -458,7 +458,7 @@ Rests passed to a @code{ChordNames} context will cause the
 @funindex{\chords}
 
 @code{\chords @{ @dots{} @}} is a shortcut notation for
-@code{\new ChordNames @{ \chordmode @{ @dots{} @} @}}.
+@code{\new ChordNames \chordmode @{ @dots{} @}}.
 
 @lilypond[verbatim,quote,ragged-right]
 \chords {
@@ -806,7 +806,7 @@ entry of bass figures, and there is a context named
 in @code{Staff} contexts.
 
 @code{\figures@{ @dots{} @}} is a shortcut notation for
-@code{\new FiguredBass @{ \figuremode @{ @dots{} @} @}}.
+@code{\new FiguredBass \figuremode @{ @dots{} @}}.
 
 
 Although the support for figured bass may superficially resemble chord
index b17dd888ee6d79047090f0c4a2389b3406279ade..c6502992b0796ddf8dd53ed75090f895b7a20d77 100644 (file)
@@ -78,10 +78,8 @@ which creates the correct context and entry mode for percussion:
 This is shorthand for:
 
 @lilypond[quote,verbatim]
-\new DrumStaff {
-  \drummode {
-    hihat4 hh bassdrum bd
-  }
+\new DrumStaff \drummode {
+  hihat4 hh bassdrum bd
 }
 @end lilypond
 
index 9d4a75634699f2515e5936f5fc3b1c0d171c3b05..8dc6252ecaf2f7f18bba4cc3cc6e209760e5b612 100644 (file)
@@ -1929,6 +1929,22 @@ be done with the @code{Pitch_squash_engraver} and
 >>
 @end lilypond
 
+Music containing chords can also be used as input to @code{RhythmicStaff}
+and for use with the @code{Pitch_squash_engraver} if the chords are first
+reduced to single notes with the @code{\reduceChords} music function:
+
+@lilypond[quote,verbatim]
+\new RhythmicStaff {
+  \time 4/4
+  \reduceChords {
+    <c>2
+    <e>2
+    <c e g>2
+    <c e g>4
+    <c e g>4
+  }
+}
+@end lilypond
 
 @predefined
 @code{\improvisationOn},
index 712f31dc904649d9681b6a29b43cf52c2b2b20e1..69e30954b249ae6505482759999adbe87969248e 100644 (file)
@@ -942,6 +942,33 @@ easily learned
 
 @divEnd
 
+@divClass{column-center-middle-color3}
+@subheading Adopt the SMuFL music font encoding standard
+
+For several years now a new standard for music fonts has been around:
+@uref{http://www.smufl.org/, SMuFL}, which is also discussed as becoming part of
+a future W3C standard for music encoding.  As a FLOSS tool LilyPond should
+adhere to such an open standard instead of using an isolated solution like it
+does today.  Adopting SMuFL will help integrating LilyPond with the world of
+music notation software and eventually give LilyPond users access to a wider
+selection of notation fonts.
+
+Making LilyPond compliant to SMuFL includes remapping of the glyphs that are
+built from METAFONT sources, adjusting the glyphs' metrics to SMuFL's
+specifications, and finally updating the way LilyPond looks up and positions the
+glyphs.  As an optional part of this project LilyPond's font loading mechanism
+could be modified to use notation fonts installed as system fonts instead of
+inside the LilyPond installation.
+
+@strong{Difficulty:} Easy/medium
+@strong{Requirements:} C++ and willingness to get familiar with LilyPond
+internals.
+@strong{Recommended:} Interest and experience in working with font files.
+A little bit of METAFONT.
+@strong{Mentors:} Werner Lemberg, Abraham Lee
+
+@divEnd
+
 @divClass{column-center-middle-color3}
 @subheading Adding variants of font glyphs
 
index 1f94319bce743ca1e6994eebdff7daa672db0e12..d7eba42a4b03159d4b14860031596db4930111ff 100644 (file)
@@ -1506,6 +1506,12 @@ usually contains spacers or multi-measure rests.")
                'element main-music
                'quoted-music-name what))
 
+reduceChords =
+#(define-music-function (music) (ly:music?)
+   (_i "Reduce chords contained in @var{music} to single notes,
+intended mainly for reusing music in RhythmicStaff.  Does not
+reduce parallel music.")
+   (event-chord-reduce music))
 
 relative =
 #(define-music-function (pitch music)