lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: écrire des silences dans une ligne d'accords


From: david427
Subject: Re: écrire des silences dans une ligne d'accords
Date: Mon, 14 Jun 2021 23:00:55 +0200 (CEST)

Merci beaucoup d'avoir pris le temps de détailler autant l'explication !

Je comprends l'organisation globale quand on me l'explique, mais le détail est encore un peu compliqué pour moi...

J'apprends beaucoup de tous les échanges sur la liste, et j'en profite pour remercier tous les contributeurs, grâce à vous j'arrive à écrire des partitions incroyables ! :)


De : Jean Abou Samra <jean@abou-samra.fr>
À : david427@mailo.com;
   lilypond-user-fr@gnu.org
Sujet : Re: écrire des silences dans une ligne d'accords
Date : 14/06/2021 21:04:11 Europe/Paris



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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]