@end ignore
+@item
+Several articulations can be put into a single variable or
+returned from an event function:
+
+@lilypond[verbatim,quote]
+sempreStacc = -. ^\markup \italic sempre
+\relative { c''4\sempreStacc c c c }
+@end lilypond
+
+@item
+The baseline of score markups is now taken from the reference
+point (usually the middle of the staff) of the first bottom system
+rather than the top of the bounding rectangle. The following
+@lilypond[verbatim,quote]
+\markup {
+ violin: \score { \new Staff { <g d' a' e''>1 }
+ \layout { indent=0 } } ,
+ cello: \score { \new Staff { \clef "bass" <c, g, d a> }
+ \layout { indent=0 } }
+}
+@end lilypond
+previously looked like
+@lilypond[quote]
+\markup {
+ violin: \general-align #Y #UP
+ \score { \new Staff { <g d' a' e''>1 }
+ \layout { indent=0 } } ,
+ cello: \general-align #Y #UP
+ \score { \new Staff { \clef "bass" <c, g, d a> }
+ \layout { indent=0 } }
+}
+@end lilypond
+without a reliable way to get both scores to line up.
+
@item
LilyPond no longer automatically infers a @samp{\defaultchild}
context in a context definition with @samp{\accepts} clauses. Any
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.11"
+@c \version "2.17.30"
@c Translators: Till Paala
\context {
\Score
\override SpacingSpanner.spacing-increment = #3
- \override TimeSignature.transparent = ##t
+ \hide TimeSignature
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Till Paala
\score {
<<
\new MensuralVoice = "discantus" \transpose c c' {
- \override Score.BarNumber.transparent = ##t {
+ \hide Score.BarNumber {
c'1\melisma bes a g\melismaEnd
f\breve
\[ f1\melisma a c'\breve d'\melismaEnd \]
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-fa2"
c
@lilypond[relative=1,notime]
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do-fa"
c
In einigen Transkriptionsstilen werden jedoch teilweise
Hälse eingesetzt, um etwa den Übergang von einem Einton-Rezitativ
zu einer melodischen Geste anzuzeigen. In diesem Fall können
-Hälse entweder mit @code{\override Stem.transparent = ##t}
+Hälse entweder mit @code{\hide Stem}
unsichtbar gemacht werden oder mit
@code{\override Stem.length = #0} auf die Länge von 0 reduziert
werden. Die Hälse müssen dann wieder an den entsprechenden
Stellen mit @code{\once \override Stem.transparent = ##f}
sichtbar gemacht werden (siehe auch Beispiel unten). Wenn Hälse
eingesetzt werden, die Fähnchen haben, muss zusätzlich auch noch
-@code{\override Flag.transparent = ##t} eingestellt werden.
+@code{\hide Flag} eingestellt werden.
@b{Takt.} Für Gesang ohne Metrum gibt es einige Alternativen.
Um Taktstriche zu entfernen, kann man radikal den @code{Bar_engraver}
aus dem @code{Staff}-Kontext entfernen. Wenn man ab und zu
einen Taktstrich braucht, sollten die Striche nur mit
-@code{\override BarLine.transparent = ##t} unsichtbar
+@code{\hide BarLine} unsichtbar
gemacht werden.
Oft werden Rezitativtöne mit einer Brevis angezeigt. Der
\Staff
\remove "Time_signature_engraver"
\remove "Bar_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
}
}
}
chant = \relative c' {
\clef "G_8"
\set Score.timing = ##f
- c\breve \override NoteHead.transparent = ##t c c c c c
- \revert NoteHead.transparent
+ c\breve \hide NoteHead c c c c c
+ \undo \hide NoteHead
\override Stem.transparent = ##f \stemUp c4 b4 a
- \override Stem.transparent = ##t c2 c4 \divisioMaior
- c\breve \override NoteHead.transparent = ##t c c c c c c c
- \revert NoteHead.transparent c4 c f, f \finalis
+ \hide Stem c2 c4 \divisioMaior
+ c\breve \hide NoteHead c c c c c c c
+ \undo \hide NoteHead c4 c f, f \finalis
}
verba = \lyricmode {
\context {
\Staff
\remove "Time_signature_engraver"
- \override BarLine.transparent = ##t
- \override Stem.transparent = ##t
+ \hide BarLine
+ \hide Stem
}
}
}
\Staff
\remove "Time_signature_engraver"
\override BarLine.X-extent = #'(-1 . 1)
- \override Stem.transparent = ##t
- \override Beam.transparent = ##t
- \override BarLine.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Stem
+ \hide Beam
+ \hide BarLine
+ \hide TupletNumber
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Till Paala
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
}
\context { \Staff
@example
\override NoteHead.style = #'slash
-\override Stem.transparent = ##t
+\hide Stem
@end example
Alle diese Engraver müssen zusammenarbeiten, und das wird erreicht mit
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
@}
@end example
@lilypond[quote,verbatim,relative=1]
a1 a
-\override Score.BarLine.stencil = ##f
+\omit Score.BarLine
a a
-\revert Score.BarLine.stencil
+\undo \omit Score.BarLine
a a a
@end lilypond
@lilypond[quote,verbatim,relative=2]
a4 a
-\once \override NoteHead.transparent = ##t
+\once \hide NoteHead
a a
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Till Paala
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:m c:m7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:dim c:dim7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:aug
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:maj c:maj7
}
@end lilypond
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.27"
+@c \version "2.17.30"
@c Translators: Till Paala
indem @code{restrainOpenStrings} auf @code{#t} gesetzt wird.
@lilypond[quote,ragged-right,verbatim]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
werden:
@lilypond[verbatim,quote]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
firstHarmonic = {
d'4\4\harmonic
g'4\3\harmonic
@lilypond[quote,ragged-right,verbatim]
<<
\new Voice \with {
- \override StringNumber.stencil = ##f
+ \omit StringNumber
} {
\clef "bass_8"
\relative c, {
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Till Paala
<< \new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics \nam
\new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
\override StaffSymbol.line-count = #2
\override StaffSymbol.staff-space = #2
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
drumStyleTable = #percussion-style
\override StaffSymbol.line-count = #1
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Till Paala
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Till Paala
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\override DynamicText.self-alignment-X = #-1
\override FretBoard.X-offset = #1.75
\override InstrumentName.minimum-Y-extent = #'(-2 . 2)
\override InstrumentName.extra-offset = #'(0 . -0.5)
\override TextScript.minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature.stencil = ##f
+ \omit TimeSignature
}
}
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Till Paala
<<
\new Staff = ossia \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
<<
\new Staff = ossia \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
den Engraver zu entfernen:
@example
-\override StaffSymbol.stencil = ##f
+\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Till Paala
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
@}
@}
@end example
der gesprochenen Worte orientiert.
@lilypond[verbatim,quote]
-stemOff = { \override Staff.Stem.transparent = ##t }
+stemOff = { \hide Staff.Stem }
\relative c' {
\stemOff
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.11"
+@c \version "2.17.30"
@node Grabado musical
@chapter Grabado musical
\context {
\Score
\override SpacingSpanner.spacing-increment = #3
- \override TimeSignature.transparent = ##t
+ \hide TimeSignature
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@node Notación antigua
\score {
<<
\new MensuralVoice = "discantus" \relative c'' {
- \override Score.BarNumber.transparent = ##t {
+ \hide Score.BarNumber {
c1\melisma bes a g\melismaEnd
f\breve
\[ f1\melisma a c\breve d\melismaEnd \]
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-fa2"
c
@lilypond[relative=1,notime]
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do-fa"
c
Sin embargo, en ciertos estilos de transcripción, se usan plicas de
forma ocasional, por ejemplo para indicar la transición a partir de un
recitativo monotónico a un gesto melódico fijo. En estos casos
-podemos usar bien @code{\override Stem.transparent = ##t} o bien
+podemos usar bien @code{\hide Stem} o bien
@code{\override Stem.length = #0}, y restaurar la plica cuando se
necesite con el correspondiente @code{\once \override Stem.transparent = ##f} (véase el ejemplo de abajo). Al utilizar
plicas que lleven corchetes, asegúrese de establecer también
-@code{\override Flag.transparent = ##t}.
+@code{\hide Flag}.
@b{Compás}. Para el canto no medido, existen diversas alternativas.
Para quitar las barras de compás, el enfoque radical consiste en
retirar (mediante la instrucción @code{\remove}) el grabador
Bar_engraver del contexto de pentagrama Staff. Una vez más, en vez de
-ello podemos usar @code{\override BarLine.transparent = ##t} si se
+ello podemos usar @code{\hide BarLine} si se
necesita ocasionalmente una barra de compás.
Un tipo de transcripción muy común es el canto de recitativo, en el
\Staff
\remove "Time_signature_engraver"
\remove "Bar_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
}
}
}
chant = \relative c' {
\clef "G_8"
\set Score.timing = ##f
- c\breve \override NoteHead.transparent = ##t c c c c c
- \revert NoteHead.transparent
+ c\breve \hide NoteHead c c c c c
+ \undo \hide NoteHead
\override Stem.transparent = ##f \stemUp c4 b4 a
- \override Stem.transparent = ##t c2 c4 \divisioMaior
- c\breve \override NoteHead.transparent = ##t c c c c c c c
- \revert NoteHead.transparent c4 c f, f \finalis
+ \hide Stem c2 c4 \divisioMaior
+ c\breve \hide NoteHead c c c c c c c
+ \undo \hide NoteHead c4 c f, f \finalis
}
verba = \lyricmode {
\context {
\Staff
\remove "Time_signature_engraver"
- \override BarLine.transparent = ##t
- \override Stem.transparent = ##t
+ \hide BarLine
+ \hide Stem
}
}
}
\Staff
\remove "Time_signature_engraver"
\override BarLine.X-extent = #'(-1 . 1)
- \override Stem.transparent = ##t
- \override Beam.transparent = ##t
- \override BarLine.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Stem
+ \hide Beam
+ \hide BarLine
+ \hide TupletNumber
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@node Cambiar los valores por omisión
@chapter Cambiar los valores por omisión
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
}
\context { \Staff
@example
\override NoteHead.style = #'slash
-\override Stem.transparent = ##t
+\hide Stem
@end example
Todos estos complementos o plug-ins tienen que comunicarse bajo el
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
@}
@end example
@lilypond[quote,verbatim,relative=1]
a1 a
-\override Score.BarLine.stencil = ##f
+\omit Score.BarLine
a a
-\revert Score.BarLine.stencil
+\undo \omit Score.BarLine
a a a
@end lilypond
@lilypond[quote,verbatim,relative=2]
a4 a
-\once \override NoteHead.transparent = ##t
+\once \hide NoteHead
a a
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@node Notación de acordes
@section Notación de acordes
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:m c:m7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:dim c:dim7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:aug
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:maj c:maj7
}
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.27"
+@c \version "2.17.30"
@node Instrumentos de cuerda con trastes
@section Instrumentos de cuerda con trastes
fijando @code{restrainOpenStrings} al valor @code{#t}.
@lilypond[quote,ragged-right,verbatim]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
como sus alturas de sonido:
@lilypond[verbatim,quote]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
firstHarmonic = {
d'4\4\harmonic
g'4\3\harmonic
@lilypond[quote,ragged-right,verbatim]
<<
\new Voice \with {
- \override StringNumber.stencil = ##f
+ \omit StringNumber
} {
\clef "bass_8"
\relative c, {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@node Percusión
@section Percusión
<< \new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics \nam
\new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
\override StaffSymbol.line-count = #2
\override StaffSymbol.staff-space = #2
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
drumStyleTable = #percussion-style
\override StaffSymbol.line-count = #1
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@node Duraciones
@section Duraciones
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@ignore
GDP TODO list
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\override DynamicText.self-alignment-X = #-1
\override FretBoard.X-offset = #1.75
\override InstrumentName.minimum-Y-extent = #'(-2 . 2)
\override InstrumentName.extra-offset = #'(0 . -0.5)
\override TextScript.minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature.stencil = ##f
+ \omit TimeSignature
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@node Notación de los pentagramas
@section Notación de los pentagramas
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
grabador:
@example
-\override StaffSymbol.stencil = ##f
+\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@node Música vocal
@section Música vocal
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
@}
@}
@end example
la altura, tomando las duraciones del ritmo hablado del texto.
@lilypond[verbatim,quote]
-stemOff = { \override Staff.Stem.transparent = ##t }
+stemOff = { \hide Staff.Stem }
\relative c' {
\stemOff
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.11"
+@c \version "2.17.30"
@node Music engraving
@chapter Music engraving
\context {
\Score
\override SpacingSpanner.spacing-increment = #3
- \override TimeSignature.transparent = ##t
+ \hide TimeSignature
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.11"
+@c \version "2.17.30"
@c Translators: Jean-Charles Malahieude, John Mandereau, Gauvain Pocentek
\context {
\Score
\override SpacingSpanner.spacing-increment = #3
- \override TimeSignature.transparent = ##t
+ \hide TimeSignature
}
}
}
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Jean-Charles Malahieude
\score {
<<
\new MensuralVoice = "discantus" \relative c'' {
- \override Score.BarNumber.transparent = ##t {
+ \hide Score.BarNumber {
c1\melisma bes a g\melismaEnd
f\breve
\[ f1\melisma a c\breve d\melismaEnd \]
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-fa2"
c
@lilypond[relative=1,notime]
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do-fa"
c
\Staff
\remove "Time_signature_engraver"
\remove "Bar_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
}
}
}
chant = \relative c' {
\clef "G_8"
\set Score.timing = ##f
- c\breve \override NoteHead.transparent = ##t c c c c c
- \revert NoteHead.transparent
+ c\breve \hide NoteHead c c c c c
+ \undo \hide NoteHead
\override Stem.transparent = ##f \stemUp c4 b4 a
- \override Stem.transparent = ##t c2 c4 \divisioMaior
- c\breve \override NoteHead.transparent = ##t c c c c c c c
- \revert NoteHead.transparent c4 c f, f \finalis
+ \hide Stem c2 c4 \divisioMaior
+ c\breve \hide NoteHead c c c c c c c
+ \undo \hide NoteHead c4 c f, f \finalis
}
verba = \lyricmode {
\context {
\Staff
\remove "Time_signature_engraver"
- \override BarLine.transparent = ##t
- \override Stem.transparent = ##t
+ \hide BarLine
+ \hide Stem
}
}
}
\Staff
\remove "Time_signature_engraver"
\override BarLine.X-extent = #'(-1 . 1)
- \override Stem.transparent = ##t
- \override Beam.transparent = ##t
- \override BarLine.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Stem
+ \hide Beam
+ \hide BarLine
+ \hide TupletNumber
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: Gilles Thibault
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Flag.transparent = ##t
+ \hide Flag
\alias Voice
}
\context { \Staff
@example
\override NoteHead.style = #'slash
-\override Stem.transparent = ##t
+\hide Stem
@end example
Tous ces modules doivent communiquer sous le contrôle du contexte. Les
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Flag.transparent = ##t
+ \hide Flag
\alias Voice
@}
@end example
@lilypond[quote,verbatim,relative=1]
a1 a
-\override Score.BarLine.stencil = ##f
+\omit Score.BarLine
a a
-\revert Score.BarLine.stencil
+\undo \omit Score.BarLine
a a a
@end lilypond
@lilypond[quote,verbatim,relative=2]
a4 a
-\once \override NoteHead.transparent = ##t
+\once \hide NoteHead
a a
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Valentin Villenave,Jean-Charles Malahieude
@c Translation checkers: Jean-Charles Malahieude, John Mandereau
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:m c:m7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:dim c:dim7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:aug
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:maj c:maj7
}
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.27"
+@c \version "2.17.30"
@c Translators: Matthieu Jacquot
@c Translation checkers: Jean-Charles Malahieude
l'activation de @code{restrainOpenStrings}.
@lilypond[quote,ragged-right,verbatim]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
peuvent être ajoutés aux tablatures.
@lilypond[verbatim,quote]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
firstHarmonic = {
d'4\4\harmonic
g'4\3\harmonic
@lilypond[quote,ragged-right,verbatim]
<<
\new Voice \with {
- \override StringNumber.stencil = ##f
+ \omit StringNumber
} {
\clef "bass_8"
\relative c, {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
<< \new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics \nam
\new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
\override StaffSymbol.line-count = #2
\override StaffSymbol.staff-space = #2
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
drumStyleTable = #percussion-style
\override StaffSymbol.line-count = #1
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
@c Translation checkers: Valentin Villenave, François Martin, Xavier Scheuer
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\override DynamicText.self-alignment-X = #-1
\override FretBoard.X-offset = #1.75
\override InstrumentName.minimum-Y-extent = #'(-2 . 2)
\override InstrumentName.extra-offset = #'(0 . -0.5)
\override TextScript.minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature.stencil = ##f
+ \omit TimeSignature
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
graveur, recourir aux dérogations suivantes :
@example
-\override StaffSymbol.stencil = ##f
+\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: Jean-Jacques Gerbaud
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
@}
@}
@end example
rythme et l'accentuation des paroles elles-mêmes.
@lilypond[verbatim,quote]
-stemOff = { \override Staff.Stem.transparent = ##t }
+stemOff = { \hide Staff.Stem }
\relative c' {
\stemOff
-\version "2.17.11"
+\version "2.17.30"
\header {
texidoc ="@cindex Feta scripts
\context {
\RhythmicStaff
\remove "Time_signature_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
\override Stem.direction = #down
}
\context {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Federico Bruni
@c Translation checkers: Luca Rossetto Casel
\new Staff {
% Queste due linee servono solo ad abbellire questo esempio
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% Mostra una pausa di maxima, equivalente a quattro brevi
r\maxima
% Mostra una pausa di longa, equivalente a due brevi
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Federico Bruni
@c Translation checkers:
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
conviene usare i seguenti comandi invece di togliere l'incisore:
@example
-\override StaffSymbol.stencil = ##f
+\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
}
\context { \Staff
@example
\override NoteHead.style = #'slash
-\override Stem.transparent = ##t
+\hide Stem
@end example
これらのプラグインすべてが共同する必要があり、@c
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
@}
@end example
@lilypond[quote,verbatim,relative=1]
a1 a
-\override Score.BarLine.stencil = ##f
+\omit Score.BarLine
a a
-\revert Score.BarLine.stencil
+\undo \omit Score.BarLine
a a a
@end lilypond
@lilypond[quote,verbatim,relative=2]
a4 a
-\once \override NoteHead.transparent = ##t
+\once \hide NoteHead
a a
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:m c:m7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:dim c:dim7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:aug
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:maj c:maj7
}
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.27"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
変更することができます。
@lilypond[quote,ragged-right,verbatim]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
ハーモニック指示を演奏するピッチとしてタブ譜に付け加えることができます:
@lilypond[verbatim,quote]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
firstHarmonic = {
d'4\4\harmonic
g'4\3\harmonic
@lilypond[quote,ragged-right,verbatim]
<<
\new Voice \with {
- \override StringNumber.stencil = ##f
+ \omit StringNumber
} {
\clef "bass_8"
\relative c, {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
<< \new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics \nam
\new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
\override StaffSymbol.line-count = #2
\override StaffSymbol.staff-space = #2
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
drumStyleTable = #percussion-style
\override StaffSymbol.line-count = #1
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
\new Staff {
% この 2 本線には意味はありません
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% 八全休符を譜刻します。二全休符 4 つと等価です
r\maxima
% 四全休符を譜刻します。二全休符 2 つと等価です
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\override DynamicText.self-alignment-X = #-1
\override FretBoard.X-offset = #1.75
\override InstrumentName.minimum-Y-extent = #'(-2 . 2)
\override InstrumentName.extra-offset = #'(0 . -0.5)
\override TextScript.minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature.stencil = ##f
+ \omit TimeSignature
}
}
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
<<
\new Staff = ossia \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
<<
\new Staff = ossia \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
以下のオーバライドを使用してください:
@example
-\override StaffSymbol.stencil = ##f
+\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@c Translators: Yoshiki Sawada
@c Translation status: post-GDP
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
@}
@}
@end example
リズムは単語の音声リズムから取ります。
@lilypond[verbatim,quote]
-stemOff = { \override Staff.Stem.transparent = ##t }
+stemOff = { \hide Staff.Stem }
\relative c' {
\stemOff
-\version "2.17.11"
+\version "2.17.30"
\include "example-header.ily"
\paper {
\override Staff.TimeSignature.stencil = #(lambda (grob)
(bracketify-stencil (ly:time-signature::print grob) Y 0.1 0.2 0.1))
\time 3/4
- \override Staff.BarLine.transparent = ##t
+ \hide Staff.BarLine
\override HorizontalBracket.direction = #UP
\override HorizontalBracket.bracket-flare = #'(0 . 0)
}
I = \once \override NoteColumn.ignore-collision = ##t
-\version "2.17.20"
+\version "2.17.30"
staffPiano = \new PianoStaff {
\set Score.timing = ##f
<<
{
\override Beam.positions = #'(8 . 8)
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.duration-log = #1
s1 b8[^\markup {
\override #'(baseline-skip . 0.5)
}
s4.
\revert Beam.positions
- \revert NoteHead.transparent
+ \undo \hide NoteHead
\revert NoteHead.duration-log
}
\\
{
% Add color to both Dashed Slurs in top staff
\override Slur.color = #(x11-color "purple")
- \override Stem.transparent = ##t
+ \hide Stem
s1
\once \override Slur.height-limit = #6
\once \override Slur.extra-offset = #'(1.25 . 0)
\slurDashed
\I b2_( s2
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
b4) s
\once \override Slur.height-limit = #3.25
\once \override Slur.extra-offset = #'(.75 . 0)
a2_( s4
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
a4) g2
- \revert Stem.transparent
+ \undo \hide Stem
}
\\
\override Staff.NoteCollision.merge-differently-headed = ##t
\stemUp
g8[ s s4 s2
\stemDown
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
\I b8] s8
\override Beam.positions = #'(3 . -2.25)
\stemUp
% Add color to all remaining Slurs in top staff
\override Slur.color = #(x11-color "violet")
\override PhrasingSlur.color = #(x11-color "violet")
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.length = #0
% Add color to text markups in top staff
g4_\( fis^(_\markup { \with-color #blue \tiny N } g)\)
a^(^\markup { \with-color #blue \tiny P } b2)
b4^(^\markup { \with-color #blue \tiny P }
\stemUp
- \revert Stem.transparent
+ \undo \hide Stem
\override Stem.length = #10
c8)^( s
\override Stem.length = #14
b4) s s
\override Stem.length = #0
- \override Stem.transparent = ##t
+ \hide Stem
\once \override Slur.extra-offset = #'(0 . 0.35)
% Add color to remaining text markup in top staff
c4^\( b_(_\markup { \with-color #blue \tiny P } a)\) s2
}
\\
{
- \override Stem.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide Stem
+ \hide NoteHead
\override Stem.length = #0
s1 s4 e4 s
\change Staff = "LH"
fis,4 s2
- \revert Stem.transparent
- \revert NoteHead.transparent
+ \undo \hide Stem
+ \undo \hide NoteHead
\revert Stem.length
}
\\
{
- \override Stem.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide Stem
+ \hide NoteHead
\override Stem.length = #0
s1 s s2
fis'4 s
\change Staff = "LH"
g,4 s s2
- \revert Stem.transparent
- \revert NoteHead.transparent
+ \undo \hide Stem
+ \undo \hide NoteHead
\revert Stem.length
}
>>
<<
{
\override Beam.positions = #'(-8 . -8)
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\stemDown
% Add color to long beam text markups in bottom staff
\I g8[_\markup { \with-color #(x11-color 'LawnGreen) \bold I }
\I g,8]_\markup { \with-color #(x11-color 'LawnGreen) \bold I }
s4.
\revert Beam.positions
- \revert NoteHead.transparent
+ \undo \hide NoteHead
}
\\
{
- \override Stem.transparent = ##t
+ \hide Stem
\stemDown
\override TextScript.extra-offset = #'(-11.75 . -12.25)
\I g'2 s1 s s2 \I d2 g,2
- \revert Stem.transparent
+ \undo \hide Stem
}
\\
{
% Add color to all single-note Slurs in bottom staff
\override Slur.color = #(x11-color "violet")
- \override Stem.transparent = ##t
- \once \override NoteHead.transparent = ##t
+ \hide Stem
+ \once \hide NoteHead
\override Stem.length = #0
g'4
\once \override TextScript.padding = #0.25
% Add color to text markups in bottom staff
a4_(^\markup { \with-color #blue \tiny P } b)
fis4^(^\markup { \with-color #blue \tiny P } e)
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
\once \override Slur.height-limit = #1.5
% Add color to remaining text markup in bottom staff
c4^( d)^\markup { \with-color #blue \tiny N }
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
\once \override Slur.extra-offset = #'(0 . 0.5)
\I fis,4_(
- \revert Stem.transparent
+ \undo \hide Stem
\override Stem.length = #10
\stemDown
g4) s
\once \override Slur.extra-offset = #'(0 . 0.25)
\I c8_( s
- \override Stem.transparent = ##t
+ \hide Stem
\revert Stem.length
a4)
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
\I d4^( d,4) s2
}
\\
{
% Add color to all two-note Slurs in bottom staff
\override Slur.color = #(x11-color "violet")
- \override Stem.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide Stem
+ \hide NoteHead
\I g'4^( s b) s2
- \revert Stem.transparent
- \revert NoteHead.transparent
+ \undo \hide Stem
+ \undo \hide NoteHead
\override Beam.positions = #'(-4 . 1)
\stemDown
c,8[ s s4
\stemDown
b8] s
\revert Beam.positions
- \override Stem.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide Stem
+ \hide NoteHead
c4^( s d4) s s2
}
\\
{
% Add color to four-note Slur in bottom staff
\override Slur.color = #(x11-color "violet")
- \override Stem.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide Stem
+ \hide NoteHead
\override Stem.length = #0
\stemDown
\once \override Slur.height-limit = #3
\once \override Slur.extra-offset = #'(0 . 0.25)
\I g4_( s2. e4) s2. s2 s1 s2
- \revert Stem.transparent
- \revert NoteHead.transparent
+ \undo \hide Stem
+ \undo \hide NoteHead
}
\\
{
% Add color to dashed Slur in bottom staff
\override Slur.color = #(x11-color "purple")
- \override Stem.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide Stem
+ \hide NoteHead
\slurDashed
\once \override Slur.height-limit = #6.0
\once \override Slur.extra-offset = #'(0.5 . -0.25)
\override Stem.length = #0
g4_( s2. s1 g,4) s s1 s2
- \revert Stem.transparent
- \revert NoteHead.transparent
+ \undo \hide Stem
+ \undo \hide NoteHead
}
>>
\bar "|."
-\version "2.17.11"
+\version "2.17.30"
\layout {
indent = #0
\override Beam.breakable = ##t
autoBeaming = ##f
tupletFullLength = ##t
- \override BarNumber.transparent = ##t
- \override BarLine.transparent = ##t
- \override SpanBar.transparent = ##t
+ \hide BarNumber
+ \hide BarLine
+ \hide SpanBar
\override Beam.break-overshoot = #'(-0.5 . 1.0)
\override TextScript.staff-padding = #6
\override Glissando.thickness = #3
-\version "2.17.20"
+\version "2.17.30"
% the example header file caused the head to be chopped off
%\include "example-header.ily"
>>
\new Staff \with {
- \override Clef.transparent = ##t
+ \hide Clef
\override StaffSymbol.line-positions = #'(-4 -2 2 4)
\override Stem.direction = #down
\override TupletBracket.staff-padding = #5
\override Stem.direction = #up
\override Flag.stroke-style = #"grace"
\override Stem.font-size = #-3
- \override Rest.transparent = ##t
+ \hide Rest
\override NoteHead.no-ledgers = ##t
- \override Dots.transparent = ##t
- \override TupletBracket.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Dots
+ \hide TupletBracket
+ \hide TupletNumber
} {
% measure 6
\new Voice \with {
\remove "Forbid_line_break_engraver"
- \override Stem.transparent = ##t
- \override Rest.transparent = ##t
+ \hide Stem
+ \hide Rest
\override Rest.staff-position = #-0.5
- \override Dots.transparent = ##t
- \override Beam.transparent = ##t
- \override TupletBracket.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Dots
+ \hide Beam
+ \hide TupletBracket
+ \hide TupletNumber
} {
% measure 6
\override Stem.direction = #down
\override Stem.font-size = #-3
\override Flag.stroke-style = #"grace"
- \override Rest.transparent = ##t
+ \hide Rest
\override NoteHead.no-ledgers = ##t
- \override Dots.transparent = ##t
- \override TupletBracket.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Dots
+ \hide TupletBracket
+ \hide TupletNumber
} {
% measure 6
\new Voice \with {
\remove "Forbid_line_break_engraver"
\override Stem.direction = #down
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
\override Rest.staff-position = #-18
\override Stem.length = #10
-\version "2.17.11"
+\version "2.17.30"
\include "example-header.ily"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
upperVoiceOne = \relative c'' {
\voiceOne
- \override TupletBracket.transparent = ##t
+ \hide TupletBracket
<aes f'>8\([ \tuplet 5/4{g'32( aes g f g]) }
<es aes>8[ \tuplet 5/4{<d bes'>32( c' bes aes bes]) }
<es, aes es'>8 <d fis b d>\) | % end m. 1
\layout {
\context {
\Score
- \override TimeSignature.stencil = ##f
+ \omit TimeSignature
\remove "Bar_number_engraver"
}
}
-\version "2.17.6"
+\version "2.17.30"
#(define (glissando::calc-extra-dy grob)
(let* ((original (ly:grob-original grob))
\layout {
\context {
\Staff
- \override StringNumber.transparent = ##t
+ \hide StringNumber
}
\context {
\TabStaff
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@node Ancient notation
\score {
<<
\new MensuralVoice = "discantus" \relative c'' {
- \override Score.BarNumber.transparent = ##t {
+ \hide Score.BarNumber {
c1\melisma bes a g\melismaEnd
f\breve
\[ f1\melisma a c\breve d\melismaEnd \]
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-fa2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do2"
c
\override Staff.StaffSymbol.line-count = #4
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-fa2"
c
@lilypond[relative=1,notime]
\override Staff.StaffSymbol.color = #red
\override Staff.LedgerLineSpanner.color = #red
- \override Voice.Stem.transparent = ##t
+ \hide Voice.Stem
\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-do-fa"
c
However, in some transcription styles, stems are used
occasionally, for example to indicate the transition from a
single-tone recitative to a fixed melodic gesture. In these cases,
-one can use either @code{\override Stem.transparent = ##t} or
+one can use either @code{\hide Stem} or
@code{\override Stem.length = #0} instead, and restore the stem
-when needed with the corresponding @code{\once \override Stem.transparent = ##f} (see example below). When using stems that
-carry flags, make sure to set @code{\override Flag.transparent
-= ##t} as well.
+when needed with the corresponding @code{\once \override Stem.transparent = ##f} (see example below).
@b{Timing.} For unmetered chant, there are several alternatives.
To remove the bar lines, the radical approach is to @code{\remove}
the Bar_engraver from the Staff context. Again, one may want to
-use @code{\override BarLine.transparent = ##t} instead, if an
+use @code{\hide BarLine} instead, if an
occasional barline is wanted.
A common type of transcription is recitativic chant where the
\Staff
\remove "Time_signature_engraver"
\remove "Bar_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
}
}
}
chant = \relative c' {
\clef "G_8"
\set Score.timing = ##f
- c\breve \override NoteHead.transparent = ##t c c c c c
- \revert NoteHead.transparent
+ c\breve \hide NoteHead c c c c c
+ \undo \hide NoteHead
\override Stem.transparent = ##f \stemUp c4 b4 a
- \override Stem.transparent = ##t c2 c4 \divisioMaior
- c\breve \override NoteHead.transparent = ##t c c c c c c c
- \revert NoteHead.transparent c4 c f, f \finalis
+ \hide Stem c2 c4 \divisioMaior
+ c\breve \hide NoteHead c c c c c c c
+ \undo \hide NoteHead c4 c f, f \finalis
}
verba = \lyricmode {
\context {
\Staff
\remove "Time_signature_engraver"
- \override BarLine.transparent = ##t
- \override Stem.transparent = ##t
+ \hide BarLine
+ \hide Stem
}
}
}
\Staff
\remove "Time_signature_engraver"
\override BarLine.X-extent = #'(-1 . 1)
- \override Stem.transparent = ##t
- \override Beam.transparent = ##t
- \override BarLine.transparent = ##t
- \override TupletNumber.transparent = ##t
+ \hide Stem
+ \hide Beam
+ \hide BarLine
+ \hide TupletNumber
}
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@node Changing defaults
@chapter Changing defaults
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
}
\context { \Staff
@example
\override NoteHead.style = #'slash
-\override Stem.transparent = ##t
+\hide Stem
@end example
All these plug-ins have to communicate under the control of the
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
\alias Voice
@}
@end example
@unnumberedsubsubsec Removing the stencil
@cindex stencil, removing
+@funindex \omit
Every layout object has a stencil property. By default this is set
to the specific function which draws that object. If this property
a a a
@end lilypond
+This rather common operation has a shortcut @code{\omit}:
+
+@lilypond[quote,verbatim,relative=1]
+a1 a
+\omit Score.BarLine
+a a
+\undo \omit Score.BarLine
+a a a
+@end lilypond
+
@node Making objects transparent
@unnumberedsubsubsec Making objects transparent
@cindex transparent, making objects
+@funindex \hide
Every layout object has a transparent property which by default is
set to @code{#f}. If set to @code{#t} the object still occupies
a a
@end lilypond
+This rather common operation has a shortcut @code{\hide}:
+
+@lilypond[quote,verbatim,relative=2]
+a4 a
+\once \hide NoteHead
+a a
+@end lilypond
+
@node Painting objects white
@unnumberedsubsubsec Painting objects white
* Vertical grouping of grobs::
* Modifying stencils::
* Modifying shapes::
+* Modifying broken spanners::
* Unpure-pure containers::
@end menu
@rinternals{TieColumn}.
+@node Modifying broken spanners
+@subsection Modifying broken spanners
+
+@menu
+* Using alterBroken::
+@end menu
+
+@node Using alterBroken
+@unnumberedsubsubsec Using @code{\alterBroken}
+
+@cindex spanners, modifying
+@cindex broken spanners, modifying
+@funindex \alterBroken
+
+When a spanner crosses a line break or breaks, each piece
+inherits the attributes of the original spanner. Thus, ordinary
+tweaking of a broken spanner applies the same modifications to
+each of its segments. In the example below, overriding
+@code{thickness} affects the slur on either side of the line
+break.
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+r2
+\once\override Slur.thickness = 10
+c8( d e f
+\break
+g8 f e d) r2
+@end lilypond
+
+Independently modifying the appearance of individual pieces
+of a broken spanner is possible with the @code{\alterBroken}
+command. This command can produce either an @code{\override}
+or a @code{\tweak} of a spanner property.
+
+The syntax for @code{\alterBroken} is
+
+@example
+[-]@code{\alterBroken} @var{property} @var{values} @var{item}
+@end example
+
+The argument @var{values} is a list of values, one for each
+broken piece. If @var{item} is a grob name like @code{Slur} or
+@code{Staff.PianoPedalBracket}, the result is an @code{\override}
+of the specified grob type. If @var{item} is a music expression
+such as @qq{(} or @qq{[} the result is the same music expression
+with an appropriate tweak applied.
+
+The leading hyphen must be used with the @code{\tweak} form. Do
+not add it when @code{\alterBroken} is used as an
+@code{\override}.
+
+In its @code{\override} usage, @code{\alterBroken} may be
+prefaced by @code{\once} or @code{\temporary} and reverted by
+using @code{\revert} with @var{property}.
+
+The following code applies an independent @code{\override} to
+each of the slur segments in the previous example:
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+r2
+\alterBroken thickness #'(10 1) Slur
+c8( d e f
+\break
+g8 f e d) r2
+@end lilypond
+
+The @code{\alterBroken} command may be used with any spanner
+object, including @code{Tie}, @code{PhrasingSlur}, @code{Beam}
+and @code{TextSpanner}. For example, an editor preparing a
+scholarly edition may wish to indicate the absence of part of a
+phrasing slur in a source by dashing only the segment which has
+been added. The following example illustrates how this can be
+done, in this case using the @code{\tweak} form of the command:
+
+@lilypond[verbatim,quote,ragged-right,relative=2]
+% The empty list is conveniently used below, because it is the
+% default setting of dash-definition, resulting in a solid curve.
+c2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e
+\break
+g2 e\)
+@end lilypond
+
+It is important to understand that @code{\alterBroken} will set
+each piece of a broken spanner to the corresponding value in
+@var{values}. When there are fewer values than pieces, any
+additional piece will be assigned the empty list. This may lead
+to undesired results if the layout property is not set to the
+empty list by default. In such cases, each segment should be
+assigned an appropriate value.
+
+@knownissues
+Line breaks may occur in different places following changes in
+layout. Settings chosen for @code{\alterBroken} may be unsuitable
+for a spanner that is no longer broken or is split into more
+segments than before. Explicit use of @code{\break} can guard
+against this situation.
+
+The @code{\alterBroken} command is ineffective for spanner
+properties accessed before line-breaking such as
+@code{direction}.
+
+@seealso
+Extending LilyPond:
+@rextend{Difficult tweaks}.
+
+
@node Unpure-pure containers
@subsection Unpure-pure containers
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@node Chord notation
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:m c:m7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:dim c:dim7
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:aug
}
@end lilypond
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c1:maj c:maj7
}
@end lilypond
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.27"
+@c \version "2.17.30"
@node Fretted string instruments
@section Fretted string instruments
to @code{#t}.
@lilypond[quote,ragged-right,verbatim]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
pitches:
@lilypond[verbatim,quote]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
firstHarmonic = {
d'4\4\harmonic
g'4\3\harmonic
@lilypond[quote,ragged-right,verbatim]
<<
\new Voice \with {
- \override StringNumber.stencil = ##f
+ \omit StringNumber
} {
\clef "bass_8"
\relative c, {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.20"
+@c \version "2.17.30"
@node Percussion
@section Percussion
<< \new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics \nam
\new DrumStaff \with {
\remove "Bar_engraver"
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
\override StaffSymbol.line-count = #2
\override StaffSymbol.staff-space = #2
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
%% this sucks; it will lengthen stems.
\override StaffSymbol.staff-space = #2
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
drumStyleTable = #percussion-style
\override StaffSymbol.line-count = #1
\remove "Time_signature_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
\override Stem.Y-extent = ##f
} \mus
\new Lyrics {
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@node Rhythms
@section Rhythms
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
\bar ""
@end example
-Explicitly create a @code{Voice} context when starting a piece with
-@code{\cadenzaOn}, else unexpected errors may occur.
-
-@example
-\new Voice @{
- \relative c' @{
- \cadenzaOn
- c16[^"Solo Free Time" d e f] g2.
- \bar "||"
- \cadenzaOff
- @}
-@}
-@end example
-
@node Polymetric notation
@unnumberedsubsubsec Polymetric notation
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@ignore
GDP TODO list
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\override DynamicText.self-alignment-X = #-1
\override FretBoard.X-offset = #1.75
\override InstrumentName.minimum-Y-extent = #'(-2 . 2)
\override InstrumentName.extra-offset = #'(0 . -0.5)
\override TextScript.minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature.stencil = ##f
+ \omit TimeSignature
}
}
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.30"
@node Staff notation
@section Staff notation
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
<<
\new Staff = "ossia" \with {
\remove "Time_signature_engraver"
- \override Clef.transparent = ##t
+ \hide Clef
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
engraver:
@example
-\override StaffSymbol.stencil = ##f
+\omit StaffSymbol
\override NoteHead.no-ledgers = ##t
@end example
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@node Vocal music
@section Vocal music
\Lyrics
\consists "Bar_engraver"
\consists "Separating_line_group_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
@}
@}
@end example
with the rhythm being taken from the spoken rhythm of the words.
@lilypond[verbatim,quote]
-stemOff = { \override Staff.Stem.transparent = ##t }
+stemOff = { \hide Staff.Stem }
\relative c' {
\stemOff
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "breaks, contexts-and-engravers, staff-notation, workaround"
<< { c1 | c }
\new Staff {
\key f \major
- \once \override Staff.TimeSignature.stencil = ##f
+ \once \omit Staff.TimeSignature
c1 | c
}
>>
\new Staff {
\once \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
\key f \major
- \once \override Staff.TimeSignature.stencil = ##f
+ \once \omit Staff.TimeSignature
c1 | c
}
>>
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "contexts-and-engravers, really-simple, staff-notation"
c1 | d
}
\new Staff {
- \once \override Staff.TimeSignature.stencil = ##f
+ \once \omit Staff.TimeSignature
c1 | b
}
>>
%
% This file is in the public domain.
%% Note: this file works from version 2.17.6
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "expressive-marks, staff-notation, tweaks-and-overrides"
glissandoSkipOn = {
\override NoteColumn.glissando-skip = ##t
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
}
glissandoSkipOff = {
\revert NoteColumn.glissando-skip
- \revert NoteHead.transparent
+ \undo \hide NoteHead
\revert NoteHead.no-ledgers
}
%
% This file is in the public domain.
%% Note: this file works from version 2.17.20
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "vocal-music, ancient-notation, template"
\Staff
\remove "Time_signature_engraver"
\remove "Bar_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
}
\context {
\Voice
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "ancient-notation, real-music, really-cool, template"
\set Score.skipBars = ##t
% incipit
- \once \override Score.SystemStartBracket.transparent = ##t
+ \once \hide Score.SystemStartBracket
% Set tight spacing
\override Score.SpacingSpanner.spacing-increment = #1.0
\key f \major
c'4 e'4.( d'8 c' b |
a4) b a2 |
b4.( c'8 d'4) c'4 |
- \once \override NoteHead.transparent = ##t c'1 |
+ \once \hide NoteHead c'1 |
b\breve |
}
}
a2 g4 e |
fis g4.( fis16 e fis4) |
g1 |
- \once \override NoteHead.transparent = ##t g1 |
+ \once \hide NoteHead g1 |
g\breve |
}
}
R1 |
R1 |
r2 d'2. d'4 b e' | % two bars
- \once \override NoteHead.transparent = ##t e'1 |
+ \once \hide NoteHead e'1 |
d'\breve |
}
}
R1 |
R1 |
g2. e4 |
- \once \override NoteHead.transparent = ##t e1 |
+ \once \hide NoteHead e1 |
g\breve |
}
}
\Score
% no bars in staves
- \override BarLine.transparent = ##t
+ \hide BarLine
% incipit should not start with a start delimiter
\remove "System_start_delimiter_engraver"
\Voice
% no slurs
- \override Slur.transparent = ##t
+ \hide Slur
% The command below can be commented out in
% short scores, but especially for large scores you
%
% This file is in the public domain.
%% Note: this file works from version 2.17.11
-\version "2.17.11"
+\version "2.17.30"
\header {
lsrtags = "rhythms"
\tuplet 3/2 { c8 c c }
\override TupletNumber.text = #tuplet-number::calc-fraction-text
\tuplet 3/2 { c8 c c }
- \override TupletNumber.stencil = ##f
+ \omit TupletNumber
\tuplet 3/2 { c8 c c }
}
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "expressive-marks, text, tweaks-and-overrides"
% the hidden measure and bar line
% \cadenzaOn turns off automatic calculation of bar numbers
\cadenzaOn
- \once \override Score.TimeSignature.stencil = ##f
+ \once \omit Score.TimeSignature
\time 1/16
s16 \bar ""
\cadenzaOff
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.11"
+\version "2.17.30"
\header {
lsrtags = "fretted-strings, specific-notation, stylesheet, version-specific"
% Just handy :)
tupletOff = {
- \once \override TupletNumber.stencil = ##f
- \once \override TupletBracket.stencil = ##f
+ \once \omit TupletNumber
+ \once \omit TupletBracket
}
tupletsOff = {
- \override TupletNumber.stencil = ##f
+ \omit TupletNumber
\override TupletBracket.bracket-visibility = #'if-no-beam
}
tupletsOn = {
\override TupletBracket.bracket-visibility = #'default
- \revert TupletNumber.stencil
+ \undo \omit TupletNumber
}
headsOff = {
- \override TabNoteHead.transparent = ##t
- \override NoteHead.transparent = ##t
+ \hide TabNoteHead
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
}
% on melodies from Bellini's "Norma" %
%*****************************************************************%
-\version "2.17.11"
+\version "2.17.30"
\header {
lsrtags = "headword"
\context {
\Score
\override Fingering.staff-padding = #'()
- \override TupletNumber.stencil = ##f
+ \omit TupletNumber
\override TupletBracket.bracket-visibility = ##f
}
}
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.11"
+\version "2.17.30"
\header {
lsrtags = "editorial-annotations"
\new Staff {
% hides staff and notes so that only the grid lines are visible
\hideNotes
- \override Staff.BarLine.transparent = ##t
+ \hide Staff.BarLine
\override Staff.StaffSymbol.line-count = #0
- \override Staff.TimeSignature.transparent = ##t
- \override Staff.Clef.transparent = ##t
+ \hide Staff.TimeSignature
+ \hide Staff.Clef
% dummy notes to force regular note spacing
\once \override Score.GridLine.thickness = #4.0
%
% This file is in the public domain.
%% Note: this file works from version 2.17.20
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "fretted-strings"
%% Hide fret number: useful to draw slide into/from a casual point of
%% the fretboard.
hideFretNumber = {
- \once \override TabNoteHead.transparent = ##t
- \once \override NoteHead.transparent = ##t
- \once \override Stem.transparent = ##t
+ \once \hide TabNoteHead
+ \once \hide NoteHead
+ \once \hide Stem
\once \override NoteHead.no-ledgers = ##t
\once \override Glissando.bound-details.left.padding = #0.3
}
%
% This file is in the public domain.
%% Note: this file works from version 2.17.10
-\version "2.17.10"
+\version "2.17.30"
\header {
lsrtags = "staff-notation, ancient-notation, really-cool"
c'4 e'4.( d'8 c' b |
a4) b a2 |
b4.( c'8 d'4) c'4 |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
c'1 |
b\breve |
}
a2 g4 e |
fis g4.( fis16 e fis4) |
g1 |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
g1 |
g\breve |
}
R1 |
% two measures
r2 d'2. d'4 b e' |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
e'1 |
d'\breve |
}
R1 |
R1 |
g2. e4 |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
e1 |
g\breve |
}
\context {
\Score
%% no bar lines in staves or lyrics
- \override BarLine.transparent = ##t
+ \hide BarLine
}
%% the next two instructions keep the lyrics between the bar lines
\context {
\context {
\Voice
%% no slurs
- \override Slur.transparent = ##t
+ \hide Slur
%% Comment in the below "\remove" command to allow line
%% breaking also at those bar lines where a note overlaps
%% into the next measure. The command is commented out in this
%
% This file is in the public domain.
%% Note: this file works from version 2.17.20
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "keyboards, percussion, fretted-strings, template, real-music"
sl = {
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
}
nsl = {
\revert NoteHead.style
- \revert Stem.transparent
+ \undo \hide Stem
}
crOn = \override NoteHead.style = #'cross
crOff = \revert NoteHead.style
%
% This file is in the public domain.
%% Note: this file works from version 2.17.6
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "rhythms, simultaneous-notes, tweaks-and-overrides"
\time 2/4
<<
{
- \once \override Stem.transparent = ##t
+ \once \hide Stem
\once \override Stem.length = #8
b8 ~ b\noBeam
- \once \override Stem.transparent = ##t
+ \once \hide Stem
\once \override Stem.length = #8
g8 ~ g\noBeam
}
%
% This file is in the public domain.
%% Note: this file works from version 2.17.6
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "staff-notation, tweaks-and-overrides"
glissandoSkipOn = {
\override NoteColumn.glissando-skip = ##t
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
}
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "editorial-annotations, repeats, staff-notation, workaround"
}
\context Voice = "foo" {
\set countPercentRepeats = ##t
- \override PercentRepeat.transparent = ##t
+ \hide PercentRepeat
\override PercentRepeatCounter.staff-padding = #1
\repeat percent 4 { s1 }
}
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "ancient-notation, contexts-and-engravers, staff-notation, tweaks-and-overrides"
global = {
- \override Staff.BarLine.transparent = ##t
+ \hide Staff.BarLine
s1 s
% the final bar line is not interrupted
- \revert Staff.BarLine.transparent
+ \undo \hide Staff.BarLine
\bar "|."
}
\new StaffGroup \relative c'' {
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "expressive-marks, staff-notation, tweaks-and-overrides"
glissandoSkipOn = {
\override NoteColumn.glissando-skip = ##t
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
}
glissandoSkipOff = {
\revert NoteColumn.glissando-skip
- \revert NoteHead.transparent
+ \undo \hide NoteHead
\revert NoteHead.no-ledgers
}
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "vocal-music, ancient-notation, template"
\Staff
\remove "Time_signature_engraver"
\remove "Bar_engraver"
- \override Stem.transparent = ##t
+ \hide Stem
}
\context {
\Voice
-\version "2.17.11"
+\version "2.17.30"
\header {
lsrtags = "rhythms"
\tuplet 3/2 { c8 c c }
\override TupletNumber.text = #tuplet-number::calc-fraction-text
\tuplet 3/2 { c8 c c }
- \override TupletNumber.stencil = ##f
+ \omit TupletNumber
\tuplet 3/2 { c8 c c }
}
% on melodies from Bellini's "Norma" %
%*****************************************************************%
-\version "2.17.11"
+\version "2.17.30"
\header {
lsrtags = "headword"
\context {
\Score
\override Fingering.staff-padding = #'()
- \override TupletNumber.stencil = ##f
+ \omit TupletNumber
\override TupletBracket.bracket-visibility = ##f
}
}
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "fretted-strings"
%% Hide fret number: useful to draw slide into/from a casual point of
%% the fretboard.
hideFretNumber = {
- \once \override TabNoteHead.transparent = ##t
- \once \override NoteHead.transparent = ##t
- \once \override Stem.transparent = ##t
+ \once \hide TabNoteHead
+ \once \hide NoteHead
+ \once \hide Stem
\once \override NoteHead.no-ledgers = ##t
\once \override Glissando.bound-details.left.padding = #0.3
}
-\version "2.17.10"
+\version "2.17.30"
\header {
lsrtags = "staff-notation, ancient-notation, really-cool"
c'4 e'4.( d'8 c' b |
a4) b a2 |
b4.( c'8 d'4) c'4 |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
c'1 |
b\breve |
}
a2 g4 e |
fis g4.( fis16 e fis4) |
g1 |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
g1 |
g\breve |
}
R1 |
% two measures
r2 d'2. d'4 b e' |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
e'1 |
d'\breve |
}
R1 |
R1 |
g2. e4 |
- \once \override NoteHead.transparent = ##t
+ \once \hide NoteHead
e1 |
g\breve |
}
\context {
\Score
%% no bar lines in staves or lyrics
- \override BarLine.transparent = ##t
+ \hide BarLine
}
%% the next two instructions keep the lyrics between the bar lines
\context {
\context {
\Voice
%% no slurs
- \override Slur.transparent = ##t
+ \hide Slur
%% Comment in the below "\remove" command to allow line
%% breaking also at those bar lines where a note overlaps
%% into the next measure. The command is commented out in this
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "keyboards, percussion, fretted-strings, template, real-music"
sl = {
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
+ \hide Stem
}
nsl = {
\revert NoteHead.style
- \revert Stem.transparent
+ \undo \hide Stem
}
crOn = \override NoteHead.style = #'cross
crOff = \revert NoteHead.style
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "rhythms, simultaneous-notes, tweaks-and-overrides"
\time 2/4
<<
{
- \once \override Stem.transparent = ##t
+ \once \hide Stem
\once \override Stem.length = #8
b8 ~ b\noBeam
- \once \override Stem.transparent = ##t
+ \once \hide Stem
\once \override Stem.length = #8
g8 ~ g\noBeam
}
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "staff-notation, tweaks-and-overrides"
glissandoSkipOn = {
\override NoteColumn.glissando-skip = ##t
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
}
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "template, real-music, specific-notation"
bes1
}
-NoStem = { \override Stem.transparent = ##t }
-NoNoteHead = \override NoteHead.transparent = ##t
+NoStem = { \hide Stem }
+NoNoteHead = \hide NoteHead
ZeroBeam = \override Beam.positions = #'(0 . 0)
staffTabLine = \new Staff \with {
-\version "2.17.24"
+\version "2.17.30"
\header {
lsrtags = "headword"
\new Staff \ViolinSolo
>>
- \override Score.Rest.transparent = ##t
+ \hide Score.Rest
\set Score.defaultBarType = "-"
>>
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "winds"
\score {
\new Staff \with {
\remove "Time_signature_engraver"
- \override Stem.stencil = ##f
- \override Flag.stencil = ##f
+ \omit Stem
+ \omit Flag
\consists "Horizontal_bracket_engraver"
}
{
%
% This file is in the public domain.
%% Note: this file works from version 2.17.20
-\version "2.17.20"
+\version "2.17.30"
\header {
lsrtags = "template, real-music, specific-notation"
bes1
}
-NoStem = { \override Stem.transparent = ##t }
-NoNoteHead = \override NoteHead.transparent = ##t
+NoStem = { \hide Stem }
+NoNoteHead = \hide NoteHead
ZeroBeam = \override Beam.positions = #'(0 . 0)
staffTabLine = \new Staff \with {
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "contemporary-notation, rhythms"
c'16[^\markup { stemlets over rests } d' r f']
g'16[^\markup { stemlets and no rests } f'
- \once \override Rest.transparent = ##t
+ \once \hide Rest
r16 d']
}
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.6"
+\version "2.17.30"
\header {
lsrtags = "ancient-notation, specific-notation, tweaks-and-overrides, workaround"
\key g \major
\time 4/4
%make the staff lines invisible on staves
- \override Staff.BarLine.transparent = ##t
+ \hide Staff.BarLine
\skip 1*8 % the actual music
% let finis bar go through all staves
\override Staff.BarLine.transparent = ##f
c'4 e'4.( d'8 c' b |
a4) b a2 |
b4.( c'8 d'4) c'4 |
- \once \override NoteHead.transparent = ##t c'1 |
+ \once \hide NoteHead c'1 |
b\breve |
}
}
a2 g4 e |
fis g4.( fis16 e fis4) |
g1 |
- \once \override NoteHead.transparent = ##t g1 |
+ \once \hide NoteHead g1 |
g\breve |
}
}
R1 |
R1 |
r2 d'2. d'4 b e' | % two bars
- \once \override NoteHead.transparent = ##t e'1 |
+ \once \hide NoteHead e'1 |
d'\breve |
}
}
R1 |
R1 |
g2. e4 |
- \once \override NoteHead.transparent = ##t e1 |
+ \once \hide NoteHead e1 |
g\breve |
}
}
\context {
\Score
% no bars in staves
- \override BarLine.transparent = ##t
+ \hide BarLine
}
% the next three instructions keep the lyrics between the bar lines
\context {
\Lyrics
\consists "Bar_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
}
\context {
\StaffGroup
\context {
\Voice
% no slurs
- \override Slur.transparent = ##t
+ \hide Slur
% Comment in the below "\remove" command to allow line
% breaking also at those barlines where a note overlaps
% into the next bar. The command is commented out in this
%
% This file is in the public domain.
%% Note: this file works from version 2.17.24
-\version "2.17.24"
+\version "2.17.30"
\header {
lsrtags = "headword"
\new Staff \ViolinSolo
>>
- \override Score.Rest.transparent = ##t
+ \hide Score.Rest
\set Score.defaultBarType = "-"
>>
%% and then run scripts/auxiliar/makelsr.py
%%
%% This file is in the public domain.
-\version "2.17.19"
+\version "2.17.30"
\header {
lsrtags = "paper-and-layout, staff-notation, syntax-and-expressions"
\context {
\Score
\override SystemStartBrace.style = #'bar-line
- \override SystemStartBar.stencil = ##f
+ \omit SystemStartBar
\override SystemStartBrace.padding = #-0.1
\override SystemStartBrace.thickness = #1.6
\remove "Mark_engraver"
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=17
-PATCH_LEVEL=29
+PATCH_LEVEL=30
MY_PATCH_LEVEL=
VERSION_STABLE=2.16.2
VERSION_DEVEL=2.17.29
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc = "Feathered beams should have the same progress of their feathering
at the end of a line break as they do at the beginning of the next line."
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
a32[ b c d e f g a ]
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
a32[ b c d \bar "" \break e f g a b c d e f g a ] \bar "|"
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
a32[ b c d e f g a \bar "" \break b c d e f g a ] \bar "|"
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
a32[ b c d e f g a b c d \bar "" \break e f g a ] \bar "|"
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #LEFT
a32[ b c d \bar "" \break e f g a b c d e f g a ] \bar "|"
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #LEFT
a32[ b c d e f g a \bar "" \break b c d e f g a ] \bar "|"
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #LEFT
a32[ b c d e f g a b c d \bar "" \break e f g a ] \bar "|"
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Stem.direction = #DOWN
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Stem.direction = #DOWN
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Stem.direction = #DOWN
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #RIGHT
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Stem.direction = #DOWN
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #LEFT
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Stem.direction = #DOWN
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #LEFT
\new Staff <<
\relative c' {
\cadenzaOn
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\override Voice.Stem.direction = #DOWN
\override Voice.Beam.breakable = ##t
\once \override Voice.Beam.grow-direction = #LEFT
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc="In feathered beams, stems in knees reach up to the feathered part correctly.
\relative c' {
\override Beam.grow-direction = #-1
-% \override Beam.transparent = ##t
+% \hide Beam
\override Stem.direction = #UP
c32[
\override Stem.direction = #DOWN
c,,32]
\override Beam.grow-direction = #1
-% \override Beam.transparent = ##t
+% \hide Beam
\override Stem.direction = #DOWN
c''32[
\override Stem.direction = #UP
--- /dev/null
+\version "2.17.30"
+
+\header {
+ texidoc = "Bends should not be effected by the full width of a
+@code{NonMusicalPaperColumn}. The bends should have identical X
+spans in the two examples.
+"
+}
+
+music = \repeat unfold 16 { c''4\bendAfter #-4 }
+sixteens = \repeat unfold 64 { c'16 }
+
+\new Score {
+ << \music \sixteens >>
+}
+
+\new Score \with {
+ currentBarNumber = #200
+ barNumberVisibility = #(every-nth-bar-number-visible 1)
+ \override BarNumber.break-visibility = #end-of-line-invisible
+} {
+ << \music \sixteens >>
+}
--- /dev/null
+\version "2.17.30"
+
+\header {
+
+ texidoc = "A grace note after @code{\\cadenzaOff} does not keep
+ autobeaming from resuming properly."
+
+}
+
+\layout { ragged-right = ##t }
+
+\relative c' {
+ e8 e e e e e e e
+ \cadenzaOn <>^\markup \typewriter "\\cadenzaOn"
+ e e e e e e e e
+ \cadenzaOff
+ \bar "|"
+ <>^\markup \typewriter "\\cadenzaOff"
+ \grace f8
+ e e e e e e e e
+}
staves synchronized with the notes."
}
-\version "2.17.20"
+\version "2.17.30"
skips =
{
\context {
\Score
\consists "Grid_line_span_engraver"
- \override SystemStartBrace.transparent = ##t
+ \hide SystemStartBrace
\override NoteColumn.X-offset = #-0.5
\override NoteHead.Y-offset = #0.75
}
\new RhythmicStaff
{
- \override NoteHead.transparent = ##t
+ \hide NoteHead
\override NoteHead.no-ledgers = ##t
- \override Stem.transparent = ##t
- \override Beam.transparent = ##t
+ \hide Stem
+ \hide Beam
<< \skips
% force regular spacing by introducing notes.
--- /dev/null
+\version "2.17.27"
+
+\header {
+ texidoc = "@code{metronomeMarkFormatter} supports
+all note head styles and flags styles. Setting @code{font-name} for
+@code{MetronomeMark} does not disturb the glyphs for note-head and flag.
+"
+}
+
+\paper {
+ ragged-right = ##f
+ indent = 30
+}
+
+mus =
+\relative c'' {
+ \tempo "Allegro" 8=120-140
+ a8 b c d a b c d
+ \override Score.MetronomeMark.font-name = "Times New Roman"
+ \tempo "Allegro" 8=140
+ a b c d a b c d
+}
+
+%% Some Examples:
+\score {
+ \new Staff
+ \with {
+ instrumentName = "default"
+ }
+ \mus
+ \layout {}
+}
+
+\score {
+ \new Staff
+ \with {
+ instrumentName =
+ \markup \column { "default-note-head" "old-straight-flag" }
+ }
+ \mus
+ \layout {
+ \context {
+ \Score
+ \override MetronomeMark.flag-style = #'old-straight-flag
+ }
+ }
+}
+
+\score {
+ \new Staff
+ \with {
+ instrumentName =
+ \markup \column { "default-note-head" "modern-straight-flag" }
+ }
+ \mus
+ \layout {
+ \context {
+ \Score
+ \override MetronomeMark.flag-style = #'modern-straight-flag
+ }
+ }
+}
+
+\score {
+ \new Staff
+ \with {
+ instrumentName =
+ \markup \column { "default-note-head" "flat-flag" }
+ }
+ \mus
+ \layout {
+ \context {
+ \Score
+ \override MetronomeMark.flag-style = #'flat-flag
+ }
+ }
+}
+
+\score {
+ \new Staff
+ \with {
+ instrumentName =
+ \markup \column { "diamond-note-head" "modern-straight-flag" }
+ }
+ \mus
+ \layout {
+ \context {
+ \Score
+ \override MetronomeMark.style = #'diamond
+ \override MetronomeMark.flag-style = #'modern-straight-flag
+ }
+ }
+}
+
+\score {
+ \new MensuralStaff
+ \with {
+ instrumentName =
+ \markup \column { "mensural-note-head" "mensural-flag" }
+ }
+ \mus
+ \layout {
+ \context {
+ \Score
+ \override MetronomeMark.style = #'mensural
+ }
+ }
+}
-\version "2.17.28"
+\version "2.17.29"
\header {
texidoc = "The @code{\\offset} command may be used to displace various properties
%% ARPEGGIO %%
% default
<c e g b>1\arpeggio
- <c e g b>1-\offset #'positions #'(-1 . 1) \arpeggio
+ <c e g b>1-\offset positions #'(-1 . 1) \arpeggio
\bar "||"
%% BREATHING SIGN %%
% default
c1 \breathe
c1
- \once \offset #'Y-offset #1 BreathingSign
+ \once \offset Y-offset 1 BreathingSign
\breathe
\bar "||"
%% DYNAMICS %%
% default
c1\f
- \once \offset #'X-offset #-1 DynamicText
+ \once \offset X-offset #-1 DynamicText
c1\f
% DynamicLineSpanner
- c1-\offset #'padding #1 \f
+ \once \offset padding 1 DynamicLineSpanner
+ c1\f
\bar "||"
%% BEAMS %%
% default
c'8 d e f
- \once \offset #'positions #'(-1 . -1) Voice.Beam
+ \once \offset positions #'(-1 . -1) Voice.Beam
c8 d e f
% same effect as an offset of '(-2 . -2)
- \once \offset #'positions #-2 Beam
+ \once \offset positions #-2 Beam
c8 d e f
\override Beam.breakable = ##t
- c8-\offset #'positions #'((-1 . -3) (-3 . -1)) [ d e f
+ c8-\offset positions #'((-1 . -3) (-3 . -1)) [ d e f
\break
- g8 f e d] c-\offset #'beam-thickness #0.48 [ d e f]
+ g8 f e d] c-\offset beam-thickness 0.48 [ d e f]
\bar "||"
%% TEXT SPANNERS %%
c4\startTextSpan d e f\stopTextSpan
- \once \offset #'dash-fraction #'(0.1 0.3) TextSpanner
- \once \offset #'staff-padding #'(1.0 2.0) TextSpanner
+ \once \offset dash-fraction #'(0.1 0.3) TextSpanner
+ \once \offset staff-padding #'(1.0 2.0) TextSpanner
c4\startTextSpan d e f
\break
c4 d e f\stopTextSpan
%% SLURS %%
% this duplicates the effect of the \shape command
- \offset #'control-points #'(
+ \offset control-points #'(
((0 . 0) (0 . 1) (0 . 2) (0 . 1))
((1 . 0) (0 . 4) (0 . 4) (0 . 0))
) Slur
- c4-\offset #'line-thickness #'(0 10) ( d e f
+ c4-\offset line-thickness #'(0 10) ( d e f
\break
c4 d e f)
+ \bar "||"
+
+ %% ACCIDENTAL, STEM %%
+ % this illustrates use of \offset as a directed tweak
+ cis2
+ \offset AccidentalPlacement.right-padding 0.5
+ \offset Stem.thickness 4.0
+ cis!2
}
\new Lyrics \lyricsto "asdf" \lyricmode { a b c d }
>>
}
- \markup "blah blah blah"
+ \markup "next song"
+ \score {
+ <<
+ \new Lyrics \lyricmode {la1 la }
+ \new Staff \new Voice { a'1 a'1 }
+ >>
+ }
}
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc = "
\book {
\score {
{
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
\repeat unfold 3 { <c'''-1 e'''-3 g'''-5> c' <c,-1 e,-3 g,-5> c' \break}
}
\layout {
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc = "An empty barline does not confuse the spacing engine too much.
\consists "Bar_engraver"
\consists "Axis_group_engraver"
- \override BarLine.transparent = ##t
+ \hide BarLine
}
}
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc = "Span bars are drawn only between staff bar lines. By setting
bar lines to transparent, they are shown only between systems.
\relative c' \new StaffGroup <<
\new Staff {
a1
- \once \override Score.BarLine.transparent = ##t
+ \once \hide Score.BarLine
a1
- \once \override Score.SpanBar.transparent = ##t
+ \once \hide Score.SpanBar
a1 a1
\bar "|."
}
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc = "In a TabStaff, the chord repetition function needs
\new Staff {
\new Voice {
\clef "treble_8"
- \override Voice.StringNumber.transparent = ##t
+ \hide Voice.StringNumber
\Guitar
}
}
-\version "2.17.6"
+\version "2.17.30"
\header {
texidoc = "
\score {
<<
\new Staff {
- \new Voice \with { \override StringNumber.stencil = ##f } {
+ \new Voice \with { \omit StringNumber } {
\clef "treble_8"
\test
}
-\version "2.17.6"
+\version "2.17.30"
\header{ texidoc = "In tablature, notes that are tied to are invisible
except after a line break or within a second volta;
\context StaffGroup <<
\context Staff {
\clef "G_8"
- \override Voice.StringNumber.transparent = ##t % remove circled string numbers
+ \hide Voice.StringNumber % remove circled string numbers
\firstpart
\secondpart
\thirdpart
\context StaffGroup <<
\context Staff {
\clef "G_8"
- \override Voice.StringNumber.transparent = ##t % remove circled string numbers
+ \hide Voice.StringNumber % remove circled string numbers
\firstpart
\secondpart
\thirdpart
-\version "2.17.11"
+\version "2.17.30"
\header {
texidoc = "Tuplet bracket formatting supports numerous options,
\tuplet 3/2 { c8[ c c] }
\tupletUp
- \override TupletNumber.stencil = ##f
+ \omit TupletNumber
\tuplet 3/2 { c8^"up, no digit" c[ c] }
- \revert TupletNumber.stencil
+ \undo \omit TupletNumber
\override TupletBracket.bracket-visibility = ##t
\override TupletBracket.edge-height = #'(0 . 0)
class Axis_group_engraver : public Engraver
{
protected:
+ bool active_;
Spanner *staffline_;
SCM interesting_;
vector<Grob *> elts_;
void process_music ();
+ virtual void initialize ();
virtual void finalize ();
DECLARE_ACKNOWLEDGER (grob);
void process_acknowledged ();
{
staffline_ = 0;
interesting_ = SCM_EOL;
+ active_ = false;
+}
+
+void
+Axis_group_engraver::initialize ()
+{
+ active_ = !to_boolean (get_property ("hasAxisGroup"));
+ if (active_)
+ context ()->set_property ("hasAxisGroup", SCM_BOOL_T);
}
void
void
Axis_group_engraver::process_music ()
{
- if (!staffline_)
+ if (!staffline_ && active_)
{
staffline_ = get_spanner ();
Grob *it = unsmob_grob (get_property ("currentCommandColumn"));
void
Axis_group_engraver::acknowledge_grob (Grob_info i)
{
- if (!staffline_)
- return;
- if (i.grob ()->name () == "VerticalAxisGroup") {
- i.grob ()->programming_error ("duplicate axis group");
- if (staffline_->is_live ())
- staffline_->suicide ();
- staffline_ = 0;
- elts_.clear ();
- return;
- }
- elts_.push_back (i.grob ());
+ if (staffline_)
+ elts_.push_back (i.grob ());
if (staffline_ && to_boolean(staffline_->get_property("remove-empty")))
{
/* read */
"currentCommandColumn "
- "keepAliveInterfaces ",
-
+ "keepAliveInterfaces "
+ "hasAxisGroup ",
+
/* write */
- ""
+ "hasAxisGroup "
);
return ly_interval2scm (ext);
}
+LY_DEFINE (ly_generic_bound_extent, "ly:generic-bound-extent",
+ 2, 0, 0, (SCM grob, SCM common),
+ "Determine the extent of @var{grob} relative to @var{common} along"
+ " the X axis, finding its extent as a bound when it a has"
+ " @code{bound-alignment-interfaces} property list set and"
+ " otherwise the full extent.")
+{
+ LY_ASSERT_SMOB (Grob, grob, 1);
+ LY_ASSERT_SMOB (Grob, common, 2);
+
+ Interval ext = Axis_group_interface::generic_bound_extent (unsmob_grob (grob), unsmob_grob (common), X_AXIS);
+ return ly_interval2scm (ext);
+}
+
LY_DEFINE (ly_axis_group_interface__add_element, "ly:axis-group-interface::add-element",
2, 0, 0, (SCM grob, SCM grob_element),
"Set @var{grob} the parent of @var{grob-element} on all axes of"
for (vsize i = 0; i < elts.size (); i++)
{
if (elts[i] && elts[i]->is_live ())
+ relevant_grobs.push_back (elts[i]);
+ /*
+ TODO (mikesol): it is probably bad that we're reading prebroken
+ pieces from potentially suicided elements. This behavior
+ has been in current master since at least 2.16.
+
+ We need to fully suicide all Items, meaning that their
+ prebroken pieces should not be accessible, which means that
+ Item::handle_prebroken_dependencies should only be called
+ AFTER this list is composed. The list composition function
+ should probably not check for suicided items or NULL pointers
+ but leave that to the various methods that use it.
+ */
+ if (Item *it = dynamic_cast<Item *> (elts[i]))
{
- relevant_grobs.push_back (elts[i]);
- if (Item *it = dynamic_cast<Item *> (elts[i]))
+ for (LEFT_and_RIGHT (d))
{
- for (LEFT_and_RIGHT (d))
- {
- Item *piece = it->find_prebroken_piece (d);
- if (piece && piece->is_live ())
- relevant_grobs.push_back (piece);
- }
+ Item *piece = it->find_prebroken_piece (d);
+ if (piece && piece->is_live ())
+ relevant_grobs.push_back (piece);
}
}
}
"defaultBarType "
"measureLength "
"whichBar "
- "measurePosition ",
+ "measurePosition "
+ "timing ",
/* write */
- "automaticBars "
+ ""
);
Default_bar_line_engraver::Default_bar_line_engraver ()
Moment mp = measure_position (context ());
bool start_of_measure = (last_moment_.main_part_ != now.main_part_
- && !mp.main_part_);
+ && !mp.main_part_
+ && to_boolean (get_property ("timing")));
if (!scm_is_string (which) && to_boolean (automatic_bars))
{
: 0;
// Corner case: there was only one staff, and it wasn't spaceable.
- // Mark it spaceable, because we do not allow non-spaceable staves
- // to be at the top or bottom of a system.
if (!found_spaceable_staff && elts.size ())
mark_as_spaceable (elts[0]);
}
if (sky)
{
- minimum_distance = (*sky)[UP].distance (bottom_skyline_);
+ minimum_distance = max ((*sky)[UP].distance (bottom_skyline_),
+ bottom_loose_baseline_);
bottom_skyline_ = (*sky)[DOWN];
}
else if (Stencil *sten = unsmob_stencil (prob->get_property ("stencil")))
bottom_skyline_.clear ();
bottom_skyline_.set_minimum_height (iv[DOWN]);
}
+ bottom_loose_baseline_ = 0.0;
Spring spring_copy = spring;
if (tight_spacing)
}
/*
- Print a vertical line and the rank number, to aid debugging.
+ Print a:
+ - vertical line,
+ - the rank number,
+ - rank moment,
+ - blue arrow representing ideal distance,
+ - red arrow representing minimum distance
+ to aid debugging. To turn this on, simply add
+ \override Score.PaperColumn #'stencil = #ly:paper-column::print
+ \override Score.NonMusicalPaperColumn #'stencil = #ly:paper-column::print
+ to your score.
+ Also, as of 2013-10-16 there's a switch in Frescobaldi that turns this on.
*/
MAKE_SCHEME_CALLBACK (Paper_column, print, 1);
SCM
Font_metric *musfont = Font_interface::get_default_font (me);
SCM properties = Font_interface::text_font_alist_chain (me);
-
SCM scm_mol = Text_interface::interpret_markup (me->layout ()->self_scm (),
properties,
ly_string2scm (r));
properties,
ly_string2scm (when));
Stencil t = *unsmob_stencil (scm_mol);
+ t.scale (1.2, 1.4);
t.add_at_edge (Y_AXIS, DOWN, *unsmob_stencil (when_mol), 0.1);
- t.align_to (X_AXIS, CENTER);
+ t.align_to (X_AXIS, LEFT);
+ // compensate for font serifs and half letter-distance
+ t.translate (Offset (-0.1, 0));
t.align_to (Y_AXIS, DOWN);
- Stencil l = Lookup::filled_box (Box (Interval (-0.01, 0.01),
- Interval (-2, -1)));
+ Stencil l = Lookup::filled_box (Box (Interval (0, 0.02),
+ Interval (-8, -1)));
- SCM small_letters = scm_cons (scm_acons (ly_symbol2scm ("font-size"),
- scm_from_int (-6), SCM_EOL),
- properties);
+ Real small_pad = 0.15;
+ Real big_pad = 0.35;
+ // number of printed arrows from *both* loops
int j = 0;
+
for (SCM s = me->get_object ("ideal-distances");
scm_is_pair (s); s = scm_cdr (s))
{
continue;
j++;
- Real y = -j * 1 - 3;
+
+ Stencil arrowhead (musfont->find_by_name ("arrowheads.open.01"));
+ // initial scaling; it will also scale with font-size.
+ arrowhead.scale (1, 1.66);
+ Real head_len = arrowhead.extent (X_AXIS).length ();
+
+ SCM stil = Text_interface::interpret_markup (me->layout ()->self_scm (),
+ properties,
+ ly_string2scm (String_convert::form_string ("%5.2lf", sp->distance ())));
+ Stencil *number_stc = unsmob_stencil (stil);
+ number_stc->scale (1, 1.1);
+ Real num_height = number_stc->extent (Y_AXIS).length ();
+ Real num_len = number_stc->extent (X_AXIS).length ();
+ number_stc->align_to (Y_AXIS, DOWN);
+
+ // arrow's y-coord relative to the top of l stencil:
+ Real y = -2.5;
+ y -= j * (num_height + small_pad + big_pad);
+ // horizontally center number on the arrow, excluding arrowhead.
+ Offset num_off = Offset ((sp->distance () - num_len - head_len) / 2,
+ y + small_pad);
+
vector<Offset> pts;
pts.push_back (Offset (0, y));
pts.push_back (p2);
Stencil id_stencil = Lookup::points_to_line_stencil (0.1, pts);
- Stencil head (musfont->find_by_name ("arrowheads.open.01"));
-
- SCM distance_stc = Text_interface::interpret_markup (me->layout ()->self_scm (),
- small_letters,
- ly_string2scm (String_convert::form_string ("%5.2lf", sp->distance ())));
-
- id_stencil.add_stencil (unsmob_stencil (distance_stc)->translated (Offset (sp->distance () / 3, y + 1)));
- id_stencil.add_stencil (head.translated (p2));
- id_stencil = id_stencil.in_color (0, 0, 1);
+ id_stencil.add_stencil (arrowhead.translated (p2));
+ id_stencil.add_stencil (number_stc->translated (num_off));
+ // use a lighter shade of blue so it will remain legible on black background.
+ id_stencil = id_stencil.in_color (0.2, 0.4, 1);
l.add_stencil (id_stencil);
}
j++;
- Real y = -j * 1.0 - 3.5;
+ Stencil arrowhead (musfont->find_by_name ("arrowheads.open.01"));
+ // initial scaling; it will also scale with font-size.
+ arrowhead.scale (1, 1.66);
+ Real head_len = arrowhead.extent (X_AXIS).length ();
+
+ SCM stil = Text_interface::interpret_markup (me->layout ()->self_scm (),
+ properties,
+ ly_string2scm (String_convert::form_string ("%5.2lf", dist)));
+ Stencil *number_stc = unsmob_stencil (stil);
+ number_stc->scale (1, 1.1);
+ Real num_height = number_stc->extent (Y_AXIS).length ();
+ Real num_len = number_stc->extent (X_AXIS).length ();
+ number_stc->align_to (Y_AXIS, UP);
+
+ // arrow's y-coord relative to the top of l stencil:
+ Real y = -3;
+ y -= j * (num_height + small_pad + big_pad);
+ // horizontally center number on the arrow, excluding arrowhead.
+ Offset num_off = Offset ((dist - num_len - head_len) / 2,
+ y - small_pad);
+
vector<Offset> pts;
pts.push_back (Offset (0, y));
pts.push_back (p2);
Stencil id_stencil = Lookup::points_to_line_stencil (0.1, pts);
- Stencil head (musfont->find_by_name ("arrowheads.open.0M1"));
- head.translate_axis (y, Y_AXIS);
- id_stencil.add_stencil (head);
-
- SCM distance_stc = Text_interface::interpret_markup (me->layout ()->self_scm (),
- small_letters,
- ly_string2scm (String_convert::form_string ("%5.2lf",
- dist)));
-
- id_stencil.add_stencil (unsmob_stencil (distance_stc)->translated (Offset (dist / 3, y - 1)));
-
- id_stencil = id_stencil.in_color (1, 0, 0);
+ id_stencil.add_stencil (arrowhead.translated (p2));
+ id_stencil.add_stencil (number_stc->translated (num_off));
+ // use a lighter shade of red so it will remain legible on black background.
+ id_stencil = id_stencil.in_color (1, 0.25, 0.25);
l.add_stencil (id_stencil);
}
t.add_stencil (l);
of the parse stack onto the heap. */
%left PREC_BOT
-%nonassoc REPEAT
+%nonassoc REPEAT REPEAT_IDENTIFIER
%nonassoc ALTERNATIVE
/* The above precedences tackle the shift/reduce problem
%nonassoc COMPOSITE
%left ADDLYRICS
-%right ':' UNSIGNED REAL
+%right ':' UNSIGNED REAL E_UNSIGNED EVENT_IDENTIFIER EVENT_FUNCTION '^' '_'
+ HYPHEN EXTENDER DURATION_IDENTIFIER
- /* The above are needed for collecting tremoli greedily, and together
- with the next rule for putting together numbers and units
+ /* The above are needed for collecting tremoli and other items (that
+ could otherwise be interpreted as belonging to the next function
+ argument) greedily, and together with the next rule will serve to
+ join numbers and units greedily instead of allowing them into
+ separate function arguments
*/
%nonassoc NUMBER_IDENTIFIER
%token EMBEDDED_LILY "#{"
%token BOOK_IDENTIFIER
+%token CHORD_BODY_IDENTIFIER
%token CHORD_MODIFIER
%token CHORD_REPETITION
%token CONTEXT_DEF_IDENTIFIER
%token NUMBER_IDENTIFIER
%token OUTPUT_DEF_IDENTIFIER
%token REAL
+%token REPEAT_IDENTIFIER
%token RESTNAME
%token SCM_ARG
%token SCM_FUNCTION
TEMPO steno_duration '=' tempo_range {
$$ = MAKE_SYNTAX ("tempo", @$, SCM_EOL, $2, $4);
}
- | TEMPO scalar_closed steno_duration '=' tempo_range {
+ | TEMPO scalar steno_duration '=' tempo_range {
$$ = MAKE_SYNTAX ("tempo", @$, $2, $3, $5);
}
| TEMPO scalar {
$$ = MAKE_SYNTAX ("tempo", @$, $2);
- }
+ } %prec ':'
;
/*
{
$$ = make_music_from_simple (parser, @1, $1);
if (!unsmob_music ($$))
+ {
parser->parser_error (@1, _ ("music expected"));
+ $$ = MAKE_SYNTAX ("void-music", @$);
+ }
}
| composite_music %prec COMPOSITE
;
{
$$ = MAKE_SYNTAX ("repeat", @$, $2, $3, $4, SCM_EOL);
}
+ | REPEAT_IDENTIFIER music
+ {
+ $$ = MAKE_SYNTAX ("repeat", @$, scm_car ($1), scm_cdr ($1),
+ $2, SCM_EOL);
+ }
| REPEAT simple_string unsigned_number music ALTERNATIVE braced_music_list
{
$$ = MAKE_SYNTAX ("repeat", @$, $2, $3, $4, $6);
}
+ | REPEAT_IDENTIFIER music ALTERNATIVE braced_music_list
+ {
+ $$ = MAKE_SYNTAX ("repeat", @$, scm_car ($1), scm_cdr ($1),
+ $2, $4);
+ }
;
sequential_music:
{
$$ = check_scheme_arg (parser, @4, $4, $3, $2);
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup post_event_nofinger
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup post_event_nofinger
{
$$ = check_scheme_arg (parser, @4, $4, $3, $2);
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup '-' UNSIGNED
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup '-' UNSIGNED
{
SCM n = scm_difference ($5, SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ($2, n)))
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup '-' REAL
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup '-' REAL
{
$$ = check_scheme_arg (parser, @4,
scm_difference ($5, SCM_UNDEFINED),
$3, $2);
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup '-' NUMBER_IDENTIFIER
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup '-' NUMBER_IDENTIFIER
{
$$ = check_scheme_arg (parser, @4,
scm_difference ($5, SCM_UNDEFINED),
{
$$ = check_scheme_arg (parser, @4, $4, $3, $2);
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup bare_number_closed
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup bare_number_closed
{
$$ = check_scheme_arg (parser, @4, $4, $3, $2);
}
(parser, @4, $4),
$3, $2);
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup bare_number_common
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup bare_number_common
{
$$ = check_scheme_arg (parser, @4, $4, $3, $2);
}
else
MYREPARSE (@4, $2, SCM_ARG, $4);
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup UNSIGNED
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup UNSIGNED
{
$$ = $3;
if (scm_is_true (scm_call_1 ($2, $4)))
MYREPARSE (@4, $2, DURATION_IDENTIFIER, d);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_nonbackup DURATION_IDENTIFIER {
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_nonbackup DURATION_IDENTIFIER {
$$ = $3;
MYREPARSE (@4, $2, DURATION_IDENTIFIER, $4);
}
| function_arglist_common
;
-function_arglist_closed_backup:
- function_arglist_backup_common
- | function_arglist_closed_common
- ;
-
function_arglist_backup_common:
EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup embedded_scm_arg_closed
{
MYBACKUP (SCM_ARG, $4, @4);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup post_event_nofinger
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup REPEAT simple_string unsigned_number
+ {
+ $4 = MAKE_SYNTAX ("repeat", @4, $5, $6,
+ MY_MAKE_MUSIC ("Music", @4)->unprotect (),
+ SCM_EOL);
+ if (scm_is_true (scm_call_1 ($2, $4)))
+ {
+ $$ = $3;
+ MYREPARSE (@4, $2, REPEAT_IDENTIFIER, scm_cons ($5, $6));
+ } else {
+ $$ = scm_cons (loc_on_music (@3, $1), $3);
+ MYBACKUP (REPEAT_IDENTIFIER, scm_cons ($5, $6), @4);
+ }
+ }
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup chord_body
+ {
+ if (scm_is_true (scm_call_1 ($2, $4)))
+ {
+ $$ = $3;
+ MYREPARSE (@4, $2, CHORD_BODY_IDENTIFIER, $4);
+ } else {
+ $$ = scm_cons (loc_on_music (@3, $1), $3);
+ MYBACKUP (CHORD_BODY_IDENTIFIER, $4, @4);
+ }
+ }
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup post_event_nofinger
{
if (scm_is_true (scm_call_1 ($2, $4)))
{
MYBACKUP (LYRIC_ELEMENT, $4, @4);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup UNSIGNED
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup UNSIGNED
{
if (scm_is_true (scm_call_1 ($2, $4)))
{
}
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup REAL
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup REAL
{
if (scm_is_true (scm_call_1 ($2, $4)))
{
MYBACKUP (REAL, $4, @4);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup NUMBER_IDENTIFIER
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup NUMBER_IDENTIFIER
{
if (scm_is_true (scm_call_1 ($2, $4)))
{
MYBACKUP (FRACTION, $4, @4);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup '-' UNSIGNED
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup '-' UNSIGNED
{
SCM n = scm_difference ($5, SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ($2, n))) {
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup '-' REAL
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup '-' REAL
{
SCM n = scm_difference ($5, SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ($2, n))) {
MYBACKUP (REAL, n, @5);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup '-' NUMBER_IDENTIFIER
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup '-' NUMBER_IDENTIFIER
{
SCM n = scm_difference ($5, SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ($2, n))) {
MYBACKUP (TONICNAME_PITCH, $4, @4);
}
}
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_closed_backup DURATION_IDENTIFIER
+ | EXPECT_OPTIONAL EXPECT_SCM function_arglist_backup DURATION_IDENTIFIER
{
if (scm_is_true (scm_call_1 ($2, $4)))
{
MYBACKUP (STRING, $4, @4);
}
}
+ | function_arglist_backup REPARSE music_assign
+ {
+ if (scm_is_true (scm_call_1 ($2, $3)))
+ $$ = scm_cons ($3, $1);
+ else
+ $$ = check_scheme_arg (parser, @3,
+ make_music_from_simple
+ (parser, @3, $3),
+ $1, $2);
+ }
| function_arglist_backup REPARSE bare_number_common
{
$$ = check_scheme_arg (parser, @3,
{
$$ = check_scheme_arg (parser, @3, $3, $1, $2);
}
- | function_arglist_backup REPARSE pitch_also_in_chords
- {
- $$ = check_scheme_arg (parser, @3, $3, $1, $2);
- }
;
function_arglist:
(parser, @3, $3),
$2, $1);
}
- | EXPECT_SCM function_arglist_closed_optional bare_number_common
+ | EXPECT_SCM function_arglist_optional bare_number_common
{
$$ = check_scheme_arg (parser, @3,
$3, $2, $1);
$$ = check_scheme_arg (parser, @3,
$3, $2, $1);
}
- | EXPECT_SCM function_arglist_closed_optional post_event_nofinger
+ | EXPECT_SCM function_arglist_optional post_event_nofinger
{
$$ = check_scheme_arg (parser, @3,
$3, $2, $1);
}
- | EXPECT_SCM function_arglist_closed_optional '-' NUMBER_IDENTIFIER
+ | EXPECT_SCM function_arglist_optional '-' NUMBER_IDENTIFIER
{
SCM n = scm_difference ($4, SCM_UNDEFINED);
$$ = check_scheme_arg (parser, @4, n, $2, $1);
// know the predicate to be false.
MYREPARSE (@3, $1, SCM_ARG, $3);
}
- | EXPECT_SCM function_arglist_closed_optional UNSIGNED
+ | EXPECT_SCM function_arglist_optional UNSIGNED
{
$$ = $2;
if (scm_is_true (scm_call_1 ($1, $3)))
MYREPARSE (@3, $1, DURATION_IDENTIFIER, d);
}
}
- | EXPECT_SCM function_arglist_closed_optional DURATION_IDENTIFIER
+ | EXPECT_SCM function_arglist_optional DURATION_IDENTIFIER
{
$$ = $2;
MYREPARSE (@3, $1, DURATION_IDENTIFIER, $3);
}
- | EXPECT_SCM function_arglist_closed_optional '-' UNSIGNED
+ | EXPECT_SCM function_arglist_optional '-' UNSIGNED
{
$$ = $2;
SCM n = scm_difference ($4, SCM_UNDEFINED);
}
}
- | EXPECT_SCM function_arglist_closed_optional '-' REAL
+ | EXPECT_SCM function_arglist_optional '-' REAL
{
$$ = $2;
SCM n = scm_difference ($4, SCM_UNDEFINED);
$$ = check_scheme_arg (parser, @3,
$3, $2, $1);
}
- | EXPECT_SCM function_arglist_closed_optional bare_number_common_closed
+ | EXPECT_SCM function_arglist_optional bare_number_common_closed
{
$$ = check_scheme_arg (parser, @3,
$3, $2, $1);
}
- | EXPECT_SCM function_arglist_closed_optional '-' NUMBER_IDENTIFIER
+ | EXPECT_SCM function_arglist_optional '-' NUMBER_IDENTIFIER
{
$$ = check_scheme_arg (parser, @3,
scm_difference ($4, SCM_UNDEFINED),
$2, $1);
}
- | EXPECT_SCM function_arglist_closed_optional post_event_nofinger
+ | EXPECT_SCM function_arglist_optional post_event_nofinger
{
$$ = check_scheme_arg (parser, @3,
$3, $2, $1);
}
;
-function_arglist_closed_optional:
- function_arglist_closed_backup
- | EXPECT_OPTIONAL EXPECT_SCM function_arglist_skip_backup DEFAULT
- {
- $$ = scm_cons (loc_on_music (@4, $1), $3);
- }
- | function_arglist_skip_backup BACKUP
- ;
-
embedded_scm_closed:
embedded_scm_bare
| scm_function_call_closed
| full_markup
;
-scalar_closed:
- embedded_scm_arg_closed
- | SCM_IDENTIFIER
- // for scalar_closed to be an actually closed (no lookahead)
- // expression, we'd need to use bare_number_closed here. It
- // turns out that the only use of scalar_closed in TEMPO is
- // not of the kind requiring the full closedness criterion.
- | bare_number
- | '-' bare_number
- {
- $$ = scm_difference ($2, SCM_UNDEFINED);
- }
- | FRACTION
- | STRING
- | full_markup
- ;
-
-
event_chord:
simple_element post_events {
// Let the rhythmic music iterator sort this mess out.
unsmob_music ($$)->set_property ("articulations",
scm_reverse_x ($2, SCM_EOL));
else
+ {
parser->parser_error (@1, _("music expected"));
+ $$ = MAKE_SYNTAX ("void-music", @1);
+ }
}
- }
+ } %prec ':'
| simple_chord_elements post_events {
SCM elts = ly_append2 ($1, scm_reverse_x ($2, SCM_EOL));
* i = @$; */
i.set_location (@1, @2);
$$ = MAKE_SYNTAX ("event-chord", i, elts);
- }
+ } %prec ':'
| CHORD_REPETITION optional_notemode_duration post_events {
Input i;
i.set_location (@1, @3);
$$ = MAKE_SYNTAX ("repetition-chord", i,
$2, scm_reverse_x ($3, SCM_EOL));
- }
+ } %prec ':'
| MULTI_MEASURE_REST optional_notemode_duration post_events {
Input i;
i.set_location (@1, @3);
$$ = MAKE_SYNTAX ("multi-measure-rest", i, $2,
scm_reverse_x ($3, SCM_EOL));
- }
+ } %prec ':'
| command_element
| note_chord_element
;
m-> set_property ("elements", es);
m->set_spot (@$);
$$ = m->self_scm ();
- }
+ } %prec ':'
;
chord_body:
{
$$ = MAKE_SYNTAX ("event-chord", @$, scm_reverse_x ($2, SCM_EOL));
}
+ | CHORD_BODY_IDENTIFIER
;
chord_body_elements:
| PITCH_IDENTIFIER
;
-pitch_also_in_chords:
- pitch
- | steno_tonic_pitch
- ;
-
gen_text_def:
full_markup {
Music *t = MY_MAKE_MUSIC ("TextScriptEvent", @$);
maybe_notemode_duration:
{
$$ = SCM_UNDEFINED;
- }
+ } %prec ':'
| multiplied_duration {
$$ = $1;
parser->default_duration_ = *unsmob_duration ($$);
if (scm_is_pair ($3))
unsmob_music ($$)->set_property
("articulations", scm_reverse_x ($3, SCM_EOL));
- }
+ } %prec ':'
;
new_chord:
| steno_tonic_pitch optional_notemode_duration chord_separator chord_items {
SCM its = scm_reverse_x ($4, SCM_EOL);
$$ = make_chord_elements (@$, $1, $2, scm_cons ($3, its));
- }
+ } %prec ':'
;
chord_items:
void
Score_performer::one_time_step (SCM)
{
+ // audio_column_ can be 0 when prepare has not been called. The
+ // condition is triggered when Simple_music_iterator implicitly
+ // creates a Score context, like when writing
+ //
+ // \score { { | c4 c c c } \midi { } }
+ //
+ // The same situation happens with the Score_engraver group, but it
+ // would appear not to suffer any bad side effects.
+
+ if (!audio_column_)
+ audio_column_ = new Audio_column (context ()->now_mom ());
if (to_boolean (context ()->get_property ("skipTypesetting")))
{
if (!skipping_)
Translator_group::initialize ();
}
-
}
else if (scm_is_number (me->get_maybe_pure_property ("staff-padding", pure, start, end)) && dir)
{
- Interval iv = me->maybe_pure_extent (me, a, pure, start, end);
-
Real staff_padding
= Staff_symbol_referencer::staff_space (me)
* scm_to_double (me->get_maybe_pure_property ("staff-padding", pure, start, end));
"text "
"word-space "
"text-direction "
+ "flag-style "
);
else
{
measposp = now;
- context ()->set_property ("measurePosition",
- measposp.smobbed_copy ());
}
- measposp += dt;
-
int current_barnumber = robust_scm2int (get_property ("currentBarNumber"), 0);
int internal_barnumber = robust_scm2int (get_property ("internalBarNumber"), 0);
SCM cad = get_property ("timing");
bool c = to_boolean (cad);
- Rational len = measure_length ();
- while (c && measposp.main_part_ >= len)
+ if (c)
{
- measposp.main_part_ -= len;
- current_barnumber++;
- internal_barnumber++;
+ Rational len = measure_length ();
+
+ measposp += dt;
+
+ while (measposp.main_part_ >= len)
+ {
+ measposp.main_part_ -= len;
+ current_barnumber++;
+ internal_barnumber++;
+ }
}
+
+ // Because "timing" can be switched on and off asynchronously with
+ // graces, measurePosition might get into strange settings of
+ // grace_part_. It does not actually make sense to have it diverge
+ // from the main timing. Updating the grace part outside of the
+ // actual check for "timing" looks strange and will lead to changes
+ // of grace_part_ even when timing is off. However, when timing is
+ // switched back on again, this will generally happen in an override
+ // that does _not_ in itself advance current_moment. So the whole
+ // timing advance logic will only get triggered while "timing" is
+ // still of. Maybe we should keep measurePosition.grace_part_
+ // constantly at zero anyway?
+
+ measposp.grace_part_ = now.grace_part_;
+
+
context ()->set_property ("currentBarNumber", scm_from_int (current_barnumber));
context ()->set_property ("internalBarNumber", scm_from_int (internal_barnumber));
context ()->set_property ("measurePosition", measposp.smobbed_copy ());
#include "align-interface.hh"
#include "axis-group-interface.hh"
#include "engraver.hh"
+#include "international.hh"
#include "spanner.hh"
#include "pointer-group-interface.hh"
#include "grob-array.hh"
/* read */
"alignAboveContext "
- "alignBelowContext ",
+ "alignBelowContext "
+ "hasAxisGroup ",
/* write */
""
void
Vertical_align_engraver::process_music ()
{
- if (!valign_)
+ if (!valign_ && !scm_is_null (id_to_group_hashtab_))
{
+ if (to_boolean (get_property ("hasAxisGroup")))
+ {
+ warning (_ ("Ignoring Vertical_align_engraver in VerticalAxisGroup"));
+ id_to_group_hashtab_ = SCM_EOL;
+ return;
+ }
+
top_level_ = to_boolean (get_property ("topLevelAlignment"));
valign_ = make_spanner (top_level_ ? "VerticalAlignment" : "StaffGrouper", SCM_EOL);
void
Vertical_align_engraver::acknowledge_axis_group (Grob_info i)
{
+ if (scm_is_null (id_to_group_hashtab_))
+ return;
+
if (top_level_ && qualifies (i))
{
string id = i.context ()->id_string ();
$Id: bagpipe.ly,v 1.12 2006/03/16 14:39:46 hanwen Exp $
%}
-\version "2.17.6"
+\version "2.17.30"
% Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.
% Flat notes used mainly in some modern music.
hideKeySignature = {
% We normally don't want to show the key signature.
- \override Staff.KeySignature.stencil = ##f
+ \omit Staff.KeySignature
\set Staff.extraNatural = ##f
\key d \major
\accidentalStyle forget
$Id$
%}
-\version "2.17.20"
+\version "2.17.30"
%
% Declare memorable shortcuts for special unicode characters
\Staff
\remove "Clef_engraver"
\remove "Key_engraver"
- \override StaffSymbol.transparent = ##t
+ \hide StaffSymbol
\remove "Time_signature_engraver"
\remove "Bar_engraver"
\override VerticalAxisGroup.staff-staff-spacing = #'()
\remove "Ligature_bracket_engraver"
\consists "Vaticana_ligature_engraver"
\override NoteHead.style = #'vaticana.punctum
- \override Stem.transparent = ##t
+ \hide Stem
}
}
a music expression, the result is the same music expression with an
appropriate tweak applied.")
(if (ly:music? item)
- #{ \tweak #property #(offsetter property offsets) #item #}
- (if (check-grob-path item parser location
- #:default 'Bottom
- #:min 2
- #:max 2)
- #{
- \override #item . #property =
- #(offsetter property offsets)
- #}
- (make-music 'Music))))
-
+ ; In case of a tweak, grob property path is Grob.property
+ (let ((prop-path (check-grob-path
+ (if (symbol? property)
+ (list property)
+ property)
+ parser location
+ #:start 1 #:default #t #:min 2 #:max 2)))
+ (if prop-path
+ ; If the head of the grob property path is a symbol--i.e.,
+ ; a grob name, produce a directed tweak. Otherwise, create
+ ; an ordinary tweak.
+ (if (symbol? (car prop-path))
+ #{
+ \tweak #prop-path #(offsetter (second prop-path) offsets) #item
+ #}
+ #{
+ \tweak #(second prop-path) #(offsetter (second prop-path) offsets) #item
+ #})
+ item))
+ ; In case of an override, grob property path is Context.Grob.property.
+ (let ((prop-path (check-grob-path
+ (append item
+ (if (symbol? property)
+ (list property)
+ property))
+ parser location
+ #:default 'Bottom #:min 3 #:max 3)))
+ (if prop-path
+ #{
+ \override #prop-path = #(offsetter (third prop-path) offsets)
+ #}
+ (make-music 'Music)))))
+
omit =
#(define-music-function (parser location item) (symbol-list-or-music?)
(_i "Set @var{item}'s @samp{stencil} property to @code{#f},
;; We could just throw this at \override and let it sort this
;; out on its own, but this way we should get better error
;; diagnostics.
- (let ((a (check-grob-path item parser location
- #:default 'Bottom #:min 2 #:max 2))
- (b (check-grob-path prop parser location
- #:start 2)))
- (if (and a b)
- #{ \override #(append a b) = #value #}
+ (let ((p (check-grob-path
+ (append item (if (symbol? prop) (list prop) prop))
+ parser location
+ #:default 'Bottom #:min 3)))
+ (if p
+ #{ \override #p = #value #}
(make-music 'Music)))))
undo =
\name Score
melismaBusyProperties = #default-melisma-properties
+ instrumentName = #"bright acoustic"
midiChannelMapping = #'staff
%% quarter = 60
%% cadenzas
-cadenzaOn = {
- \set Timing.timing = ##f
- \set Timing.autoBeaming = ##f
-}
-
-cadenzaOff = {
- \set Timing.timing = ##t
- \set Timing.measurePosition = #ZERO-MOMENT
- \set Timing.autoBeaming = ##t
-}
+cadenzaOn = \set Timing.timing = ##f
+cadenzaOff = \set Timing.timing = ##t
%% chord names
def conv(str):
str = re.sub (r"\\stringTuning\s*\\notemode(\s*)@?\{\s*(.*?)\s*@?}",
r"\\stringTuning\1\2", str)
- if re.search (r'\bstaff-padding\b', str):
+ if re.search (r'[^-\w]staff-padding[^-\w]', str):
stderr_write (NOT_SMART % "staff-padding")
stderr_write (_ ("Staff-padding now controls the distance to the baseline, not the nearest point."))
return str
(graceSettings ,list? "Overrides for grace notes. This property
should be manipulated through the @code{add-grace-property} function.")
+
+ (hasAxisGroup ,boolean? "True if the current context is contained
+in an axis group.")
(hasStaffSpacing ,boolean? "True if the current
@code{CommandColumn} contains items that will affect spacing.")
;;; f
;;;
(flag-count ,number? "The number of tremolo beams.")
+ (flag-style ,symbol? "The style of the flag to be used with
+@code{MetronomeMark}. Available are @code{'modern-straight-flag},
+@code{'old-straight-flag}, @code{flat-flag}, @code{mensural} and
+@code{'default}")
(flat-positions ,list? "Flats in key signatures are placed
within the specified ranges of staff-positions. The general form
is a list of pairs, with one pair for each type of clef, in order
(break-visibility . ,end-of-line-invisible)
(direction . ,UP)
(extra-spacing-width . (+inf.0 . -inf.0))
+ (flag-style . default)
(outside-staff-horizontal-padding . 0.2)
(outside-staff-priority . 1000)
(padding . 0.8)
(axes . (,X))
(before-line-breaking . ,ly:paper-column::before-line-breaking)
(bound-alignment-interfaces . (break-alignment-interface))
+ ;; used by Paper_column::print when debugging columns:
+ (font-size . -7.5)
(full-measure-extra-space . 1.0)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
;; (stencil . ,ly:paper-column::print)
(keep-inside-line . #t)
+ ;; used by Paper_column::print when debugging columns:
+ (layer . 1000)
(line-break-permission . allow)
(non-musical . #t)
(page-break-permission . allow)
-
- ;; debugging stuff: print column number.
- ;; (font-size . -6) (font-name . "sans") (Y-extent . #f)
-
(X-extent . ,ly:axis-group-interface::width)
(meta . ((class . Paper_column)
(object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(axes . (,X))
(before-line-breaking . ,ly:paper-column::before-line-breaking)
(bound-alignment-interfaces . (note-column-interface))
+ ;; used by Paper_column::print when debugging columns:
+ (font-size . -7.5)
(horizontal-skylines . ,ly:separation-item::calc-skylines)
(keep-inside-line . #t)
+ ;; used by Paper_column::print when debugging columns:
+ (layer . 1000)
;; 0.08 comes from spacing-horizontal-skyline.ly
;; allows double flat of F to be nestled over dots of C
(skyline-vertical-padding . 0.08)
;; (stencil . ,ly:paper-column::print)
(X-extent . ,ly:axis-group-interface::width)
-
- ;; debugging
- ;; (font-size . -6) (font-name . "sans") (Y-extent . #f)
(meta . ((class . Paper_column)
(object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)))
;; The following are used by the \offset function
(define (find-value-to-offset prop self alist)
- "Return the first value of the property @var{prop} in the property alist
-@var{alist} @em{after} having found @var{self}."
+ "Return the first value of the property @var{prop} in the property
+alist @var{alist} -- after having found @var{self}. If @var{self} is
+not found, return the first value of @var{prop}."
(let ((segment (member (cons prop self) alist)))
(if (not segment)
(assoc-get prop alist)
(left-x (+ padding
(max
- (interval-end (ly:grob-robust-relative-extent
- left-span common X))
+ (interval-end (ly:generic-bound-extent
+ left-span common))
(if
(and dots
(close
(ly:grob-robust-relative-extent dots common X))
(- INFINITY-INT)))))
(right-x (max (- (interval-start
- (ly:grob-robust-relative-extent right-span common X))
+ (ly:generic-bound-extent right-span common))
padding)
(+ left-x minimum-length)))
(self-x (ly:grob-relative-coordinate spanner common X))
x))
pointlist))
;; a path must begin with a `moveto'
- (prepend-origin (apply list (cons 'moveto origin) path))
+ (prepend-origin (cons (cons 'moveto origin) path))
;; if this path is connected, add closepath to the end
(final-path (if connect
- (append prepend-origin (list 'closepath))
+ (append prepend-origin (list '(closepath)))
prepend-origin))
- (command-list (fold-right append '() final-path)))
+ (command-list (concatenate final-path)))
(ly:make-stencil
`(path ,thickness
`(,@',command-list)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; metronome marks
-(define-public (format-metronome-markup event context)
- (let ((hide-note (ly:context-property context 'tempoHideNote #f))
- (text (ly:event-property event 'text))
- (dur (ly:event-property event 'tempo-unit))
- (count (ly:event-property event 'metronome-count)))
-
- (metronome-markup text dur count hide-note)))
-
-(define-public (metronome-markup text dur count hide-note)
- (let* ((note-mark (if (and (not hide-note) (ly:duration? dur))
- (make-smaller-markup
- (make-note-by-number-markup (ly:duration-log dur)
- (ly:duration-dot-count dur)
- 1))
- #f))
+;; We give 'styled-metronome-markup' an optional argument, 'glyph-font', to
+;; prepare using other fonts than 'fetaMusic.
+;; Currently it ensures that the default-fonts are used by the
+;; markup-command 'note-by-number' in 'metronome-markup' (see below).
+(define*-public
+ ((styled-metronome-markup #:optional (glyph-font 'default))
+ event context)
+ (let ((hide-note (ly:context-property context 'tempoHideNote #f))
+ (text (ly:event-property event 'text))
+ (dur (ly:event-property event 'tempo-unit))
+ (count (ly:event-property event 'metronome-count)))
+
+ (metronome-markup glyph-font text dur count hide-note)))
+
+(define-public format-metronome-markup
+ (styled-metronome-markup))
+
+(define (metronome-markup glyph-font text dur count hide-note)
+ (let* ((note-mark
+ (if (and (not hide-note) (ly:duration? dur))
+ (make-smaller-markup
+ ;; We insert the (default)-font for flag-glyphs and
+ ;; note-head-glyphs to prepare the possibility to use
+ ;; other fonts and to make possible using
+ ;; \override MetronomeMark #'font-name = #<font-name>
+ ;; without affecting the note/flag-glyphs.
+ (make-override-markup (cons 'font-name glyph-font)
+ (make-note-by-number-markup
+ (ly:duration-log dur)
+ (ly:duration-dot-count dur)
+ UP)))
+ #f))
(count-markup (cond ((number? count)
(if (> count 0)
- (make-simple-markup (number->string count))
+ (make-simple-markup
+ (number->string count))
#f))
((pair? count)
(make-concat-markup
(list
- (make-simple-markup (number->string (car count)))
+ (make-simple-markup
+ (number->string (car count)))
(make-simple-markup " ")
(make-simple-markup "–")
(make-simple-markup " ")
- (make-simple-markup (number->string (cdr count))))))
+ (make-simple-markup
+ (number->string (cdr count))))))
(else #f)))
(note-markup (if (and (not hide-note) count-markup)
(make-concat-markup
Return value is a set of strings.
"""
files = []
- for subdir in glob.glob (os.path.join (directory, '[a-f0-9][a-f0-9]')):
+ def globquote(x):
+ return re.sub ("[][*?]", r"[\g<0>]", x)
+ for subdir in glob.glob (os.path.join (globquote (directory),
+ '[a-f0-9][a-f0-9]')):
base_subdir = os.path.split (subdir)[1]
sub_files = [os.path.join (base_subdir, name)
for name in os.listdir (subdir)]
xgettext $(XGETTEXT_OPTIONS) --output-dir=$(po-outdir) \
--keyword=_ --keyword=_f --keyword=_i \
$(XGETTEXT_FLAGS) $(ALL_PO_SOURCES)
-endif
endif
sed -i '1,2d' $(po-outdir)/$(package).po
sed -i -e 's/^\# This file is distributed.*/$(sed-header)/' $(po-outdir)/$(package).po
sed -i -e 's/^\"Content-Type: text\/plain.*/$(sed-content)/' $(po-outdir)/$(package).po
+endif
po-update: po