Heikki, this is so much better than your first patch. Thanks for working on it!
As I mention in the comments, I think the current behavior of changing dynamics in identically-named but distinct voices is flawed, so I think it should be a known issue, not in the main documentation. But I like the main documentation entry about the default value; I think it belongs right where it is and is a great addition to our documentation. Thanks, Carl https://codereview.appspot.com/302930043/diff/20001/Documentation/notation/input.itely File Documentation/notation/input.itely (right): https://codereview.appspot.com/302930043/diff/20001/Documentation/notation/input.itely#newcode3028 Documentation/notation/input.itely:3028: value 0.71 in the available MIDI volume range between 0 and 1. I think that it's useful to know what the default value is. But I also think we should have a comment that indicates it is defined in scm/midi.scm It would probably also be useful to give the name of the variable that holds the default value, because the user can specify any desired default value by changing the variable. And it might be useful to show how to use default-dynamic-absolute-volume to set the default value to one of the dynamic levels (it's currently between mf and f). https://codereview.appspot.com/302930043/diff/20001/Documentation/notation/input.itely#newcode3030 Documentation/notation/input.itely:3030: identically named voices in the same @code{Staff}. I hadn't realized this feature of MIDI. I believe this behavior to be a bug. Dynamic changes should only apply to a specific voice, and as is made clear in http://lilypond.org/doc/v2.18/Documentation/notation/creating-and-referencing-contexts , \new will always create a new context. The fact that a new context is created is demonstrated in the first note of the new voice A getting the default value, rather than the pppp value. I believe it is a flaw in the MIDI performer to allow any Voice in a Staff with the same name to share MIDI dynamics. In your code, if you change the second A voice name to AA, the c1 on line 3052 would have the dynamic level of pppp. I appreciate your effort to document the fact that a default dynamic level exists. I think that is important. I also appreciate your effort to document the current behavior of LilyPond, but I don't think we should do it, because I think it's a bug and we shouldn't document bug behavior in the main body of the manual (I don't think it's intended behavior; at least I wouldn't be in favor of that behavior). I think that the behavior indicated in your example should be documented as a Known Issue, which means we recognize it as a bug. And we should have an issue as well (MIDI volume levels leak between identically named voices). https://codereview.appspot.com/302930043/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel