[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: écrire des silences dans une ligne d'accords
From: |
Jean Abou Samra |
Subject: |
Re: écrire des silences dans une ligne d'accords |
Date: |
Mon, 14 Jun 2021 21:04:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
Le 14/06/2021 à 17:58, david427@mailo.com a écrit :
Merci pour ce code élégant :)
(et la correction de mon exemple trop vite fait, qui n'était pas en
mesure ^^' )
Merci aussi pour le lien, je n'aurais pas pu trouver tout seul, mais
grâce à mon exemple corrigé je pense avoir compris comment faire
Si j'ai bien compris, avec noChordSymbol = "" on remplace NC par ...
rien ;
C'est cela. On aurait pu également écrire
noChordSymbol = \markup \musicglyph "rests.2"
pour produire systématiquement un glyphe de soupir. L'inconvénient
de cette méthode est qu'il aurait fallu ajuster le glyphe en cours
de partition pour obtenir des silences de durées différentes.
les \consists permettent de créer les symboles des silences dans la
ligne d'accords ;
En effet. Un contexte n'est (généralement) rien d'autre qu'un conteneur.
S'y trouvent des propriétés, et des graveurs qui agissent sur lui. Toutes
les définitions de contextes sont faites en empilant des graveurs et des
propriétés. Par exemple, voici la définition standard du contexte ChordNames
(dans le fichier ly/engraver-init.ly) :
\layout {
\context {
\type "Engraver_group"
\name "ChordNames"
\alias Staff % Catch Staff-level overrides like
% \key, \transposition
\description "Typesets chord names."
\consists "Output_property_engraver"
\consists "Separating_line_group_engraver"
\consists "Chord_name_engraver"
\consists "Axis_group_engraver"
%\consists "Note_spacing_engraver"
\consists "Alteration_glyph_engraver"
\override VerticalAxisGroup.remove-first = ##t
\override VerticalAxisGroup.remove-empty = ##t
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding =
#0.5
\override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = #0.5
\override ParenthesesItem.font-size = #1.5
}
}
L'essentiel ici est le Chord_name_engraver, qui se charge des noms
d'accords. En ajoutant en plus le Rest_engraver, qui « vit » habituellement
dans le contexte Voice, on peut imprimer des silences dans le contexte
ChordNames exactement comme sur une portée normale.
et les \override permettent d'ajuster en hauteur les silences ?
Oui. Des explications se trouvent sur cette page :
http://lilypond.org/doc/v2.23/Documentation/notation/aligning-objects#setting-x_002doffset-and-y_002doffset-directly
J'espère que c'est clair.
Cordialement,
Jean