Soufflet personnalisé

Bonjour,

Je voudrais combiner l'option "soufflet entre parenthèses" (comme dans le Snippet 771 http://lsr.dsi.unimi.it/LSR/Item?id=771) et l'option "\override Hairpin #'to-barline = ##f"
J'ai essayé d'ajouter l'instruction \override Hairpin #'to-barline = ##f à la définition de la commande hairpinBetweenText du Snippet, mais cela ne donne aucun résultat.
Comment faut-il faire?
Merci d'avance,

Gérard

Bonjour,

En modifiant comme ceci cela semble fonctionner :

hairpinBetweenText =
#(define-music-function (parser location leftText rightText) (markup? markup?)
  #{
    \once \override Hairpin #'stencil =
    #(lambda (grob)
       (ly:stencil-combine-at-edge
        (ly:stencil-combine-at-edge
         (ly:stencil-aligned-to (grob-interpret-markup grob $leftText) Y CENTER)
         X RIGHT
         (ly:stencil-aligned-to (ly:hairpin::print grob) Y CENTER)
         0)
        X RIGHT
        (ly:stencil-aligned-to (grob-interpret-markup grob $rightText) Y CENTER)
        0.6))
    \once \override Hairpin #'to-barline = ##f
  #})

Sinon pourquoi pas simplement ajouter
  \once \override Hairpin #'to-barline = ##f
avant le soufflet en question ?

\score {
  \relative c' {
    \time 3/4
    \parenthesizedHairpin
    \once \override Hairpin #'to-barline = ##f
    c16\< d e f g a b c d e f g a\!
  }
}

Cordialement,
Xavier

···

2012/8/15 Gérard Degrez <****@****>:

Bonjour,

Je voudrais combiner l'option "soufflet entre parenthèses" (comme dans le Snippet 771 http://lsr.dsi.unimi.it/LSR/Item?id=771) et l'option "\override Hairpin #'to-barline = ##f"
J'ai essayé d'ajouter l'instruction \override Hairpin #'to-barline = ##f à la définition de la commande hairpinBetweenText du Snippet, mais cela ne donne aucun résultat.
Comment faut-il faire?

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

Bonsoir,

Merci de la réponse. En réalité, je me suis fourvoyé, tout a toujours fonctionné comme il se devait, et je n'avais nullement besoin de la commande "\override Hairpin #'to-barline = ##f"
Ce qui me préoccupait, c'est que la parenthèse fermante arrive (quasiment) sous la barre de mesure (comme dans l'exemple du Snippet), alors que je souhaiterais qu'elle arrive à la droite de la dernière note (comme si les parenthèses faisaient partie du soufflet). Je dois pouvoir y arriver en utilisant une voix de silences avec des valeurs plus courtes. Mais ce n'est qu'un détail de toute façon.

Cordialement,

Gérard

···

Le 15 août 2012 à 15:56, Xavier Scheuer a écrit :

2012/8/15 Gérard Degrez <****@****>:

Bonjour,

Je voudrais combiner l'option "soufflet entre parenthèses" (comme dans le Snippet 771 http://lsr.dsi.unimi.it/LSR/Item?id=771) et l'option "\override Hairpin #'to-barline = ##f"
J'ai essayé d'ajouter l'instruction \override Hairpin #'to-barline = ##f à la définition de la commande hairpinBetweenText du Snippet, mais cela ne donne aucun résultat.
Comment faut-il faire?

Bonjour,

En modifiant comme ceci cela semble fonctionner :

hairpinBetweenText =
#(define-music-function (parser location leftText rightText) (markup? markup?)
#{
   \once \override Hairpin #'stencil =
   #(lambda (grob)
      (ly:stencil-combine-at-edge
       (ly:stencil-combine-at-edge
        (ly:stencil-aligned-to (grob-interpret-markup grob $leftText) Y CENTER)
        X RIGHT
        (ly:stencil-aligned-to (ly:hairpin::print grob) Y CENTER)
        0)
       X RIGHT
       (ly:stencil-aligned-to (grob-interpret-markup grob $rightText) Y CENTER)
       0.6))
   \once \override Hairpin #'to-barline = ##f
#})

Sinon pourquoi pas simplement ajouter
\once \override Hairpin #'to-barline = ##f
avant le soufflet en question ?

\score {
\relative c' {
   \time 3/4
   \parenthesizedHairpin
   \once \override Hairpin #'to-barline = ##f
   c16\< d e f g a b c d e f g a\!
}
}

Cordialement,
Xavier

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