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

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

Re: Modification d'armure et/ou de métrique dans toutes les portées


From: Jean Abou Samra
Subject: Re: Modification d'armure et/ou de métrique dans toutes les portées
Date: Sun, 31 Jul 2022 17:42:10 +0200




Le 31 juil. 2022 à 14:04, Vincent Gay <vgay@vintherine.org> a écrit :

 Hello,

je lis sur cette page :
\numericTimeSignature et \defaultTimeSignature s’appliquent désormais en même temps à toutes les portées – plus précisément à toutes les portées d’un même contexte Timing – afin de correspondre au comportement de \time.

Qu'est-ce que cela veut-il dire ? Peut-on vraiment  spécifier (modifier ?) la métrique dans toutes les portées d'une partition ?  Tout ce que je trouve au sujet du contexte Timing c'est cette page.



Essaie l’exemple

<<
  \new Staff { \time 2/2 \numericTimeSignature c' }
  \new Staff { c' }
>>

Tu constateras que le \time s’applique aux deux portées. Tu utilises une variable \global, mais si je ne m’abuse tu as aussi une variable pour les sauts de ligne, que tu mets dans un DevNull. Grâce au fait que \time s’applique à toutes les portées, tu pourrais tout aussi bien mettre les \time là-dedans (contrairement aux \key qui ne s’appliquent qu’à leur portée, logique puisqu’il est fréquent d’avoir des instruments transpositeurs avec leur propre armure, alors qu’il est beaucoup moins fréquent d’avoir des portées avec des chiffrages différents, mais j’y reviens).

Par contre, en 2.22, le \numericTimeSignature ne s’applique qu’à sa propre portée, donc dans l’exemple ci-dessus, on se retrouve avec une portée du haut en 2/2 et une portée du bas en C barré.

Ceci n’étant pas très logique, cela a été changé en 2.23. De même que \time, \numericTimeSignature s’applique désormais par défaut à toutes les portées.

Pourquoi « par défaut », me demandes-tu. Parce que LilyPond prend aussi en charge la notation polymétrique, avec des chiffrages différents selon la portée. Dans ce cas assez particulier, il faut évidemment éviter qu’un \time ne s’applique à toutes les portées. LilyPond l’évite si on le lui demande gentiment, en plaçant dans le layout un \enablePolymeter (commande que j’ai ajoutée en 2.23, en 2.22 il faut déplacer le Timing_translator et le Default_bar_line_engraver à la main). Dans ce cas, \time et \numericTimeSignature s’appliquent seulement dans leur portée.

Et c’est là qu’intervient le fameux Timing. C’est en fait un alias de contexte ajouté soit à Score, dans le cas normal, soit à Staff et assimilés (RhythmicStaff, MensuralStaff, …), dans le cas polymétrique. En fait, la définition de \numericTimeSignature dans le code source est aussi simple que ceci :

numericTimeSignature = \override Timing.TimeSignature.style = #'numbered


Et en fonction du cas, polymétrique ou non, cela s’applique au niveau Score ou Staff. Toi aussi, tu peux définir une commande

porteeRouge = \override Staff.StaffSymbol.color = "red"

et l’appliquer non seulement dans un Staff, mais aussi dans un RhythmicStaff par exemple, puisque RhythmicStaff possède l’alias Staff. Et si tu veux le faire dans un contexte qui n’a pas l’alias, rien ne t’empêche de l’ajouter avec la syntaxe

\layout {
  \context {
    \LeContexte
    \alias Staff
  }
}

Voilà, j’espère que c’est plus clair pour toi.

Cordialement,
Jean




À ce jour j'utilise une variable global (ex: global = { \key f \major \time 4/4 } ) que j’intègre par la suite dans mes différentes variables musicales. Ça gagne du temps pour pour l'initialisation dans la mesure ou j'utilise des modèles dans lesquels ces variable sont préenregistrées (ex : Basse =  \relative c {  \global } ) mais c'est peu opérant pour les modification en cours de partie.

Bon dimanche
-- 
Vincent Gay
Envoyé depuis mon saxo-phone :)
https://myrealbook.vintherine.org/ - http://photos.vintherine.org/

reply via email to

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