lilypond-devel
[Top][All Lists]
Advanced

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

Re: Implements beam collision rest avoidance. (issue4465049)


From: address@hidden
Subject: Re: Implements beam collision rest avoidance. (issue4465049)
Date: Thu, 5 May 2011 16:51:11 -0700

On May 5, 2011, at 1:50 PM, address@hidden wrote:

> On 2011/05/05 20:44:36, Neil Puttock wrote:
>> On 2011/05/05 16:30:28, MikeSol wrote:
> 
>> > (a) People to confirm that the circular dependency I fear (beam
> placement
>> > relying on rest placement relying on beam placement relying on...)
> does not
>> > exist.
> 
>> Did you do a regtest run with an unoptimised binary?
> 
>> I get cyclic dependency errors in three tests.  Here's an example from
>> beam-collision-basic.ly:
> 
>> @@ -4,6 +4,48 @@
>>  Preprocessing graphical objects...
>>  Calculating line breaks...
>>  Drawing systems...
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:27: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'stem-end-position (Stem)
>> +    \repeat unfold 8 { c8[
>> +                           c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:27: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'stem-end-position (Stem)
>> +    \repeat unfold 8 { c8[
>> +                           c] }
>> +beam-collision-basic.ly:16:27: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'Y-extent (Stem)
>> +    \repeat unfold 8 { c8[
>> +                           c] }
>> +beam-collision-basic.ly:16:27: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'Y-extent (Stem)
>> +    \repeat unfold 8 { c8[
>> +                           c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:27: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'stem-end-position (Stem)
>> +    \repeat unfold 8 { c8[
>> +                           c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:25: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'quantized-positions (Beam)
>> +    \repeat unfold 8 { c8
>> +                         [ c] }
>> +beam-collision-basic.ly:16:27: programming error: cyclic dependency:
>> calculation-in-progress encountered for #'stem-end-position (Stem)
>> +    \repeat unfold 8 { c8[
>> +                           c] }
>>  Writing header field `texidoc' to `./53/lily-2d77f62d.texidoc'...
>>  Writing ./53/lily-2d77f62d-1.signature
>>  Writing ./53/lily-2d77f62d-2.signature
> 
>> This is probably related to the existing rest translation code which
> chains a
>> Y-offset callback (ly:beam::rest-collision-callback) for Rest when
> there's a
>> rest under a manual beam.
> 
> Actually, that's not the case for this snippet, though it is probably
> responsible for a similar warning in dot-rest-beam-trigger.ly:
> 
> +dot-rest-beam-trigger.ly:13:21: programming error: cyclic dependency:
> calculation-in-progress encountered for #'positions (Beam)
> +    { \time 12/16 c16
> +                     [ b a r  b g] }
> 
> http://codereview.appspot.com/4465049/
> 

I see on line 1682 of beam.cc:

  Drul_array<Real> pos (robust_scm2drul (beam->get_property ("positions"),
                                         Drul_array<Real> (0,0)));

My question is: in the old code sans rest collision avoidance, why does the 
rest not get the correct quantized positions of the beam and shift accordingly?

Cheers,
MS




reply via email to

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