Notation for the sustain pedal has a problem. \sustainOff must be issued in
the same Voice and the same Staff as the corresponding \sustainOn. Or the
engraving will fail, the MIDI will be wrong, and there will be error
messages about the unknown piano pedal.
This is a problem, because voices come and go, and the jump from Staff to
Staff. It is always possible to work around - but it'd be so much better to
not need to work around this. After all, a piano has only one sustain pedal,
and it affects all the keys - not matter which Staff or which Voice they
Ideally, the sustain state should be tracked per pianoStaff, not per Staff
and not per voice.
I ran into difficulties with Grieg's concerto in A minor. Sustain is
engraved under the "down" Staff, but the voice jumps to the "up" Staff
before release. Putting the pedals in the upper voice is not a solution
either, for the upper notes sometimes have longer durations.
The workaround is to sometimes create an extra voice for the notes that
switch staff, and keep the voice with sustain going with skips of
appropriate length. This works, but is cumbersome. Especially when tuplets
of silence is needed to get the timing right. The code gets large and ugly,
and lilypond complains that it can't draw tuplet bars for my "silent
tuplets". So I have so many harmless warnings that bar checks and other
useful messages drown.
It would be so much easier to be able to issue sustain on and off no matter
what staff the voice currently is on.
On 01/04/2014 12:35 PM, Helge Hafting wrote:
> Notation for the sustain pedal has a problem. \sustainOff must be issued in
> the same Voice and the same Staff as the corresponding \sustainOn. Or the
> engraving will fail, the MIDI will be wrong, and there will be error
> messages about the unknown piano pedal.
This certainly seems to be wrong behaviour, Helge. Would you give a Tiny
Example, please, and I'll create the issue from it.
One of the advantages of being disorderly is that one is constantly
making exciting discoveries.
- A. A. Milne, From the Daryl R. Gibson collection