SOURCES
-The sources live in a GIT repository. Git 1.4.4.1 or newer is
-required, and Git 1.5.x is highly recommended. To get a fresh version
-of LilyPond sources run
+The sources live in a GIT repository. Git 1.5.x is required, and
+latest version available on your platform is always recommended. To
+get a fresh version of LilyPond sources run
- mkdir lily ; cd lily
- git init-db
- git fetch git://git.sv.gnu.org/lilypond.git/ refs/heads/lilypond/translation:lilypond/translation
- git checkout -b mytranslations lilypond/translation
+ mkdir lily ; cd lily ; git init-db ; mkdir .git/refs/remotes/origin
+
+then write the two following lines to a text file named .git/remotes/trans
+
+URL: git://git.sv.gnu.org/lilypond.git/
+Pull: lilypond/translation:refs/remotes/origin/lilypond/translation
+
+then run
+
+ git fetch trans
+ git checkout -b lilypond/translation origin/lilypond/translation
GIT
This command is mainly intended to be used by the Translation meister.
+MISCELLANEOUS: DEALING WITH SEVERAL GIT BRANCHES
+
+* It is possible to work with several branches on the same local Git
+repository; this is especially useful for translators who may have to
+deal with both lilypond/translation and a stable branch
+(e.g. stable/2.12 or lilypond/translation-2.12). To fetch and check
+out a new branch named BRANCH on git.sv.gnu.org, write the two
+following lines to a text file named .git/remotes/SHORTHAND --
+SHORTHAND is the name of the remote file, i.e. whatever easy-to-type
+name you would like to use when pulling or pushing BRANCH, and usually
+SHORTHAND is an abbreviation of BRANCH without slashes
+
+URL: git://git.sv.gnu.org/lilypond.git/
+Pull: BRANCH:refs/remotes/origin/BRANCH
+
+Then, run
+
+ git fetch SHORTHAND
+ git checkout -b BRANCH origin/BRANCH
+
+After this, you are able to pull BRANCH from git.sv.gnu.org with
+
+ git pull SHORTHAND
+
+You can check out another branch OTHER_BRANCH, i.e. check out
+OTHER_BRANCH to the working tree, with
+
+ git checkout OTHER_BRANCH
+
+E.g. lilypond/translation, which you still have in your local Git
+repository but is no longer checked out since you have created the new
+branch BRANCH.
+
+Note that it is possible to check out another branch while having
+uncommitted changes, but it is not recommended unless you know what
+you are doing; it is recommended to run 'git status' to check this
+kind of issue before checking ouy another branch.
+
+When pulling using SHORTHAND, do not forget to check first that the
+right branch is checked out, i.e. the branch named A in the first part
+of the "A:B" refspec in .git/remotes/SHORTHAND: as a matter of fact,
+when you pull using A:B refspec, Git fetch A on the server as B remote
+branch on your local repository, then tries to merge B into the
+currently checked out branch.
+
+To remember which branch is currently checked out, run 'git branch',
+which will list all branches and mark the currently checked out branch
+with a star, or 'git status'.
+
+
+* To merge branch FOO into branch BAR, i.e. to "add" all changes made
+in branch FOO to branch BAR, run
+
+ git checkout BAR
+ git merge FOO
+
+If any conflict happens, please carefully follow the instructions
+given by 'git merge' -- you usually must resolve conflicts with a text
+editor by merging pieces of files marked with "<<<" "===" and ">>>",
+removing these 3 kinds of conflict marks, then commit the result
+exactly like a usual commit.
+
+For example, as a translator, you will often want to merge master into
+lilypond/translation; on the other hand, the Translations meister
+wants to merge lilypond/translation into master whenever he has
+checked that lilypond/translation builds successfully.
+
+
+* If you play with several Git branches (e.g. master,
+lilypond/translation, stable/2.12), you may want to have one source
+and build tree for each branch; this is possible with subdirectories
+of your local Git repository, used as local cloned subrepositories.
+To create a local clone for the branch named BRANCH, run
+
+ git checkout BRANCH
+ git clone -l -s -n . SUBDIR
+ cd SUBDIR
+ git reset --hard
+
+Note that SUBDIR must be a directory name which does not already
+exist. In SUBDIR, you can use all Git commands to browse revisions
+history, commit and uncommit changes; to update the cloned
+subrepository with changes made on the main repository, cd into SUBDIR
+and run 'git pull'; to send changes made on the subrepository back to
+the main repository, run 'git push' from SUBDIR. Note that only one
+branch (the currently checked out branch) is created in the
+subrepository by deafult; it is possible to have several branches in a
+subrepository and do usual operations (checkout, merge, create,
+delete...) on these branches, but this is more difficult to manage
+them and sync them with the main repository, so this possibility is
+not detailed here.
+
+
TECHNICAL BACKGROUND
A number of Python scripts handle a part of the documentation
@end example
would yield
-@lilypondfile[ragged-right,quote]{tag-filter.ly}
+@c FIXME: broken
+@c @lilypondfile[ragged-right,quote]{tag-filter.ly}
The arguments of the @code{\tag} command should be a symbol
(such as @code{#'score} or @code{#'part}), followed by a
@cindex key signature
@cindex clef
+@c duplicated in Key signature and Accidentals
@warning{New users are sometimes confused about accidentals and
key signatures. In LilyPond, note names are the raw input; key
signatures and clefs determine how this raw input is displayed.
@cindex key signature
@funindex \key
+@c duplicated in Key signature and Accidentals
@warning{New users are sometimes confused about accidentals and
key signatures. In LilyPond, note names are the raw input; key
signatures and clefs determine how this raw input is displayed.
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-{adding-ambiti-per-voice.ly}
+{adding-ambitus-per-voice.ly}
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-{ambiti-multiple-voices.ly}
+{ambitus-with-multiple-voices.ly}
@seealso
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-{applying-notehead-styles-depending-on-the-step-of-the-scale.ly}
+{applying-note-head-styles-depending-on-the-step-of-the-scale.ly}
@noindent
To see all note head styles, see @ref{Note head styles}.
@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
-@code{\textLengthOff}.
+@code{\textLengthOff}
@seealso
@cindex Text spanners
-@c TODO: merge these explanations with the ones below in
-@c "Text and Line spanners" -vv
-
Some performance indications, e.g., @i{rallentando} or
@i{accelerando}, are written as text and are extended over many
-measures with dotted lines; you can create such text spanners
+measures with dotted lines.
+
+Such objects, called @q{spanners}, may be created
from one note to another by using the following syntax:
@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
e,\stopTextSpan
@end lilypond
+The line style, as well as the text string, can be defined as an
+object property. This syntax is described in @ref{Line styles}.
+
@predefined
@funindex textSpannerUp
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
-@code{\textSpannerNeutral}.
-
-The line style, as well as the text string, can be defined as an
-object property. This syntax is described in @ref{Line styles}.
-
+@code{\textSpannerNeutral}
@seealso
c4\mark "dolce" c c c
@end lilypond
-This syntax makes possible to put any text on a bar line, but also
-signs like coda, segno, or fermata, by specifying the appropriate
-symbol name. These symbols are listed in @ref{The Feta font}.
+This syntax makes possible to put any text on a bar line;
+more complex text formatting may be added using a @code{\markup}
+block, as described in @ref{Text markup}. This can be used to print
+signs like coda, segno or fermata, by specifying the appropriate
+symbol name:
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
@snippets
-@c TODO: to be LSR-ized stuff -vv
-
-To print the mark at the end of the current line, use
-
-@example
-\override Score.RehearsalMark
- #'break-visibility = #begin-of-line-invisible
-@end example
-
-@code{\mark} is often useful for adding text to the end of bar.
-In such cases, changing the @code{#'self-alignment} is very useful
+@c FIXME: uncomment these when they have been added to git.
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {printing-marks-at-the-end-of-a-line-or-a-score.ly}
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-\override Score.RehearsalMark
- #'break-visibility = #begin-of-line-invisible
-c1 c c c4 c c c
-\once \override Score.RehearsalMark #'self-alignment-X = #right
-\mark "D.S. al Fine "
-@end lilypond
-
-If specified, text marks may be aligned with notation objects
-other than bar lines. These objects include @code{ambitus},
-@code{breathing-sign}, @code{clef}, @code{custos},
-@code{staff-bar}, @code{left-edge}, @code{key-cancellation},
-@code{key-signature}, and @code{time-signature}.
-
-
-In such cases, text marks will be horizontally centered
-above the object. However this can be changed, as demonstrated
-on the second line of this example (in a score with multiple staves,
-this setting should be done for all the staves).
-
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
- e1
-
- % the RehearsalMark will be centered above the Clef
- \override Score.RehearsalMark #'break-align-symbols = #'(clef)
- \key a \major
- \clef treble
- \mark "↓"
- e
-
- % the RehearsalMark will be centered above the TimeSignature
- \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
- \key a \major
- \clef treble
- \time 3/4
- \mark "↓"
- e2.
-
- % the RehearsalMark will be centered above the KeySignature
- \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
- \key a \major
- \clef treble
- \time 4/4
- \mark "↓"
- e1
-
- \break
- e
-
- % the RehearsalMark will be aligned with the left edge of the KeySignature
- \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
- \mark "↓"
- \key a \major
- e
-
- % the RehearsalMark will be aligned with the right edge of the KeySignature
- \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
- \key a \major
- \mark "↓"
- e
-
- % the RehearsalMark will be aligned with the left edge of the KeySignature
- % and then shifted right by 1 unit.
- \once \override Score.KeySignature #'break-align-anchor = #1
- \key a \major
- \mark "↓"
- e1
-@end lilypond
-
-Although text marks are normally only printed above the topmost
-staff, you may alter this to print them on every staff:
-
-@lilypond[quote,ragged-right,verbatim,relative=2]
-{
- \new Score \with {
- \remove "Mark_engraver"
- }
- <<
- \new Staff \with {
- \consists "Mark_engraver"
- }
- { c''1 \mark "foo" c'' }
- \new Staff \with {
- \consists "Mark_engraver"
- }
- { c'1 \mark "foo" c' }
- >>
-}
-@end lilypond
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {aligning-marks-with-various-notation-objects.ly}
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {printing-marks-on-every-staff.ly}
@seealso
@knownissues
@c IMO this is a bug; hopefully it'll be fixed soon, so I can
@c delete this sentence. -gp
+@c A workaround is suggested in the first @snippets item -vv
If a mark is entered at the end of the last bar of the score (where
there is no next line), then the mark will not be printed at
sys.stderr.write ('''
Unsafe files printed in lsr-unsafe.txt: CHECK MANUALLY!
- git add input/lsr
+ git add input/lsr/*.ly
xargs git-diff HEAD < lsr-unsafe.txt
''')
texidoc = "
When writing a figured bass, here's a way to specify if you want your
figures to be placed above or below the bass notes, by defining the
-BassFigureAlignmentPositioning #'direction property (exclusively in a
-Staff context). Choices are #UP (or #1), #CENTER (or #0) and #DOWN (or
-#-1).
+@code{BassFigureAlignmentPositioning #'direction} property (exclusively
+in a @code{Staff} context). Choices are @code{#UP} (or @code{#1}),
+@code{#CENTER} (or @code{#0}) and @code{#DOWN} (or @code{#-1}).
As you can see here, this property can be changed as many times as you
-wish. Use \\once \\override if you dont want the tweak to apply to the
-whole score.
+wish. Use @code{\\once \\override} if you don't want the tweak to apply
+to the whole score.
" }
% begin verbatim
bass = { \clef bass g4 b, c d e d8 c d2}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "pitches, staff-notation, vocal-music"
- texidoc = "
-Ambits can be added per voice. In this case, the ambitus must be moved
-manually to prevent collisions.
-" }
-% begin verbatim
-\new Staff <<
- \new Voice \with {
- \consists "Ambitus_engraver"
- } \relative c'' {
- \override Ambitus #'X-offset = #2.0
- \voiceOne
- c4 a d e f1
- }
- \new Voice \with {
- \consists "Ambitus_engraver"
- } \relative c' {
- \voiceTwo
- es4 f g as b1
- }
->>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "pitches, staff-notation, vocal-music"
+ texidoc = "
+Ambitus can be added per voice. In this case, the ambitus must be moved
+manually to prevent collisions.
+" }
+% begin verbatim
+\new Staff <<
+ \new Voice \with {
+ \consists "Ambitus_engraver"
+ } \relative c'' {
+ \override Ambitus #'X-offset = #2.0
+ \voiceOne
+ c4 a d e f1
+ }
+ \new Voice \with {
+ \consists "Ambitus_engraver"
+ } \relative c' {
+ \voiceTwo
+ es4 f g as b1
+ }
+>>
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "staff-notation, contexts-and-engravers, breaks"
+ texidoc = "
+When adding a new staff at a line break, LilyPond will unfortunately
+add some extra space at the end of the line before the break (to fit in
+a key signature change, which will never be printed anyway). The
+workaround is to add a setting of
+@code{Staff.explicitKeySignatureVisibility} as is shown in the example.
+In version 2.10 and earlier, you have to do a similar setting for the
+time signatures, see the example.
+
+
+" }
+% begin verbatim
+\score {
+ \new StaffGroup \relative c''{
+ \new Staff
+ \key f \major
+ c1 c^"Unwanted extra space" \break
+ << { c1 c }
+ \new Staff {
+ \key f \major
+ \once \override Staff.TimeSignature #'stencil = ##f
+ c1 c
+ }
+ >>
+ c1 c^"Fixed here" \break
+ << { c1 c }
+ \new Staff {
+ \once \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
+ %The next line is not needed in 2.11.x or later:
+ \once \override Staff.TimeSignature #'break-visibility = #end-of-line-invisible
+ \key f \major
+ \once \override Staff.TimeSignature #'stencil = ##f
+ c1 c
+ }
+ >>
+ }
+}
+
" }
% begin verbatim
\score {
- <<
- \new Staff \relative c''{ c1 c c c c }
- \new StaffGroup \relative c''{
- \new Staff
- c1 c
- << c1 \new Staff { c1 } >>
- c
- }
- >>
- \layout {
-
- \context{
- \Score
-
- }
- }
+ <<
+ \new Staff \relative c'' { c1 c c c c }
+ \new StaffGroup \relative c'' {
+ \new Staff {
+ c1 c
+ << c1 \new Staff { \once \override Staff.TimeSignature #'stencil = ##f c1 } >>
+ c
+ }
+ }
+ >>
}
-
-
-
-
-
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "staff-notation, contexts-and-engravers, breaks"
- texidoc = "
-When adding a new Staff at a line break, LilyPond will unfortunately
-add some extra space at the end of the line before the break (to fit in
-a key signature change, which will never be printed anyway). The
-workaround is to add a setting of Staff.explicitKeySignatureVisibility
-as is shown in the example. In version 2.10 and earlier, you have to do
-a similar setting for the time signatures, see the example.
-" }
-% begin verbatim
-\score {
- \new StaffGroup \relative c''{
- \new Staff
- \key f \major
- c1 c^"Unwanted extra space" \break
- << { c1 c }
- \new Staff {
- \key f \major
- c1 c
- }
- >>
- c1 c^"Fixed here" \break
- << { c1 c }
- \new Staff {
- \once \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
- %The next line is not needed in 2.11.x or later:
- \once \override Staff.TimeSignature #'break-visibility = #end-of-line-invisible
- \key f \major
- c1 c
- }
- >>
- }
-}
-
LilyPond makes drums input quite easy, with powerful pre-configured
tools such as the @code{\\drummode} function and the @code{DrumStaff}
context: drums are placed at their own staff positions (with a special
-clef symbol) and have noteheads according to the drum. You can easily
+clef symbol) and have note heads according to the drum. You can easily
attach an extra symbol to the drum, and restrict the number of lines.
" }
% begin verbatim
<<
\new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
\new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
- \new Staff \with { \consists Volta_engraver } { c'2 g' e' a' }
+ \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
\new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
- >>
+>>
lsrtags = "editorial-and-educational-use, spacing"
texidoc = "
By default, fingering numbers will be printed outside the staff.
-However, this behavior can be cancelled.
+However, this behavior can be canceled.
" }
% begin verbatim
\relative c' {
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "pitches, vocal-music"
- texidoc = "
-If you have multiple voices in a single staff and you want a single
-ambitus per staff rather than per voice, add the
-@code{Ambitus_engraver} to the @code{Staff} context rather than to the
-@code{Voice} context.
-" }
-% begin verbatim
-\new Staff \with {
- \consists "Ambitus_engraver"
- }
-<<
- \new Voice \relative c'' {
- \voiceOne
- c4 a d e f1
- }
- \new Voice \relative c' {
- \voiceTwo
- es4 f g as b1
- }
->>
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "pitches, vocal-music"
+ texidoc = "
+If you have multiple voices in a single staff and you want a single
+ambitus per staff rather than per voice, add the
+@code{Ambitus_engraver} to the @code{Staff} context rather than to the
+@code{Voice} context.
+" }
+% begin verbatim
+\new Staff \with {
+ \consists "Ambitus_engraver"
+ }
+<<
+ \new Voice \relative c'' {
+ \voiceOne
+ c4 a d e f1
+ }
+ \new Voice \relative c' {
+ \voiceTwo
+ es4 f g as b1
+ }
+>>
+
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "pitches, editorial-and-educational-use"
+ texidoc = "
+The @code{shapeNoteStyles} property gives you the ability to define
+various note head styles for each step of the scale (as defined by the
+key signature or the \"tonic\" property). This property requires a set
+of symbols, which can be purely arbitrary (geometrical expressions such
+as @code{triangle}, @code{cross}, @code{xcircle} etc. are allowed) or
+based on old American engraving tradition (you can use some latin note
+names as well). That said, if you're trying to imitate old American
+song books, you may also want to try LilyPond's predefined note head
+styles, through shortcut commands such as @code{\\aikenHeads} or
+@code{\\sacredHarpHeads}. This example shows different ways to obtain
+shape note heads, and demonstrates the ability to transpose a melody
+without losing the correspondence between harmonic functions and note
+head styles.
+" }
+% begin verbatim
+fragment = {
+ \key c \major
+ c2 d e f g a b c
+}
+
+\score {
+ \new Staff {
+ \transpose c d
+ \relative {
+ \set shapeNoteStyles = ##(do re mi fa #f la ti)
+ \fragment
+ }
+
+ \relative {
+ \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
+ \fragment
+ }
+ }
+}
+
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "pitches, editorial-and-educational-use"
- texidoc = "
-The @code{shapeNoteStyles} property gives you the ability to define
-various notehead styles for each step of the scale (as defined by the
-key signature or the \"tonic\" property). This property requires a set
-of symbols, which can be purely arbitrary (geometrical expressions such
-as @code{triangle}, @code{cross}, @code{xcircle} etc. are allowed) or
-based on old American engraving tradition (you can use some latin note
-names as well). That said, if you're trying to imitate old American
-song books, you may also want to try LilyPond's predefined notehead
-styles, through shortcut commands such as @code{\\aikenHeads} or
-@code{\\sacredHarpHeads}. This example shows different ways to obtain
-shape noteheads, and demonstrates the ability to transpose a melody
-without losing the correspondence between harmonic functions and
-notehead styles.
-" }
-% begin verbatim
-fragment = {
- \key c \major
- c2 d e f g a b c
-}
-
-\score {
- \new Staff {
- \transpose c d
- \relative {
- \set shapeNoteStyles = ##(do re mi fa #f la ti)
- \fragment
- }
-
- \relative {
- \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
- \fragment
- }
- }
-}
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "rhythms"
+ texidoc = "
+Beams can be subdivided automatically. By setting the property
+@code{subdivideBeams}, beams are subdivided at beat positions (as
+specified in @code{beatLength}).
+" }
+% begin verbatim
+\score {
+ \new Staff \relative {
+ << {
+ \voiceOne
+ \set subdivideBeams = ##t
+ b'32[ a g f c' b a g b^"subdivision enabled" a g f c' b a g]
+ \oneVoice
+ }
+ \new Voice {
+ \voiceTwo
+ b32_"default"[ a g f c' b a g b a g f c' b a g]
+ } >>
+ \set beatLength = #(ly:make-moment 1 8)
+ b32^"beatLength 1 8"[ a g f c' b a g]
+ \set beatLength = #(ly:make-moment 1 16)
+ b32^"beatLength 1 16"[ a g f c' b a g]
+ }
+}
+
positioning-segno-and-coda-with-line-break.ly
-adding-and-extra-staff-at-a-line-break.ly
beams-across-line-breaks.ly
+adding-an-extra-staff-at-a-line-break.ly
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "expressive-marks"
- texidoc = "
-Breathing signs are available in different tastes: commas (default),
-ticks, vees and \"railroad tracks\" (caesura).
-" }
-% begin verbatim
-{
- %% Modern notation:
- \new Staff {
- \relative c'' {
- \key es \major \time 3/4
-
- %% this bar contains no \breathe
- <<
- { g4 as g } \\
- { es4 bes es }
- >> |
-
- %% by default, \breathe uses the rcomma, just as if saying:
- %% \override BreathingSign #'text =
- % #(make-musicglyph-markup "scripts.rcomma")
- <<
- { g4 as g } \\
- { es4 \breathe bes es }
- >> |
-
- %% rvarcomma and lvarcomma are variations of the default rcomma
- %% and lcomma
-
- %% N.B.: must use Staff context here, since we start a Voice below
- \override Staff.BreathingSign #'text =
- #(make-musicglyph-markup "scripts.rvarcomma")
- <<
- { g4 as g } \\
- { es4 \breathe bes es }
- >> |
-
- %% wedge
- \override BreathingSign #'text =
- #(make-musicglyph-markup "scripts.upbow")
- es8 d es f g8 \breathe f |
-
- %% caesura
- \override BreathingSign #'text =
- #(make-musicglyph-markup "scripts.caesura.curved")
- es8[ d] \breathe es[ f g f] |
- es2 r4 \bar "||" \break
- }
- }
-}
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "expressive-marks"
+ texidoc = "
+Breathing signs are available in different tastes: commas (default),
+ticks, vees and \"railroad tracks\" (caesura).
+" }
+% begin verbatim
+\new Staff \relative c'' {
+ \key es \major
+ \time 3/4
+ % this bar contains no \breathe
+ << { g4 as g } \\ { es4 bes es } >> |
+ % Modern notation:
+ % by default, \breathe uses the rcomma, just as if saying:
+ % \override BreathingSign #'text = #(make-musicglyph-markup "scripts.rcomma")
+ << { g4 as g } \\ { es4 \breathe bes es } >> |
+
+ % rvarcomma and lvarcomma are variations of the default rcomma and lcomma
+ % N.B.: must use Staff context here, since we start a Voice below
+ \override Staff.BreathingSign #'text = #(make-musicglyph-markup "scripts.rvarcomma")
+ << { g4 as g } \\ { es4 \breathe bes es } >> |
+
+ % vee
+ \override BreathingSign #'text = #(make-musicglyph-markup "scripts.upbow")
+ es8[ d es f g] \breathe f |
+
+ % caesura
+ \override BreathingSign #'text = #(make-musicglyph-markup "scripts.caesura.curved")
+ es8[ d] \breathe es[ f g f] |
+ es2 r4 \bar "||"
+}
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "expressive-marks"
- texidoc = "
-In order to make parts of a crescendo hairpin invisible, the following
-method is used: A white rectangle is drawn on top of the respective
-part of the crescendo hairpin, making it invisible. The rectangle is
-defined as postscript code within a text markup.
-
-In order to fine-tune the position and size of the markup, the number
-preceding the \"setgray\" in the postscript definition can be set to a
-value <1 making it grey. The two numbes before the \"scale\" in the
-postscript code are responsible for the width and height of the
-rectangle, the two numbers before the \"translate\" change the x- and
-y-origin of the rectangle.
-
-Make sure to put the Hairpin in a lower layer than the Text Markup to
-actually draw the rectangle above the hairpin.
-" }
-% begin verbatim
-% Version specific to 2.10; fails under 2.11 due to rest position -np
-
-\score
-{
- \relative c' {
- << {
- \dynamicUp
- \override DynamicLineSpanner #'staff-padding = #4
- r2 r16 c'8.\pp r4
- } \\ {
- \override DynamicLineSpanner #'layer = #0
- des,2~\mf \<
- \override TextScript #'layer = #2
- des16_\markup {
- \postscript #"1.9 -4.5 translate 5 4 scale 1 setgray 0 0 moveto 0 1
- lineto 1 1 lineto 1 0 lineto 0 0 lineto fill" }
- r8. des4~ des16-> \sff
- }
- >>
- }
- \layout { ragged-right = ##t}
-}
+\version "2.11.38"\r
+\r
+\header {\r
+ doctitle = "Broken crescendo hairpin"\r
+ lsrtags = "expressive-marks"\r
+ texidoc = "\r
+In order to make parts of a crescendo hairpin invisible, the following\r
+method is used: A white rectangle is drawn on top of the respective\r
+part of the crescendo hairpin, making it invisible. The rectangle is\r
+defined as postscript code within a text markup.\r
+\r
+To fine-tune the position and size of the markup, the number\r
+preceding @code{setgray} in the postscript definition can be set to a\r
+value <1 making it grey. The two numbers before @code{scale} in the\r
+postscript code are responsible for the width and height of the\r
+rectangle, the two numbers before @code{translate} change the x- and\r
+y-origin of the rectangle. \r
+\r
+Make sure to put the hairpin in a lower layer than the text markup to\r
+actually draw the rectangle above the hairpin. \r
+" }\r
+\r
+\score {\r
+ \relative c' {\r
+ << {\r
+ \dynamicUp\r
+ \override DynamicLineSpanner #'staff-padding = #4\r
+ r2 r16 c'8.\pp r4\r
+ } \\ {\r
+ \override DynamicLineSpanner #'layer = #0\r
+ des,2\mf\< ~\r
+ \override TextScript #'layer = #2\r
+ des16_\markup {\r
+ \postscript #"1.9 -8 translate 5 4 scale 1 setgray 0 0 moveto 0 1\r
+ lineto 1 1 lineto 1 0 lineto 0 0 lineto fill"\r
+ }\r
+ r8. des4 ~ des16->\sff\r
+ } >>\r
+ }\r
+ \layout { ragged-right = ##t }\r
+}\r
printed, using some Scheme code.
" }
% begin verbatim
-hairpinWithCenteredText = #(define-music-function
- (parser location text) (markup?)
+hairpinWithCenteredText = #(define-music-function (parser location text) (markup?)
#{
-\override Voice.Hairpin #'stencil = #(lambda (grob)
- (ly:stencil-aligned-to
- (ly:stencil-combine-at-edge
- (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
- Y
- DOWN
- (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
- X LEFT))
-\override Voice.Hairpin #'text = $text
+ \override Voice.Hairpin #'stencil = #(lambda (grob)
+ (ly:stencil-aligned-to
+ (ly:stencil-combine-at-edge
+ (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
+ Y DOWN
+ (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
+ X LEFT))
+ \override Voice.Hairpin #'text = $text
#})
-
hairpinMolto = \hairpinWithCenteredText \markup { \italic "molto" }
-hairpinMore = \hairpinWithCenteredText \markup { \bigger "moltissimo" }
+hairpinMore = \hairpinWithCenteredText \markup { \bigger "moltissimo" }
-\new Staff {
- \hairpinMolto c'2\< c'2\f
- \hairpinMore c'2\< c'2\f
+{
+ \hairpinMolto c'2\< c'2\f
+ \hairpinMore c'2\< c'2\f
}
-
(ly:music-property m 'tweaks)))
m)
-\relative c'' { d4^\flageolet_\markup { default size } d4_\flageolet
- c4^\smallFlageolet_\markup { smaller } c4_\smallFlageolet
+\relative c'' {
+ d4^\flageolet_\markup { default size } d4_\flageolet
+ c4^\smallFlageolet_\markup { smaller } c4_\smallFlageolet
}
\header {
lsrtags = "simultaneous-notes, editorial-and-educational-use, tweaks-and-overrides"
texidoc = "
-Individual noteheads in a chord can be modified with the @code{\\tweak}
-command inside a chord, by altering the @code{'font-size} property.
+Individual note heads in a chord can be modified with the
+@code{\\tweak} command inside a chord, by altering the
+@code{'font-size} property.
Inside the chord (within the brackets @code{< >}), before the note to
The code for the chord example shown: @code{}
" }
% begin verbatim
+\layout { ragged-right = ##t }
\relative {
<\tweak #'font-size #+2 c e g c \tweak #'font-size #-2 e>1^\markup { A tiny e }_\markup { A big c }
}
-\layout { ragged-right = ##t }
-
doctitle = "Changing form of multi-measure rests"
lsrtags = "rhythms,tweaks-and-overrides"
texidoc = "
-If there are 10 or fewer measures of rest, LilyPond prints
+If there are ten or fewer measures of rests, LilyPond prints
a series of longa and breve rests (called in German
-Kirchenpausen - church rests) within the staff and
-prints a simple line otherwise. This default number of 10
+\"Kirchenpausen\" - church rests) within the staff and
+prints a simple line otherwise. This default number of ten
may be changed by an override:
"}
% begin verbatim
\relative c'' {
-\compressFullBarRests
-R1*2 | R1*5 | R1*9
-\override MultiMeasureRest #'expand-limit = 3
-R1*2 | R1*5 | R1*9
+ \compressFullBarRests
+ R1*2 | R1*5 | R1*9
+ \override MultiMeasureRest #'expand-limit = 3
+ R1*2 | R1*5 | R1*9
}
-
lsrtags = "rhythms, contexts-and-engravers"
texidoc = "
The @code{measureLength} property, together with
-@code{measurePosition}, determines when a barline is needed. However,
+@code{measurePosition}, determines when a bar line is needed. However,
when using @code{\\compressMusic}, the scaling of durations makes it
difficult to change time signatures without making a mess of it.
Therefore, @code{measureLength} has to be set manually, using the
-@code{ly:make-moment} callback. The second argument has to be the same
-as the second argument of @code{\\compressMusic}.
+@code{ly:make-moment} callback. The second argument must be the same as
+the second argument of @code{\\compressMusic}.
" }
% begin verbatim
\layout {
Note that changing the glyph, the position of the clef, or the
octavation, does not in itself change the position of subsequent notes
on the staff: the position of middle C must also be specified to do
-this. The positional parameters are relative to the staff centre line,
-positive numbers displacing upwards, counting 1 for each line and
+this. The positional parameters are relative to the staff center line,
+positive numbers displacing upwards, counting one for each line and
space. The @code{clefOctavation} value would normally be set to 7, -7,
15 or -15, but other values are valid.
new line by default. If the warning clef at the end of the previous
line is not required it can be suppressed by setting the @code{Staff}
property @code{explicitClefVisibility} to the value
-@code{end-of-line-invisible}. The default behaviour can be recovered
+@code{end-of-line-invisible}. The default behavior can be recovered
with @code{\\unset Staff.explicitClefVisibility}.
The following examples show the possibilities when setting these
% Here we go back to the normal clef:
- \set Staff.middleCPosition = #4
+ \set Staff.middleCPosition = #0
c'
}
\header {
lsrtags = "expressive-marks, text"
texidoc = "
-Some dynamics may involve text indications (such as \"più forte\",
-\"piano subito\", etc.). They can be produced using a @code{\\markup}
-block.
+Some dynamics may involve text indications (such as \"più forte\" or
+\"piano subito\"). They can be produced using a @code{\\markup} block.
" }
% begin verbatim
-\layout { ragged-right = ##t }
-
-piuf = \markup { \italic "più" \dynamic "f" }
+piuF = \markup { \italic "più" \dynamic "f" }
\relative c'' {
- c2
- c-\piuf
+ c2 c-\piuF
}
solos, as they won't be indicated. In such cases, you may simply want
to use standard LilyPond polyphony. This snippet presents the three
ways two parts can be printed on a same staff: standard polyphony,
-@code{\\partcombine} whitout texts, and @code{\\partcombine} with texts.
+@code{\\partcombine} without texts, and @code{\\partcombine} with texts.
as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
more inequal metrics. LilyPond can make such music quite easy to read
and play, by explicitly printing the compound time signatures and
-adapting the automatic beaming behaviour. (You can even add graphic
+adapting the automatic beaming behavior. (You can even add graphic
measure grouping indications; see the appropriate snippet in this
database.)
" }
\header {
lsrtags = "expressive-marks"
texidoc = "
-Use a glissando without final note. Contemporary glissando!
+A contemporary glissando without a final note can be typeset using a
+hidden note and cadenza timing.
" }
% begin verbatim
\relative c'' {
\time 3/4
\override Glissando #'style = #'zigzag
c4 c
- \cadenzaOn c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
+ \cadenzaOn c\glissando \hideNotes c,, \unHideNotes \cadenzaOff
\bar "|"
}
-
-\addlyrics { Use cadenzaOn glissando hideNotes }
-\addlyrics { unHideNotes cadenzaOff, skip_and_\bar \skip 4 }
-
creating-blank-staves.ly
chant-or-psalms-notation.ly
-adding-and-extra-staff-at-a-line-break.ly
+adding-a-figured-bass-above-or-below-the-notes.ly
+adding-an-extra-staff-at-a-line-break.ly
adding-an-extra-staff.ly
mensurstriche-layout-bar-lines-between-the-staves.ly
changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
engravers-one-by-one.ly
-adding-a-figured-bass-above-or-below-the-notes.ly
+use-square-bracket-at-the-start-of-a-staff-group.ly
vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
nesting-staves.ly
\header {
lsrtags = "rhythms, tweaks-and-overrides"
texidoc = "
-The default behaviour of tuplet-bracket visibility is to print a
-bracket unless there is a beam of the same length as the tuplet. To
-control the visibility of tuplet brackets, you can set the property
-@code{TupletBracket #'bracket-visibility} to either @code{##t} (always
-print a bracket), @code{##f} (never print a bracket) or
-@code{#'if-no-beam} (only print a bracket if there is no beam).
+The default behavior of tuplet-bracket visibility is to print a bracket
+unless there is a beam of the same length as the tuplet. To control the
+visibility of tuplet brackets, set the property @code{TupletBracket
+#'bracket-visibility} to either @code{##t} (always print a bracket),
+@code{##f} (never print a bracket) or @code{#'if-no-beam} (only print a
+bracket if there is no beam).
" }
% begin verbatim
mus = \relative c'' {
In music that contains many occurrences of the same sequence of notes
at different pitches, you can use the following music function. It
takes a note, of which the pitch is used. The supporting Scheme
-functions were borrowed from the Tips and Tricks document in the
-manual. This example creates the rhythm used throughout Mars, from
-Gustav Holst's The Planets.
+functions were borrowed from the \"Tips and tricks\" document in the
+manual for version 2.10. This example creates the rhythm used
+throughout Mars, from Gustav Holst's The Planets.
" }
% begin verbatim
#(define (make-note-req p d)
@code{Clef_engraver} and the @code{Bar_engraver}.
" }
% begin verbatim
-\header {
- tagline = ""
-}
-
#(set-global-staff-size 20)
\score {
indent = 0\in
\context {
\Staff
- \remove Time_signature_engraver
- \remove Clef_engraver
- \remove Bar_engraver
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
+ \remove "Bar_engraver"
}
\context {
\Score
- \remove Bar_number_engraver
+ \remove "Bar_number_engraver"
}
}
}
\paper {
#(set-paper-size "letter")
- raggedlastbottom = ##f
- linewidth = 7.5\in
- leftmargin = 0.5\in
- bottommargin = 0.25\in
- topmargin = 0.25\in
+ ragged-last-bottom = ##f
+ line-width = 7.5\in
+ left-margin = 0.5\in
+ bottom-margin = 0.25\in
+ top-margin = 0.25\in
}
#:fontsize 2 "(" #:hspace -0.8 #:dynamic "f" #:normal-text #:italic
#:fontsize 2 ")"
)))
-
-\score {
- { c''\parenF c'' c'' \dynamicUp c''\parenF }
+{
+ c''4\parenF c'' c'' \dynamicUp c''\parenF
}
-
If there is only one staff in one of the staff types @code{ChoirStaff},
@code{InnerChoirStaff}, @code{InnerStaffGroup} or @code{StaffGroup},
the bracket and the starting bar line will not be displayed as standard
-behaviour. This can be changed with:
+behavior. This can be changed with:
@code{\\override [staffcontext].SystemStartBracket #'collapse-height =
" }
% begin verbatim
-\score {
-\new StaffGroup <<
- % Must be lower than your actual amount off staff lines
- \override StaffGroup.SystemStartBracket #'collapse-height = #1
- \override Score.SystemStartBar #'collapse-height = #1
- \new Staff {
- c'4 d' e' f'
- }
- >>
- }
- {
- \new PianoStaff <<
- \override PianoStaff.SystemStartBrace #'collapse-height = #1
- \override Score.SystemStartBar #'collapse-height = #1
- \new Staff {
- c'4 d' e' f'
- }
- >>
- }
- \layout {
- ragged-right = ##t
- indent = 0\cm
+\layout {
+ ragged-right = ##t
+ indent = 0\cm
+}
+\book {
+ \score {
+ \new StaffGroup <<
+ % Must be lower than your actual amount off staff lines
+ \override StaffGroup.SystemStartBracket #'collapse-height = #1
+ \override Score.SystemStartBar #'collapse-height = #1
+ \new Staff {
+ c'4 d' e' f'
+ }
+ >>
}
+ \score {
+ \new PianoStaff <<
+ \override PianoStaff.SystemStartBrace #'collapse-height = #1
+ \override Score.SystemStartBar #'collapse-height = #1
+ \new Staff {
+ c'4 d' e' f'
+ }
+ >>
+ }
+}
\header {
lsrtags = "pitches"
texidoc = "
-In early 20th century works, starting with Schönberg, Berg and Webern
+In early 20th century works, starting with Schoenberg, Berg and Webern
(the \"Second\" Viennese school), every pitch in the twelve-tone scale
has to be regarded as equal, without any hierarchy such as the
classical (tonal) degrees. Therefore, these composers print one
accidental for each note, even at natural pitches, to emphasize their
new approach to music theory and language. This snippet shows how to
-achieve such notation rules with LilyPond.
+achieve such notation rules.
" }
% begin verbatim
webernAccidentals = {
creating-blank-staves.ly
making-some-staff-lines-thicker-than-the-others.ly
+applying-note-head-styles-depending-on-the-step-of-the-scale.ly
changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
default-direction-of-stems-on-the-center-line-of-the-staff.ly
changing-a-single-notes-size-in-a-chord.ly
controlling-the-placement-of-chord-fingerings.ly
allowing-fingerings-to-be-printed-inside-the-staff.ly
blanking-staff-lines-using-the--whiteout-command.ly
-applying-notehead-styles-depending-on-the-step-of-the-scale.ly
grid-lines-changing-their-appearance.ly
\header {
lsrtags = "rhythms"
texidoc = "
-This example shows how to specify how long each of the tuplets
-contained within the brackets after @code{\\times} should last. Many
-consecutive tuplets can then be placed within a single @code{\\times @{
-... @}} expression, thus saving typing.
+The property @code{tupletSpannerDuration} sets how long each of the
+tuplets contained within the brackets after @code{\\times} should last.
+Many consecutive tuplets can then be placed within a single
+@code{\\times @{ ... @}} expression, thus saving typing.
In the example, two triplets are shown, while @code{\\times} was
entered only once.
" }
% begin verbatim
\relative {
+ \time 2/4
\set tupletSpannerDuration = #(ly:make-moment 1 4)
\times 2/3 { c8 c c c c c }
}
creating-text-spanners.ly
adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly
changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
-caesura-railtracks-with-fermata.ly
-breathing-sign.ly
+breathing-signs.ly
creating-real-parenthesized-dynamics.ly
-center-text-below-hairpin-dynamics.ly
+caesura-railtracks-with-fermata.ly
contemporary-glissando.ly
adding-parentheses-around-an-expressive-mark-or-chordal-note.ly
line-arrows.ly
changing--flageolet-mark-size.ly
piano-template-with-centered-dynamics.ly
broken-crescendo-hairpin.ly
+center-text-below-hairpin-dynamics.ly
\header {
lsrtags = "pitches"
texidoc = "
-This Scheme-based snippet allows you to generate 24 random notes (or as
-many as you want), based on the current time (or any randomish number
-you might wish to specify instead, so you can obtain the same random
-notes each time): i.e. to get different random notes patterns, just
-change this number.
+This Scheme-based snippet generates 24 random notes (or as many as
+required), based on the current time (or any randomish number you might
+wish to specify instead, so you can obtain the same random notes each
+time): i.e., to get different random notes patterns, just change this
+number.
" }
% begin verbatim
\score {
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "staff-notation"
+ texidoc = "
+The @code{\\markup} command is quite versatile. In this snippet, it
+contains a @code{\\score} block instead of texts or marks.
+" }
+% begin verbatim
+tuning = \markup {
+ \score {
+ \new Staff \with { \remove "Time_signature_engraver" }
+ {
+ \clef bass <c, g, d g>1
+ }
+ \layout { ragged-right = ##t }
+ }
+}
+
+\header {
+ title = "Solo Cello Suites"
+ subtitle = "Suite IV"
+ subsubtitle = \markup { "Originalstimmung:" \general-align #Y #CENTER \tuning }
+}
+
+\relative {
+ \time 4/8
+ \times 2/3 { c'8 d e } \times 2/3 { c d e }
+ \times 2/3 { c8 d e } \times 2/3 { c d e }
+ g8 a8 g8 a
+ g8 a8 g8 a
+}
+++ /dev/null
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
-\version "2.11.38"
-
-\header {
- lsrtags = "staff-notation"
- texidoc = "
-The @code{\\markup} command is quite versatile. In this snippet, it
-contains a @code{\\score} block instead of texts or marks.
-" }
-% begin verbatim
-tuning = \markup {
- \score {
- \new Staff \with { \remove Time_signature_engraver }
- {
- \clef bass <c, g, d g>1
- }
- \layout { ragged-right = ##t }
- }
-}
-
-\header {
- title = "Solo Cello Suites"
- subtitle = "Suite IV"
- subsubtitle = \markup { "Originalstimmung:" \general-align #Y #CENTER \tuning }
-}
-
-\relative {
- \time 4/8
- \times 2/3 { c'8 d e } \times 2/3 { c d e }
- \times 2/3 { c8 d e } \times 2/3 { c d e }
- g8 a8 g8 a
- g8 a8 g8 a
-}
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
\version "2.11.38"
-\layout { ragged-right= ##t }
+\layout { ragged-right = ##t }
\header {
doctitle = "Makam"
lsrtags = "pitches"
- texidoc = "Makam is Turkish type of melody that uses 1/9 tone
+ texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
microtonal alterations."
}
% begin verbatim
(gc . ,(ly:make-pitch -1 4 KOMA))
(ac . ,(ly:make-pitch -1 5 KOMA))
(bc . ,(ly:make-pitch -1 6 KOMA))
-
+
(cb . ,(ly:make-pitch -1 0 BAKIYE))
(db . ,(ly:make-pitch -1 1 BAKIYE))
(eb . ,(ly:make-pitch -1 2 BAKIYE))
(gb . ,(ly:make-pitch -1 4 BAKIYE))
(ab . ,(ly:make-pitch -1 5 BAKIYE))
(bb . ,(ly:make-pitch -1 6 BAKIYE))
-
+
(ck . ,(ly:make-pitch -1 0 KUCUK))
(dk . ,(ly:make-pitch -1 1 KUCUK))
(ek . ,(ly:make-pitch -1 2 KUCUK))
(gk . ,(ly:make-pitch -1 4 KUCUK))
(ak . ,(ly:make-pitch -1 5 KUCUK))
(bk . ,(ly:make-pitch -1 6 KUCUK))
-
+
(cbm . ,(ly:make-pitch -1 0 BUYUKMUCENNEB))
(dbm . ,(ly:make-pitch -1 1 BUYUKMUCENNEB))
(ebm . ,(ly:make-pitch -1 2 BUYUKMUCENNEB))
(gbm . ,(ly:make-pitch -1 4 BUYUKMUCENNEB))
(abm . ,(ly:make-pitch -1 5 BUYUKMUCENNEB))
(bbm . ,(ly:make-pitch -1 6 BUYUKMUCENNEB))
-
+
;; f for flat.
(cfc . ,(ly:make-pitch -1 0 (- KOMA)))
(dfc . ,(ly:make-pitch -1 1 (- KOMA)))
(gfb . ,(ly:make-pitch -1 4 (- BAKIYE)))
(afb . ,(ly:make-pitch -1 5 (- BAKIYE)))
(bfb . ,(ly:make-pitch -1 6 (- BAKIYE)))
-
+
(cfk . ,(ly:make-pitch -1 0 (- KUCUK)))
(dfk . ,(ly:make-pitch -1 1 (- KUCUK)))
(efk . ,(ly:make-pitch -1 2 (- KUCUK)))
(gfk . ,(ly:make-pitch -1 4 (- KUCUK)))
(afk . ,(ly:make-pitch -1 5 (- KUCUK)))
(bfk . ,(ly:make-pitch -1 6 (- KUCUK)))
-
+
(cfbm . ,(ly:make-pitch -1 0 (- BUYUKMUCENNEB)))
(dfbm . ,(ly:make-pitch -1 1 (- BUYUKMUCENNEB)))
(efbm . ,(ly:make-pitch -1 2 (- BUYUKMUCENNEB)))
(gfbm . ,(ly:make-pitch -1 4 (- BUYUKMUCENNEB)))
(afbm . ,(ly:make-pitch -1 5 (- BUYUKMUCENNEB)))
(bfbm . ,(ly:make-pitch -1 6 (- BUYUKMUCENNEB)))
-
)
-%% set pitch names.
-pitchnames = \makamPitchNames
+% Set pitch names.
+pitchnames = \makamPitchNames
#(ly:parser-set-note-names parser makamPitchNames)
-makamGlyphs = #'((1 . "accidentals.doublesharp")
+makamGlyphs = #'(
+ (1 . "accidentals.doublesharp")
(8/9 . "accidentals.sharp.slashslashslash.stemstem")
(5/9 . "accidentals.sharp.slashslashslash.stem")
(4/9 . "accidentals.sharp")
)
\relative {
-
+
%{ define alteration <-> symbol mapping. The following glyphs are available.
accidentals.sharp
accidentals.sharp.slashslash.stem
accidentals.flatflat.slash
accidentals.doublesharp
%}
-
- \override Accidental #'glyph-name-alist = \makamGlyphs
+ \override Accidental #'glyph-name-alist = \makamGlyphs
\override Staff.KeySignature #'glyph-name-alist = \makamGlyphs
- \set Staff.keySignature = #'(
- (3 . 4/9)
- (6 . -1/9))
+ \set Staff.keySignature = #'((3 . 4/9) (6 . -1/9))
- c cc db fk gbm gfc gfb efk dfbm
+ c cc db fk
+ gbm gfc gfb efk
+ fk db cc c
}
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
-\version "2.11.38"
-\layout { ragged-right= ##t }
-\header {
- doctitle = "Making an object invisible with the transparent property"
- lsrtags = "rhythms,tweaks-and-overrides"
- texidoc = "
-Setting the @code{transparent} property will cause an object to be
-printed in `invisible ink': the object is not printed, but all its
-other behavior is retained. The object still takes up space, it takes
-part in collisions, and slurs, and ties and beams can be attached to it.
-
-
-The snippet demonstrates how to connect different voices using ties.
-Normally, ties only connect two notes in the same voice. By
-introducing a tie in a different voice, and blanking the first up-stem
-in that voice, the tie appears to cross voices.
-" }
-% begin verbatim
-\relative c'' <<
- {
- \once \override Stem #'transparent = ##t
- b8~ b8\noBeam
- } \\ {
- b[ g8]
- }
->>
+\version "2.11.38"\r
+\layout { ragged-right = ##t }\r
+\header {\r
+ doctitle = "Making an object invisible with the transparent property"\r
+ lsrtags = "rhythms,tweaks-and-overrides"\r
+ texidoc = "\r
+Setting the @code{transparent} property will cause an object to be\r
+printed in \"invisible ink\": the object is not printed, but all its\r
+other behavior is retained. The object still takes up space, it takes\r
+part in collisions, and slurs, ties and beams can be attached to it.\r
+\r
+\r
+The snippet demonstrates how to connect different voices using ties. \r
+Normally, ties only connect two notes in the same voice. By\r
+introducing a tie in a different voice, and blanking the first up-stem\r
+in that voice, the tie appears to cross voices. To prevent the blanked stem's\r
+flag from interfering with tie positioning, the stem is extended.\r
+" }\r
+\r
+\relative c'' {\r
+ \time 2/4\r
+ << {\r
+ \once \override Stem #'transparent = ##t\r
+ \once \override Stem #'length = #8\r
+ b8 ~ b\noBeam\r
+ \once \override Stem #'transparent = ##t\r
+ \once \override Stem #'length = #8\r
+ g ~ g\noBeam\r
+ } \\ {\r
+ b g g e\r
+ } >>\r
+}\r
For pedagogical purposes, you may want to make one staff line thicker
(e.g. the middle line, to emphasize the line of the G clef). This can
be achieved by adding extra lines very close to the line you want to
-make thicker, using the #'line-positions property in the StaffSymbol
-context.
+make thicker, using the @code{'line-positions} property of the
+@code{StaffSymbol} object.
" }
% begin verbatim
-\score {
- \new Staff{
- \override Staff.StaffSymbol #'line-positions =#'(-4 -2 -0.2 0 0.2 2 4 )
- d'4 e' f' g'
- }
+{
+ \override Staff.StaffSymbol #'line-positions = #'(-4 -2 -0.2 0 0.2 2 4)
+ d'4 e' f' g'
}
@code{\\override} command.
" }
% begin verbatim
-global = {\override Staff.BarLine #'transparent = ##t
- s1 s
- %the final bar line is not interupted
- \once \override Staff.BarLine #'transparent = ##f
- \bar "|."}
-\new StaffGroup
-\relative c'' <<
- \new Staff {<< \global { c1 c } >>}
- \new Staff {<< \global { c c } >>}
->>
+global = {
+ \override Staff.BarLine #'transparent = ##t
+ s1 s
+ % the final bar line is not interrupted
+ \revert Staff.BarLine #'transparent
+ \bar "|."
+}
+\new StaffGroup \relative c'' {
+ <<
+ \new Staff { << \global { c1 c } >> }
+ \new Staff { << \global { c c } >> }
+ >>
+}
The commonly used @code{\\key} command sets the @code{keySignature}
property, in the @code{Staff} context.
-However, non-standard key signatures can be specified by setting this
-property directly. The format of this command is a list:
+For non-standard key signatures, you can set this property directly.
+The format of this command is a list:
@code{ \\set Staff.keySignature = #`(((octave . step) . alter) ((octave
. step) . alter) ...) } where, for each element in the list,
% begin verbatim
\relative c' {
\set Staff.keySignature = #`(((0 . 3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
- c d e fis aes bes c2
+ c4 d e fis
+ aes bes c2
}
lsrtags = "pitches, text"
texidoc = "
Internally, the @code{set-octavation} function sets the properties
-@code{ottavation} (e.g., to @code{\"8va\"} or @code{\"8vb\"}) and
-@code{middleCPosition}. To override the text of the bracket, set
-@code{ottavation} after invoking @code{set-octavation}, like in the
-following example.
+@code{ottavation} (for example, to @code{\"8va\"} or @code{\"8vb\"})
+and @code{middleCPosition}. To override the text of the bracket, set
+@code{ottavation} after invoking @code{set-octavation}.
" }
makam.ly
-ambiti-multiple-voices.ly
-applying-notehead-styles-depending-on-the-step-of-the-scale.ly
+adding-ambitus-per-voice.ly
+applying-note-head-styles-depending-on-the-step-of-the-scale.ly
transposing-pitches-with-minimum-accidentals-smart-transpose.ly
ottava-text.ly
preventing-extra-naturals-from-being-automatically-added.ly
+ambitus-with-multiple-voices.ly
generating-random-notes.ly
-quoting-another-voice-with-transposition.ly
-adding-ambiti-per-voice.ly
clefs-commonly-tweaked-properties.ly
dodecaphonic-style-accidentals-for-each-note-including-naturals.ly
preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly
+quoting-another-voice-with-transposition.ly
creating-a-sequence-of-notes-on-various-pitches.ly
non-traditional-key-signatures.ly
%% Do not edit this file; it is auto-generated from input/new
%% This file is in the public domain.
\version "2.11.42"
-\layout { ragged-right= ##t }
+\layout { ragged-right = ##t }
\header {
doctitle = "Positioning multi-measure rests"
lsrtags = "rhythms,tweaks-and-overrides"
"}
% begin verbatim
\relative c'' {
-% Multi-measure rests by default are set under the 2nd line
-R1
-% They can be moved with an override
-\override MultiMeasureRest #'staff-position = #-2
-R1
-% A value of 0 is the default position;
-% the following trick moves the rest to the center line
-\override MultiMeasureRest #'staff-position = #-0.01
-R1
-% Multimeasure rests in odd-numbered voices are under the top line
-<< {R1} \\ {a1} >>
-% Multi-measure rests in even-numbered voices are under the bottom line
-<< {c1} \\ {R1} >>
-% They remain separated even in empty bars
-<< {R1} \\ {R1} >>
-% This brings them together even though there are two voices
-\compressFullBarRests
-<<
- \revert MultiMeasureRest #'staff-position
- {R1*3}
-\\
- \revert MultiMeasureRest #'staff-position
- {R1*3}
->>
+ % Multi-measure rests by default are set under the second line
+ R1
+ % They can be moved with an override
+ \override MultiMeasureRest #'staff-position = #-2
+ R1
+ % A value of 0 is the default position;
+ % the following trick moves the rest to the center line
+ \override MultiMeasureRest #'staff-position = #-0.01
+ R1
+ % Multi-measure rests in odd-numbered voices are under the top line
+ << { R1 } \\ { a1 } >>
+ % Multi-measure rests in even-numbered voices are under the bottom line
+ << { c1 } \\ { R1 } >>
+ % They remain separated even in empty bars
+ << { R1 } \\ { R1 } >>
+ % This brings them together even though there are two voices
+ \compressFullBarRests
+ <<
+ \revert MultiMeasureRest #'staff-position
+ { R1*3 }
+ \\
+ \revert MultiMeasureRest #'staff-position
+ { R1*3 }
+ >>
}
-
texidoc = "
If you want to place an exiting segno sign and add text like \"D.S. al
Coda\" next to it where usually the staff lines are you can use this
-snippet. The coda will resume in a new line. Theres a variation
+snippet. The coda will resume in a new line. There is a variation
documented in this snippet, where the coda will remain on the same
line.
" }
lsrtags = "rhythms, percussion"
texidoc = "
In the following snippet, two parts have a completely different time
-signature, yet remain synchronized. The barlines can't be printed at
+signature, yet remain synchronized. The bar lines can't be printed at
the @code{Score} level anymore, so you have to remove the
@code{Barline_engraver} and put it in the @code{Staff} context.
" }
doctitle = "Quoting another voice with transposition"
lsrtags = "pitches,staff-notation"
texidoc = "Quotations take into account the transposition of both
-source and target. In this example, all instruments play sounding
-central C, the target is a instrument in F. The target part may be
-@code{\\transpose}d. In this case, all the pitches (including the
-quoted ones) will transposed as well."
+source and target. In this example, all instruments play sounding
+middle C; the target is an instrument in F. The target part may be
+transposed using @code{\\transpose}. In this case, all the pitches (including the
+quoted ones) are transposed."
}
% begin verbatim
-\addQuote clarinet {
- \transposition bes
- d'16 d'16 d'8
- d'16 d'16 d'8
- d'16 d'16 d'8
- d'16 d'16 d'8
+\addQuote clarinet {
+ \transposition bes
+ \repeat unfold 8 { d'16 d'16 d'8 }
}
-\addQuote sax {
- \transposition es'
- a8 a a a a a a a
+\addQuote sax {
+ \transposition es'
+ \repeat unfold 16 { a8 }
}
quoteTest = {
- \transposition f % french horn
-
- g'4
- << \quoteDuring #"clarinet" { \skip 4 } s4^"clar" >>
- << \quoteDuring #"sax" { \skip 4 } s4^"sax" >>
+ % french horn
+ \transposition f
+ g'4
+ << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >>
+ << \quoteDuring #"sax" { \skip 4 } s4^"sax." >>
+ g'4
}
-<< \quoteTest
- \new Staff
- << \transpose c' d' \quoteTest
- s4_"up 1 tone"
- >>
->>
+{
+ \set Staff.instrumentName = \markup \center-align { "Horn" "in F" }
+ \quoteTest
+ \transpose c' d' << \quoteTest s4_"up a tone" >>
+}
indent = 0.0
\context {
\Staff
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
}
}
modifying-tuplet-bracket-length.ly
changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
making-an-object-invisible-with-the-transparent-property.ly
+automatic-beam-subdivisions.ly
changing-the-tuplet-number.ly
entering-several-tuplets-using-only-one--times-command.ly
conducting-signs,-measure-grouping-signs.ly
c c c
\set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
\repeat volta 5 { d d d }
- \alternative { { e e e f f f }
- { g g g }
+ \alternative {
+ { e e e f f f }
+ { g g g }
}
}
creating-blank-staves.ly
-time-signature-in-parentheses.ly
+incipit.ly
mensurstriche-layout-bar-lines-between-the-staves.ly
-adding-and-extra-staff-at-a-line-break.ly
+adding-ambitus-per-voice.ly
changing-the-number-of-lines-in-a-staff.ly
-incipit.ly
+adding-an-extra-staff-at-a-line-break.ly
display-bracket-with-only-one-staff-in-a-system.ly
-inserting-score-fragments-above-the-staff,-as-markups.ly
+time-signature-in-parentheses.ly
adding-an-extra-staff.ly
changing-the-staff-size.ly
+use-square-bracket-at-the-start-of-a-staff-group.ly
quoting-another-voice-with-transposition.ly
-adding-ambiti-per-voice.ly
clefs-commonly-tweaked-properties.ly
quoting-another-voice.ly
volta-multi-staff.ly
+inserting-score-fragments-above-a-staff,-as-markups.ly
nesting-staves.ly
non-traditional-key-signatures.ly
making-some-staff-lines-thicker-than-the-others.ly
doctitle = "Transposing music with minimum accidentals"
lsrtags = "pitches"
texidoc = "There is a way to enforce enharmonic modifications for
-notes in order to have the minimum number of accidentals. In that
-case, ``Double accidentals should be removed, as well as E-sharp
-(-> F), bC (-> B), bF (-> E), B-sharp (-> C).'', as proposed by a
-request for a new feature. In this manner, the most natural
-enharmonic notes are chosen in this example. "
-}
+notes in order to have the minimum number of accidentals. In this
+case, the following rules apply:
+
+\"Double accidentals should be removed, as well as E sharp (-> F),
+C flat (-> B), F flat (-> E) and B sharp (-> C)\".
+
+In this manner, the most natural enharmonic notes are chosen.
+"}
% begin verbatim
-#(define (naturalise-pitch p)
+#(define (naturalize-pitch p)
(let* ((o (ly:pitch-octave p))
(a (* 4 (ly:pitch-alteration p)))
; alteration, a, in quarter tone steps, for historical reasons
(n (ly:pitch-notename p)))
-
(cond
((and (> a 1) (or (eq? n 6) (eq? n 2)))
(set! a (- a 2))
((and (< a -1) (or (eq? n 0) (eq? n 3)))
(set! a (+ a 2))
(set! n (- n 1))))
-
(cond
((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
-
(if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
(if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
-
(ly:make-pitch o n (/ a 4))))
-#(define (naturalise music)
+#(define (naturalize music)
(let* ((es (ly:music-property music 'elements))
(e (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
-
(if (pair? es)
(ly:music-set-property!
music 'elements
- (map (lambda (x) (naturalise x)) es)))
-
+ (map (lambda (x) (naturalize x)) es)))
(if (ly:music? e)
(ly:music-set-property!
music 'element
- (naturalise e)))
-
+ (naturalize e)))
(if (ly:pitch? p)
(begin
- (set! p (naturalise-pitch p))
+ (set! p (naturalize-pitch p))
(ly:music-set-property! music 'pitch p)))
-
music))
-music = \relative c' { c4 d e f g a b c }
-
-naturaliseMusic =
+naturalizeMusic =
#(define-music-function (parser location m)
(ly:music?)
- (naturalise m))
+ (naturalize m))
+
+music = \relative c' { c4 d e g }
\score {
- \new Staff {
- \transpose c ais \music
- \naturaliseMusic \transpose c ais \music
- \break
+ \new Staff {
+ \transpose c ais \music
+ \naturalizeMusic \transpose c ais \music
\transpose c deses \music
- \naturaliseMusic \transpose c deses \music
+ \naturalizeMusic \transpose c deses \music
}
- \layout { ragged-right = ##t}
+ \layout { ragged-right = ##t }
}
-
-
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.38"
+
+\header {
+ lsrtags = "staff-notation, contexts-and-engravers"
+ texidoc = "
+The system start delimiter @code{SystemStartSquare} can be used by
+setting it explicitly in a @code{StaffGroup} or @code{ChoirStaffGroup}
+context.
+" }
+% begin verbatim
+\score {
+ \new StaffGroup { <<
+ \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
+ \new Staff { c'4 d' e' f' }
+ \new Staff { c'4 d' e' f' }
+ >> }
+}
chant-or-psalms-notation.ly
single-staff-template-with-notes-and-lyrics.ly
+adding-ambitus-per-voice.ly
skips-in-lyric-mode-2.ly
skips-in-lyric-mode.ly
-aligning-lyrics.ly
-vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
+vocal-ensemble-template-with-automatic-piano-reduction.ly
+ambitus-with-multiple-voices.ly
how-to-put-ties-between-syllables-in-lyrics.ly
-adding-ambiti-per-voice.ly
vertically-aligning-ossias-and-lyrics.ly
+vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
single-staff-template-with-notes,-lyrics,-and-chords.ly
-vocal-ensemble-template-with-automatic-piano-reduction.ly
formatting-lyrics-syllables.ly
piano-template-with-melody-and-lyrics.ly
-ambiti-multiple-voices.ly
+aligning-lyrics.ly
vocal-ensemble-template.ly
adjusting-lyrics-vertical-spacing.ly
demo-midiinstruments.ly
\header {
- texidoc = "Horizontal spacing is bounded by of the current measure length.
+ texidoc = "Horizontal spacing is bounded by the current measure length.
This means that the 3/8 setting does not affect the whole rest spacing."
}
\description "A voice on a percussion staff."
\remove "Arpeggio_engraver"
- \consists "Multi_measure_rest_engraver"
- \consists "Text_spanner_engraver"
\consists "Grob_pq_engraver"
\remove "Note_head_line_engraver"
\remove "Fingering_engraver"
\remove "Cluster_spanner_engraver"
- \consists "Tuplet_engraver"
\consists "Skip_event_swallow_translator"
}
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2008-03-07.10}
+\def\texinfoversion{2008-03-31.10}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
\openin 1 #1.jpeg \ifeof 1
\openin 1 #1.JPG \ifeof 1
\openin 1 #1.pdf \ifeof 1
- \errhelp = \nopdfimagehelp
- \errmessage{Could not find image file #1 for pdf}%
+ \openin 1 #1.PDF \ifeof 1
+ \errhelp = \nopdfimagehelp
+ \errmessage{Could not find image file #1 for pdf}%
+ \else \gdef\pdfimgext{PDF}%
+ \fi
\else \gdef\pdfimgext{pdf}%
\fi
\else \gdef\pdfimgext{JPG}%
\closein 1
\endgroup
%
- % without \immediate, pdftex seg faults when the same image is
+ % without \immediate, ancient pdftex seg faults when the same image is
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
\ifnum\pdftexversion < 14
\immediate\pdfimage
%
% Make link in pdf output.
\ifpdf
- \leavevmode
- \getfilename{#4}%
{\indexnofonts
\turnoffactive
+ % This expands tokens, so do it after making catcode changes, so _
+ % etc. don't get their TeX definitions.
+ \getfilename{#4}%
+ %
% See comments at \activebackslashdouble.
{\activebackslashdouble \xdef\pdfxrefdest{#1}%
\backslashparens\pdfxrefdest}%
%
+ \leavevmode
+ \startlink attr{/Border [0 0 0]}%
\ifnum\filenamelength>0
- \startlink attr{/Border [0 0 0]}%
- goto file{\the\filename.pdf} name{\pdfxrefdest}%
+ goto file{\the\filename.pdf} name{\pdfxrefdest}%
\else
- \startlink attr{/Border [0 0 0]}%
- goto name{\pdfmkpgn{\pdfxrefdest}}%
+ goto name{\pdfmkpgn{\pdfxrefdest}}%
\fi
}%
\setcolor{\linkcolor}%
% If the image is by itself, center it.
\ifvmode
\imagevmodetrue
- \nobreak\bigskip
+ \nobreak\medskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
% above and below.
\nobreak\vskip\parskip
\nobreak
- \line\bgroup
\fi
%
+ % Leave vertical mode so that indentation from an enclosing
+ % environment such as @quotation is respected. On the other hand, if
+ % it's at the top level, we don't want the normal paragraph indentation.
+ \noindent
+ %
% Output the image.
\ifpdf
\dopdfimage{#1}{#2}{#3}%
\epsfbox{#1.eps}%
\fi
%
- \ifimagevmode \egroup \bigbreak \fi % space after the image
+ \ifimagevmode \medskip \fi % space after the standalone image
\endgroup}