\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: a9bf7727fb66d7a17abe31b9004c846fc781fcf9
+ Translation of GIT committish: 04597b1cc93b4f1bf365506dc5badc08f34b84e8
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: a1267e20afa61258ce3031f07d916e0e66ac6582
+ Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
quel contexte elle intervient. Si cela est bien souvent évident, il
peut arriver que cela tourne au cauchemar. Lorsque vous ne spécifiez
pas le bon contexte, aucun message d'erreur ne s'affiche et l'effet
-attendu n'est pas au rendez-vous. Par exemple, le @code{instrumentName}
-est de manière incontestable membre du contexte @code{Staff}, puisque
-c'est bien la portée que l'on va nommer.
-Dans l'exemple suivant, la première portée affiche effectivement un nom,
-alors que ce n'est pas le cas pour la deuxième dans la mesure où le
-contexte n'a pas été spécifié.
+attendu n'est pas au rendez-vous. Par exemple, le @code{clefGlyph} est
+de manière incontestable membre du contexte @code{Staff}, puisque c'est
+bien le glyphe de clef de la portée qui doit être changé.
+Dans l'exemple suivant, la première portée affiche effectivement la
+bonne clef, alors que ce n'est pas le cas pour la deuxième -- qui porte
+la clef de sol par défaut au lieu d'une clef de basse (clef de fa) --
+dans la mesure où le contexte n'a pas été spécifié.
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff \relative {
- \set Staff.instrumentName = #"Soprano"
+ \set Staff.clefGlyph = "clefs.C"
c''4 c
}
\new Staff \relative {
- \set instrumentName = #"Alto" % Wrong!
+ \set clefGlyph = "clefs.F" % Wrong!
d'4 d
}
>>
@end lilypond
Dans la mesure où le nom de contexte par défaut est @code{Voice}, la
-deuxième commande @code{\set} a défini @qq{Alto} comme propriété
-@code{instrumentName} du contexte de voix. Puisque LilyPond n'ira pas
-chercher une telle propriété dans le contexte @code{Voice}, celle-ci ne
-sera pas interprétée. Il ne s'agit pas d'une erreur, aucun message
-d'erreur ne sera ni émis ni enregistré.
+deuxième commande @code{\set} a défini la propriété @code{clefGlyph}
+dans le contexte de voix. Puisque LilyPond n'ira pas chercher une telle
+propriété dans le contexte @code{Voice}, celle-ci ne sera pas
+interprétée. Il ne s'agit pas d'une erreur, aucun message d'erreur ne
+sera ni émis ni enregistré.
De la même manière, une faute d'orthographe dans le nom de la propriété
ne générera aucun message d'erreur et l'action escomptée ne se produira
la Référence des propriétés internes -- voir
@rinternals{Tunable context properties}, ou @rinternals{Contexts}.
-La propriété @code{instrumentName} ne sera prise en compte que si elle
+La propriété @code{clefGlyph} ne sera prise en compte que si elle
est définie dans un contexte @code{Staff} ; d'autres propriétés
peuvent par contre être définies dans plusieurs contextes différents.
C'est le cas de la propriété @code{extraNatural} qui est définie par
\score {
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with { instrumentName = #"Soprano" }
+ <<
\new Voice = "sopranos" {
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with { instrumentName = #"Alto" }
+ <<
\new Voice = "altos" {
\global
\altoMusic
}
>>
- \new Lyrics \lyricsto "altos" { \altoWords }
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Lyrics \lyricsto "altos" {
+ \altoWords
+ }
+ \new Staff = "tenors"
+ \with { instrumentName = #"Tenor" }
+ <<
\new Voice = "tenors" {
\global
\tenorMusic
}
>>
- \new Lyrics \lyricsto "tenors" { \tenorWords }
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Lyrics \lyricsto "tenors" {
+ \tenorWords
+ }
+ \new Staff = "basses"
+ \with { instrumentName = #"Bass" }
+ <<
\new Voice = "basses" {
\global
\bassMusic
\bassWords
}
>> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
+ \new PianoStaff \with { instrumentName = #"Piano" }
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with @{ instrumentName = #"Soprano" @}
+ <<
\new Voice = "sopranos" @{
\global
- \sopranoMusique
+ \sopranoMusic
@}
>>
\new Lyrics \lyricsto "sopranos" @{
- \sopranoParoles
+ \sopranoWords
@}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with @{ instrumentName = #"Alto" @}
+ <<
\new Voice = "altos" @{
\global
- \altoMusique
+ \altoMusic
@}
>>
\new Lyrics \lyricsto "altos" @{
- \altoParoles
+ \altoWords
@}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Staff = "tenors"
+ \with @{ instrumentName = #"Tenor" @}
+ <<
\new Voice = "tenors" @{
\global
- \tenorMusique
+ \tenorMusic
@}
>>
\new Lyrics \lyricsto "tenors" @{
- \tenorParoles
+ \tenorWords
@}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Staff = "basses"
+ \with @{ instrumentName = #"Bass" @}
+ <<
\new Voice = "basses" @{
\global
- \bassMusique
+ \bassMusic
@}
>>
\new Lyrics \lyricsto "basses" @{
- \bassParoles
+ \bassWords
@}
->> % fin du ChoirStaff
+>> % end ChoirStaff
@end example
Il nous faut maintenant nous occuper de la partie de piano. Nous allons
piano} :
@example
-\new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
+\new PianoStaff \with @{ instrumentName = #"Piano" @}
+<<
\new Staff = "upper" \superieur
\new Staff = "lower" \inferieur
>>
doubles chevrons gauche/droite puisqu'ils doivent s'empiler :
@example
-<< % combine ChoirStaff et PianoStaff l'un au-dessus de l'autre
+<< % combine ChoirStaff and PianoStaff one above the other
\new ChoirStaff <<
\new Staff = "sopranos" <<
\new Voice = "sopranos" @{
\global
- \sopranoMusique
+ \sopranoMusic
@}
>>
\new Lyrics \lyricsto "sopranos" @{
- \sopranoParoles
+ \sopranoWords
@}
\new Staff = "altos" <<
\new Voice = "altos" @{
\global
- \altoMusique
+ \altoMusic
@}
>>
\new Lyrics \lyricsto "altos" @{
- \altoParoles
+ \altoWords
@}
\new Staff = "tenors" <<
\clef "G_8" % tenor clef
\new Voice = "tenors" @{
\global
- \tenorMusique
+ \tenorMusic
@}
>>
\new Lyrics \lyricsto "tenors" @{
- \tenorParoles
+ \tenorWords
@}
\new Staff = "basses" <<
\clef "bass"
\new Voice = "basses" @{
\global
- \bassMusique
+ \bassMusic
@}
>>
\new Lyrics \lyricsto "basses" @{
- \bassParoles
+ \bassWords
@}
- >> % fin du ChoirStaff
+ >> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff = "upper" \superieur
- \new Staff = "lower" \inferieur
+ \new PianoStaff \with @{ instrumentName = #"Piano" @}
+ <<
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
>>
>>
@end example
\score {
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with { instrumentName = #"Soprano" }
+ <<
\new Voice = "sopranos" {
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with { instrumentName = #"Alto" }
+ <<
\new Voice = "altos" {
\global
\altoMusic
\new Lyrics \lyricsto "altos" {
\altoWords
}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Staff = "tenors"
+ \with { instrumentName = #"Tenor" }
+ <<
\new Voice = "tenors" {
\global
\tenorMusic
\new Lyrics \lyricsto "tenors" {
\tenorWords
}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Staff = "basses"
+ \with { instrumentName = #"Bass" }
+ <<
\new Voice = "basses" {
\global
\bassMusic
}
>> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
+ \new PianoStaff
+ \with { instrumentName = #"Piano " }
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 553410afdd9496f7d9f1498e755ea18de8e70596
+ Translation of GIT committish: 04597b1cc93b4f1bf365506dc5badc08f34b84e8
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* La commande de dérogation (override)::
* La commande d'affinage (tweak)::
* set ou override::
+* La commande de décalage (offset)::
* Modification de listes associatives::
@end menu
Les instructions spéciales @code{\tweak} et @code{\overrideProperty}
modifient les propriétés de @emph{grob} en court-circuitant totalement
les propriétés de contexte. En fait, elles capturent les @emph{grobs}
-au moment de leur création pour y injecter directement des propriétés soit
-émanant d'un événement musical retouché par un @code{\tweak}, soit
+au moment de leur création pour y injecter directement des propriétés
+soit émanant d'un événement musical retouché par un @code{\tweak}, soit
lorsqu'ils sont d'une qualité particulière (un @code{\overrideProperty}).
+@node La commande de décalage (offset)
+@subsection La commande de décalage @code{\offset}
+@translationof The offset command
+
+@funindex \offset
+@cindex décalage
+@cindex offset (décalage)
+
+Bien qu'il soit possible d'affecter de nouvelles valeurs aux propriétés
+d'un objet graphique à l'aide des commandes @code{\override},
+@code{\tweak} ou @code{\overrideProperty}, il est souvent plus pratique
+de modifier de telles propriétés par rapport à une valeur par défaut.
+Ceci est la raison d'être de la commande @code{\offset}.
+
+La commande @code{\offset} répond à la syntaxe suivante :
+
+@example
+[-]\offset @var{propriété} @var{décalages} @var{élément}
+@end example
+
+La commande @code{\offset} agit par addition du contenu de
+@var{décalage} au réglage par défaut de la propriété @var{propriété} de
+l'objet graphique indiqué par @var{élément}.
+
+Selon la manière dont la commande est formulée, @code{\offset} agira
+tantôt comme un @code{\tweak}, tantôt comme un @code{\override}. Les
+différences entre ces utilisations seront abordées après avoir recensé
+les propriétés qui peuvent être soumises à un @code{\offset}.
+
+@subsubsubheading Propriétés acceptant des décalages
+@c VO Properties which may be offset
+
+Bon nombre de propriétés d'objet graphique, mais pas toutes, peuvent
+faire l'objet d'un décalage. Si d'aventure @var{propriété} ne peut être
+affectée, l'objet restera inchangé et sera émis un message
+d'avertissement. En pareil cas, l'objet doit être modifié par un
+@code{\override} ou un @code{\tweak}.
+
+Il est toujours possible de procéder à tâtons et laisser les
+avertissement indiquer si tel objet peut ou ne peut pas être soumis à
+@code{\offset}. Néanmoins, une approche plus systématique est possible.
+
+Les critères énoncés ci-après déterminent l'égibilité d'une propriété à
+être modifiée par la commande @code{\offset}.
+
+@itemize
+
+@item
+La propriété possède un « réglage par défaut » au niveau de la
+définition de l'objet graphique. Les propriétés en question sont
+listées, pour chacun des @emph{grobs}, dans
+@rinternalsnamed{All layout objects, Tous les objets de rendu} -- on les
+trouvera aussi dans le fichier @file{scm/define-grobs.scm}.
+
+@item
+La propriété prend une valeur numérique. Les valeurs numériques
+comprennent @code{number}, liste de @code{number}s, @code{number-pair}
+et @code{number-pair-list}. Les pages de
+@rinternalsnamed{All layout objects, Tous les objets de rendu}
+répertorient le type de donnée propre à chaque propriété. Peu importe
+que le réglage par défaut soit une fonction.
+
+@item
+La propriété ne saurait constituer une « sous-propriété » -- une
+propriété résidant au sein d'une autre propriété.
+
+@item
+Les propriétés réglées sur des valeurs infinies ne peuvent faire l'objet
+d'un décalage. Il n'y a aucun moyen d'influencer l'infini, qu'il soit
+positif ou négatif.
+@end itemize
+
+Les exemples qui suivent s'arrêtent sur plusieurs propriétés d'objet
+graphique au regard des critères énoncés ci-dessus.
+
+@itemize
+
+@item Propriétés qui peuvent être décalées
+
+@table @asis
+
+@item @code{Hairpin.height}
+Cette propriété n'est pas une sous-propriété, et est référencée à
+@rinternalsnamed{Hairpin, Soufflet}. En tant que valeur, elle prend une
+« dimension, exprimée en espace de portée » réglée à @code{0.6666} --
+clairement une valeur @code{number} non infini.
+
+@item @code{Arpeggio.positions}
+La page @rinternalsnamed{Arpeggio, Arpeggio} référence une propriété
+@code{positions} qui accepte une « paire de nombres ». Sa valeur par
+défaut est @code{ly:arpeggio::positions} -- une fonction de rappel qui
+sera évaluée au cours de la phase de typographie pour donner une paire
+de nombres pour tout objet @code{Arpeggio}.
+
+@end table
+
+@item Propriétés qui ne peuvent être décalées
+
+@table @asis
+
+@item @code{Hairpin.color}
+Aucune référence à @code{color} n'est mentionnée dans
+@rinternalsnamed{Hairpin, Soufflet}.
+
+@item @code{Hairpin.circled-tip}
+La référence à @code{Hairpin.circled-tip} dans
+@rinternalsnamed{Hairpin, Soufflet} indique que cette propriété prend une
+valeur @code{boolean}. Les boléens ne sont pas des nombres.
+
+@item @code{Stem.details.lengths}
+Bien que mentionnée dans @rinternalsnamed{Stem, Hampe} et ayant par
+défaut une liste de @code{number}s, il s'agit d'une « sous-propriété ».
+Il n'existe à ce jour aucune prise en charge des « propriétés
+imbriquées ».
+
+@end table
+
+@end itemize
+
+
+@subsubsubheading @code{\offset} en tant que dérogation
+@c VO \offset as an override
+
+Lorsque @var{élément} est un nom d'objet graphique comme @code{Arpeggio}
+ou @code{Staff.OttavaBracket}, le comportement de la commande
+@code{\offset} est assimilable à un @code{\override} sur le type d'objet
+spécifié.
+
+@example
+\offset @var{propriété} @var{décalages} [@var{contexte}.]@var{NomGrob}
+@end example
+
+Notez bien qu'il n'y a jamais de tiret avant un comportement
+« dérogatoire », tout comme il n'y en a jamais avec la commande
+@code{\override} elle-même.
+
+L'exemple suivant utilise la forme « dérogation » pour allonger les
+arpeggios affichés dans la première mesure, jusqu'à couvrir l'accord
+dans son intégralité. Les arpeggios sont étirés d'un demi espace de
+portée à leur sommet ainsi qu'à leur base. Est aussi indiquée la même
+opération sur le premier accord à l'aide d'une simple dérogation
+appliquée à la propriété @code{positions}. Cette méthode n'est pas la
+plus illustrative pour « étirer d'un demi espace de portée » dans la
+mesure où les extrémités doivent être spécifiées en coordonnées absolues
+plutôt que relatives. De plus, des dérogations individuelles seraient
+nécessaires pour les autres accords en raison de leurs différentes
+amplitude et position.
+
+@lilypond[quote,verbatim]
+arpeggioMusic = {
+ <c' e' g'>\arpeggio <a' c'' e''>\arpeggio
+ <d' f' a' c''>\arpeggio <c' e' g' b' d'' f'' a''>\arpeggio
+}
+
+{
+ \arpeggioMusic
+ \bar "||"
+ \offset positions #'(-0.5 . 0.5) Arpeggio
+ \arpeggioMusic
+ \bar "||"
+ \once \override Arpeggio.positions = #'(-3.5 . -0.5)
+ <c' e' g'>1\arpeggio
+ \bar "||"
+}
+@end lilypond
+
+Dans cette utilisation d'@emph{override}, @code{\offset} peut se
+préfixer de @code{\once} ou @code{\temporary} et être annulé à l'aide
+d'un @code{\revert} suivi de @var{propriété}. Ceci tient au fait que
+@code{\offset} crée effectivement un @code{\override} de
+@var{propriété}.
+
+@lilypond[quote,verbatim]
+music = { c'8\< d' e' f'\! }
+
+{
+ \music
+ \offset height 1 Hairpin
+ \music
+ \music
+ \revert Hairpin.height
+ \music
+ \bar "||"
+ \once \offset height 1 Hairpin
+ \music \music
+ \bar "||"
+ \override Hairpin.height = 0.2
+ \music
+ \temporary \offset height 2 Hairpin
+ \music
+ \music
+ \revert Hairpin.height
+ \music
+ \bar "||"
+}
+@end lilypond
+
+Tout comme @code{\override}, la forme « dérogation » de @code{\offset}
+peut s'utiliser avec @code{\undo} et @code{\single}.
+
+@lilypond[quote,verbatim]
+longStem = \offset length 6 Stem
+
+{
+ \longStem c'4 c''' c' c''
+ \bar "||"
+ \undo \longStem c'4 c''' c' c''
+ \bar "||"
+ \single \longStem c'4 c''' c' c''
+ \bar "||"
+}
+@end lilypond
+
+@subsubsubheading @code{\offset} en tant qu'affinage
+@c VO offset as a tweak
+
+Lorsque @var{élément} est une expression musicale, comme @code{(} ou
+@code{\arpeggio}, le résultat sera la même expression musicale à
+laquelle aura été appliqué un affinage.
+@c closing )
+
+@example
+[-]\offset [@var{NomGrob}.]@var{propriété} @var{décalages} @var{expression-musicale}
+@end example
+
+La syntaxe de @code{\offset} dans sa forme « affinage » est en tout
+point analogue à la commande @code{\tweak}, autant dans l'ordre des
+arguments que dans la présence ou non du tiret l'introduisant.
+
+L'exemple suivant utilise la forme « affinage » pour ajuster le
+positionnement vertical de l'objet @code{BreathingSign}. Les effets de
+la simple commande @code{\tweak} sont présent à titre de comparaison.
+Leur syntaxe est équivalente. Néanmoins, le résultat de @code{\tweak}
+est moins intuitif dans la mesure où @code{BreathingSign.Y-offset} est
+calculé en référence à la ligne médiane. Il n'est pas nécessaire de
+savoir comment se calcule @code{Y-offset} dans le cas d'un
+@code{\offset}.
+
+@lilypond[quote,verbatim]
+{
+ c''4
+ \breathe
+ c''4
+ \offset Y-offset 2 \breathe
+ c''2
+ \tweak Y-offset 3 \breathe
+}
+@end lilypond
+
+Dans cet exemple, les objets affinés étaient créés directement à partir
+du code saisi : la commande @code{\breathe} était une instruction
+explicite pour renvoyer un objet @code{BreathingSign}. Puisque la cible
+de la commande était sans ambiguïté, point n'était besoin de spécifier
+le nom de l'objet. Cependant, lorsqu'un objet est créé
+@emph{indirectement}, mention du nom de l'objet devient requise. Il en
+va de même pour la commende @code{\tweak}.
+
+Dans l'exemple qui suit, l'objet @code{Beam} est abaissé de deux espaces
+de portée par application de @code{\offset} à la propriété
+@code{positions}.
+
+La première application de @code{\offset} requiert mention du nom de
+l'objet puisque rien dans le code ne crée explicitement de ligature.
+Dans la seconde application, la ligature est explicitement créée par
+l'expression musicale @code{[}, ce qui dispense de mentionner le nom de
+l'objet. Cette deuxième application comporte par ailleurs un
+raccourci : un unique @code{number} s'appliquera aux deux membres d'un
+@code{number-pair}.
+@c close ]
+
+@lilypond[quote,verbatim]
+{
+ c''8 g'' e'' d''
+ \offset Beam.positions #'(-2 . -2)
+ c''8 g'' e'' d''
+ c''8 g'' e'' d''
+ c''8-\offset positions #-2 [ g'' e'' d'']
+}
+@end lilypond
+
+@subsubsubheading @code{\offset} et les bandeaux avec rupture
+@c VO offset with broken spanners
+
+Il est aussi possible de modifier indépendamment les segments d'un objet
+étendu rencontrant des sauts de ligne. Dans ce cas, @var{décalages} est
+consitué d'une liste de valeurs pour le type de donnée requis par la
+propriété.
+
+Utilisée de telle manière, la commande @code{\offset} est similaire à la
+commande @code{\alterBroken} -- voir
+@ref{Modification de bandeaux avec rupture}. Cependant, et
+contrairement à la commande @code{\alterBroken}, les valeurs fournies à
+@code{\offset} sont relatives.
+
+Dans l'exemple suivant est déplacé l'objet « segmenté »
+@code{OttavaBracket} au travers de sa propriété @code{staff-padding}.
+Puisque cette propriété est affectée d'un @code{number}, @var{décalages}
+est alimenté d'une liste de @code{number}s afin de prendre en compte les
+deux segments créés par le saut de ligne. La portion de liaison de la
+première ligne n'est en fait pas touchée puisque @code{0} est ajouté à
+sa valeur par défaut. Le segment de la deuxième ligne est haussé de
+deux espaces de portée par rapport à sa hauteur par défaut. La hauteur
+par défaut est de @code{2}, bien que ce ne soit pas nécessaire de le
+savoir.
+
+@lilypond[quote,verbatim]
+{
+ \offset staff-padding #'(0 3) Staff.OttavaBracket
+ \ottava #1
+ c'''2 c'''
+ \break
+ c'''2 c'''
+}
+@end lilypond
+
+L'exemple ci-dessous reproduit les effets de la commande @code{\shape}
+en décalant la propriété @code{control-points} de l'objet @code{Slur}.
+Ici, @var{décalages} est constitué d'une liste de
+@code{number-pair-list}s, une pour chaque segment de la liaison. Cet
+exemple produit un résultat identique à ce qui est illustré dans
+@ref{Modification de l'allure des éléments}.
+
+@lilypond[quote,verbatim]
+{
+ c'4-\offset control-points #'(
+ ((0 . 0) (0 . 0) (0 . 0) (0 . 1))
+ ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5))
+ ) ( f'4 g' c''
+ \break
+ d'4 c'' f' c')
+}
+@end lilypond
+
+
@node Modification de listes associatives
@subsection Modification de listes associatives
@translationof Modifying alists
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 39912f861693f1c24b8833e6e9e6ba82eb3e6746
+ Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
façon évidente au vu de la partition finale.
@lilypond[verbatim,quote]
-\relative c'' {
- \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
- \set Staff.instrumentName = \markup {
- \with-color #(x11-color 'navy) "Clarinet"
+\new Staff \with {
+ instrumentName = \markup {
+ \with-color #(x11-color 'red) "Clarinet"
+ }
}
+ \relative c'' {
+ \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
gis8 a
\override Beam.color = #(x11-color "medium turquoise")
gis a
l'exemple suivant correspond à 128).
@lilypond[verbatim,quote]
-\relative c'' {
- \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
- \set Staff.instrumentName = \markup {
- \with-color #(x11-color 'navy) "Clarinet"
+\new Staff \with {
+ instrumentName = \markup {
+ \with-color #(x11-color 'red) "Clarinet"
+ }
}
-
+ \relative c'' {
\override Stem.color = #(rgb-color 0 0 0)
gis8 a
\override Stem.color = #(rgb-color 1 1 1)
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 553410afdd9496f7d9f1498e755ea18de8e70596
+ Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Un tambourin, saisi avec un @qq{tamb} :
-@lilypond[quote,verbatim]
+@lilypond[verbatim,quote]
#(define mydrums '((tambourine default #t 0)))
-tambustaff = {
- \override Staff.StaffSymbol.line-positions = #'( 0 )
- \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
- \set DrumStaff.instrumentName = #"Tambourine"
-}
+\new DrumStaff \with { instrumentName = #"Tambourine" }
-\new DrumStaff {
- \tambustaff
+\drummode {
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
- \drummode {
- \time 6/8
- tamb8. 16 8 8 8 8 |
- tamb4. 8 8 8 |
- % the trick with the scaled duration and the shorter rest
- % is neccessary for the correct ending of the trill-span!
- tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
- }
+ \time 6/8
+ tamb8. 16 8 8 8 8 |
+ tamb4. 8 8 8 |
+ % the trick with the scaled duration and the shorter rest
+ % is neccessary for the correct ending of the trill-span!
+ tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
}
@end lilypond
@lilypond[quote,verbatim]
#(define mydrums '((tamtam default #t 0)))
-tamtamstaff = {
- \override Staff.StaffSymbol.line-positions = #'( 0 )
- \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
- \set DrumStaff.instrumentName = #"Tamtam"
-}
+\new DrumStaff \with { instrumentName = #"Tamtam" }
-\new DrumStaff {
- \tamtamstaff
- \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+\drummode {
+\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+\override Staff.StaffSymbol.line-positions = #'( 0 )
+\override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
- \drummode {
- tt 1 \pp \laissezVibrer
- }
+ tt 1 \pp \laissezVibrer
}
@end lilypond
#(define mydrums '((ridebell default #t 3)
(cowbell default #t -2)))
-bellstaff = {
- \override DrumStaff.StaffSymbol.line-positions = #'(-2 3)
+\new DrumStaff \with { instrumentName = #"Different Bells" }
+
+\drummode {
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
- \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
- \set DrumStaff.instrumentName = #"Different Bells"
-}
+ \override DrumStaff.StaffSymbol.line-positions = #'(-2 3)
+ \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
-\new DrumStaff {
- \bellstaff
- \drummode {
- \time 2/4
- rb8 8 cb 16 rb-> ~ |
- 16 8 16 cb8 8 |
- }
+ \time 2/4
+ rb8 8 cb8 16 rb16-> ~ |
+ 16 8 16 cb8 8 |
}
@end lilypond
\score {
\new StaffGroup <<
- \new DrumStaff {
- \set DrumStaff.instrumentName = \markup {
+ \new DrumStaff \with {
+ instrumentName = \markup {
\column {
"Tambourine"
"et"
"caisse claire s. timbre"
}
}
- \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+ drumStyleTable = #(alist->hash-table mydrums)
+ }
\drumsA
- }
- \new DrumStaff {
- \set DrumStaff.instrumentName = #"Grosse Caisse"
- \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
- \drumsB }
+ \new DrumStaff \with {
+ instrumentName = #"Grosse Caisse"
+ drumStyleTable = #(alist->hash-table mydrums)
+ }
+ \drumsB
>>
}
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 6a4f1fed7b1be26f0ae29bc500eed7d29bd7659a
+ Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@lilypond[verbatim,quote]
\new GrandStaff <<
- \new Staff = "violin" {
- \relative c'' {
- \set Staff.instrumentName = #"Vln"
- \set Staff.midiInstrument = #"violin"
- % not strictly necessary, but a good reminder
- \transposition c'
-
- \key c \major
- g4( c8) r c r c4
- }
+ \new Staff = "violin" \with {
+ instrumentName = #"Vln"
+ midiInstrument = #"violin"
+ }
+ \relative c'' {
+ % not strictly necessary, but a good reminder
+ \transposition c'
+ \key c \major
+ g4( c8) r c r c4
}
- \new Staff = "clarinet" {
- \relative c'' {
- \set Staff.instrumentName = \markup { Cl (B\flat) }
- \set Staff.midiInstrument = #"clarinet"
- \transposition bes
-
- \key d \major
- a4( d8) r d r d4
- }
+ \new Staff = "clarinet" \with {
+ instrumentName = \markup { Cl (B\flat) }
+ midiInstrument = #"clarinet"
+ }
+ \relative c'' {
+ \transposition bes
+ \key d \major
+ a4( d8) r d r d4
}
>>
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: ece789bf5f661cb8f16b50f87a248dedd6e1d8d5
+ Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@ref{Noms d'instrument} pour plus de détails.
@lilypond[verbatim,quote]
-\new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
+\new PianoStaff \with { instrumentName = #"Piano" }
+ <<
\new Staff \relative { c''1 c }
\new Staff \relative { \clef bass c1 c }
>>
@lilypond[verbatim,quote,ragged-right]
prepPiccolo = <>^\markup \italic { muta in Piccolo }
+prepFlute = <>^\markup \italic { muta in Flauto }
+
setPiccolo = {
- \set Staff.instrumentName = #"Piccolo"
- \set Staff.shortInstrumentName = #"Picc."
- \set Staff.midiInstrument = #"piccolo"
<>^\markup \bold { Piccolo }
\transposition c''
}
-prepFlute = <>^\markup \italic { muta in Flauto }
-
setFlute = {
- \set Staff.instrumentName = #"Flute"
- \set Staff.shortInstrumentName = #"Flt."
- \set Staff.midiInstrument = #"flute"
<>^\markup \bold { Flute }
\transposition c'
}
\new Staff \with {
instrumentName = #"Flute"
shortInstrumentName = #"Flt."
- midiInstrument = #"flute"
}
\relative {
g'1 g g g \break
g1 g \prepPiccolo R R \break
+ \set Staff.instrumentName = #"Piccolo"
+ \set Staff.shortInstrumentName = #"Picc."
\setPiccolo
g1 g g g \break
g1 g \prepFlute R R \break
+ \set Staff.instrumentName = #"Flute"
+ \set Staff.shortInstrumentName = #"Flt."
\setFlute
g1 g g g
}
-%% Translation of GIT committish: 3ad118d6062153701ab613c1b3855911c45214d3
+%% Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
texidocfr = "
Cet exemple, grâce à un peu de code Scheme, donne la priorité aux
enharmoniques afin de limiter le nombre d'altérations supplémentaires.