Changement d'armure

Bonjour à tous,

Lorsqu'il y a un changement d'armure, la Clé, si elle est affichée (ce que je suis parvenu à faire), est légèrement plus petite que la clé en début de portée.

Comment faire pour que cette seconde clé s'affiche exactement comme la précédente ?

Ce que je voudrais faire dans l'exemple qui suit, c'est afficher les deux armures avec deux clefs semblables et séparer les deux mesures par une barre épaisse blanche (pour effacer momentanément les deux mesures), mais je n'obtiens pas le résultat escompté...

Si vous avez des pistes...

Merci !

Mon code :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Armure_Solb_Fad =
{
   \new Staff = "Armure_Solb_Fad" \relative c'
   {
% \accidentalStyle forget
     \set Staff.printKeyCancellation = ##f

     \override Staff.TimeSignature #'stencil = ##f
     \override Staff.Clef #'color = #(x11-color 'grey60)

     { \key ges \major }
     s1
     \once \override Staff.BarLine #'color = #(x11-color 'white)
     \bar "."
     \clef treble
     { \key fis \major }
     s1
   }
} % Armure_Solb_Fad

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Philippe

···

--
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
     https://www.sud-ouest.org

Bonjour Philippe.

Il te faut ajouter avant la clé :

\once \override Staff.Clef #'full-size-change = ##t

J'ai trouvé ça dans les internes de clef-interface : LilyPond Internals Reference: 3.2.19 clef-interface

A bientôt !

···

---
Jean-Marc LEGRAND
Éditions IN NOMINE

Le , Philippe Neyrat a écrit :

Bonjour à tous,

Lorsqu'il y a un changement d'armure, la Clé, si elle est affichée (ce
que je suis parvenu à faire), est légèrement plus petite que la clé en
début de portée.

Comment faire pour que cette seconde clé s'affiche exactement comme la
précédente ?

Ce que je voudrais faire dans l'exemple qui suit, c'est afficher les
deux armures avec deux clefs semblables et séparer les deux mesures
par une barre épaisse blanche (pour effacer momentanément les deux
mesures), mais je n'obtiens pas le résultat escompté...

Si vous avez des pistes...

Merci !

Mon code :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Armure_Solb_Fad =
{
  \new Staff = "Armure_Solb_Fad" \relative c'
  {
% \accidentalStyle forget
    \set Staff.printKeyCancellation = ##f

    \override Staff.TimeSignature #'stencil = ##f
    \override Staff.Clef #'color = #(x11-color 'grey60)

    { \key ges \major }
    s1
    \once \override Staff.BarLine #'color = #(x11-color 'white)
    \bar "."
    \clef treble
    { \key fis \major }
    s1
  }
} % Armure_Solb_Fad

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Philippe

Bonjour Philippe,

me trompe-je si je pense que tu cherches à obtenir ceci ?

%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.16.2"

\relative c' {

  % \accidentalStyle forget

   \set Staff.printKeyCancellation = ##f

   \override Staff.TimeSignature #'stencil = ##f

   \override Staff.Clef #'color = #(x11-color 'grey60)

   \key ges \major

   s1

    \stopStaff s1 \startStaff

    \once \override Staff.Clef #'full-size-change = ##t

   \once \override Staff.Clef #'extra-offset = #'(1 . 0)

   \clef treble

   \bar ""

   \key fis \major

   s1

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cordialement,

~Pierre

···

Le 30 avril 2014 14:12, Éditions IN NOMINE <****@****> a écrit :

Bonjour Philippe.

Il te faut ajouter avant la clé :

\once \override Staff.Clef #'full-size-change = ##t

Salut à tous,

Le :

    \once \override Staff.Clef #'full-size-change = ##t

de Jean-Marc me va, merci beaucoup, mais j'ai toujours un souci avec la barre de mesure qui ne se colore pas en blanc, et qui est dessinée après la clé.
Il doit y avoir une convention de gravure là dessous, ou un comportement par défaut, mais ça me dépasse.

Je laisse le jpg du résultat en PJ, avec la tête qu'aurait le dessin si j'étais bon... (résolution pourrie)

La super solution de Pierre est bien mais les deux parties sont trop espacées et une barre termine la première mesure, ce que je ne souhaite pas...

Et pourquoi doit-on modifier la position de la clef dans ce cas
par le \once \override Staff.Clef #'extra-offset = #'(1 . 0) ?
Pourquoi la clef est-elle collée au bord gauche de la mesure sans ça ?
C'est une convention de gravure, de musique, des deux ?

Je veux (juste), sur une même portée de deux mesures, afficher chaque clef avec son armure et mettre une barre blanche épaisse pour les séparer.

Boudiou ! Que c'est compliqué de faire des trucs simples...
:slight_smile:

En tous cas merci pour les pistes.
Et si vous avez d'autres idées, je suis preneur.

Philippe

Armure_Solb_Fad.ps (134 KB)

my wish.jpg

···

Bonjour Philippe,

me trompe-je si je pense que tu cherches à obtenir ceci ?

%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.16.2"

\relative c' {

   % \accidentalStyle forget

    \set Staff.printKeyCancellation = ##f

    \override Staff.TimeSignature #'stencil = ##f

    \override Staff.Clef #'color = #(x11-color 'grey60)

    \key ges \major

    s1

    \stopStaff s1 \startStaff

    \once \override Staff.Clef #'full-size-change = ##t

    \once \override Staff.Clef #'extra-offset = #'(1 . 0)

    \clef treble

    \bar ""

    \key fis \major

    s1

}

--
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
     https://www.sud-ouest.org

C'est re-moi !

J'ai trouvé une solution mais c'est vraiment de la bidouille :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Armures_Solb_Fad = \relative c'
{
  \set Staff.printKeyCancellation = ##f
  \override Staff.Clef #'full-size-change = ##t
  \override Staff.TimeSignature #'stencil = ##f
  \override Staff.Clef #'color = #(x11-color 'grey60)

  \key ges \major
  s1

  \stopStaff s64 \startStaff % Pour avoir le plus petit espace
                                 % possible entre les deux mesures

  \once \override Staff.Clef #'extra-offset = #'(1 . 0)
  \clef treble
  \key fis \major

  s64 * 63 % des comptes d'apothicaire pour que la barre tombe bien
            % sinon,la portée continue, les silences invisibles
            % prennent de la place...

} % Armure_Solb_Fad

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Merci encore.

Philippe

···

--
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
     https://www.sud-ouest.org

:

J'ai trouvé une solution mais c'est vraiment de la bidouille :

Je pense que, dans le cadre de ce que tu souhaites obtenir, tu aurais plus
de possibilités - de liberté - en utilisant un \markup :

%%%%%%%%% Exemple %%%%%%%%%%%%
\version "2.16.2"

Armure_Solb = \markup \score {

   \new Staff {

     \override Staff.TimeSignature #'stencil = ##f

     \override Staff.Clef #'color = #(x11-color 'grey60)

     \key ges \major

     \set Timing.measureLength = #(ly:make-moment 1/64)

     s64

   }

   \layout {

     indent = 0

   }

}

Armure_Fad = \markup \score {

   \new Staff {

     \override Staff.TimeSignature #'stencil = ##f

     \override Staff.Clef #'color = #(x11-color 'grey60)

     \key fis \major

     \set Timing.measureLength = #(ly:make-moment 1/64)

     s64

   }

   \layout {

     indent = 0

   }

}

\markup\concat\italic { "Ton exemple" \hspace #.2 ":" }

\markup \line { \Armure_Solb \raise #.2 \Armure_Fad }

\markup\vspace #1

\markup\concat\italic { "Intégré dans un texte" \hspace #.2 ":" }

\markup \concat {

   "cette armure" \hspace #.2 ":" \hspace #1

   \raise # 5 \Armure_Solb \hspace #1

   "et celle-ci" \hspace #.2 ":" \hspace #1

   \raise # 5.2 \Armure_Fad \hspace #1

   "ont sept altérations à la clé."

}

\markup\vspace #1

\markup\concat\italic { "Intégré dans une portée" \hspace #.2 ":" }

{

   \override Score.SpacingSpanner #'strict-note-spacing = ##t

   \set Score.proportionalNotationDuration = #(ly:make-moment 1 4)

   c'1^\Armure_Solb

   c'1^\Armure_Fad

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cordialement,
Pierre

···

Le 30 avril 2014 19:20, Philippe Neyrat <****@****> a écrit

Super !

Merci Pierre pour tout ça.
Je ne savais pas qu'on pouvait mettre un score dans un markup !
:-s

C'est vrai que c'est beaucoup plus souple.

Je vais illico tout modifier dans mes fichiers.

J'aurais jamais pu trouver ça tout seul, surtout que je pige pas trop le SpacinSpanner et la notation proportionnelle...

En tout cas merci.

Philippe

···

Le 01/05/2014 08:17, Pierre Perol-Schneider a écrit :

Je pense que, dans le cadre de ce que tu souhaites obtenir, tu aurais
plus de possibilités - de liberté - en utilisant un \markup :

%%%%%%%%% Exemple %%%%%%%%%%%%
\version "2.16.2"

Armure_Solb = \markup \score {

    \new Staff {

      \override Staff.TimeSignature #'stencil = ##f

      \override Staff.Clef #'color = #(x11-color 'grey60)

      \key ges \major

      \set Timing.measureLength = #(ly:make-moment 1/64)

      s64

    }

    \layout {

      indent = 0

    }

}

Armure_Fad = \markup \score {

    \new Staff {

      \override Staff.TimeSignature #'stencil = ##f

      \override Staff.Clef #'color = #(x11-color 'grey60)

      \key fis \major

      \set Timing.measureLength = #(ly:make-moment 1/64)

      s64

    }

    \layout {

      indent = 0

    }

}

\markup\concat\italic { "Ton exemple" \hspace #.2 ":" }

\markup \line { \Armure_Solb \raise #.2 \Armure_Fad }

\markup\vspace #1

\markup\concat\italic { "Intégré dans un texte" \hspace #.2 ":" }

\markup \concat {

"cette armure" \hspace #.2 ":" \hspace #1

    \raise # 5 \Armure_Solb \hspace #1

"et celle-ci" \hspace #.2 ":" \hspace #1

    \raise # 5.2 \Armure_Fad \hspace #1

"ont sept altérations à la clé."

}

\markup\vspace #1

\markup\concat\italic { "Intégré dans une portée" \hspace #.2 ":" }

{

    \override Score.SpacingSpanner #'strict-note-spacing = ##t

    \set Score.proportionalNotationDuration = #(ly:make-moment 1 4)

    c'1^\Armure_Solb

    c'1^\Armure_Fad

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cordialement,
Pierre

--
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
     https://www.sud-ouest.org

:

Salut à tous,

Salut Philippe,

La super solution de Pierre est bien mais les deux parties sont trop
espacées et une barre termine la première mesure, ce que je ne souhaite
pas...

pas de problème :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.16.2"

Armure_Solb = \markup \score {

  \new Staff {

    \key ges \major

    \set Timing.measureLength = #(ly:make-moment 1/64)

    s64

  }

  \layout {

    indent = 0

    \context {

      \Staff

      \override TimeSignature #'stencil = ##f

      \override Clef #'color = #(x11-color 'grey60)

      \override BarLine #'color = #(x11-color 'white)

    }

  }

}

Armure_Fad = \markup \score {

  \new Staff {

    \key fis \major

    \set Timing.measureLength = #(ly:make-moment 1/64)

    s64

  }

  \layout {

    indent = 0

    \context {

      \Staff

      \override TimeSignature #'stencil = ##f

      \override Clef #'color = #(x11-color 'grey60)

      \override BarLine #'color = #(x11-color 'white)

    }

  }

}

% qq essais d'espacements :

\markup\concat { \Armure_Solb \hspace #.1 \raise #.2 \Armure_Fad }

\markup\concat { \Armure_Solb \hspace #.5 \raise #.2 \Armure_Fad }

\markup\concat { \Armure_Solb \hspace #1 \raise #.2 \Armure_Fad }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Et pourquoi doit-on modifier la position de la clef dans ce cas
par le \once \override Staff.Clef #'extra-offset = #'(1 . 0) ?

Parceque la place est prise par "s"

Pourquoi la clef est-elle collée au bord gauche de la mesure sans ça ?
C'est une convention de gravure, de musique, des deux ?

Oui, je pense.

Je veux (juste), sur une même portée de deux mesures, afficher chaque clef
avec son armure et mettre une barre blanche épaisse pour les séparer.

Je pense que le problème de la "disparition" de la barre blanche est lié au
"layer" :

ça donne :

%%%%%%%%%%%%%%%%%%%%%%%%%%
\new Staff = "Armure_Solb_Fad"

{

   \hideNotes

   \set Staff.printKeyCancellation = ##f

   \override Staff.TimeSignature #'stencil = ##f

   \override Staff.Clef #'color = #(x11-color 'grey60)

   \key ges \major

   \set Timing.measureLength = #(ly:make-moment 1/32)

   c128

   \once \override Staff.BarLine #'color = #(x11-color 'white)

   \override Staff.BarLine #'layer = #1

   \bar "."

   c

   \override Staff.Clef #'full-size-change = ##t

   \clef treble

   \key fis \major

   c

}

%%%%%%%%%%%%%%%%%%%%%%%%%%

Boudiou ! Que c'est compliqué de faire des trucs simples...
:slight_smile:

ça rend philiosphe en tout cas... :slight_smile:

···

Le 30 avril 2014 18:38, Philippe Neyrat <****@****> a écrit

En tous cas merci pour les pistes.
Et si vous avez d'autres idées, je suis preneur.

Philippe

Bonjour Philippe,

me trompe-je si je pense que tu cherches à obtenir ceci ?

%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.16.2"

\relative c' {

   % \accidentalStyle forget

    \set Staff.printKeyCancellation = ##f

    \override Staff.TimeSignature #'stencil = ##f

    \override Staff.Clef #'color = #(x11-color 'grey60)

    \key ges \major

    s1

    \stopStaff s1 \startStaff

    \once \override Staff.Clef #'full-size-change = ##t

    \once \override Staff.Clef #'extra-offset = #'(1 . 0)

    \clef treble

    \bar ""

    \key fis \major

    s1

}

--
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
    https://www.sud-ouest.org

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Bonjour à tous,

Je pense que le problème de la "disparition" de la barre blanche est lié
au "layer" :
GNU LilyPond – Manuel de notation: 5.4.6 Visibilité des objets

Oui, j'ai pu constater que ça fonctionnait "presque" en rouge ou vert, mais évidemment, rien n'apparaît en blanc parce que la barre est dessinée avant les lignes de la portée...
Je dis "presque" car en couleur, on voit quand même les lignes sur la barre, et pour cause...

Merci

Philippe

···

Le 02/05/2014 15:36, Pierre Perol-Schneider a écrit :

--
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
     https://www.sud-ouest.org