[Top][All Lists]
[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