explicitKeySignatureVisibility printKeyCancellation KeySignature.break-visibility

Bonjour à tous,

Voici ma question:

J'ai placé dans la partie layout du code de lilypond, les commandes suivantes:

\set Staff.explicitKeySignatureVisibility = #begin-of-line-visible
\set Staff.printKeyCancellation = ##f
\override Staff.KeySignature.break-visibility = #begin-of-line-visible

Afin de ne pas avoir d'armature en fin de ligne en cas de changement de signature de clef.
Cela fonction bien sauf dans le cas ou je passe d'un mode avec armature à la clef vers un mode sans armature.
Par exemple de fa# majeur vers do majeur, à ce moment, des bécarres de précautions sont gravés en fin de ligne.

Voici le code:

\score {

\new GrandStaff <<

\new Staff = upStaff <<

\new Voice = "soprano" { \set midiInstrument = \instrument \voiceOne \soprane }

\new Voice = "alto" { \set midiInstrument = \instrument \voiceTwo \alto }

\new Voice = "format" { \trame }

\context Staff = upStaff \positionListe

\new Staff = downStaff <<

\clef bass

\new Voice = "tenor" { \set midiInstrument = \instrument \voiceOne \tenor }

\new Voice = "basse" { \set midiInstrument = \instrument \voiceTwo \basse }

\context Staff = downStaff \accordListe

\layout {

% ------------------------------------------------------------------------------------------------------------------------------------------

\omit Staff.TimeSignature % supprime le temps à la clef ex 3/4

\set Staff.explicitKeySignatureVisibility = #begin-of-line-visible % supprime le changement de mode en fin de ligne précédente

\set Staff.printKeyCancellation = ##f % supprime les bécarres de précaution en fin de ligne

\override Staff.KeySignature.break-visibility = #begin-of-line-visible % confirme les deux actions précédentes (si besoin)

\set Staff.figuredBassPlusDirection = #RIGHT % affiche la position 4+ (et non +4 par défaut)

\override Score.BarNumber.break-visibility = #all-invisible % supprime la numérotation des mesures en début de ligne

\override Fingering.staff-padding = #'() % insère les positions des voix internes dans la portée

\override Fingering.color = #blue % couleur de mise en valeur des positions des voix internes

indent = 0 \cm % marge de gauche sans indentation sur première portée

line-width = 19.5 \cm % marge de droite à 0.5cm

% ------------------------------------------------------------------------------------------------------------------------------------------

}

\midi {

\context {

\Staff

\remove "Staff_performer"

}

\context {

\Voice

\consists "Staff_performer"

}

\tempo 4=140

}

}

}

Et un aperçu du résultat (en PJ)

En espérant, une solution pour ce bug, merci par avance.
Didier

2015-05-31 1:07 GMT+02:00 Didier Griffaut <****@****>:

Bonjour à tous,

Voici ma question:

J'ai placé dans la partie layout du code de lilypond, les commandes suivantes:

\set Staff.explicitKeySignatureVisibility = #begin-of-line-visible
\set Staff.printKeyCancellation = ##f
\override Staff.KeySignature.break-visibility = #begin-of-line-visible

Afin de ne pas avoir d'armature en fin de ligne en cas de changement de signature de clef.
Cela fonction bien sauf dans le cas ou je passe d'un mode avec armature à la clef vers un mode sans armature.
Par exemple de fa# majeur vers do majeur, à ce moment, des bécarres de précautions sont gravés en fin de ligne.

Voici le code:

(snip)

Et un aperçu du résultat (en PJ)

En espérant, une solution pour ce bug, merci par avance.

Bonsoir et sois bienvenu sur cette liste,

"It's not a bug, it's a feature."

En effet si on prend le cas où ce changement vers Do Majeur a lieu
en milieu de ligne l'armure de bécarres est nécessaire, sinon on n'a
pas d'indication de ce changement.

Dans le cas où ce changement a lieu à un saut de ligne, en tant que
musicien, je préférerais avoir les bécarres, comme le fait LilyPond.
Maintenant tu peux les supprimer en jouant sur

\override Staff.KeyCancellation #'break-visibility = #begin-of-line-visible
ou
\override Staff.KeyCancellation #'break-visibility = #all-invisible
ou encore
\override Staff.KeyCancellation #'stencil = ##f

Voir aussi cette discussion (en anglais) sur la liste internationale :
http://lists.gnu.org/archive/html/lilypond-user/2012-12/msg00021.html

Cordialement,
Xavier

···

--
Xavier Scheuer <****@****>

Bonjour Xavier,
Je comprends bien qu'il s'agit d'une fonctionnalité mais dans le cas présent, j'ai besoin de m'en passer. :slight_smile:
Dans la discussion (en anglais), il est bien noté le cas du retour en do majeur ou en la mineur qui laisse apparaître les bécarres de précaution en fin de ligne alors qu'ils ne sont pas désirés, le contournement consiste à ajouter

\once \override Staff.KeyCancellation #'stencil = ##f

Ce que je vais m'empresser de faire, donc. Je suis en 2.18.2, la syntaxe doit être:

\once \override Staff.KeyCancellation.stencil = ##f

L'idéal serait pour moi de placer dans le "layout":

\override Staff.KeyCancellation.stencil = ##f

Mais je crains que ce soi un peu trop radical.

Merci à vous,
Didier

···

Le 31/05/2015 02:37, Xavier Scheuer a écrit :

2015-05-31 1:07 GMT+02:00 Didier Griffaut <****@**** <mailto:****@****>>:
>
> Bonjour à tous,
>
> Voici ma question:
>
> J'ai placé dans la partie layout du code de lilypond, les commandes suivantes:
>
> \set Staff.explicitKeySignatureVisibility = #begin-of-line-visible
> \set Staff.printKeyCancellation = ##f
> \override Staff.KeySignature.break-visibility = #begin-of-line-visible
>
> Afin de ne pas avoir d'armature en fin de ligne en cas de changement de signature de clef.
> Cela fonction bien sauf dans le cas ou je passe d'un mode avec armature à la clef vers un mode sans armature.
> Par exemple de fa# majeur vers do majeur, à ce moment, des bécarres de précautions sont gravés en fin de ligne.
>
> Voici le code:
>
> (snip)
>
> Et un aperçu du résultat (en PJ)
>
> En espérant, une solution pour ce bug, merci par avance.

Bonsoir et sois bienvenu sur cette liste,

"It's not a bug, it's a feature."

En effet si on prend le cas où ce changement vers Do Majeur a lieu
en milieu de ligne l'armure de bécarres est nécessaire, sinon on n'a
pas d'indication de ce changement.

Dans le cas où ce changement a lieu à un saut de ligne, en tant que
musicien, je préférerais avoir les bécarres, comme le fait LilyPond.
Maintenant tu peux les supprimer en jouant sur

  \override Staff.KeyCancellation #'break-visibility = #begin-of-line-visible
ou
  \override Staff.KeyCancellation #'break-visibility = #all-invisible
ou encore
  \override Staff.KeyCancellation #'stencil = ##f

Voir aussi cette discussion (en anglais) sur la liste internationale :
printKeyCancellation, a way to never show key cancellations?

Cordialement,
Xavier

--
Xavier Scheuer <****@**** <mailto:****@****>>