Subject: rétrogradation

From: ali <[email-masked]>
Date: Wed, 21 Jan 2015 16:06:10 -0700 (MST)

Bonjour à tous

1 - Je souhaiterais utiliser la commande de rétrogradation suivante mais je
n'arrive pas à la gérer dans le contexte d'une partition pour piano...
quelqu'un me fournirait il un exemple ?
2 - Je souhaiterais aussi transformer la rétrogradation donc : y a t'il
possibilité de récupérer le code généré ou une autre commande qui pourrai
m'en donner la possibilité ?

music = \relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 }

\new Staff {
  \music
  \retrograde \music
}

Merci  

Ali

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

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 22 Jan 2015 07:56:26 +0100

Bonjour Ali,

> quelqu'un me fournirait il un exemple ?

\version "2.18.2"

\new PianoStaff <<
  \new Staff {
    \music
    \retrograde \music
  }
  \new Staff {
    \music
    \retrograde \music
  }

... Bon, c'est un peu de la provocation, mais j'avoue ne pas comprendre
comment tu souhaites employer cette commande dans ce contexte.

> m'en donner la possibilité ?

 Le code se trouve dans le fichier modal-transforms.scm :

(define-public (retrograde-music music)
  "Returns @var{music} in retrograde (reversed) order."
  ;; Copied from LSR #105 and renamed.
  ;; Included here to allow this module to provide a complete set of
  ;; common formal operations on motives, i.e transposition,
  ;; inversion and retrograding.

  (let* ((elements (ly:music-property music 'elements))
         (reversed (reverse elements))
         (element (ly:music-property music 'element))
         (span-dir (ly:music-property music 'span-direction)))

    (ly:music-set-property! music 'elements reversed)

    (if (ly:music? element)
        (ly:music-set-property!
         music 'element
         (retrograde-music element)))

    (if (ly:dir? span-dir)
        (ly:music-set-property! music 'span-direction (- span-dir)))

    (for-each retrograde-music reversed)

    music))

Cordialement,
Pierre

---

From: Christophe Pochon <[email-masked]>
Date: Thu, 22 Jan 2015 21:39:45 +0100

Je crois qu'en fait Ali voudrait récupérer les notes générées par la
fonction \retrograde, au format lilypond. Il me semble qu'on peut faire ça,
mais je ne sais plus comment. Et ça me serait utile aussi. Par exemple
quand je transpose une partition avec \transpose, j'aimerais bien avoir un
nouveau fichier .ly avec les notes transposées. Plus facile pour faire des
modifications par la suite.

Christophe

Christophe Pochon
http://www.christophe-pochon.com

Le 22 janvier 2015 07:56, Pierre Perol-Schneider <
[email-masked]> a écrit :

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

---

From: Seventies <[email-masked]>
Date: Thu, 22 Jan 2015 13:57:11 -0700 (MST)

Pour la récupération au format rétrograde, je ne vois pas de solution
immédiate - peut-être en passant par le midi, mais je connais mal
l'importation midi.

Par contre, pour la fonction de transposition, il suffit de créer un fichier
(temporaire) avec la séquence à transposer, puis appliquer la fonction de
transposition de Frescobaldi.

Un copier/coller permet alors de remettre la séquence transposée dans le
fichier de départ.

Cordialement,

Jean-François

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

---

From: Christophe Pochon <[email-masked]>
Date: Thu, 22 Jan 2015 23:27:39 +0100

Si si, ça existe. Je viens de retrouver la fonction, c'est \displayLilyMusic

http://lilypond.org/doc/v2.19/Documentation/notation/displaying-lilypond-notation

A+

Christophe

Christophe Pochon

Le 22 janvier 2015 21:57, Seventies <[email-masked]> a écrit
:

> View this message in context:
> http://lilypond-french-users.1298960.n2.nabble.com/retrogradation-tp7582149p7582152.html

---

From: [email-masked]
Date: Sun, 25 Jan 2015 23:17:13 +0100

> immédiate - peut-être en passant par le midi, mais je connais mal

Bonjour.

%%%%%%%%%%%

\new Staff {
  \music
  \displayLilyMusic \retrograde \music
}
%%%%%%%%%%%

On récupère le rétrograde dans la sortie Lily.

Par contre au passage, la fonction \retrograde a un bug pour les liaisons : 
elle devrait  transformer les ( en ) et inversement, pour préservé les 
liaisons.

Gilles

---

From: Gilles THIBAULT <[email-masked]>
Date: Mon, 26 Jan 2015 13:53:04 +0100

> elle devrait  transformer les ( en ) et inversement, pour préservé les

Comme ceci, ça a l'air de marcher :

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

#(define-public (retrograde-music music)

(let* ((elements (ly:music-property music 'elements))
       (reversed (reverse elements))
       (artis (ly:music-property music 'articulations))
       (element (ly:music-property music 'element))
       (change-span-dir 
        (lambda(arti)
          (let ((span-dir (ly:music-property arti 'span-direction)))
            (if (ly:dir? span-dir) (ly:music-set-property! arti 
                                       'span-direction (- span-dir)))
            arti))))
  (if (ly:music? element) (ly:music-set-property! music 'element
                            (retrograde-music element)))
  (if (pair? elements)(ly:music-set-property! music 'elements 
                            (map retrograde-music reversed)))
  (if (pair? artis) (ly:music-set-property! music 'articulations 
                            (map change-span-dir artis)))
  music))

%%%%%%%%% test
\version "2.18.2"

\new Staff {
  \music
  \retrograde \music  % \retrograde est mis à jour automatiquement !!!
  %#(retrograde-music (ly:music-deep-copy music))
}

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

-- 
Gilles

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 26 Jan 2015 14:19:18 +0100

Joli !
Merci Gilles.
Pierre

---

From: Gilles THIBAULT <[email-masked]>
Date: Fri, 30 Jan 2015 14:58:50 +0100

> Pierre

Rah ! Pas si joli que ça, j'ai oublié de penser au cas où il y a des accords ! 
(Les accords n'ont pas de propriété 'articulations )
Ceci corrige cela ... :

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

(let* ((element (ly:music-property music 'element))
       (elements (ly:music-property music 'elements))
       (reversed (reverse elements))
       (artis (ly:music-property music 'articulations))
       (span-dir (ly:music-property music 'span-direction)))
  (if (ly:music? element) (ly:music-set-property! music 'element
                            (retrograde-music element)))
  (if (pair? elements)(ly:music-set-property! music 'elements 
                            (map retrograde-music reversed)))
  (if (pair? artis) (ly:music-set-property! music 'articulations 
                            (map retrograde-music artis)))
  (if (ly:dir? span-dir) (ly:music-set-property! music 
                                       'span-direction (- span-dir)))
  music))

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

-- 
Gilles