lilypond-user
[Top][All Lists]
Advanced

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

Re: Detecting polyphony from stencil-override


From: David Kastrup
Subject: Re: Detecting polyphony from stencil-override
Date: Tue, 28 Mar 2017 15:29:34 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Urs Liska <address@hidden> writes:

> Am 28.03.2017 um 14:56 schrieb David Kastrup:
>
>> You may try looking at the grob-property-data of 'direction which
>> will be a direction when there is a direction override in progress
>> (pointing to a multi-voice situation) and usually some sort of
>> callback for the decision-making when it isn't.  Except that the
>> callback might already have been called and replaced with a
>> direction.  So it's a bit shaky.
>
> Hm, I'll have to try figuring out what that means.
> Can that discern between a manual (local) override or a polyphony
> \voiceXXX assignment?

No, and to me it very much seems like you are wanting to be too clever.
It looks like you are planning to create behavior that tries
distinguishing cases non intended to be different.  That's a recipe for
things becoming unpredictable to the user and other programmers.

> Another option that would help me if it were possible to override some
> custom property whenever a polyphonc section starts or stops (but it
> has to be the implicit \\ construct, as that is what comes in from a
> format converter).

There are other cases of polyphony.  You can override the treatment of
the \\ construct (it's expanded in some music hook) but I doubt that it
is a good idea to go against expectations.

> The thing is, I can always read the 'direction from ly:grob-property,
> but that doesn't tell me anything about its cause.

And making that case different is not likely a good idea.

> The actual problem is: I want to overrule LilyPond's direction
> handling and place ties always opposite of the stem direction - but
> only in monophonic, i.e. \oneVoice situations. In polyphonic sections
> they have to point "outside", just as usual.

So where is the problem?  Override your tie direction callback to do
just that.  In polyphonic sections, the direction will be overriden
anyway.

-- 
David Kastrup



reply via email to

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