Liaison sur 2 portées, commençant et terminant sur la même portée

A l'instar du fil Liaison de phrasé sur 2 portées initié le 19 septembre
2012, je souhaiterais également inscrire une liaison (de phrasé ou pas)
entre deux portées, mais il ne me semble pas possible d'utiliser le
changement de portée ('\change Staff') car les deux voix jouent en même
temps.
J'ai essayé de dessiner moi-même la liaison à l'aide de \once \override Slur
#'control-points = #'((0 . 0) (10 . 10) (20 . 10) (31 . 2)) (chose que je
n'apprécie pas réellement, car il faut en modifier les composantes à chaque
fois qu'on modifie la partition), mais ça ne fonctionne pas non plus car la
deuxième portée s'écarte en même temps que je grossis ma liaison.

%----------
    r1 | % 01
    r1 | % 02

\once \override Slur #'control-points = #'((0 . 0) (10 . 10) (20 . 10) (31 .
2))

    < e_3 g_1 >1^( | % 03

\change Staff = "up" <> \change Staff = "down"

    < e g >2. < e g >4-.) | % 04
%----------

Le code précédent produit la figure suivante.

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579071/MorceauDeMusique1.jpg&gt;

%----------
    r1 | % 01
    r1 | % 02

\once \override Slur #'control-points = #'((0 . 0) (10 . 20) (20 . 20) (31 .
2))

    < e_3 g_1 >1^( | % 03

\change Staff = "up" <> \change Staff = "down"

    < e g >2. < e g >4-.) | % 04
%----------

Ce code produit la figure suivante.

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579071/MorceauDeMusique2.jpg&gt;

Vous aurez compris que je cherche à inclure la suite 'mi - ré - do' de la
mesure 3 portée du haut dans ma liaison.

Par avance, merci pour votre réponse.
Cordialement,

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Liaison-sur-2-portees-commencant-et-terminant-sur-la-meme-portee-tp7579071.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonjour,

AiYori <****@****> a écrit :

je cherche à inclure la suite 'mi - ré - do' de la
mesure 3 portée du haut dans ma liaison

tu dois pouvoir inclure malgré tout ces trois notes dans l'expression de la
seconde voix :

%----------

r1 | % 01

r1 | % 02

% à toi de redessiner la liaison comme bon te semble :

% \once \override Slur #'control-points = #'((0 . 0) (10 . 10) (20 . 10)
(31 . 2))

% on triche un peu en donnant à la ronde une valeur de noire

< e_3 g_1 >1*1/4^( % 03

\change Staff = up

e'4 d c

\change Staff = down

< e, g >2. < e g >4-.) | % 04

%----------

Voilou, si quelqu'un a une meilleure idée…

François

Je ne m'y connais pas du tout en courbes de Bézier mais par curiosité, j'ai essayé de dessiner une liaison qui va bien.

Dans mon exemple, le code suivant donne quelque chose d'acceptable.

\once \override Slur #'control-points = #'((0 . 3) (2 . 20) (15 . 15) (20 . 4))

François

···

Le 28 février 2013 12:52, François Martin <****@****> a écrit :

Bonjour,

AiYori <****@****> a écrit :

je cherche à inclure la suite 'mi - ré - do' de la
mesure 3 portée du haut dans ma liaison

tu dois pouvoir inclure malgré tout ces trois notes dans l'expression de la seconde voix :

%----------

r1 | % 01

r1 | % 02

% à toi de redessiner la liaison comme bon te semble :

% \once \override Slur #'control-points = #'((0 . 0) (10 . 10) (20 . 10) (31 . 2))

% on triche un peu en donnant à la ronde une valeur de noire

< e_3 g_1 >1*1/4^( % 03

\change Staff = up

e'4 d c

\change Staff = down

< e, g >2. < e g >4-.) | % 04

%----------

Voilou, si quelqu'un a une meilleure idée…

François

Formidable. Ca fonctionne très bien.

Le code suivant produit la figure suivante.

%-----

    r1 | % 01
    r1 | % 02
    < e_3 g_1 >1*1/4( \Up e'4^3 d c \Down | % 03
    < e, g >2.) < e g >4-. | % 04

% -----

<http://lilypond-french-users.1298960.n2.nabble.com/file/n7579081/MorceauDeMusique1.jpg&gt;

Je n'ai même pas besoin d'utiliser 'control-points'.
Le résultat pourrait presque être parfait si j'arrivais, toujours sans
utiliser 'control-points', à descendre de manière arbitraire le point
d'ancrage gauche de la liaison, sans toucher au point d'ancrage droit.

Est ce que quelqu'un aurait des éléments de réponse ?

Par avance, merci,
Cordialement,

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Liaison-sur-2-portees-commencant-et-terminant-sur-la-meme-portee-tp7579071p7579081.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Formidable. Ca fonctionne très bien.

Le code suivant produit la figure suivante.

(snip)

Je n'ai même pas besoin d'utiliser 'control-points'.

Bonsoir,

Tu utilises quel code exactement (code minimal complet et *compilable
tel quel* permettant d'obtenir le résultat de la figure) ?
Avec quel version de LilyPond exactement ?

Je n'arrive pas à obtenir ce résultat avec les dernières versions.
Il pourrait s'agir d'un bug. Dans ce cas il serait utile de connaître
le numéro de version permettant d'obtenir le résultat ci-dessus (avec
le code exact utilisé) lors du signalement du (possible) bug.

Le résultat pourrait presque être parfait si j'arrivais, toujours sans
utiliser 'control-points', à descendre de manière arbitraire le point
d'ancrage gauche de la liaison, sans toucher au point d'ancrage droit.

Est ce que quelqu'un aurait des éléments de réponse ?

Oui, ceci devrait être utile, non ?
http://lsr.dsi.unimi.it/LSR/Item?id=748

Cordialement,
Xavier

···

2013/2/28 AiYori <****@****>:

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

Bonjour,

Merci pour ta réponse.

J'ai défini les macros suivantes.

% <<<
  Down = \change Staff = "down"
  Up = \change Staff = "up"
% >>>

Voici le code complet.

% <<<

  \version "2.14.2"

  RythmePrimo = \markup { \bold "Dashing and bright" }

  Down = \change Staff = "down"
  Up = \change Staff = "up"

  % =-o-=
  offsetPositions =
  #(define-music-function (parser location offsets) (pair?)
    #{
       \once \override Slur #'positions = #(lambda (grob)
   `(,(+ (car $offsets) (cdar (ly:slur::calc-control-points grob))) .
     ,(+ (cdr $offsets) (cdr (cadddr (ly:slur::calc-control-points grob))))))
    #})
  
  %* Liaisons personnalisées. *
  LPA = \once \override Slur #'control-points = #'((0 . 3) (8 . 5) (16 . 3)
(26 . -5))
  LPB = \once \override Slur #'control-points = #'((0 . 3) (8 . 5) (16 . 3)
(24 . -5))
  LPC = \once \override Slur #'control-points = #'((0 . 5) (3 . 9) (5 . 7)
(7 . -5))
  LPD = \once \override Slur #'control-points = #'((0 . 3) (3 . 19) (5 . 17)
(7 . 15))

  VoixHautPrimo = \relative c'' {
    \override Score.BarNumber #'break-visibility = #'#(#f #t #t)
    \override Lyrics.LyricSpace #'minimum-distance = #3.0
    \numericTimeSignature \time 4/4
    \key c \major
    \clef treble

    r1 | % 01
    r1 | % 02
    r4\mf s2. | % 03
    r1 | % 04

    \break

    r4 s2. | % 05
    r1 | % 06
    r4 s2. | % 07
    r1 | % 08

    \break

    g4^5( g f d | % 09
    < c^1 e^3 >1) | % 10
    r4\mp \LPA e4( d c | % 11
    \Down < e, g >2.) < e g >4-. \Up | % 12

    \break

    r4\mp \LPB e'4( d c | % 13
    \Down < f,_3 a_1 >2.) < f a >4-. \Up | % 14
    r4\< f'( e d | % 15
    g4-.) r g4-.^4 r\! | % 16

    \break

    a4\f^5( g f d^2 | % 17
    c4-.) r r2 | % 18
    r2 r4 < c e g >4-.\mp | % 19
    r2 r4 < e g b >4-. | % 20

    \break

    r1 | % 21
    r4 < c e g >\< < d f a > < e g b >\! | % 22
    < f a c >4-.\mf r < f a c >-. r | % 23
    < g c >-. r < g c >-. r | % 24

    \break

    \LPC < fis c' >4( \Down < fis, c' >-.) \LPD < fis c' >( \Up < fis' c'

-.) | % 25

    < g^2 b^4 >4\< < f!^2 a^4 > < e g > < d f >\!

% 26

    < c^2 e^4 >4\f < c e > < c e >2

% 27

    < c e >4 < c e > < c e >2

% 28

    \break

    < c^2 d^3 >4 < c d > < c d >2 | % 29
    < c d >4 < c d > < b d >2 | % 30
    r2 < a c e >4-.->\ff < a c e >-.-> | % 31
    r2 < b e >4-.-> < b e >-.-> | % 32

  }
  
  VoixBasPrimo = \relative c' {
    \numericTimeSignature
    \key c \major
    \clef treble

    r1 | % 01
    r1 | % 02

    %=-o-=
    \offsetPositions #'(0 . 1)

    < e_3 g_1 >1*1/4( \Up e'4^3 d c \Down | % 03
    < e, g >2.) < e g >4-. | % 04

    \break

    < e g >1*1/4( \Up e'4 d c \Down | % 05
    < f,_3 a_1 >1) | % 06
    < f a >1*1/4( \Up f'4^4 e d \Down | % 07
    < g,_3 b_1 >1) | % 08

    \break

    r1 | % 09
    g1_3 | % 10
    < e_3 g_1 >4-. r r2 | % 11
    \Up r1 \Down | % 12

    \break

    < e g >4-. r r2 | % 13
    \Up r1 \Down | % 14
    < f a >4-. r r2 | % 15
    r4 g-._2 r g-. | % 16

    \break

    a4_1( g f d_4 | % 17
    c4-.) r r2 | % 18
    r2 r4 < c e g >4-. | % 19
    r2 r4 < e g b >4-. | % 20

    \break

    r1 | % 21
    r4 < c e g >4 < d f a > < e g b > | % 22
    r4 < f a c >-. r < f a c >-. | % 23
    r4 < g_4 c_1 >-. r < g c >-. | % 24

    \break

    r4 \Up r r \Down r | % 25
    < g_4 b_2 >4 < f!_4 a_2 > < e g > < d f > | % 26
    < c_4 e_2 >4 < c e > < c e >2 | % 27
    < c e >4 < c e > < c e >2 | % 28

    \break

    < c_4 d_3 >4 < c d > < c d >2 | % 29
    < c d >4 < c d > < b d >2 | % 30
    r2 < a c e >4-.-> < a c e >-.-> | % 31
    r2 < g b d >4-.-> < g b d >-.-> | % 32

  }

  \book {

    \header {
      title = "Jingle Bells"
      composer = \markup { \column {
        "James Pierpont"
        "Arrangement : Robert D. Vandall"
      } }
    }

    \score {
      \new PianoStaff <<
        \set PianoStaff.instrumentName = \markup { Primo }
        \new Staff = "up" \VoixHautPrimo
        \new Staff = "down" \VoixBasPrimo
      >>

      \layout {
        indent = 2\cm
        \context {
          \Staff
        }
        \context {
          \Score
        }
      }
      
      \midi {
        \context {
          \Score
          tempoWholesPerMinute = #(ly:make-moment 75 4)
        }
      }

    }

  }

%>>>

La version de Lilyond utilisée est la 2.14.2.

En revanche, j'ai un problème lorsque je compile ce code. Ce problème
survient depuis que j'ai inséré et utilisé la fonction 'offsetPositions'.
Voici la sortie que j'obtiens.

# <<<
00094.ly:111:20: erreur de programmation : dépendance circulaire :
calculation-in-progress rencontrée pour #'positions (Slur)
    < e_3 g_1 >1*1/4
                    ( \Up e'4^3 d c \Down | % 03
# >>>

J'avoue que je ne suis pas capable de résoudre ce problème.

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Liaison-sur-2-portees-commencant-et-terminant-sur-la-meme-portee-tp7579071p7579132.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.