Subject: forcer l'ajout d'altération à la clef

From: Simon Cornaz <[email-masked]>
Date: Thu, 03 Mar 2011 14:17:59 +0100

Bonjour, 

J'utilise le snippet que voici un peu modifié:

global = {
  \set Score.skipBars = ##t
  \set Score.autoBeaming = ##f

  %
incipit                                                                                                                                                             
  \once \override Score.SystemStartBracket #'transparent = ##t
  \override Score.SpacingSpanner #'spacing-increment = #1.0 % tight
spacing                                                                                             
  \key f \major
  \time 2/2
  \once \override Staff.TimeSignature #'style = #'neomensural
  \override Voice.NoteHead #'style = #'neomensural
  \override Voice.Rest #'style = #'neomensural
  \set Staff.printKeyCancellation = ##f
  \cadenzaOn % turn off bar
lines                                                                                                                                       
  \skip 1*1
  \once \override Staff.BarLine #'transparent = ##f
  \bar "||"
  \skip 1*1 % need this extra \skip such that clef change
comes                                                                                                         
            % after bar
line                                                                                                                                            
  \bar ""

  %
main                                                                                                                                                                
  \revert Score.SpacingSpanner #'spacing-increment % CHECK: no
effect?                                                                                                  
  \cadenzaOff % turn bar lines on
again                                                                                                                                 
  \once \override Staff.Clef #'full-size-change = ##t
  \set Staff.forceClef = ##t
%  \key g
\major                                                                                                                                                        
  \time 2/2
  \override Voice.NoteHead #'style = #'default
  \override Voice.Rest #'style = #'default

  % FIXME: setting printKeyCancellation back to #t must
not                                                                                                             
  % occur in the first bar after the incipit.  Dto. for
forceClef.                                                                                                      
  % Therefore, we need an extra
\skip.                                                                                                                                  
  \skip 1*1
  %\set Staff.printKeyCancellation =
##t                                                                                                                                
  \set Staff.forceClef = ##f

qui me donne le résultat que je veux, à l'exception d'une chose :

j'aimerais que quand apparaissent les bonnes clefs après les anciennes,
les altérations à la clef soient aussi préservées.
Est-ce qu'il existe une commande qui force l'ajout des altérations en
même temps que sont gravés les clefs ?

---

From: Xavier Scheuer <[email-masked]>
Date: Thu, 3 Mar 2011 14:49:34 +0100

2011/3/3 Simon Cornaz <[email-masked]>:
> [...]
> j'aimerais que quand apparaissent les bonnes clefs après les anciennes, les
> altérations à la clef soient aussi préservées.
> Est-ce qu'il existe une commande qui force l'ajout des altérations en même
> temps que sont gravés les clefs ?

Je n'ai pas cherché à savoir d'où venait ce snippet, ni s'il n'existait
pas une nouvelle version de celui-ci.

Mais il suffit d'ajouter

  \key f \major

juste après le  \set Staff.forceClef = ##t  (à l'endroit où il y a le
  % \key g \major
) pour que l'armure soit imprimée après la "bonne clef").

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>