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