lilypond-devel
[Top][All Lists]
Advanced

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

Re: Allows users to request that beam collision occur on the Voice level


From: address@hidden
Subject: Re: Allows users to request that beam collision occur on the Voice level. (issue4367042)
Date: Thu, 7 Apr 2011 07:46:35 -0400

On Apr 6, 2011, at 10:30 PM, Carl Sorensen wrote:

> On 4/6/11 7:32 PM, "address@hidden" <address@hidden> wrote:
> 
>> Reviewers: ,
>> 
>> Message:
>> Before pushing the stem patch (thanks to Trevor and Han Wen for the
>> LGTMs), I'd like to push this one.  It allows for beam collision to
>> happen momentarily on the Voice level via an override.  I will
>> subsequently integrate this into the quote.ly and quote-during.ly
>> regtests.
>> 
>> Please reply with any and all comments!
> 
> I haven't followed this carefully, so I hesitate to comment, but this
> doesn't seem like the semantically right way to handle the desired behavior.
> 
> Instead of making a Staff level property, it seems that it ought to be a
> Voice level property.  That is, in a Voice I ought to turn off the beam
> collision engraver for objects from other Voices.  But I don't know if such
> an approach is feasible.

Hey Carl,

I believe this is just an issue with the regtest.

Check out this bit of recycled music from beam-collision-opposite-stem.ly :

vO = { \override Voice . Beam #'collision-voice-only = ##t }

{
  \relative c'' { << { \vO s16 e16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 e16 [ s cis, ] } \\ { b''16 [ s b ] } >> }
  \relative c'' { << { \vO s16 d16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 c16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 b16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 a16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 g16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 c,16 [ s cis' ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 c,16 [ s cis'' ] } \\ { b16 [ s b ] } >> }
  \relative c'' { << { \vO s16 f,16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 e,16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 d,16 [ s cis ] } \\ { b'16 [ s b ] } >> }
  \relative c'' { << { \vO s16 e16 [ s cis ] } \\ { b'16 [ s d ] } >> }
  \relative c'' { << { \vO s16 e16 [ s cis ] } \\ { b'16 [ s f' ] } >> }
  \relative c'' { << { \vO s16 e16 [ s cis ] } \\ { b'16 [ s a ] } >> }
  \relative c'' { << { \vO s16 e16 [ s cis ] } \\ { b'16 [ s gis ] } >> }
}

I use the override on the Voice level and the expected output results (all 
collisions in the upper voice reappear, whereas the lower ones are avoided).

Is what you're getting at more an issue w/ the regtest, or is it a problem w/ 
the C++ code?

Cheers,
Mike


reply via email to

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