centrado) y @code{#DOWN} (o @code{#-1}, abajo).
Como podemos ver, esta propiedad se puede cambiar tantas veces
-como queramos. Utilice @code{\\once \\override} si no quiere que el
+como queramos. Utilice @code{\\once \\override} si no quiere que el
truco se aplique a toda la partitura.
"
doctitlees = "Añadir un bajo cifrado encima o debajo de las notas"
-
+
doctitlefr = "Ajout d'une basse chiffrée au-dessus ou au-dessous des notes"
{
r16[ g16 \times 2/3 { r16 e'8] }
g16( a \times 2/3 { b d e') }
- g8[( a \times 2/3 { b d') e']~ }
+ g8[( a \times 2/3 { b d') e'] ~ }
\time 2/4
\times 4/5 { e'32\( a b d' e' } a'4.\)
}
\header {
lsrtags = "fretted-strings"
- texidocfr = "Ajout de doigtés à des tablatures"
-
- texidocfr = "
-L'ajout de doigtés à des tablatures s'obtient en conjuguant des
-@code{\\markup} et des @code{\\finger}.
-
-"
-
texidoc = "
To add fingerings to tablatures, use a combination of @code{\\markup}
and @code{\\finger}.
c2-\parenthesize ->
\override ParenthesesItem #'padding = #0.1
\override ParenthesesItem #'font-size = #-4
- <d \parenthesize fis a>2
+ <d \parenthesize f a>2
}
texidoces = "
Con algo de código de Scheme, se puede añadir fácilmente la fecha
actual a una partitura.
-
"
doctitlees = "Añadir la fecha actual a una partitura"
-
- doctitlefr = "Ajout de la date du jour à une partition"
-
+
texidocfr = "
-Avec un peu de code Scheme, voici comment ajouter facilement
-la date du jour à votre partition."
+Avec un peu de code Scheme, voici comment ajouter facilement
+la date du jour à votre partition.
+"
+
+ doctitlefr = "Ajout de la date du jour à une partition"
texidoc = "
With a little Scheme code, the current date can easily be added to a
} % begin verbatim
\layout {
- ragged-right = ##t
\context {
\Voice
\consists "Ambitus_engraver"
}
}
-\relative
<<
\new Staff {
- \time 2/4 c4 f'
+ \relative c' {
+ \time 2/4
+ c4 f'
+ }
}
- \new Staff \relative {
- \time 2/4
- \key d \major
- cis as'
+ \new Staff {
+ \relative c' {
+ \time 2/4
+ \key d \major
+ cis4 as'
+ }
}
>>
-
doctitle = "Applying note head styles depending on the step of the scale"
} % begin verbatim
-\layout { ragged-right = ##t }
-
fragment = {
\key c \major
c2 d
\fragment
}
}
+ \layout { ragged-right = ##t }
}
doctitle = "Automatic beam subdivisions"
} % begin verbatim
-\score {
- \new Staff \relative c'' {
- << {
- \voiceOne
- \set subdivideBeams = ##t
- b32[ a g f c' b a g b^"subdivide beams" 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]
- } >>
+\new Staff {
+ \relative c'' {
+ <<
+ {
+ \voiceOne
+ \set subdivideBeams = ##t
+ b32[ a g f c' b a g
+ b32^"subdivide beams" a g f c' b a g]
+ }
+ \new Voice {
+ \voiceTwo
+ b32_"default"[ a g f c' b a g
+ b32 a g f c' b a g]
+ }
+ >>
+ \oneVoice
\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]
}
}
-
\score {
<<
- \new Staff \relative c'' {
- \time 4/4
- g8^\markup { without the macro } g g g g g g g
- g8 g g g4 g8 g g
+ \new Staff {
+ \relative c'' {
+ \time 4/4
+ g8-"without the macro" g g g g g g g
+ g8 g g g4 g8 g g
+ }
}
%Use the macro
- \new Staff \relative c'' {
- \time 4/4
- \qBeam
- g8^\markup { with the macro } g g g g g g g
- g8 g g g4 g8 g g
+ \new Staff {
+ \relative c'' {
+ \time 4/4
+ \qBeam
+ g8-"with the macro" g g g g g g g
+ g8 g g g4 g8 g g
+ }
}
>>
\layout {
doctitle = "Changing \\flageolet mark size"
} % begin verbatim
-smallFlageolet = #(let ((m (make-music 'ArticulationEvent
- 'articulation-type "flageolet")))
- (set! (ly:music-property m 'tweaks)
- (acons 'font-size -3
- (ly:music-property m 'tweaks)))
- m)
+smallFlageolet =
+#(let ((m (make-music 'ArticulationEvent
+ 'articulation-type "flageolet")))
+ (ly:music-set-property! m 'tweaks
+ (acons 'font-size -3
+ (ly:music-property m 'tweaks)))
+ m)
\layout { ragged-right = ##f }
} % begin verbatim
\relative c'' {
- \times 2/3 { c8 c c } \times 2/3 { c8 c c }
+ \times 2/3 { c8 c c }
+ \times 2/3 { c8 c c }
\override TupletNumber #'text = #tuplet-number::calc-fraction-text
\times 2/3 { c8 c c }
\override TupletNumber #'stencil = ##f
doctitle = "Chant or psalms notation"
} % begin verbatim
-stemOn = { \override Staff.Stem #'transparent = ##f }
+stemOn = { \revert Staff.Stem #'transparent }
stemOff = { \override Staff.Stem #'transparent = ##t }
\score {
'element elt))
-rhythm = #(define-music-function (parser location note) (ly:music?)
- "Make the rhythm in Mars (the Planets) at the given note's pitch"
- (let* ((p (ly:music-property
- (car (ly:music-property note 'elements))
- 'pitch)))
- (seq-music-list (list
- (make-triplet (seq-music-list (list
- (make-note p (ly:make-duration 3 0 2 3))
- (make-note p (ly:make-duration 3 0 2 3))
- (make-note p (ly:make-duration 3 0 2 3))
- )))
- (make-note p (ly:make-duration 2 0))
- (make-note p (ly:make-duration 2 0))
- (make-note p (ly:make-duration 3 0))
- (make-note p (ly:make-duration 3 0))
- (make-note p (ly:make-duration 2 0))
- ))))
+rhythm =
+#(define-music-function (parser location note) (ly:music?)
+ "Make the rhythm in Mars (the Planets) at the given note's pitch"
+ (let ((p (ly:music-property
+ (car (ly:music-property note 'elements))
+ 'pitch)))
+ (seq-music-list (list
+ (make-triplet (seq-music-list (list
+ (make-note p (ly:make-duration 3 0 2 3))
+ (make-note p (ly:make-duration 3 0 2 3))
+ (make-note p (ly:make-duration 3 0 2 3))
+ )))
+ (make-note p (ly:make-duration 2 0))
+ (make-note p (ly:make-duration 2 0))
+ (make-note p (ly:make-duration 3 0))
+ (make-note p (ly:make-duration 3 0))
+ (make-note p (ly:make-duration 2 0))
+ ))))
-\score {
- \new Staff {
- \time 5/4
- \rhythm c'
- \rhythm c''
- \rhythm g
- }
+\new Staff {
+ \time 5/4
+ \rhythm c'
+ \rhythm c''
+ \rhythm g
}
} % begin verbatim
\relative c' {
- << {
- d16( a') s a s a[ s a] s a[ s a]
- }
- \\
- {
- \slurUp
- bes,16[ s e](
- \hideNotes a)
- \unHideNotes f[(
- \hideNotes a)
- \unHideNotes fis](
- \hideNotes a)
- \unHideNotes g[(
- \hideNotes a)
- \unHideNotes gis](
- \hideNotes a)
- } >>
+ <<
+ {
+ d16( a') s a s a[ s a] s a[ s a]
+ }
+ \\
+ {
+ \slurUp
+ bes,16[ s e](
+ \hideNotes a)
+ \unHideNotes f[(
+ \hideNotes a)
+ \unHideNotes fis](
+ \hideNotes a)
+ \unHideNotes g[(
+ \hideNotes a)
+ \unHideNotes gis](
+ \hideNotes a)
+ }
+ >>
}
}
\layout {
\context {
- \Staff
- \remove "Key_engraver"
+ \Staff
+ \remove "Key_engraver"
}
}
}
making-some-staff-lines-thicker-than-the-others.ly
marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly
measure-counter.ly
+positioning-text-markups-inside-slurs.ly
using-postscript-to-generate-special-note-head-shapes.ly
line-arrows.ly
modifying-default-values-for-articulation-shorthand-notation.ly
piano-template-with-centered-dynamics.ly
+positioning-text-markups-inside-slurs.ly
printing-hairpins-using-al-niente-notation.ly
printing-metronome-and-rehearsal-marks-below-the-staff.ly
setting-hairpin-behavior-at-bar-lines.ly
texidoc = "
Flat flags on lone notes and beam nibs at the ends of beamed figures
are both possible with a combination of @code{stemLeftBeamCount},
-@code{stemRightBeamCount} and paired @code{[ ]} beam indicators.
+@code{stemRightBeamCount} and paired @code{[]} beam indicators.
-For right-pointing flat flags on lone notes, use paired @code{[ ]} beam
+For right-pointing flat flags on lone notes, use paired @code{[]} beam
indicators and set @code{stemLeftBeamCount} to zero (see Example 1).
Sometimes it may make sense for a lone note surrounded by rests to
carry both a left- and right-pointing flat flag. Do this with paired
-@code{[ ]} beam indicators alone (Example 4).
+@code{[]} beam indicators alone (Example 4).
-(Note that @code{\\set stemLeftBeamCount}is always equivalent to
-@code{\\once \\set}. In other words, the beam count settings aren't
-\"sticky\", so the pair of flat flags attached to the lone @code{c'16
-[ ]} in the last example have nothing to do with the @code{\\set} two
-notes prior.)
+(Note that @code{\\set stemLeftBeamCount} is always equivalent to
+@code{\\once \\set}. In other words, the beam count settings are not
+\"sticky\", so the pair of flat flags attached to the lone
+@code{c'16[]} in the last example have nothing to do with the
+@code{\\set} two notes prior.)
} % begin verbatim
\score {
-<<
-% Example 1
-\new RhythmicStaff {
- \set stemLeftBeamCount = #0
- c'16 [ ]
- r8.
-}
-
-% Example 2
-\new RhythmicStaff {
- r8.
- \set stemRightBeamCount = #0
- c'16 [ ]
-}
-
-% Example 3
-\new RhythmicStaff {
- c'16
- c'16
- \set stemRightBeamCount = #2
- c'16
- r16
- r16
- \set stemLeftBeamCount = #2
- c'16
- c'16
- c'16
-}
-
-% Example 4
-\new RhythmicStaff {
- c'16
- c'16
- \set stemRightBeamCount = #2
- c'16
- r16
- c'16 [ ]
- r16
- \set stemLeftBeamCount = #2
- c'16
- c'16
-}
->>
+ <<
+ % Example 1
+ \new RhythmicStaff {
+ \set stemLeftBeamCount = #0
+ c16[]
+ r8.
+ }
+
+ % Example 2
+ \new RhythmicStaff {
+ r8.
+ \set stemRightBeamCount = #0
+ c16[]
+ }
+
+ % Example 3
+ \new RhythmicStaff {
+ c16 c
+ \set stemRightBeamCount = #2
+ c16 r r
+ \set stemLeftBeamCount = #2
+ c16 c c
+ }
+
+ % Example 4
+ \new RhythmicStaff {
+ c16 c
+ \set stemRightBeamCount = #2
+ c16 r
+ c16[]
+ r16
+ \set stemLeftBeamCount = #2
+ c16 c
+ }
+ >>
}
texidoc = "
This snippet demonstrates how to obtain automatic ordered rehearsal
-marks, but from the letter or number you want.
+marks, but from the letter or number desired.
"
doctitle = "Forcing rehearsal marks to start from a given letter or number"
\relative c'' {
\time 5/16
+ #(override-auto-beam-setting '(end * * 5 16) 5 16)
\set beatGrouping = #'(2 3)
- c8[^"(2+3)" c16 c8]
+ c8^"(2+3)" c16 c8
\set beatGrouping = #'(3 2)
- c8[^"(3+2)" c16 c8]
+ c8^"(3+2)" c16 c8
}
c1 f g c
}
}
-
\new FretBoards {
\chordmode {
c1 f g c
}
}
-
-
\new Voice \with {
- \consists Pitch_squash_engraver
- } \relative c'' {
- \improvisationOn
- c4 c8 c c4 c8 c
- f4 f8 f f4 f8 f
- g4 g8 g g4 g8 g
- c4 c8 c c4 c8 c
+ \consists "Pitch_squash_engraver"
+ } {
+ \relative c'' {
+ \improvisationOn
+ c4 c8 c c4 c8 c
+ f4 f8 f f4 f8 f
+ g4 g8 g g4 g8 g
+ c4 c8 c c4 c8 c
+ }
}
-
-
\new Voice = "melody" {
\relative c'' {
- \improvisationOff
c2 e4 e4
f2. r4
g2. a4
e4 c2.
}
}
-
\new Lyrics {
\lyricsto "melody" {
This is my song.
\once \override Staff.InstrumentName #'self-alignment-Y = #UP
\once \override Staff.InstrumentName #'Y-offset = #4
\once \override Staff.InstrumentName #'padding = #0.3
- \once \override Staff.InstrumentName #'stencil =
+ \once \override Staff.InstrumentName #'stencil =
#(lambda (grob)
(let* ((instrument-name (ly:grob-property grob 'long-text))
(layout (ly:output-def-clone (ly:grob-layout grob)))
(ly:output-def-set-variable! layout 'ragged-last #f)
(ly:output-def-set-variable! layout 'system-count 1)
(ly:score-add-output-def! score layout)
- (set! (ly:grob-property grob 'long-text)
+ (ly:grob-set-property! grob 'long-text
(markup #:score score))
(ly:system-start-text::print grob)))
#})
\set Score.skipBars = ##t
\key g \major
\time 4/4
-
- %make the staff lines invisible on staves
- \override Staff.BarLine #'transparent = ##t
+
% the actual music
\skip 1*8
\incipit \bassusIncipit
\bassusNotes
>>
+ \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
>>
- \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
- %% Keep the bass lyrics outside of the staff group to avoid bar lines
- %% between the lyrics.
>>
\layout {
\context {
\Score
- %% no bar lines in staves
+ %% no bar lines in staves or lyrics
\override BarLine #'transparent = ##t
}
- %% the next three instructions keep the lyrics between the bar lines
+ %% the next two instructions keep the lyrics between the bar lines
\context {
\Lyrics
- \consists "Bar_engraver"
- \override BarLine #'transparent = ##t
- }
- \context {
- \StaffGroup
+ \consists "Bar_engraver"
\consists "Separating_line_group_engraver"
}
\context {
\relative c'' {
\time 2/4
- << {
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- b8 ~ b\noBeam
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- g8 ~ g\noBeam
- }
- \\
- {
- b8 g g e
- } >>
+ <<
+ {
+ \once \override Stem #'transparent = ##t
+ \once \override Stem #'length = #8
+ b8 ~ b\noBeam
+ \once \override Stem #'transparent = ##t
+ \once \override Stem #'length = #8
+ g8 ~ g\noBeam
+ }
+ \\
+ {
+ b8 g g e
+ }
+ >>
}
\relative c' {
\time 2/4
- % from upper staffline (position 4) to center (position 0)
+ % from upper staff-line (position 2) to center (position 0)
\override Beam #'positions = #'(2 . 0)
c8 c
- % from center to one above center (position 2)
+ % from center to one above center (position 1)
\override Beam #'positions = #'(0 . 1)
c8 c
}
texidoc = "
This example shows how to put crosses on stems. Mark the beginning
of a spoken section with the @code{\\speakOn} keyword, and end it
-with the @code{\\speakOff} keyword. Remember to end cross sections
-before entering any rest: this function also adds crosses to the
-invisible stems of rests.
+with the @code{\\speakOff} keyword.
"
doctitle = "Marking notes of spoken parts with a cross on the stem"
} % begin verbatim
speakOn = {
\override Stem #'stencil = #(lambda (grob)
- (ly:stencil-combine-at-edge
- (ly:stem::print grob)
- Y
- (- (ly:grob-property grob 'direction))
- (grob-interpret-markup grob
- (markup #:hspace -1.025 #:fontsize -4
- #:musicglyph "noteheads.s2cross"))
- -2.3 0))
+ (let* ((x-parent (ly:grob-parent grob X))
+ (is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
+ (if is-rest?
+ empty-stencil
+ (ly:stencil-combine-at-edge
+ (ly:stem::print grob)
+ Y
+ (- (ly:grob-property grob 'direction))
+ (grob-interpret-markup grob
+ (markup #:hspace -1.025 #:fontsize -4
+ #:musicglyph "noteheads.s2cross"))
+ -2.3 0))))
}
speakOff = {
doctitle = "Merging multi-measure rests in a polyphonic part"
} % begin verbatim
-normalPos= \revert MultiMeasureRest #'staff-position
+normalPos = \revert MultiMeasureRest #'staff-position
{
<<
{
- c''1
- R1
- c''1
- \normalPos
- R1
- }
- \\
- {
- c'1
- R1
- c'1
- \normalPos
- R1
- }
+ c''1
+ R1
+ c''1
+ \normalPos
+ R1
+ }
+ \\
+ {
+ c'1
+ R1
+ c'1
+ \normalPos
+ R1
+ }
>>
}
-%% 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.12.0"
\header {
- lsrtags = "pitches, text"
-
texidoces = "
Internamente, la función @code{set-octavation} establece las
propiedades @code{ottavation} (por ejemplo, a @code{\"8va\"} o a
doctitlede = "Ottava-Text"
+ lsrtags = "pitches, text"
texidoc = "
-Internally, the @code{set-octavation} function sets the properties
-@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}.
-
-
-
+Internally, @code{\\ottava} sets the properties @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{\\ottava}.
"
doctitle = "Ottava text"
} % begin verbatim
+
{
\ottava #1
\set Staff.ottavation = #"8"
}
\relative c'' {
a8
- \repeat unfold 8 { \times 2/3 { c[ b a] } }
+ \repeat unfold 5 { \times 2/3 { c[ b a] } }
% Insert a manual line break within a tuplet
\times 2/3 { c[ b \bar "" \break a] }
- \repeat unfold 2 { \times 2/3 { c[ b a] } }
+ \repeat unfold 5 { \times 2/3 { c[ b a] } }
c8
}
--- /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.12.0"
+
+\header {
+ lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
+
+ texidoc = "
+Text markups need to have the @code{outside-staff-priority} property
+set to false in order to be printed inside slurs.
+
+"
+ doctitle = "Positioning text markups inside slurs"
+} % begin verbatim
+
+\relative c'' {
+ \override TextScript #'avoid-slur = #'inside
+ \override TextScript #'outside-staff-priority = ##f
+ c2(^\markup { \halign #-10 \natural } d4.) c8
+}
+
In the following snippet, two parts have a completely different time
signature, yet remain synchronized. The bar lines can no longer be
printed at the @code{Score} level; to allow independent bar lines in
-each part, the @code{Barline_engraver} is moved from the @code{Score}
-context to the @code{Staff} context.
+each part, the @code{Default_barline_engraver} and
+@code{Timing_translator} are moved from the @code{Score} context to the
+@code{Staff} context.
"
doctitle = "Printing music with different time signatures"
>>
\score {
- << \Bassklarinette \Perkussion >>
+ <<
+ \Bassklarinette
+ \Perkussion
+ >>
}
% Macro to print single slash
rs = {
\once \override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
- \once \override Rest #'thickness = #'0.48
- \once \override Rest #'slope = #'1.7
+ \once \override Rest #'thickness = #0.48
+ \once \override Rest #'slope = #1.7
r4
}
comp = #(define-music-function (parser location count) ( integer?)
#{
\override Rest #'stencil = #ly:percent-repeat-item-interface::beat-slash
- \override Rest #'thickness = #'0.48
- \override Rest #'slope = #'1.7
+ \override Rest #'thickness = #0.48
+ \override Rest #'slope = #1.7
\repeat unfold $count { r4 }
\revert Rest #'stencil
#}
)
-\score{
+\score {
\relative c' {
- c d e f |
+ c4 d e f |
\rs \rs \rs \rs |
\comp #4 |
}
By specifying the context, the effect of @code{beatGrouping} can be
limited to the context specified, and the values which may have
been set in higher-level contexts can be overridden. The
-@code{\set} commands must be placed @emph{after} all @code{\time}
+@code{\\set} commands must be placed @emph{after} all @code{\\time}
commands:
"
doctitle = "Specifying context with beatGrouping"
\new Voice {
\relative c' {
\voiceTwo
- \set Voice.beatGrouping = #'(1 3 3)
+ \set beatGrouping = #'(1 3 3)
f8 f f f f f f
}
}
% New command to add a three sided box, with sides north, west and south
% Based on the box-stencil command defined in scm/stencil.scm
-% Note that you use ";" to comment a line in Scheme
+% Note that ";" is used to comment a line in Scheme
#(define-public (NWS-box-stencil stencil thickness padding)
"Add a box around STENCIL, producing a new stencil."
(let* ((x-ext (interval-widen (ly:stencil-extent stencil 0) padding))
- (y-ext (interval-widen (ly:stencil-extent stencil 1) padding))
- (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext))
- (x-rule (make-filled-box-stencil
- (interval-widen x-ext thickness) (cons 0 thickness))))
+ (y-ext (interval-widen (ly:stencil-extent stencil 1) padding))
+ (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext))
+ (x-rule (make-filled-box-stencil
+ (interval-widen x-ext thickness) (cons 0 thickness))))
; (set! stencil (ly:stencil-combine-at-edge stencil X 1 y-rule padding))
(set! stencil (ly:stencil-combine-at-edge stencil X -1 y-rule padding))
- (set! stencil (ly:stencil-combine-at-edge stencil Y 1 x-rule 0.0))
+ (set! stencil (ly:stencil-combine-at-edge stencil Y 1 x-rule 0.0))
(set! stencil (ly:stencil-combine-at-edge stencil Y -1 x-rule 0.0))
stencil))
#(define-markup-command (NWS-box layout props arg) (markup?)
"Draw a box round @var{arg}. Looks at @code{thickness},
@code{box-padding} and @code{font-size} properties to determine line
-thickness and padding around the markup."
-
+thickness and padding around the markup."
(let* ((th (chain-assoc-get 'thickness props 0.1))
- (size (chain-assoc-get 'font-size props 0))
- (pad (* (magstep size)
- (chain-assoc-get 'box-padding props 0.2)))
- (m (interpret-markup layout props arg)))
+ (size (chain-assoc-get 'font-size props 0))
+ (pad (* (magstep size)
+ (chain-assoc-get 'box-padding props 0.2)))
+ (m (interpret-markup layout props arg)))
(NWS-box-stencil m th pad)))
-
% Test it:
\layout { ragged-right = ##f }
-
-\relative c' {
+\relative c' {
c2^\markup { \NWS-box ABCD }
- c^\markup { \NWS-box \note #"4" #1.0 }
+ c2^\markup { \NWS-box \note #"4" #1.0 }
}
#(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
+ ; 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)))
(e (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
(if (pair? es)
- (ly:music-set-property!
+ (ly:music-set-property!
music 'elements
(map (lambda (x) (naturalize x)) es)))
(if (ly:music? e)
- (ly:music-set-property!
+ (ly:music-set-property!
music 'element
(naturalize e)))
(if (ly:pitch? p)
- (begin
- (set! p (naturalize-pitch p))
- (ly:music-set-property! music 'pitch p)))
+ (begin
+ (set! p (naturalize-pitch p))
+ (ly:music-set-property! music 'pitch p)))
music))
naturalizeMusic =
#(define-music-function (parser location m)
- (ly:music?)
- (naturalize m))
+ (ly:music?)
+ (naturalize m))
music = \relative c' { c4 d e g }
\set Staff.clefPosition = #0
c'1
- % Here we go back to the normal clef:
+ % Return to the normal clef:
\set Staff.middleCPosition = #0
c'1
nesting-staves.ly
percent-repeat-count-visibility.ly
positioning-multi--measure-rests.ly
+positioning-text-markups-inside-slurs.ly
printing-a-repeat-sign-at-the-beginning-of-a-piece.ly
printing-metronome-and-rehearsal-marks-below-the-staff.ly
proportional-strict-notespacing.ly
}
\layout {
\context {
- \Staff
- \remove "Key_engraver"
+ \Staff
+ \remove "Key_engraver"
}
}
}
c1 f g c
}
}
-
\new FretBoards {
\chordmode {
c1 f g c
}
}
-
-
\new Voice \with {
- \consists Pitch_squash_engraver
- } \relative c'' {
- \improvisationOn
- c4 c8 c c4 c8 c
- f4 f8 f f4 f8 f
- g4 g8 g g4 g8 g
- c4 c8 c c4 c8 c
+ \consists "Pitch_squash_engraver"
+ } {
+ \relative c'' {
+ \improvisationOn
+ c4 c8 c c4 c8 c
+ f4 f8 f f4 f8 f
+ g4 g8 g g4 g8 g
+ c4 c8 c c4 c8 c
+ }
}
-
-
\new Voice = "melody" {
\relative c'' {
- \improvisationOff
c2 e4 e4
f2. r4
g2. a4
e4 c2.
}
}
-
\new Lyrics {
\lyricsto "melody" {
This is my song.
\once \override Staff.InstrumentName #'self-alignment-Y = #UP
\once \override Staff.InstrumentName #'Y-offset = #4
\once \override Staff.InstrumentName #'padding = #0.3
- \once \override Staff.InstrumentName #'stencil =
+ \once \override Staff.InstrumentName #'stencil =
#(lambda (grob)
(let* ((instrument-name (ly:grob-property grob 'long-text))
(layout (ly:output-def-clone (ly:grob-layout grob)))
(ly:output-def-set-variable! layout 'ragged-last #f)
(ly:output-def-set-variable! layout 'system-count 1)
(ly:score-add-output-def! score layout)
- (set! (ly:grob-property grob 'long-text)
+ (ly:grob-set-property! grob 'long-text
(markup #:score score))
(ly:system-start-text::print grob)))
#})
\set Score.skipBars = ##t
\key g \major
\time 4/4
-
- %make the staff lines invisible on staves
- \override Staff.BarLine #'transparent = ##t
+
% the actual music
\skip 1*8
\incipit \bassusIncipit
\bassusNotes
>>
+ \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
>>
- \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
- %% Keep the bass lyrics outside of the staff group to avoid bar lines
- %% between the lyrics.
>>
\layout {
\context {
\Score
- %% no bar lines in staves
+ %% no bar lines in staves or lyrics
\override BarLine #'transparent = ##t
}
- %% the next three instructions keep the lyrics between the bar lines
+ %% the next two instructions keep the lyrics between the bar lines
\context {
\Lyrics
- \consists "Bar_engraver"
- \override BarLine #'transparent = ##t
- }
- \context {
- \StaffGroup
+ \consists "Bar_engraver"
\consists "Separating_line_group_engraver"
}
\context {
\relative c'' {
\time 2/4
- << {
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- b8 ~ b\noBeam
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- g8 ~ g\noBeam
- }
- \\
- {
- b8 g g e
- } >>
+ <<
+ {
+ \once \override Stem #'transparent = ##t
+ \once \override Stem #'length = #8
+ b8 ~ b\noBeam
+ \once \override Stem #'transparent = ##t
+ \once \override Stem #'length = #8
+ g8 ~ g\noBeam
+ }
+ \\
+ {
+ b8 g g e
+ }
+ >>
}
texidoc = "
This example shows how to put crosses on stems. Mark the beginning
of a spoken section with the @code{\\speakOn} keyword, and end it
-with the @code{\\speakOff} keyword. Remember to end cross sections
-before entering any rest: this function also adds crosses to the
-invisible stems of rests.
+with the @code{\\speakOff} keyword.
"
doctitle = "Marking notes of spoken parts with a cross on the stem"
}
speakOn = {
\override Stem #'stencil = #(lambda (grob)
- (ly:stencil-combine-at-edge
- (ly:stem::print grob)
- Y
- (- (ly:grob-property grob 'direction))
- (grob-interpret-markup grob
- (markup #:hspace -1.025 #:fontsize -4
- #:musicglyph "noteheads.s2cross"))
- -2.3 0))
+ (let* ((x-parent (ly:grob-parent grob X))
+ (is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
+ (if is-rest?
+ empty-stencil
+ (ly:stencil-combine-at-edge
+ (ly:stem::print grob)
+ Y
+ (- (ly:grob-property grob 'direction))
+ (grob-interpret-markup grob
+ (markup #:hspace -1.025 #:fontsize -4
+ #:musicglyph "noteheads.s2cross"))
+ -2.3 0))))
}
speakOff = {
--- /dev/null
+\version "2.12.0"
+
+\header {
+ lsrtags = "pitches, text"
+ texidoc = "
+Internally, @code{\\ottava} sets the properties @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{\\ottava}.
+"
+ doctitle = "Ottava text"
+}
+
+{
+ \ottava #1
+ \set Staff.ottavation = #"8"
+ c''1
+ \ottava #0
+ c'1
+ \ottava #1
+ \set Staff.ottavation = #"Text"
+ c''1
+}
By specifying the context, the effect of @code{beatGrouping} can be
limited to the context specified, and the values which may have
been set in higher-level contexts can be overridden. The
-@code{\set} commands must be placed @emph{after} all @code{\time}
+@code{\\set} commands must be placed @emph{after} all @code{\\time}
commands:
"
doctitle = "Specifying context with beatGrouping"
\new Voice {
\relative c' {
\voiceTwo
- \set Voice.beatGrouping = #'(1 3 3)
+ \set beatGrouping = #'(1 3 3)
f8 f f f f f f
}
}
#(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
+ ; 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)))
(e (ly:music-property music 'element))
(p (ly:music-property music 'pitch)))
(if (pair? es)
- (ly:music-set-property!
+ (ly:music-set-property!
music 'elements
(map (lambda (x) (naturalize x)) es)))
(if (ly:music? e)
- (ly:music-set-property!
+ (ly:music-set-property!
music 'element
(naturalize e)))
(if (ly:pitch? p)
- (begin
- (set! p (naturalize-pitch p))
- (ly:music-set-property! music 'pitch p)))
+ (begin
+ (set! p (naturalize-pitch p))
+ (ly:music-set-property! music 'pitch p)))
music))
naturalizeMusic =
#(define-music-function (parser location m)
- (ly:music?)
- (naturalize m))
+ (ly:music?)
+ (naturalize m))
music = \relative c' { c4 d e g }
centrado) y @code{#DOWN} (o @code{#-1}, abajo).
Como podemos ver, esta propiedad se puede cambiar tantas veces
-como queramos. Utilice @code{\\once \\override} si no quiere que el
+como queramos. Utilice @code{\\once \\override} si no quiere que el
truco se aplique a toda la partitura.
"
doctitlees = "Añadir un bajo cifrado encima o debajo de las notas"
+
+ doctitlefr = "Ajout d'une basse chiffrée au-dessus ou au-dessous des notes"
--- /dev/null
+ texidocfr = "Ajout de doigtés à des tablatures"
+
+ doctitlefr = "
+L'ajout de doigtés à des tablatures s'obtient en conjuguant des
+@code{\\markup} et des @code{\\finger}.
+"
texidoces = "
Con algo de código de Scheme, se puede añadir fácilmente la fecha
actual a una partitura.
-
"
doctitlees = "Añadir la fecha actual a una partitura"
+
+ texidocfr = "
+Avec un peu de code Scheme, voici comment ajouter facilement
+la date du jour à votre partition.
+"
+
+ doctitlefr = "Ajout de la date du jour à une partition"