\cresc entre parenthèses

classic Classique list Liste threaded Arborescence
11 messages Options
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

\cresc entre parenthèses

Daniel Bernair (Belgacom.net)

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Schneidy
Bonsoir Daniel,
Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156
Ce qui donne :

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.
Cordialement,
Pierre


Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com
_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

RE: \cresc entre parenthèses

Daniel Bernair (Belgacom.net)

Merci pour les infos, Pierre, cependant si cela fonctionne bien avec \<  … \ ! ou \> … \ ! avec \cresc …\ ! et \decr .. \ ! les parentèses ne sont pas imprimées.

Amicalement,

Daniel Bernair

 

De : Pierre Perol-Schneider
Envoyé : samedi 7 septembre 2019 19:31
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Bonsoir Daniel,

Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156

Ce qui donne :

 

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

 

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.

Cordialement,

Pierre

 

 

Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Schneidy
Oui, c'est normal, il s'agit de deux fonctions bien différentes.
Une solution (simple) :

\version "2.19.83"

pCresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "cresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \cresc
    #})

pDresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "decresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \decresc
    #})

%% Tests :
{ c'1*10 \cresc \break c' c'1\! }
{ c'1*10 \pCresc \break c' c'1\! }
{ c'1*10 \decresc \break c' c'1\! }
{ c'1*10 \pDresc \break c' c'1\! }

Cordialement,
Pierre

Le dim. 8 sept. 2019 à 09:51, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci pour les infos, Pierre, cependant si cela fonctionne bien avec \<  … \ ! ou \> … \ ! avec \cresc …\ ! et \decr .. \ ! les parentèses ne sont pas imprimées.

Amicalement,

Daniel Bernair

 

De : Pierre Perol-Schneider
Envoyé : samedi 7 septembre 2019 19:31
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Bonsoir Daniel,

Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156

Ce qui donne :

 

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

 

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.

Cordialement,

Pierre

 

 

Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

RE: \cresc entre parenthèses

Daniel Bernair (Belgacom.net)

Merci Pierre c’est ce que je devais faire. Parfait

Amcalement

Daniel Bernair

 

De : lilypond-user-fr De la part de Pierre Perol-Schneider
Envoyé : dimanche 8 septembre 2019 11:09
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Oui, c'est normal, il s'agit de deux fonctions bien différentes.

Une solution (simple) :

 

\version "2.19.83"

pCresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "cresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \cresc
    #})

pDresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "decresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \decresc
    #})

%% Tests :
{ c'1*10 \cresc \break c' c'1\! }
{ c'1*10 \pCresc \break c' c'1\! }
{ c'1*10 \decresc \break c' c'1\! }
{ c'1*10 \pDresc \break c' c'1\! }

 

Cordialement,

Pierre

 

Le dim. 8 sept. 2019 à 09:51, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci pour les infos, Pierre, cependant si cela fonctionne bien avec \<  … \ ! ou \> … \ ! avec \cresc …\ ! et \decr .. \ ! les parentèses ne sont pas imprimées.

Amicalement,

Daniel Bernair

 

De : Pierre Perol-Schneider
Envoyé : samedi 7 septembre 2019 19:31
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Bonsoir Daniel,

Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156

Ce qui donne :

 

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

 

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.

Cordialement,

Pierre

 

 

Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Schneidy
Amicalement,
Pierre

Le lun. 9 sept. 2019 à 08:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci Pierre c’est ce que je devais faire. Parfait

Amcalement

Daniel Bernair

 

De : lilypond-user-fr De la part de Pierre Perol-Schneider
Envoyé : dimanche 8 septembre 2019 11:09
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Oui, c'est normal, il s'agit de deux fonctions bien différentes.

Une solution (simple) :

 

\version "2.19.83"

pCresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "cresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \cresc
    #})

pDresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "decresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \decresc
    #})

%% Tests :
{ c'1*10 \cresc \break c' c'1\! }
{ c'1*10 \pCresc \break c' c'1\! }
{ c'1*10 \decresc \break c' c'1\! }
{ c'1*10 \pDresc \break c' c'1\! }

 

Cordialement,

Pierre

 

Le dim. 8 sept. 2019 à 09:51, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci pour les infos, Pierre, cependant si cela fonctionne bien avec \<  … \ ! ou \> … \ ! avec \cresc …\ ! et \decr .. \ ! les parentèses ne sont pas imprimées.

Amicalement,

Daniel Bernair

 

De : Pierre Perol-Schneider
Envoyé : samedi 7 septembre 2019 19:31
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Bonsoir Daniel,

Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156

Ce qui donne :

 

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

 

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.

Cordialement,

Pierre

 

 

Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

RE: \cresc entre parenthèses

Daniel Bernair (Belgacom.net)

Merci Pierre. Tant qu’à faire on peut ajouter \dim dans la fonction. Pour moi, je le ferai dans ma boîte à outils. Merci

Daniel Bernair  

 

De : lilypond-user-fr De la part de Pierre Perol-Schneider
Envoyé : lundi 9 septembre 2019 08:58
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Amicalement,

Pierre

 

Le lun. 9 sept. 2019 à 08:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci Pierre c’est ce que je devais faire. Parfait

Amcalement

Daniel Bernair

 

De : lilypond-user-fr De la part de Pierre Perol-Schneider
Envoyé : dimanche 8 septembre 2019 11:09
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Oui, c'est normal, il s'agit de deux fonctions bien différentes.

Une solution (simple) :

 

\version "2.19.83"

pCresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "cresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \cresc
    #})

pDresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "decresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \decresc
    #})

%% Tests :
{ c'1*10 \cresc \break c' c'1\! }
{ c'1*10 \pCresc \break c' c'1\! }
{ c'1*10 \decresc \break c' c'1\! }
{ c'1*10 \pDresc \break c' c'1\! }

 

Cordialement,

Pierre

 

Le dim. 8 sept. 2019 à 09:51, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci pour les infos, Pierre, cependant si cela fonctionne bien avec \<  … \ ! ou \> … \ ! avec \cresc …\ ! et \decr .. \ ! les parentèses ne sont pas imprimées.

Amicalement,

Daniel Bernair

 

De : Pierre Perol-Schneider
Envoyé : samedi 7 septembre 2019 19:31
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Bonsoir Daniel,

Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156

Ce qui donne :

 

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

 

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.

Cordialement,

Pierre

 

 

Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Schneidy
Et pourquoi pas plus simplement:

\version "2.19.83"

paren = #(define-event-function (arg) (markup?)
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" #arg }
      \tweak bound-details.left.attach-dir #-2
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup\lower #.5 " )"
      \tweak bound-details.right.attach-dir # .5
      \cresc
    #})

%% Test:
{
  c'1*10 \paren "cresc." \break
  s1*5 c'1\! c'1*5 \paren "decresc." \break
  s1*5 c'1\! c'1*5 \paren "dim." \break
  s1*5 c'1\! c'1*5 \paren "rit." \break
  s1*10 c'1\! \bar "."
}

???

Le lun. 9 sept. 2019 à 11:07, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci Pierre. Tant qu’à faire on peut ajouter \dim dans la fonction. Pour moi, je le ferai dans ma boîte à outils. Merci

Daniel Bernair  

 

De : lilypond-user-fr De la part de Pierre Perol-Schneider
Envoyé : lundi 9 septembre 2019 08:58
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Amicalement,

Pierre

 

Le lun. 9 sept. 2019 à 08:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci Pierre c’est ce que je devais faire. Parfait

Amcalement

Daniel Bernair

 

De : lilypond-user-fr De la part de Pierre Perol-Schneider
Envoyé : dimanche 8 septembre 2019 11:09
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Oui, c'est normal, il s'agit de deux fonctions bien différentes.

Une solution (simple) :

 

\version "2.19.83"

pCresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "cresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \cresc
    #})

pDresc = #(define-event-function (parser location) ()
    #{  
      \tweak bound-details.left.text \markup\concat { \lower #.1 "(" "decresc." }
      \tweak bound-details.right-broken.text ##f
      \tweak bound-details.left-broken.text ##f
      \tweak bound-details.right.text \markup \lower #.5 " )"
      \decresc
    #})

%% Tests :
{ c'1*10 \cresc \break c' c'1\! }
{ c'1*10 \pCresc \break c' c'1\! }
{ c'1*10 \decresc \break c' c'1\! }
{ c'1*10 \pDresc \break c' c'1\! }

 

Cordialement,

Pierre

 

Le dim. 8 sept. 2019 à 09:51, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Merci pour les infos, Pierre, cependant si cela fonctionne bien avec \<  … \ ! ou \> … \ ! avec \cresc …\ ! et \decr .. \ ! les parentèses ne sont pas imprimées.

Amicalement,

Daniel Bernair

 

De : Pierre Perol-Schneider
Envoyé : samedi 7 septembre 2019 19:31
À : Daniel Bernair (Belgacom.net) <[hidden email]>
Cc : lilypond-user-fr <[hidden email]>
Objet : Re: \cresc entre parenthèses

 

Bonsoir Daniel,

Je n'ai pas le temps de suite mais jette un coup d’œil ici: http://lilypond.1069038.n5.nabble.com/Hairpins-brackets-and-dynamics-td212153.html#a212156

Ce qui donne :

 

\version "2.19.81"

#(define (hairpin-between-text kern left-text right-text)
  (lambda (grob)
    (let* ((v-centered-left-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob left-text) Y CENTER))
           (left-text-x-ext (ly:stencil-extent v-centered-left-text X))
           (v-centered-right-text
             (ly:stencil-aligned-to
               (grob-interpret-markup grob right-text) Y CENTER))
           (right-text-x-ext (ly:stencil-extent v-centered-right-text X))
           (prev-shorten-pair
             (ly:grob-property grob 'shorten-pair '(0 . 0)))
           (thick
             (ly:grob-property grob 'thickness 1))
           (line-thick (ly:staff-symbol-line-thickness grob))
           (actual-thick (* thick line-thick))
           (shorten
             (+ (* 2 kern)
                (cdr right-text-x-ext)
                (cdr left-text-x-ext)
                (- (* 2 actual-thick)))))

      (ly:grob-set-property! grob 'shorten-pair
        (coord-translate
          prev-shorten-pair
          (cons 0 shorten)))

      (let* ((v-centered-hairpin
                   (ly:stencil-aligned-to
                     (ly:hairpin::print grob) Y CENTER))
             (hairpin-x-ext (ly:stencil-extent v-centered-hairpin X)))

        (ly:stencil-translate-axis
          (ly:stencil-add
            (ly:stencil-translate-axis
              v-centered-left-text
              (-
                (car hairpin-x-ext)
                (cdr left-text-x-ext)
                actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-hairpin
              (- kern actual-thick)
              X)
            (ly:stencil-translate-axis
              v-centered-right-text
              (+
                (cdr hairpin-x-ext)
                (* 2 kern))
              X))
          (cdr left-text-x-ext)
          X)))))

hairpinBetweenText =
#(define-music-function (space text-left text-right)
  ((number? 0.6) markup? markup?)
  #{
     \once \override Hairpin.stencil =
       #(hairpin-between-text space text-left text-right)
  #})

% Ex :

\relative c''{
  \override Hairpin.to-barline = ##f
  %\override Hairpin.shorten-pair = #'(.4 . 0)  %% <= à ajuster
 
  \hairpinBetweenText "(" ")"
  c1~\< c\!
 
  \hairpinBetweenText "[" "]"
  a1\> b c4 b c a a1\!
 
  \hairpinBetweenText "(" ")"
  c,1\< c d e\!
}

 

Si j'ai le temps plus tard, je regarderai pour le \cresc  etc.

Cordialement,

Pierre

 

 

Le sam. 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.

Dans mes outils j’ai enregistrer cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ !

Cela fonctionne bien mais pas avec \cresc …\ !  ou \decr … \ !

Cela revient quelques fois dans ma partition Comment faire ?

Voici le code de la fonction :

 

hairpinBetweenText =

#(define-music-function (parser location leftText rightText)

      (markup? markup?)

    #{

    \once \override Hairpin #'stencil = #(lambda (grob)

         (let* ((orig (ly:grob-original grob))

                (siblings (if (ly:grob? orig)

                              (ly:spanner-broken-into orig)

                              '()))

                (hairpin-stencil (ly:stencil-aligned-to

                      (ly:hairpin::print grob) Y CENTER))

                (left-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob leftText) Y CENTER))

                (right-addition (ly:stencil-aligned-to

                      (grob-interpret-markup grob rightText) Y CENTER)))

         (if (or (null? siblings) (eq? grob (car siblings)))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      left-addition X RIGHT

                      hairpin-stencil

                      0)))

         (if (or (null? siblings)  (eq? grob (car (reverse siblings))))

               (set! hairpin-stencil

                     (ly:stencil-combine-at-edge

                      hairpin-stencil X RIGHT

                      right-addition

                      0.6)))

                      hairpin-stencil))

    #})

 

 

parenthesizedHairpin = \hairpinBetweenText \markup \fontsize #3 "( " \markup

\fontsize #3 ")" %adapter fontsize en fonction des goûts

 

\relative c''{

     \once \override Hairpin.extra-offset = #'(-0.4 . 0)

   c1~\< c\!

   \once \override Hairpin.extra-offset = #'(0.5 . -1)

   \parenthesizedHairpin

   a1\> b c4 b c a a1\!

   %il est possible que le

%0.5 puisse être inclus plus haut dans la définition

      \once \override Hairpin.extra-offset = #'(0.5 . -0)

   \parenthesizedHairpin

   c,1\< c d e\!

}

 

Merci de votre aide.

Daniel Bernair

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Jean Abou Samra
En réponse à ce message posté par Daniel Bernair (Belgacom.net)


Le 7 sept. 2019 à 16:11, Daniel Bernair (Belgacom.net) <[hidden email]> a écrit :

Bonjour à toutes et tous.
Dans mes outils j’ai enregistré cette fonction qui permet de mettre entre parenthèses un crescendo, decrescendo du style \< …\ !  ou  \> …\ ! 
Voici le code de la fonction :
hairpinBetweenText =
#(define-music-function (parser location leftText rightText)

Au passage, pensez à supprimer « parser location », cela est inutile à présent (2.19.83) et ne fonctionnera plus dans des versions ultérieures.

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Olivier Miakinen-3
En réponse à ce message posté par Schneidy
Le 09/09/2019 11:50, Pierre Perol-Schneider a écrit :

> Et pourquoi pas plus simplement:
>
> \version "2.19.83"
>
> paren = #(define-event-function (arg) (markup?)
>     #{
>       \tweak bound-details.left.text \markup\concat { \lower #.1 "(" #arg }
>       \tweak bound-details.left.attach-dir #-2
>       \tweak bound-details.right-broken.text ##f
>       \tweak bound-details.left-broken.text ##f
>       \tweak bound-details.right.text \markup\lower #.5 " )"
>       \tweak bound-details.right.attach-dir # .5
>       \cresc
        ^^^^^^

>     #})
>
> %% Test:
> {
>   c'1*10 \paren "cresc." \break
>   s1*5 c'1\! c'1*5 \paren "decresc." \break
                            ^^^^^^^^^^

Est-ce que ça ne risque pas de poser des problèmes si on fait en
réalité un \cresc tout en croyant faire un decresc ?

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

Re: \cresc entre parenthèses

Olivier Miakinen-3
En réponse à ce message posté par Jean Abou Samra
Le 09/09/2019 18:11, Jean ABOU SAMRA a écrit :
>
> Au passage, pensez à supprimer « parser location », cela est inutile à présent (2.19.83) et ne fonctionnera plus dans des versions ultérieures.

A-t-on maintenant des infos sur la date de sortie de la 2.20 ?

Entre autres choses, ça permettrait peut-être qu'elle soit adoptée
par Wikipédia au lieu d'une 2.18...

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr