lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

re: Re : Underline / Lyrics et changement de couleur


From: Remy CLAVERIE
Subject: re: Re : Underline / Lyrics et changement de couleur
Date: Wed, 2 Mar 2016 08:51:40 +0100 (CET)

Bonjour Daniel,

 

Je n'ai pas toruvé pourquoi tous les Lyrics n'étaient soulignés... Je ne connais pas Scheme et je ne vois pas où peux se trouver le bug.

 

Désolé.

 

Rémy

 

 

 

 

> Message du 01/03/16 19:22
> De : "Daniel Bernair" <address@hidden>
> A : "Pierre Perol-Schneider" <address@hidden>
> Copie à : "Jean-Jacques Gerbaud" <address@hidden>, "Remy CLAVERIE" <address@hidden>, "Christophe Pochon" <address@hidden>, "LilyPond" <address@hidden>
> Objet : Re : Underline / Lyrics et changement de couleur
>
>
Bonjour Pierre, merci pour ta réponse.
J’ai copié ton code en frescobaldi et l’ai compilé sans problème, cela fonctionne. ainsi. Cependant mon problème est que si j’utilise un système de plusieurs portées, une par voix, la première portée fonctionnait bien mais dès le début de la seconde portée,  le deuxième soulignage se plaçait sur la première portée.
J’ai voulu tester ton code , ai duplicié  
A_XXXIV = \relative do'' {
>
en
A_XXXIVbis= \relative do'' {
et idem pour le lyric, j’ai déplacé les \startTextSpan et \stopTextSpan  
> dans chacune des variables en alternance, pour voir le résultat. Le système se prend les pieds dans les bretelles. avec :

Avertissement : cannot find start of underline

Avertissement : cannot find start of underline

.....

Avertissement : cannot find start of underline

Avertissement : cannot find start of underline

c:/users/daniel/appdata/local/temp/frescobaldi-wkuw6u/tmpbhiuxw/document.ly:70:30: In procedure setter in _expression_ (setter ly:spanner-bound):

c:/users/daniel/appdata/local/temp/frescobaldi-wkuw6u/tmpbhiuxw/document.ly:70:30: Wrong type argument in position 1: #

Arrêté avec le code de retour 1.

Puis, j’ai supprimé les instruction \startTextSpan et \stopTextSpan   de la variable de la première portée. Après compilation, je n’ai pls de rejet du compilateur, mais le soulignage se place sur la première portée et non la deuxième comme montré dan,s l’image du Capture d’une partie du résultat.
Amicalement 
Daniel 
 
Date : mardi 1 mars 2016 10:16
Objet : Re: Re : Underline / Lyrics et changement de couleur
 
Bonjour Daniel,
>
>
J'arrive un peu après la bataille..
>
 
Le 29 février 2016 à 07:44, Daniel Bernair <address@hidden> a écrit :
>
Merci à vous tous pour votre aide. Le résultat des tests est : le surlignage dans sa forme actuelle pose problèmes.
 
En quoi ?
>
>  
>
Le choix typographique en Italic fonctionne très bien, mais n'est pas très visible. L'usage de la couleur fonctionne très bien en  alternant  \override LyricText #'color = #red  et \override LyricText #'color = #black à chaque début et fin de corrections, c'est parfait.
>
 
Attention : le pendant de \override ... est  \revert ... et non \override (warnings garantis).
> Dans ton cas, je mettrai donc \revert LyricText.color
>  
>
Après avoir tout lu moi, pour résumer, j'en suis là :
>
> % File from Neil Puttochk
> % code adapted from regression test `scheme-text-spanner.ly'
>
> #(define (add-bound-item spanner item)
>    (if (null? (ly:spanner-bound spanner LEFT))
>        (ly:spanner-set-bound! spanner LEFT item)
>        (ly:spanner-set-bound! spanner RIGHT item)))
>
> #(define (axis-offset-symbol axis)
>    (if (eq? axis X) 'X-offset 'Y-offset))
>
> #(define (set-axis! grob axis)
>    (if (not (number? (ly:grob-property grob 'side-axis)))
>        (begin
>          (set! (ly:grob-property grob 'side-axis) axis)
>          (ly:grob-chain-callback
>           grob
>           (if (eq? axis X)
>               ly:side-position-interface::x-aligned-side
>               ly:side-position-interface::y-aligned-side)
>           (axis-offset-symbol axis)))))
>
> #(define (underline-engraver context)
>    (let ((span '())
>          (finished '())
>          (current-event '())
>          (event-drul '(() . ())))
>      (list (cons 'listeners
>                  (list (cons 'text-span-event
>                              (lambda (engraver event)
>                                (if (= START (ly:event-property event 'span-direction))
>                                    (set-car! event-drul event)
>                                    (set-cdr! event-drul event))))))
>            (cons 'acknowledgers
>                  (list (cons 'lyric-syllable-interface
>                              (lambda (engraver grob source-engraver)
>                                (if (ly:spanner? span)
>                                    (begin
>                                      (ly:pointer-group-interface::add-grob span 'note-columns grob)
>                                      (add-bound-item span grob)))
>                                (if (ly:spanner? finished)
>                                    (begin
>                                      (ly:pointer-group-interface::add-grob finished 'note-columns grob)
>                                      (add-bound-item finished grob)))))))
>            (cons 'process-music
>                  (lambda (trans)
>                    (if (ly:stream-event? (cdr event-drul))
>                        (if (null? span)
>                            (ly:warning "cannot find start of underline")
>                            (begin (set! finished span)
>                                   (ly:engraver-announce-end-grob trans finished current-event)
>                                   (set! span '())
>                                   (set! current-event '())
>                                   (set-cdr! event-drul '()))))
>                    (if (ly:stream-event? (car event-drul))
>                        (begin (set! current-event (car event-drul))
>                               (set! span (ly:engraver-make-grob trans 'TextSpanner current-event))
>                               (set-axis! span Y)
>                               (set-car! event-drul '())))))
>            (cons 'stop-translation-timestep
>                  (lambda (trans)
>                    (if (and (ly:spanner? span)
>                             (null? (ly:spanner-bound span LEFT)))
>                        (set! (ly:spanner-bound span LEFT)
>                              (ly:context-property context 'currentMusicalColumn)))
>                    (if (ly:spanner? finished)
>                        (begin
>                          (if (null? (ly:spanner-bound finished RIGHT))
>                              (set! (ly:spanner-bound finished RIGHT)
>                                    (ly:context-property context 'currentMusicalColumn)))
>                          (set! finished '())
>                          (set! event-drul '(() . ()))))))
>            (cons 'finalize
>                  (lambda (trans)
>                    (if (ly:spanner? finished)
>                        (begin
>                          (if (null? (ly:spanner-bound finished RIGHT))
>                              (set! (ly:spanner-bound finished RIGHT)
>                                    (ly:context-property context 'currentMusicalColumn)))
>                          (set! finished '())))
>                    (if (ly:spanner? span)
>                        (begin
>                          (ly:warning "unterminated underline")
>                          (ly:grob-suicide! span)
>                          (set! span '()))))))))
>
> %%% Fin du fichier "underline.ily" %%%%%%%%
>
> %%%%%%%%%%%%%%%%%% Exemple %%%%%%%%%%%%%%%%%%%%
>
> \version "2.18.2"
>
> \include "italiano.ly"
>
> %\include "underline.ily"
>
> A_XXXIV = \relative do'' {
>   \clef treble
>   \key mi \major
>   \time 3/4
>   \autoBeamOff
>   \compressFullBarRests
>   R2.*10 sold8.[(la16] si4) si dod8.[( red16] mi4) mi r8 mi([ red]) dod([ si la]) sold4 la sold
>   la4.( si16[ dod]) si4 red4( mi) la, \grace{sold8} fa2 dod' mi4 red sold, lad2 si r4 la!2 r4 la4 sold r R2.*2 la8.([ si16] dod4) dod si8.[( dod16] re4) re r8 re8[( dod]) si[( la sold]) la4 dod si lad2 si4 r fad mi'4 mi( red)
>   % Page 4
>   la!2 fad4 sold( la8) si fad2 mi4 sol sol sol2.\fermata r4 fad4 mi' mi( red!) la2 fad4 sold( la8) si fad2 mi r4 R2.*4 r4 sold8[( fad mi)] sold fad si la[( sold fad]) la \slurUp sold[( red mi la]) \slurNeutral sold4 r sold8[( fad mi])
>   sold8 fad si la[( sold fad]) la \slurUp sold[( red mi la]) \slurNeutral sold4 r la8[( sold la]) dod si mi re[( dod re]) re re[( dod si] re) dod4 r la8[( sold la]) dod8 si mi re[( dod re]) re re[( dod si re]) do4 r do fad, fa2 fad4 sold8.[( la16] si4) sold
>   la lad lad si do2 r4 dod red mi1 red4 lad4 do2. dod!2.
> }
>
> RAL_XXXIV = \lyricmode {
>   O \startTextSpan wie brich -- stu mir das Herz,
>   Je -- su, Je -- su welch ein Schmerz,
>   dich al -- so zu se -- hen? O Je -- su,
>   \stopTextSpan o
>   \startTextSpan wie brich -- stu mir das Herz
>   Je -- su Je -- su welch ein Schmerz dich al -- so
>   zu se -- hen, welch ein Schmerz welch
>   ein Schmerz dich al -- so zu se -- hen. \stopTextSpan
>   War \startTextSpan -- test du beÿ al -- ler
>   Pla -- ge ob nicht je -- mand Wie seid tra -- ge,
>   fin -- det solch ein Jam -- mer Rei -- nen
>   men -- schlich gnug dich zu be -- wri -- nen
>   o dir soll ein Le -- bens lang mei -- ne
>   Thrä -- nen und mein Dank nicht ert -- ste -- hen. \stopTextSpan
> }
>
> \score {
>   \new Staff <<
>     \new Voice = "A" { \A_XXXIV }
>     \new Lyrics \lyricsto "A" { \RAL_XXXIV }
>     \new Lyrics
>       \with {
>         \consists #underline-engraver
>         \override TextSpanner.direction = #DOWN
>         \override TextSpanner.style = #'line
>         \override TextSpanner.outside-staff-priority = ##f
>         \override TextSpanner.padding = #0.1 % sets the distance of the line from the lyrics
>         \override TextSpanner.bound-details =
>             #`((left . ((Y . 0)
>                         (padding . 0)
>                         (attach-dir . ,LEFT)))
>                (left-broken . ((end-on-note . #t)))
>                (right . ((Y . 0)
>                          (padding . 0)
>                          (attach-dir . ,RIGHT))))
>       }\lyricsto "A" { \RAL_XXXIV }
>     \new Lyrics \with {
>       \override LyricText.color = #blue
>     }\lyricsto "A" { \RAL_XXXIV }
>     \new Lyrics \with {
>       \override LyricText.font-shape = #'italic
>     }\lyricsto "A" { \RAL_XXXIV }
>   >>
>   \layout {}
> }
>
>
~Pierre
>
 

>
> [ capture.JPG (127.8 Ko) ]

reply via email to

[Prev in Thread] Current Thread [Next in Thread]