[Top][All Lists]

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

Re: Substitute for s1*0

From: David Kastrup
Subject: Re: Substitute for s1*0
Date: Tue, 08 May 2012 02:15:03 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Pavel Roskin <address@hidden> writes:
>> On Sun, 06 May 2012 10:34:24 +0200
>> David Kastrup <address@hidden> wrote:
>>> Quick: tell me what you would expect without too much thinking
>>> (imagine you are a naive user) from the following:
>>> \new Staff <<
>>>   \relative c'' { c4 d e f s1*0-\markup Oops c d e f g1 } \\
>> A spacer 1 unit wide and 0 units high.
>>>   \relative c' { c4 d e f <>-\markup Wow c d e f g1 }
>> A rhombus.
>> I'm fine with whatever works for now, but please keep in mind that
>> Lilypond it written not just for programmers.
> I have not yet seen a proposal that would be more suitable for
> non-programmers.  The counterproposal from the "don't let programmers
> take over" is not to let users know about the ready availability of this
> construct.  I consider that inappropriate.
> I tried discussing using "< >" in the documentation vs the possibly
> stranger looking "<>".  Which more or less is the same to programmers,
> but might make a difference in strangeness to those of the
> non-programming faction.  However, there has been no feedback whatsoever
> on this proposal.
> I'll probably take a look to see what it takes to require nothing at all
> before explicit postevents.  It will likely cause some surprises in
> behavior.  And of course, it will not be backward compatible.
> It is likely that this is not feasible.  But maybe at least trying will
> serve to convince some people that I am not out to turn LilyPond into
> something only useful to programmers.

Several complications so far that I don't know a good way around.

For one, it does not help for this discussed case:

\relative c' {
 e2\p\< d\> <>\!

If you leave off <>, \! will attach itself to d and be run too early.
True, one will be able to write _anything_ to detach it, like a
barcheck, or {} or <<>> or even ##f, but then that does not really seem
like much of an improvement over < >.

For another,

xxx = -\markup { something }

is ambiguous: will \xxx now be a proper postevent, or an empty chord
with a postevent attached?  It does not seem proper to switch from the
previous meaning, namely just a postevent.

xxx = -\markup "one" -\markup "two"

in contrast will have to be an assignment of an empty chord with two
postevents attached: in contexts where assignments are allowed, simple
music can't occur by itself.

The difference is not academical: a postevent by itself will attach
itself to a preceding chord or simple note.  An empty chord with one or
more postevents attached will stay in the following timestep.

While I readily admit the attractiveness of something like
|-\markup { text }
behaving almost like the markup was attached to the bar check, there are
many cases where the question "attached or detached" results in
significant changes of behavior.

So I don't see that this approach will provide us with a convenient
escape from the conflict of interest.

David Kastrup

reply via email to

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