Subject: indication de changement d'armure en fin de ligne

From: Vincent Gay <[email-masked]>
Date: Sun, 12 Dec 2021 10:45:21 +0100

Dans l'exemple suivant :

\relative c''' {

   \clef "treble" \key c \major \time 4/4

   \set Staff.printKeyCancellation = ##f

   \set Staff.explicitKeySignatureVisibility = ##'#(#f #t #t)

a1 \key a \major gis \key d \major g! \key g \major fis \break

         \key c \major f f e \key a \major d \break

  }

un bécarre apparaît en fin de première ligne  malgré \set 
Staff.printKeyCancellation = ##f et \set 
Staff.explicitKeySignatureVisibility = ##'#(#f #t #t)

Comment le faire disparaître ?

Merci d'avance et bon dimanche

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

---

From: Jean Abou Samra <[email-masked]>
Date: Sun, 12 Dec 2021 12:05:54 +0100

> Merci d'avance et bon dimanche

Bonjour,

Dans ##'#(#f #t #t), il y a un peu beaucoup de
croisillons. Je suis surpris que cela passe avec
Guile 1, en tous cas cela ne passera plus lorsque
nous serons enfin passés à Guile 2 (#' crée des
objets « syntaxe » qui sont complètement différents
de ce que vous recherchez). Il serait prudent de
mettre simplement ##(#f #t #t) : le premier #
pour passer en syntaxe Scheme, le second pour
créer un vecteur, et les autres pour la notation
des booléens.

À part cela, la méthode est expliquée sur
https://lilypond.org/doc/v2.23/Documentation/notation/visibility-of-objects#special-considerations

Pour donner plus d'explications : printKeyCancellation
ne fait rien dans ce cas spécifique car LilyPond a
peur que les musiciens ne soient perdus par
l'absence totale de repère concernant le changement
de tonalité. Le but de explicitKeySignatureVisibility
est de fournir un réglage séparé pour la
break-visibility des objets KeySignature qui proviennent
d'un changement d'armure et ne sont pas simplement ajoutés
automatiquement au début de la ligne ; il n'est
pas d'une grande aide ici car l'objet que vous
voulez supprimer est KeyCancellation (les bécarres),
et non pas KeySignature (les dièses ou bémols).
Il n'y a pas de propriété équivalente pour KeyCancellation,
tout simplement parce que LilyPond n'ajoute jamais des
bécarres automatiquement en début de ligne. La
propriété à modifier est KeyCancellation.break-visibility.
Il suffit donc de remplacer votre
\set Staff.explicitKeySignatureVisibility = ...
par
\override Staff.KeyCancellation.break-visibility = #all-invisible

Cordialement,
Jean

---

From: Vincent Gay <[email-masked]>
Date: Sun, 12 Dec 2021 12:14:51 +0100

> \override Staff.KeyCancellation.break-visibility = #all-invisible 

Super, merci. Et merci aussi pour les explications.

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