lilypond-devel
[Top][All Lists]
Advanced

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

Re: \change Voice


From: David Kastrup
Subject: Re: \change Voice
Date: Sun, 03 May 2015 22:42:38 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Dan Eble <address@hidden> writes:

> On Apr 30, 2015, at 08:26 , David Kastrup <address@hidden> wrote:
>> 
>> Dan Eble <address@hidden> writes:
>> 
>>> What if we defined \override Grob.property as addressing the nearest
>>> enclosing context named “”, and aliased all contexts except
>>> part/sub-voice to “”.  (Maybe I’ll try that tonight and see what
>>> happens.)
>> 
>> That sounds like a recipe for disaster in connection with implicit
>> context creation since an \override does _not_ create implicit contexts
>> _unless_ it is needed for the override to succeed.
>> 
>> So if you do things like
>> \new Staff { \voiceOne c d \oneVoice ...
>> then \oneVoice will no longer be able to cancel \voiceOne (with respect
>> to other voices) since \voiceOne will have registered at Staff level.
>> So a \new Voice { ... } will still be under the influence of \voiceOne.
>
> Thanks to both of you for your feedback.  These are my current
> thoughts on \partcombine.
>
> Adding a wrapper context will have undesirable effects.

The question is what requirements or mechanisms we could employ in order
to remove the undesirable effects.

For example, it could be possible to define a special translator for
subcontexts that diverts (all? all but specified?) overrides to the
parent context.  Or generally let "Bottom" overrides register at the
"topmost" "Bottom".

If a wrapper context would be a good tool except for "undesirable
effects", addressing those seems like a good idea, probably not just for
this application.

> I think I will experiment with a smaller step.  I will try to make
> part-combine-iterator route events using one list of outlet-change
> instructions per part instead of a single split-list that ties the two
> parts together.  The outlet-change instructions would still be
> separate from the music as the split-list is now.  Turning the
> split-list into per-part lists would be done in scheme, thereby
> lowering the bar for experimentation and future improvements.

The part combiner is nowhere near where I consider it a smooth and
elegant tool in the box.  There is a lot of room for experimentation but
also frustration and dead ends.  Most current ways (or extensions) for
adapting its behavior to particular tasks are quite dissatisfactory all
with regard to the actions required by the user, with regard to the
mechanisms employed for implementing it, and somewhat related, with the
consistency and predictability of the results.

-- 
David Kastrup



reply via email to

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