|
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
De : Christophe PochonDate : samedi 27 février 2016 15:40À : Remy CLAVERIECc : LilyPondObjet : Re: Underline / LyricsJ'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+ChristopheLe 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
>
[Prev in Thread] | Current Thread | [Next in Thread] |