X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Finput.itely;h=a162c0ecce7326429288388e47b2380b6312d69f;hb=6cdba57f41aacc76397ab921972d91345990c770;hp=dc7045fe70c7482af2d30a6cf043772a9c041826;hpb=b38fd63a19190741c0c19faf6a904af82c3f434c;p=lilypond.git diff --git a/Documentation/notation/input.itely b/Documentation/notation/input.itely index dc7045fe70..a162c0ecce 100644 --- a/Documentation/notation/input.itely +++ b/Documentation/notation/input.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.14.0" +@c \version "2.15.17" @node General input and output @chapter General input and output @@ -413,9 +413,10 @@ music expression will be translated into @{ c'4 d' e'2 @} @} @} + \layout @{ @} @} - \layout @{ @} - \header @{ @} + \paper @{ @} + \header @{ @} @} @end example @@ -1065,13 +1066,13 @@ ie. a two digit number. @node Table of contents @subsection Table of contents -A table of contents is included using the @code{\markuplines \table-of-contents} +A table of contents is included using the @code{\markuplist \table-of-contents} command. The elements which should appear in the table of contents are entered with the @code{\tocItem} command, which may be used either at top-level, or inside a music expression. @verbatim -\markuplines \table-of-contents +\markuplist \table-of-contents \pageBreak \tocItem \markup "First score" @@ -1154,7 +1155,7 @@ tocAct = (add-toc-item! 'tocActMarkup text)) \book { - \markuplines \table-of-contents + \markuplist \table-of-contents \tocAct \markup { Atto Primo } \tocItem \markup { Coro. Viva il nostro Alcide } \tocItem \markup { Cesare. Presti omai l'Egizzia terra } @@ -1174,7 +1175,7 @@ Dots can be added to fill the line between an item and its page number: } \book { - \markuplines \table-of-contents + \markuplist \table-of-contents \tocItem \markup { Allegro } \tocItem \markup { Largo } \markup \null @@ -1200,7 +1201,7 @@ Init files: @file{../ly/toc-init.ly}. @menu * Including LilyPond files:: * Different editions from one source:: -* Text encoding:: +* Special characters:: @end menu @@ -1306,32 +1307,30 @@ version of LilyPond. Some simple examples of using @code{\include} are shown in @rlearning{Scores and parts}. - @seealso Learning Manual: @rlearning{Other sources of information}, @rlearning{Scores and parts}. - @knownissues - If an included file is given a name which is the same as one in LilyPond's installation files, LilyPond's file from the installation files takes precedence. - @node Different editions from one source @subsection Different editions from one source -Several mechanisms are available to facilitate the generation -of different versions of a score from the same music source. -Variables are perhaps most useful for combining lengthy sections -of music and/or annotation in various ways, while tags are more -useful for selecting one from several alternative shorter sections -of music. Whichever method is used, separating the notation from -the structure of the score will make it easier to change the -structure while leaving the notation untouched. +Several methods can be used to generate different versions of a score +from the same music source. Variables are perhaps the most useful for +combining lengthy sections of music and/or annotation. Tags are more +useful for selecting one section from several alternative shorter +sections of music, and can also be used for splicing pieces of music +together at different points. + +Whichever method is used, separating the notation from the structure of +the score will make it easier to change the structure while leaving the +notation untouched. @menu * Using variables:: @@ -1406,9 +1405,12 @@ LilyPond files}. @funindex \tag @funindex \keepWithTag @funindex \removeWithTag +@funindex \pushToTag +@funindex \appendToTag @cindex tag @cindex keep tagged music @cindex remove tagged music +@cindex splice into tagged music The @code{\tag #'@var{partA}} command marks a music expression with the name @var{partA}. @@ -1533,6 +1535,30 @@ expression will cause @emph{all} tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section. +Sometimes you want to splice some music at a particular place in an +existing music expression. You can use @code{\pushToTag} and +@code{\appendToTag} for adding material at the front or end of the +@code{elements} of an existing music construct. Not every music +construct has @code{elements}, but sequential and simultaneous music are +safe bets: + +@lilypond[verbatim,quote] +test = { \tag #'here { \tag #'here <> } } + +{ + \pushToTag #'here c' + \pushToTag #'here e' + \pushToTag #'here g' \test + \appendToTag #'here c' + \appendToTag #'here e' + \appendToTag #'here g' \test +} +@end lilypond + +Both commands get a tag, the material to splice in at every occurence of +the tag, and the tagged expression. The commands make sure to +copy everything that they change so that the original @code{\test} +retains its meaning. @seealso Learning Manual: @@ -1582,12 +1608,23 @@ Learning Manual: Notation Reference: @ref{Including LilyPond files}. +@node Special characters +@subsection Special characters + +@cindex special characters +@cindex non-ASCII characters + +@menu +* Text encoding:: +* Unicode:: +* ASCII aliases:: +@end menu + + @node Text encoding -@subsection Text encoding +@unnumberedsubsubsec Text encoding -@cindex Unicode @cindex UTF-8 -@cindex non-ASCII characters LilyPond uses the character repertoire defined by the Unicode consortium and ISO/IEC 10646. This defines a unique name and @@ -1652,6 +1689,12 @@ portuguese = \lyricmode { \addlyrics { \portuguese } @end lilypond + +@node Unicode +@unnumberedsubsubsec Unicode + +@cindex Unicode + To enter a single character for which the Unicode code point is known but which is not available in the editor being used, use either @code{\char ##xhhhh} or @code{\char #dddd} within a @@ -1701,6 +1744,58 @@ To enter the copyright sign in the copyright notice use: @end example +@node ASCII aliases +@unnumberedsubsubsec ASCII aliases + +A list of ASCII aliases for special characters can be included: + +@lilypond[quote,verbatim] +\paper { + #(include-special-characters) +} + +\markup "&flqq; – &OE;uvre incomplète… &frqq;" + +\score { + \new Staff { \repeat unfold 9 a'4 } + \addlyrics { + This is al -- so wor -- kin'~in ly -- rics: –_&OE;… + } +} + +\markup \column { + "The replacement can be disabled:" + "– &OE; …" + \override #'(replacement-alist . ()) "– &OE; …" +} +@end lilypond + +You can also make your own aliases, either globally: + +@lilypond[quote,verbatim] +\paper { + #(add-text-replacements! + '(("100" . "hundred") + ("dpi" . "dots per inch"))) +} +\markup "A 100 dpi." +@end lilypond + +or locally: + +@lilypond[quote,verbatim] +\markup \replace #'(("100" . "hundred") + ("dpi" . "dots per inch")) "A 100 dpi." +@end lilypond + +@seealso +Notation Reference: +@ref{List of special characters}. + +Installed Files: +@file{ly/text-replacements.ly}. + + @node Controlling output @section Controlling output @@ -1869,10 +1964,9 @@ Standard MIDI oputput is somewhat crude; optionally, an enhanced and more realistic MIDI output is available by means of @ref{The Articulate script}. -@c TODO Check this -The midi output allocates a channel for each staff, and one for global -settings. Therefore the midi file should not have more than 15 staves -(or 14 if you do not use drums). Other staves will remain silent. +The MIDI output allocates a channel for each staff, and reserves channel +10 for drums. There are only 16 MIDI channels per device, so if the +score contains more than 15 staves, MIDI channels will be reused. @menu * Creating MIDI files:: @@ -2535,8 +2629,9 @@ display musical information as text. @funindex \displayLilyMusic Displaying a music expression in LilyPond notation can be -done with the music function @code{\displayLilyMusic} but only when -using the command line. For example, +done with the music function @code{\displayLilyMusic}. To see the +output, you will typically want to call LilyPond using the command +line. For example, @example @{ @@ -2559,6 +2654,21 @@ redirect the output to a file. lilypond file.ly >display.txt @end example +@funindex \void +Note that Lilypond does not just display the music expression, but +also interprets it (since @code{\displayLilyMusic} returns it in +addition to displaying it). This is convenient since you can just +insert @code{\displayLilyMusic} into existing music in order to get +information about it. If you don't actually want Lilypond to +interpret the displayed music as well as display it, use @code{\void} +in order to have it ignored: + +@example +@{ + \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @} +@} +@end example + @node Displaying scheme music expressions @subsection Displaying scheme music expressions