lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GLISS] non-timed or non-musical events "z" "y"


From: David Kastrup
Subject: Re: [GLISS] non-timed or non-musical events "z" "y"
Date: Thu, 13 Sep 2012 01:56:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

Graham Percival <address@hidden> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]