lilypond-user
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]