lilypond-user
[Top][All Lists]
Advanced

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

Re: Easiest way to call one voice (for parts)?


From: Torsten Hämmerle
Subject: Re: Easiest way to call one voice (for parts)?
Date: Thu, 12 Jul 2018 02:08:43 -0700 (MST)

SoundsFromSound wrote
> One question though:
> 
> When you write -
> 
> /Unfortunately, \voiceOne and \voiceTwo expands in lots and lots of 
> single events setting various properties. That way, the stem directions 
> and rest positions won't be neutral in the resulting single voice 
> extracts.As it is not possible to distinguish between \voiceOne and 
> singular deliberate \override or \set commands, I just decided to filter 
> out any OverrideProperty orSetProperty event).
> 
> 
> /What negative side effects could result from these 'single events'? 
> Just curious what I should be on the lookout for when using keepVoice. 
> You mean I may have to flip a few things or move markings around?

Yes, exactly. The point is: you can't tell whether an explicit stem
direction has been set by \voiceOne or \stemUp.

If you don't remove 'OverrideProperty events, the \voiceOne resp. \voiceTwo
settings that made sense in the original polyphonic context, these settings
will still be there in the filtered single voice. In the filtered single
voice, however, we'd like to have rests in their standard position, we'd
like to have stems in their natural direction.

If we didn't filter out 'OverrideProperty events, the result would look like
this:

<http://lilypond.1069038.n5.nabble.com/file/t3887/keepVoice-prop-remains.png> 

By "unfortunalty", I mean that this cleansing also filters out \override
statements that have been deliberately inserted - they will get lost, too.
A \stemUp command, for instance, will look like this (using \displayMusic)

          (make-music
            'OverrideProperty
            'pop-first
            #t
            'grob-value
            1
            'grob-property-path
            (list (quote direction))
            'symbol
            'Stem))))

\voiceOne will produce (among many, many others) nearly the same event and
the filter can't say where exactly the 'OverrideProperty comes from and thus
can't decide whether to keep it or not.

There is a slight difference that could be used for distinction: \override
settings use a list, even if this list consists of one element:
    'grob-property-path (list (quote direction))
whereas \voiceOne etc. just generates
    'grob-property 'direction
instead.

This subtle difference might be used for a more intelligent filtering.

In the current (simple) version, there is no such distinction yet and if you
don't want to lose all the cosmetic overrides, you might keep the
'OverrideProperty events and use tags (\tag) for \voiceOne and \voiceTwo.
These tags could be easily inserted using search and replace.

All the best,
Torsten




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html



reply via email to

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