[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scheme engraver and multiple voices
From: |
Jan-Peter Voigt |
Subject: |
scheme engraver and multiple voices |
Date: |
Fri, 04 Jan 2013 14:54:43 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
Hello list,
I am experimenting with scheme engravers and have an issue with
simultanious voices:
--snip--
\version "2.16.0"
\layout {
\context {
\Voice
\consists #(let ((ccid 1))
(lambda (context)
(let ((id ccid))
(set! ccid (+ 1 ccid))
`((start-translation-timestep .
,(lambda (trans)
(format #t "~A: ~A ~A\n" id (ly:context-property context 'currentBarNumber)
(ly:context-property context 'measurePosition))))
))))
}
}
\score {
\relative c'' {
c d << { e f } \\ { c d } >>
}
}
--snip--
This little snippet prints out the barnumber and measure-position for
each engraver, when start-translation-timestep is called.
The output here is:
--snip--
1: 1 #<Mom 0>
1: 1 #<Mom 1/4>
1: 1 #<Mom 1/2>
-- here are voices 2 and 3 missing for #<Mom 1/2>?
1: 1 #<Mom 3/4>
2: 1 #<Mom 3/4>
3: 1 #<Mom 3/4>
1: 2 #<Mom 0>
2: 2 #<Mom 0>
3: 2 #<Mom 0>
--snip--
so, the start-translation-timestep slot is not called, when the new
voices are newly created.
I want to push overrides at specific locations using this engraver. This
is done in the start-t..-slot.
Why is this not called?
Does anybody know?
Best wishes for the new year!
Regards,
Jan-Peter
- scheme engraver and multiple voices,
Jan-Peter Voigt <=