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: Sun, 28 Feb 2016 11:32:09 +0100 (CET)

Bonjour Bernard,

 

Chez moi cela fonctionne. J'ai créer le fichier "underline.ily" ainsi :

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

 

% File from Neil Puttochk
% Works from version 2.13 to 2.16.2
% 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" %%%%%%%%

 

Et voici un exemple d'utilisation. Il est important de noter que dans la section \layout, le context Lyrics est trè important :

 

%%%%%%%%%%%%%%%%%% Exemple %%%%%%%%%%%%%%%%%%%%

\version "2.16.2"

\include "italiano.ly"

\include "underline.ily"

 

A_XXXIV = \relative do'' {

\key mi \major \time 3/4 \clef treble

\autoBeamOff

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 }

%

>>

\layout {

\context {

\Lyrics

\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))))

}

}

}

 

%%%%%%%%%%%% Fin de l'exemple %%%%%%%%%%%%%%%%%%

 

Boin dimanche,

 

Rémy

 

 

 

 

> Message du 28/02/16 10:48
> De : "Daniel Bernair" <address@hidden>
> A : "Christophe Pochon" <address@hidden>, "Remy CLAVERIE" <address@hidden>
> Copie à : "LilyPond" <address@hidden>
> Objet : Re : Underline / Lyrics et changement de couleur
>
>
Bonjour à tous.
Etant très intéressé par cette possibilité de surlignage des paroles en Lyricmode, j’ai donc exécuté  “ underline-2.13.ly (7K) Download Attachment ” et apparemment il a été bien installé. cependant, cela ne fonctionne que sur une syllabe. faut-il faire un include de ceet attachment dans la source de la partition ?  Voici ce que j’ai simplement fait :
Dans le  Lyricmode  { .....

- y -- - % 10

 

\markup { \underline son, e} -- - - % 11

 

- le -- - y -- %12

 

"son]" % 12

Et seulement le son, de la mesure 11 est souligné. En fait, je voulais seulement changer la couleur n rouge des corrections pour que le contrôleur ait plus facile. Mais j’avais abandonné car trop compliqué.

Toutes les idées sont les bienvenues.

Merci

Daniel Bernair

 
Date : samedi 27 février 2016 15:40
Objet : Re: Underline / Lyrics
 
J'ai trouvé une solution ici :
 
 
C'est écrit pour la 2.13 (il y a un fichier à télécharger presque tout à la fin de la discussion), et j'ai testé sur la 2.19 et ça fonctionne :-)
 
A+
 
Christophe
 
 
Le 27 février 2016 à 12:51, Remy CLAVERIE <address@hidden> a écrit :
>

> Bonjour à tous,

>  

> Je souhaitais souligner des Lyrics mais j'ai vu sur la liste "lilypind-user" que ce n'était pas possible.

> L'un de vous sait-il si c'est en préparation dans une prochaine version ?

>  

> Merci

>  

> Bon WE,

>  

> Rémy

>  


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

>


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


reply via email to

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