On Sat, 23 Nov 2013 08:31:17 -0800, Devon Schudy <[email protected]> wrote:
Is “relative-volume” clearer? Also, should it have something like “perform” in its name (or “midi”, like the midi* context properties) to make it easy for users looking for a layout property to ignore it?
Adding 'midi-' would help.
The trouble with calling it ‘velocity’ is that dynamics currently also set velocity rather than channel volume, which is why they can't change the volume in the middle of a note. (There's code for using the channel volume, but it's disabled, apparently because of bugs?) Also users might expect velocity to be an absolute MIDI velocity of 1 to 127 rather than something relative to the dynamic.
Using the word 'velocity' in the name of the property that affects the MIDI "note-on-velocity" should not cause confusion. Adding 'relative-', or the doc-string you already have, or seeing how the property is used with accents, should prevent misunderstanding as the absolute "note-on-velocity". In version 2.12, dynamics were implemented as channel volume. The volume did not change in the middle of the note, however, because there was no system to generate a midi event in the middle of the note. Sometimes two lines of music share a midi channel (if we need all 16 channels for different instruments) and Jan added an option to do that automatically. But then when left- and right-hands of piano, for example, shared a MIDI channel but had different dynamics, they would fight over the single volume setting. Jan moved the dynamic implementation to note-on-velocity. MIDI note-on-velocity is good for dynamics. I think several midi players adjust the timbre based on that velocity. Crescendos can still be implemented with the channel 'volume', or better the 'expression', if we add a mechanism to send a few control-change events through the crescendo. _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
