On Apr 6, 2011, at 10:30 PM, Carl Sorensen wrote: > On 4/6/11 7:32 PM, "mts...@gmail.com" <mts...@gmail.com> 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 _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel