Graham Percival <[email protected]> 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
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel