Comment #18 on issue 2707 by [email protected]: Patch: Midi volume fixes
http://code.google.com/p/lilypond/issues/detail?id=2707
The obvious fix with << { s8\> s8\! } << {...} \\ {...} >> >>
avoids Heikki's warning (about a decrescendo starting a brand new voice)
but the problem remains, or is maybe a bit worse. << \\ >> voices still
receive the default dynamic level.
Getting proof-readable MIDI dynamics output from morgenlied.ly is not
terribly difficult, but it involves problems beyond those solved in
Heikki's patches.
I mentioned above that I move Dynamic_performer to the PianoStaff context,
so the dynamics affect both staves, but this no longer works in general.
Jan's new code does not support the "hack" of moving performers to
different contexts. The Dynamic_performer keeps track of the current
dynamic level in its assigned domain, but now the Staff_performer matches
notes to dynamics based on the id-string of the Voice from which they came
(using dynamic_map_ in the code). If I name any voices explicitly { \new
Voice = "my-id-string" } or implicitly << \\ >> the notes in these voices
are not connected to the dynamics collected at PianoStaff level, so they
come out mezzo-forte-ish.
In practice I give up and just \remove Dynamic_performer. Heikki tries
harder, and shares with the rest of us.
Attachments:
morgenlied.ly 5.6 KB