Hi Ming,
On Fri, Feb 14, 2014 at 4:09 PM, MING TSANG <[email protected]> wrote:
> As the sample from David Nalesnik that combine three set of variables into
> one, I try to do the same to combine two sets into one. I have problem to
> let the combine code to recognize a list that is to be passed to the
> variable.
>
See attached.
HTH,
David
\version "2.18"
#(define solfege (circular-list "d" "r" "m" "f" "s" "l" "t"))
#(define numbers (circular-list "1" "2" "3" "4" "5" "6" "7"))
#(define (Ez_noteheads-engraver lst )
(list
(cons 'acknowledgers
(list
(cons 'note-head-interface
(lambda (engraver grob source-engraver)
(let* ((context (ly:translator-context engraver))
(tonic-pitch (ly:context-property context 'tonic))
(tonic-name (ly:pitch-notename tonic-pitch))
(delta (- 7 tonic-name))
(solfege-base lst)
(solfege (take (drop solfege-base delta) 7))
(note-names (apply vector solfege)))
; (display solfege)(newline)
(ly:grob-set-property! grob 'note-names
note-names))))))))
EzON = {
\easyHeadsOn
\override Staff.StaffSymbol.staff-space = #1.5
\override Staff.StaffSymbol.line-thickness = #1.5
\override Staff.NoteHead.font-size = #+3.25
\override Staff.Clef.font-size = #+1.35
\override Staff.TimeSignature.font-size = #+1.35
\override Staff.Accidental.font-size = #+1.35
\override Voice.NoteHead.font-size = #-5.25
}
EzNum = \with { \consists #(Ez_noteheads-engraver numbers ) }
EzSol = \with { \consists #(Ez_noteheads-engraver solfege ) }
% {
global = { \key c\major \time 4/4 }
muxI = \relative c'' { \global
c1 d2 e2 f4 g4 a8 b8 r4 \break
\key f\major f1 g2 a2 b4 c4 d8 e8 r4
}
muxII = \relative c' { \global
c1 d2 e f4 g a8 b8 r4
\key f\major f1 g2 a b4 c d8 e8 r4
}
\score {
\new Staff
<<
\new Voice = "sop" \EzNum
{ \voiceOne \EzON \muxI }
\new Voice = "alt" \EzSol
{ \voiceTwo \EzON \muxII }
>>
\layout { }
}
%}
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user