|
From: | Christophe Pochon |
Subject: | Re: Marque d'avancement, I ou J |
Date: | Fri, 17 Apr 2015 21:54:49 +0200 |
De manière globale, ça marche bien (voir premier \score). Mais si on reporte
les graveurs de mark dans un contexte de voix, ça ne fonctionne plus,
Dans le fichier Lilypond "music-function-init.ly" la fonction \mark est définit de la manière suivante :
mark =
#(define-music-function
(parser location label) ((scheme? '()))
"Make the music for the \\mark command."
(let* ((set (and (integer? label)
(context-spec-music (make-property-set 'rehearsalMark label)
'Score)))
(ev (make-music 'MarkEvent
'origin location)))
(if set
(make-sequential-music (list set ev))
(begin
(set! (ly:music-property ev 'label) label)
ev))))
Il y a l'instruction
(context-spec-music ... 'Score).
Il suffit de la changer par :
(context-spec-music ... 'Staff)
en redefinissant une fonction appelée \markStaff par exemple :
%%%%%%%%%%%%%%
\version "2.18.2"
markStaff =
#(define-music-function
(parser location label) ((scheme? '()))
"Make the music for the \\mark command."
(let* ((set (and (integer? label)
(context-spec-music (make-property-set 'rehearsalMark label)
'Staff)))
(ev (make-music 'MarkEvent
'origin location)))
(if set
(make-sequential-music (list set ev))
(begin
(set! (ly:music-property ev 'label) label)
ev))))
musicA = \relative c'' {
c1
\mark \default
\repeat unfold 8 {c1 \mark \default}
c1
%%\mark 11
c1
}
musicB = \relative c'' {
c1
\mark \default
\repeat unfold 8 {c1 \mark \default}
c1
\markStaff 11
c1
}
staffMusic = \new Staff \with {
\RemoveEmptyStaves
\consists "Mark_engraver"
\consists "Metronome_mark_engraver"
\consists "Staff_collecting_engraver"
markFormatter = #format-mark-box-alphabet
}
\musicB
\score { % mark_engraver reporté dans le contexte Staff
<<
\new StaffGroup
<<
\new GrandStaff
<<
\staffMusic
\musicA
>>
>>
>>
\layout {
\context {
\Score
\remove "Mark_engraver"
\remove "Volta_engraver"
\remove "Metronome_mark_engraver"
\remove "Staff_collecting_engraver"
}
}
}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
Gilles
_______________________________________________
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] |