[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: manipuler les VoiceFollowers
From: |
Gilles |
Subject: |
Re: manipuler les VoiceFollowers |
Date: |
Fri, 24 Jun 2011 14:53:48 +0200 |
User-agent: |
Opera Mail/11.11 (Win32) |
C'est là que ça se gâte, parce qu'autant le \once \override ...
fonctionne bien (on le voit avec a=3 et b=-4), autant l'équivalent en
Scheme ne faire strictement aucun effet... à part de m'annuler le
\relative c{...} au passage... ça doit vraiment être une histoire de
niveau d'arborescence...
Comme tu l'as programmé, tu ajoutes l'override à l'intérieur du
sequential-music qui se trouve être dans l'exemple donné une note (un
EventChord exactement).
Apparemment ce genre d'override à l'intérieur d'un accord, Lilypond ne le
comprends pas.
Si j'ai bien compris ce que tu voulais, tu n'as pas besoin de paramètre
sequential-music
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ligne = #(define-music-function (parser location )()
"modifie les positions de spoints d'attache des lignes de suivi des voix
VoiceFollower"
(make-music 'ContextSpeccedMusic
'context-type
'Bottom
'element
(make-music
'OverrideProperty
'pop-first #t
'grob-property-path (list 'bound-details)
'grob-value (list (list 'right
(cons 'attach-dir 0)
(cons 'padding 3))
(list 'left
(cons 'attach-dir 0)
(cons 'padding -4))
)
'once #t
'symbol 'VoiceFollower)))
ligneQuiMarche = \once \override VoiceFollower #'bound-details = #'((right
(attach-dir . 0) (padding . 3)) (left (attach-dir . 0) (padding . -4)))
\new PianoStaff <<
\new Staff = "up" <<
\new Voice {\relative c'' {\voiceOne c1}}
\new Voice {\relative c'' {\voiceTwo g4 \change Staff = "down"
\showStaffSwitch \ligne
% \displayMusic \ligneQuiMarche
g, c c }}
>>
\new Staff = "down" << \clef F \relative c {c1} >>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%