Subject: Liaisons entre parenthèses

From: bameylan <[email-masked]>
Date: Mon, 17 Feb 2014 06:59:12 -0800 (PST)

Bonjour à tous,

on peut mettre des expressions (comme le «>») ou des notes entre
parenthèses, mais est-il possible de mettre des liaisons, qu'elles soient de
valeur («~») ou d'expression ( \( \) ), également entre parenthèses?

Bernard

-----
Cordialement

Bernard
--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Liaisons-entre-parentheses-tp7580957.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Seventies <[email-masked]>
Date: Mon, 17 Feb 2014 07:14:23 -0800 (PST)

Je n'ai pas trouvé les liaisons entre parenthèses, et je suis d'ailleurs
intéressé par ce sujet.

Il est par contre possible de mettre des soufflets entre parenthèses. Le
code doit rester valable pour créer l'objet. Par contre, je ne sais rien de
l'utilisation.

Donc, début de réponse, j'ignore comment l'adapter
[img]http://emoticon.gregland.net/emoticon/Confus/Confus_60.gif[/img] 

% Mettre un soufflet entre parenthèses (ou tout autre signe)

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))
   #})

% utilisation :
% parenthesizedHairpin = \hairpinBetweenText \markup "(" \markup ")"
% \parenthesizedHairpin
% c16\< d e f g a b c d e f g a\!

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Liaisons-entre-parentheses-tp7580957p7580958.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Éditions IN NOMINE <[email-masked]>
Date: Tue, 18 Feb 2014 10:34:55 +0100

Bonjour !

Première approche bien bourrin : j'ai remplacé tous les hairpin par 
tie... à mon avis c'est une bonne piste à creuser : il faut maintenant 
rajouter une truc pour l'aligner verticalement.

JMarc

Le 17.2.2014 16:14, Seventies a écrit :
> View this message in context:
> http://lilypond-french-users.1298960.n2.nabble.com/Liaisons-entre-parentheses-tp7580957p7580958.html
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

-- 
Jean-Marc LEGRAND
Éditions IN NOMINE

---

From: JMarc <[email-masked]>
Date: Tue, 18 Feb 2014 04:31:09 -0800 (PST)

Bon c'est pas super élégant et ça ne fontionne que pour 2 notes liées (pas
sur 3 ou plus), mais ça peut dépanner. Il s'agit de l'adaptation du code sus
cité (vous pensez bien que je n'ai pas pu pondre cela à partir de rien ).

A bientôt !
JMarc

\version "2.17.22"

tieBetweenText =
#(define-music-function (parser location leftText rightText) (markup?
markup?)
   #{
     \once \override Tie #'stencil =
     #(lambda (grob)
        (let* ((orig (ly:grob-original grob))
               (siblings (if (ly:grob? orig)
                             (ly:spanner-broken-into orig)
                             '()))
               (tie-stencil (ly:stencil-aligned-to
                                 (ly:tie::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! tie-stencil
                    (ly:stencil-combine-at-edge
                     left-addition
                     X RIGHT
                     tie-stencil
                     0)))
          (if (or (null? siblings)
                  (eq? grob (car (reverse siblings))))
              (set! tie-stencil
                    (ly:stencil-combine-at-edge
                     tie-stencil
                     X RIGHT
                     right-addition
                     0.6)))
          tie-stencil))
   #})

parenthesizedTie = \tieBetweenText \markup \fontsize #2 "( " \markup
\fontsize #2 ")" %adapter fontsize en fonction des goûts

\relative c''{
  c1~ c
  \once \override Tie.extra-offset = #'(0.5 . 2)
  \parenthesizedTie
  c1~ c
  \once \override Tie.extra-offset = #'(0.5 . -4.5) %il est possible que le
0.5 puisse être inclus plus haut dans la définition
  \parenthesizedTie
  c,1~ c  
}

-----
JMarc LEGRAND
Editions IN NOMINE
--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Liaisons-entre-parentheses-tp7580957p7580963.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Tue, 18 Feb 2014 14:48:15 +0100

> #(define-music-function (parser location leftText rightText) (markup?
........

Bonjour à tous,

Je suis curieux et... j'ai le temps !

Dans le texte de référence, je me suis amusé à remplacer "tie" ou "Tie" 
par "hairpin" ou "Hairpin"

Et je suis allé un peu plus loin pour voir si on pouvait mettre 
plusieurs notes entre parenthèses. Voilà le résultat :

\version "2.17.97"

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\!
}

-- 
JJG

Linux ? Y a moins bien mais c'est plus cher !
http://www.sky.fm/play/classical
http://www.radiosuisseclassique.ch/fr