Graham Percival <gra...@percival-music.ca> writes: > I'd like to float two ideas about events. > > The first is to define a "null" event which functions like the > empty chord <>. Although mathematicians and programmers are quite > comfortable with contains with 0 items inside them, this is not a > particularly intuitive concept (just look at the concept of zero > in the history of mathematics!)
But <> does not solely rely on the concept of 0 items to be a recognizable unit. If it did, <>\p < >\p < %{ empty %} > \p < > \p would all look the same to the user. The 0 item property is a useful mnemonic that helps you remembering what <> means without looking in the manual. Which reminds me: we should likely put <> in the index since it looks so much like something with a meaning of its own that people might well look it up as a unit. > This would allow people to write either: > { c'1\< <>\! } > { c'1\< z\! } > The non-timed null event z would be inserted after the previous > note (the c'1) is finished. Hardly surprising given the past discussions, I don't fancy introducing something that needs a new music name as well as likely a new music type (so far, only event-chord and rhythmic-event types can take a post-event, and a rhythmic-event _always_ has a duration which will also get printed when using \displayLilyMusic, and lots of code uses the music type event-chord interchangeably with the music name EventChord). > A vaguely-related idea is to allow easy positioning of musical > events within a note. Instead of having a non-timed null event > which begins *after* the previous note, we have a timed null event > which begins at the same time as the previous note. An example > might make that much more clear: > \new Voice { << { c'1 } { s4\< s s\> s\! } >> } > \new Voice { c'1 y4\< y y\> y\! } If this is supposed to be equivalent, note that there is no difference between c'1\< and c'1 y4\< when viewed alone, yet in context they are supposed to generate different output. I suspect that you were rather thinking about the first line being << { c'1 } { s4 s\< s s\> <>\! } >> I don't really think that this (assuming that this is what you wanted to write) is clearer than \at 4 \< \at 1 \! c'1 and at any rate, it looks that this is to a good degree a self-made problem by virtue of us turning dynamics into post-events, something which does not really fit their nature well. > Of course in complicated piano it would still be necessary to have > explicit voices, but this could simplify such constructs for > string, voice, and wind instruments. For some definition of "simplify". -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel