Hi,
In performance.cc, there is a comment from Han-Wen:
/*
Huh? Why does each staff also have a separate channel? We
should map channels to voices, not staves. --hwn.
*/
This refers to the fact that tracks are assigned to Audio_staff.
I agree with the comment, but I think that this effect can be achieved
by moving the "Staff_performer" from the Staff context to the Voice
context as the following demonstrates:
\version "2.11.32"
\midi {
\context {
\Staff
\remove "Staff_performer"
}
\context {
\Voice
\consists "Staff_performer"
}
}
\score {
{
<<{c' d' e' f'} \\ {c' b a g} >>
}
\midi{
}
}
With the \midi block context modifiers, the output midi file seems to
have 2 tracks, one for each voice, labelled "1" and "2".
Without the modifiers, all the notes are stuffed into a single track.
This is so because the Staff_performer is actually just a note catcher -
it creates a single Audio_staff object and stuffs all the notes received
from any child voices. Putting it in Voice makes it catch only the notes
in the single Voice context in which it resides.
Does anybody agree/disagree that this is more desirable behaviour?
Regards,
Ralph
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel