Qqchose a changé sur la 2.15.30?

Bonjour à tous,

Valentin m'avait il y a quelque temps gratifié du code suivant:

#(define (add-cross music)
(if
  (equal? (ly:music-property music 'name) 'EventChord)
  (let ((note (car (ly:music-property music 'elements))))
    (set! (ly:music-property note 'articulations)
          (append (ly:music-property note 'articulations)
                  (list
                   (let ((obj (make-music 'FingeringEvent)))
                     (set! (ly:music-property obj 'tweaks)
                           (acons 'stencil (lambda (grob)
                              (grob-interpret-markup grob
                                (markup
                                  #:fontsize 4
                                  #:musicglyph "scripts.stopped")))
                              (ly:music-property obj 'tweaks)))
                     obj)))))
  music))

%pour obtenir une croix, ajouter #:rotate 45 avant #:fontsize

addCross =
#(define-music-function (parser location music) (ly:music?)
     #{ \once \set fingeringOrientations = #'(left)
        \once \override Fingering #'X-extent = #'(-2.0 . 0.5)
        $(add-cross music) $music #})

pour pouvoir ajouter *devant* les notes, soit une croix, soit un signe «+».
J'ai utilisé ce code avec bonheur (et même modifié pour pouvoir ajuster le
signe soit plus haut soit plus bas) mais la version 2.15.30 a tout foutu par
terre! Non seulement il ne m'ajoute même plus le signe «scripts.stopped»
mais il rouspète si j'ai eu le malheur de faire démarrer une liaison avant
lui en me disant:

Avertissement : impossible de terminer la liaison
   r4 c8. c16 f4 f r4 f8( \addCross es16)

Donc ma question: faut-il changer qqchose à ce code, la 2.15.30 a t-elle
introduit une nouvelle syntaxe?

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7328921.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Problème identique avec la 2.15.31....

ça m'apprendra a vouloir trop suivre la dernière mode...

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7330366.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Le 29/02/2012 20:15, bameylan disait :

Problème identique avec la 2.15.31....

ça m'apprendra a vouloir trop suivre la dernière mode...

As-tu tenté un "convert-ly" sur l'un de tes fichiers qui contient cette clause ?

@+
Jean-Charles

Jean-Charles MALAHIEUDE wrote

As-tu tenté un "convert-ly" sur l'un de tes fichiers qui contient cette
clause ?

Oui, depuis ton message, j'ai passé une dizaine de fichiers contenant cette
clause (des copies, oeuf corse) au converteur: même résultat, pire même:
lorsque je clique sur une note figurant juste avant ou après le «x»,
Frescobaldi me renvoie dans la clause même, au milieu du code... sitôt que
j'ôte le \addCross, tout rentre dans l'ordre.

Pour contourner le problème, ou l'aborder différemment, serait-il possible
d'utiliser la «Détermination directe de X-offset et Y-offset» comme
expliquée dans le manuel (5.5.1)? Et plutôt que de réécrire à chaque
apparition du «x»

{d2-\tweak #'X-offset #-1
        -\tweak #'Y-offset #1.5

···

-+
} (les chiffres me positionnent le «+» juste au bon endroit), serait-il
possible de le décrire une fois pour toutes, du style:

x = \markup {
                        #:rotate 45 %j'aimerais un «x»
                        #:fontsize 4
                        #:musicglyph "scripts.stopped"
                        #'X-offset #-1
                        #'Y-offset #1.5
        }

?

Mon «code» doit certainement vous faire pisser de rire (ou arracher les
cheveux, c'est selon... :wink: ) mais je tente quelque chose; j'ai une
vingtaine de fichiers de musique française ancienne, pleins de «x», cela a
toujours très bien fonctionné... jusqu'à l'arrivée de cette 2.15.30 et je
n'aimerais pas trop bousiller le travail.

Bernard

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7330873.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

C'est parce que les notes étaient précédemment considérées comme des
accords d'une note (EventChord). Aujourd'hui ce n'est plus le cas,
donc on peut raccourcir quelque peu le code :

#(define (add-cross music)
(if
(equal? (ly:music-property music 'name) 'NoteEvent)
   (set! (ly:music-property music 'articulations)
         (append (ly:music-property music 'articulations)
                 (list
                  (let ((obj (make-music 'FingeringEvent)))
                    (set! (ly:music-property obj 'tweaks)
                          (acons 'stencil (lambda (grob)
                             (grob-interpret-markup grob
                               (markup
                                 #:fontsize 4
                                 #:musicglyph "scripts.stopped")))
                             (ly:music-property obj 'tweaks)))
                    obj))))
music))

(Attention toutefois, ce code ne marchera pas avec de "vrais" accords.
On *peut* prendre en compte les deux situations possibles, mais ce
sera un peu plus long.)

Cordialement,
Valentin.

···

2012/2/29 bameylan <****@****>:

J'ai utilisé ce code avec bonheur (et même modifié pour pouvoir ajuster le
signe soit plus haut soit plus bas) mais la version 2.15.30 a tout foutu par
terre! Non seulement il ne m'ajoute même plus le signe «scripts.stopped»
mais il rouspète si j'ai eu le malheur de faire démarrer une liaison avant
lui en me disant:

Merci, avec ceci la croix réapparaît, mais lorsque j'introduit le reste du
code:

addCross =
#(define-music-function (parser location music) (ly:music?)
     #{ \once \set fingeringOrientations = #'(left)
        \once \override Fingering #'X-extent = #'(2.0 . 1.5)
        $(add-cross music) $music #})

elle reste placée au dessus de la note (toujours au dessus de la portée,
quelle que soit la position de la hampe, haut ou bas) se déplace
horizontalement au mieux sur la tête de note vers la gauche mais ne va pas
au-delà et ne descend pas dans la portée.

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7332096.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Flûte, j'avais oublié qu'elle était censée se placer à gauche de la note.

Bon, donc en fait, le code que je vous avais fourni initialement était
le bon, et il est toujours valable. La seule petite précaution
d'emploi est qu'il faut systématiquement inclure la note suivante
entre des < > comme suit :

#(define (add-cross music)
(if
(equal? (ly:music-property music 'name) 'EventChord)
(let ((note (car (ly:music-property music 'elements))))
   (set! (ly:music-property note 'articulations)
         (append (ly:music-property note 'articulations)
                 (list
                  (let ((obj (make-music 'FingeringEvent)))
                    (set! (ly:music-property obj 'tweaks)
                          (acons 'stencil (lambda (grob)
                             (grob-interpret-markup grob
                               (markup
                                 #:fontsize 4
                                 #:musicglyph "scripts.stopped")))
                             (ly:music-property obj 'tweaks)))
                    obj)))))
music))

addCross =
#(define-music-function (parser location music) (ly:music?)
    #{ \once \set fingeringOrientations = #'(left)
       \once \override Fingering #'X-extent = #'(2.0 . 1.5)
       $(add-cross music) $music #})

{ \addCross <c'> }

Le reste devrait marcher sans problème.

Cordialement,
V. Villenave.

···

2012/3/1 bameylan <****@****>:

Merci, avec ceci la croix réapparaît, mais lorsque j'introduit le reste du
code: [...]
elle reste placée au dessus de la note (toujours au dessus de la portée,
quelle que soit la position de la hampe, haut ou bas) se déplace
horizontalement au mieux sur la tête de note vers la gauche mais ne va pas
au-delà et ne descend pas dans la portée.

C'est effectivement *la* solution, grand merci!

C'est donc toujours la référence à l'accord qui joue? Et sans vouloir faire
de LilyPond la réponse à tous les cas particuliers de chacun d'entre nous,
est-ce une fonction (signe avant la note) qui est appelée à être un jour
implémentée dans une future version?

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7335685.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Si vous pouvez fournir quelques exemples scannés venant d'éditions "de
référence" (genre, pas Henry Lemoine), j'ouvrirai une requête
officielle. (En y réfléchissant je me dis que, plutôt qu'un doigté
j'aurais pu trafiquer l'altération de façon à éviter cette histoire
d'accord obligé. Mais cela pose un certain nombre de nouveaux
problèmes.)

Cordialement,
Valentin.

···

2012/3/2 bameylan <****@****>:

C'est donc toujours la référence à l'accord qui joue? Et sans vouloir faire
de LilyPond la réponse à tous les cas particuliers de chacun d'entre nous,
est-ce une fonction (signe avant la note) qui est appelée à être un jour
implémentée dans une future version?

Je mets juste une page d'exemple (mais j'en ai d'autres si nécessaire). ce
n'est pas du Henri Lemoine (!) mais l'édition originale d'un motet de
Campra.

http://lilypond-french-users.1298960.n2.nabble.com/file/n7336117/camprap84.pdf
camprap84.pdf

Merci beaucoup de vous pencher sur ce sujet.

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7336117.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Message du 02/03/12 11:28
De : "bameylan"
Objet : Re: Qqchose a changé sur la 2.15.30?

Je mets juste une page d'exemple (mais j'en ai d'autres si nécessaire). ce
n'est pas du Henri Lemoine (!) mais l'édition originale d'un motet de
Campra.

http://lilypond-french-users.1298960.n2.nabble.com/file/n7336117/camprap84.pdf
camprap84.pdf

C'est bête à dire, et la remarque de Valentin est si évidente :

un petit coup d’œil sur la page "Altérations et armures anciennes"

et tout s'éclaire.

@+
Jean-Charles

J'y avais pensé, mais cela demanderait de changer la hauteur de la
note pour indiquer un dièse, alors que le signe de Bernard est un
ornement si j'ai bien suivi :
http://lists.gnu.org/archive/html/lilypond-user-fr/2010-10/msg00163.html

Cordialement,
Valentin.

···

2012/3/2 Lilyfan <****@****>:

LilyPond Notation Reference: 2.9.3 Typesetting mensural music
et tout s'éclaire.

Exactement; voir le fichier campra84.pdf dans mon dernier message, premier
système, 2 premières portées, presque chaque mesure comporte une note
précédée de ce «+» qui peut aussi être quelquefois un «x» et qui sera plus
tard remplacé par notre \prall.

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7336447.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Effectivement, j'avais loupé le fichier. J'ai ouvert une requête
officielle : Google Code Archive - Long-term storage for Google Code Project Hosting.

Cordialement,
V. Villenave.

···

2012/3/2 bameylan <****@****>:

Exactement; voir le fichier campra84.pdf dans mon dernier message, premier
système, 2 premières portées, presque chaque mesure comporte une note
précédée de ce «+» qui peut aussi être quelquefois un «x» et qui sera plus
tard remplacé par notre \prall.

Valentin Villenave-2 wrote

J'ai ouvert une requête officielle :
Google Code Archive - Long-term storage for Google Code Project Hosting.

Super. Même si le code que vous avez fourni convient très bien (et laisse la
position de la croix à l'entière discrétion du metteur en pages) je suppose
qu'une fonction dédiée à ces signes placés avant les notes sera plus
«directe», donc moins «lourde»...?

Cordialement.

Bernard

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Qqchose-a-change-sur-la-2-15-30-tp7328921p7343227.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Ce n'est pas vraiment le problème : le code que je propose ne crée pas
d'objet mais en détourne un existant (Fingering), donc par exemple il
ne serait pas possible d'ajouter _aussi_ un doigté sur une telle note.
Une telle solution n'est ni très propre, ni très viable à long terme.

Cordialement,
V. Villenave.

···

2012/3/5 bameylan <****@****>:

Super. Même si le code que vous avez fourni convient très bien (et laisse la
position de la croix à l'entière discrétion du metteur en pages) je suppose
qu'une fonction dédiée à ces signes placés avant les notes sera plus
«directe», donc moins «lourde»...?