\override StrokeFinger

Bonjour,

J'ai réussi à faire pas mal de choses avec ça sauf obtenir des numéros de
doigts soulignés.

Je n'ai pas la 2.17 où il semblerait que ce soit intégré mais la 2.16.
Changement de version obligatoire ou je peux utiliser \override StrokeFinger
#'text mais dans ce cas comment ?

Merci

···

--
Cordialement, Daniel Cartron
« Je voudrais que la terre s'arrête pour descendre. »
Serge Gainsbourg

Bonjour,
Tu peux utiliser une fonction de rappel avec la commande underline du
markup, comme ceci:

\override StrokeFinger #'before-line-breaking = #(lambda (grob)
            (ly:grob-set-property! grob 'text (markup #:underline
(ly:grob-property grob 'text)))
        )

Il doit certainement exister d'autres solutions.

···

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

Bonjour,
Tu peux utiliser une fonction de rappel avec la commande underline du
markup, comme ceci:

\override StrokeFinger #'before-line-breaking = #(lambda (grob)
            (ly:grob-set-property! grob 'text (markup #:underline
(ly:grob-property grob 'text)))
        )

J'avoue humblement ne pas comprendre comment ça marche mais en tout cas ça le
fait...

Il doit certainement exister d'autres solutions.

Mon idée de départ était de trouver une syntaxe qui marche pour un truc du
genre :
\override StrokeFinger #'text = #'\underline
mais ça bien évidemment ça marche pas.

Pourtant on voit bien que dans ta fonction il y a à la fois 'text et
underline, mais j'ai beau essayer à tâton je n'arrive à rien.

En tout cas merci au moins comme ça j'y arriverai mm si c'est plus compliqué
que ce que je pensais.

···

Le mardi 21 mai 2013 04:17:47 elmamyra a écrit :

--
Cordialement, Daniel Cartron
« N’est pas cocu qui veut, et nous ne devons épouser que de très jolies femmes
si nous voulons qu’un jour on nous en délivre. »
Sacha Guitry — Bloompott, exergue du chapitre 1

Bonjour !
Quelqu'un saurait-il me dire comme mettre l'accord Ré4 sur une partoche ? (Je bloque sur celui-ci !)
Merci !
AG

Bonjour Arnaud,
Ta question manque de précision.
Merci d'envoyer un mini exemple.
Pour le moment je ne peux que te renvoyer ici : http://lilypond.org/doc/v2.16/Documentation/notation/chord-notation
A+

···

Le 21 mai 2013 13:46, Gazagnes Arnaud <****@****> a écrit :

Bonjour !
Quelqu'un saurait-il me dire comme mettre l'accord Ré4 sur une partoche ? (Je bloque sur celui-ci !)
Merci !
AG


liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Sur une partition, je lis qu'un accord de guitare (mais je ne joue pas de guitare...) est un Ré4 (comme il existe le mi mineur, que je code e1:m dans le "ChordNames"). Mais je ne connais pas le codage du Ré4.
Question subsidiaire pour les guitaristes : à tout hasard, serait-ce aussi un Ré majeur 7 ?
AG

Sur une partition, je lis qu'un accord de guitare (mais je ne joue pas de
guitare...) est un Ré4 (comme il existe le mi mineur, que je code e1:m dans
le "ChordNames"). Mais je ne connais pas le codage du Ré4.

d:sus4

Question
subsidiaire pour les guitaristes : à tout hasard, serait-ce aussi un Ré
majeur 7 ? AG

amha non

···

Le mardi 21 mai 2013 15:56:38 Gazagnes Arnaud a écrit :

--
Cordialement, Daniel Cartron
« Bien-être : état d'esprit produit par la contemplation des ennuis d'autrui.
»
Ambrose Bierce

j'ai trouvé ça
http://lists.gnu.org/archive/html/lilypond-user/2009-04/msg00691.html
où il est dit apparemment qu'on peut écrire son propre fingering::calc-text
mais je ne trouve aucune explication supplémentaire. Qui peut me donner des
précisions ?...

···

Le mardi 21 mai 2013 04:17:47 elmamyra a écrit :

Il doit certainement exister d'autres solutions.

--
Cordialement, Daniel Cartron
« Quand les filles ont les yeux cernés, c'est que la place est prise. »
Willy

J'obtiens un Ré sus4 mais pas de Ré 4. AG

%--------------------------------
chExceptionMusic = {
     <c f g> -\markup \super "Ré4" % :sus4
}

chExceptions = #( append
   ( sequential-music-to-chord-exceptions chExceptionMusic #t)
   ignatzekExceptions)

\score {
   \chords {
   d1:sus4
   }
}

\layout {
   \context {
     \ChordNames
     chordNameExceptions = #chExceptions
   }
}

%--------------------------------
pas de quoi !

···

Le 21/05/2013 17:35, Gazagnes Arnaud a écrit :

J'obtiens un Ré sus4 mais pas de Ré 4. AG

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

--
Martial
http://cathemline.org

ou
chExceptionMusic = {
     <c e f g> -\markup \super "Ré4" % :sus4
}

\score {
   <<
     \chords { d1:5.4 }
\chordmode { d1:5.4 }
   >>
}

···

Le 21/05/2013 18:15, Martial a écrit :

%--------------------------------
chExceptionMusic = {
     <c f g> -\markup \super "Ré4" % :sus4
}

chExceptions = #( append
   ( sequential-music-to-chord-exceptions chExceptionMusic #t)
   ignatzekExceptions)

\score {
   \chords {
   d1:sus4
   }
}

\layout {
   \context {
     \ChordNames
     chordNameExceptions = #chExceptions
   }
}

%--------------------------------
pas de quoi !

Le 21/05/2013 17:35, Gazagnes Arnaud a écrit :

J'obtiens un Ré sus4 mais pas de Ré 4. AG

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

--
Martial
http://cathemline.org

Voici comment est défini stroke-finger::calc-text (Ça se trouve dans le
fichier output-lib.scm):

(define-public (stroke-finger::calc-text grob)
  (let ((event (event-cause grob)))
    (or (ly:event-property event 'text #f)
  (vector-ref (ly:grob-property grob 'digit-names)
        (1- (max 1
                             (min 5 (ly:event-property event 'digit))))))))

Ça paraît compliqué à première vu, mais cette procédure retourne le texte du
doigté si il existe déjà ou le texte du doigté en fonction du numéro du
doigt. Ceci grâce à "digit-names" qui est un vector: #(p i m a x).
Le min, max et "1-" serve à s'assurer que le numéro soit bien compris entre
0 et 4 étant donné qu'il y a seulement 5 doigtés dans le vector.
Bon en me relisant je m’aperçois que ce n'est pas si simple.

Si tu veux t'inspirer de cette procédure pour souligner les doigtés il
suffit d'utiliser "markup #:underline", comme dans mon exemple précédent:

#(define (my-stroke-finger::calc-text grob)
  (let ((event (event-cause grob)))
    (markup #:underline (or (ly:event-property event 'text #f)
  (vector-ref (ly:grob-property grob 'digit-names)
        (1- (max 1
                             (min 5 (ly:event-property event 'digit)))))))))

et dans ton score:
\override StrokeFinger #'text = #my-stroke-finger::calc-text

···

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

Voici comment est défini stroke-finger::calc-text (Ça se trouve dans le
fichier output-lib.scm):

(define-public (stroke-finger::calc-text grob)
  (let ((event (event-cause grob)))
    (or (ly:event-property event 'text #f)
  (vector-ref (ly:grob-property grob 'digit-names)
        (1- (max 1
                             (min 5 (ly:event-property event 'digit))))))))

Ça paraît compliqué à première vu, mais cette procédure retourne le texte du
doigté si il existe déjà ou le texte du doigté en fonction du numéro du
doigt. Ceci grâce à "digit-names" qui est un vector: #(p i m a x). Le min,
max et "1-" serve à s'assurer que le numéro soit bien compris entre 0 et 4
étant donné qu'il y a seulement 5 doigtés dans le vector.
Bon en me relisant je m’aperçois que ce n'est pas si simple.

Je te rassure tout de suite, je n'ai strictement rien compris :wink:

Si tu veux t'inspirer de cette procédure pour souligner les doigtés il
suffit d'utiliser "markup #:underline", comme dans mon exemple précédent:

#(define (my-stroke-finger::calc-text grob)
  (let ((event (event-cause grob)))
    (markup #:underline (or (ly:event-property event 'text #f)
  (vector-ref (ly:grob-property grob 'digit-names)
        (1- (max 1
                             (min 5 (ly:event-property event 'digit)))))))))

et dans ton score:
\override StrokeFinger #'text = #my-stroke-finger::calc-text

ha dommage ça marche pas :

In procedure ly:event-property in expression (ly:event-property event (quote
text) ...):

: Wrong number of arguments to #<primitive-procedure ly:event-property>

···

Le mardi 21 mai 2013 13:05:30 elmamyra a écrit :

--
Cordialement, Daniel Cartron
« Dans la marine on ne fait pas grand-chose mais on le fait de bonne heure. »
Devise Shadock

Autant pour moi. ly:event-property a changé entre la version 2.16 et 2.17.
Pour la version 2.16 "stroke-finger::calc-text" est:

(define-public (stroke-finger::calc-text grob)
  (let* ((digit (ly:event-property (event-cause grob) 'digit))
   (text (ly:event-property (event-cause grob) 'text)))

    (if (string? text)
  text
  (vector-ref (ly:grob-property grob 'digit-names)
        (1- (max (min 5 digit) 1))))))

Du coup tu peux faire:

#(define (my-stroke-finger::calc-text grob)
  (let* ((digit (ly:event-property (event-cause grob) 'digit))
   (text (ly:event-property (event-cause grob) 'text)))

    (markup #:underline (if (string? text)
  text
  (vector-ref (ly:grob-property grob 'digit-names)
        (1- (max (min 5 digit) 1)))))))

La nuit portant conseil, il y a beaucoup plus simple. Tu peux directement
récupérer la sortie de "stroke-finger::calc-text" et appliquer le
"underline":

\override StrokeFinger #'text = #(lambda (grob)
                                    (markup #:underline
(stroke-finger::calc-text grob)))

···

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

là ça marche super bien, et c'est plus compact.

ça sera compatible 2.17 ou pas ?

Et un grand merci, tu m'as fait avancer d'un grand pas dans mon projet. Tiens
d'ailleurs il faudrait que j'en reparle un peu sur la liste...

···

Le mercredi 22 mai 2013 02:46:22 elmamyra a écrit :

\override StrokeFinger #'text = #(lambda (grob)
                                    (markup #:underline
(stroke-finger::calc-text grob)))

--
Cordialement, Daniel Cartron
« Sans alcool pas de lucidité. »
Serge Gainsbourg

Daniel Cartron-2 wrote

ça sera compatible 2.17 ou pas ?

Oui c'est compatible avec la 2.17.

···

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

Merci pour ces éclairages ! AG

Bonjour !
Est-ce qu'il y a un moyen de donner la durée explicite des syllabes en utilisant \lyricsto ?
(J'ai essayé sans \lyricsto mais je suis quand même bloqué car il y a des endroits où la durée est plus grande qu'une ronde et là j'incompète !)
Merci !
AG

:

Bonjour !
Est-ce qu'il y a un moyen de donner la durée explicite des syllabes en
utilisant \lyricsto ?
(J'ai essayé sans \lyricsto mais je suis quand même bloqué car il y a des
endroits où la durée est plus grande qu'une ronde et là j'incompète !)
Merci !
AG

Bonjour Arnaud,
Un petit exemple peut-être ?
(En ce qui me concerne je ne suis pas sûr de bien comprendre le problème).

:

[...] j'incompète !)

ça par-contre je le remise par devers moi !
A+
Pierre

···

Le 14 juin 2013 15:12, Gazagnes Arnaud <****@****> a écrit
Le 14 juin 2013 15:12, Gazagnes Arnaud <****@****> a écrit

Voilà donc un exemple (où A et B sont les deux syllabes du mot AB) :

fad'4. red'8 si2
A B

Ma structure est (où Nsop et Psop sont respectivement les notes et les paroles) :

\score {
\context ChoirStaff
<<
\context Staff
<<
{ \Nsop }

\new Lyrics = L \Psop

}

Merci !
Arnaud