Thank you for your help in this matter.

I added the line "\consists Staff_collecting_engraver" as suggested,
and read the somewhat cryptic paragraph under Mark_engraver in the IR,
as indicated in the link you provided.

Unfortunately I still got the same error messages as before.

However, re-reading the "cryptic paragraph", I decided that perhaps it
indicated that the Staff_collecting_engraver should be removed from
other contexts.  I therefore added the line

        \remove Staff_collecting_engraver

to the \context { } section, and this indeed solved the problem.

Thanks again for pointing me in the right direction!

David


On Sun, 2021-11-14 at 16:13 +0100, Jean Abou Samra wrote:
> Le 13/11/2021 à 20:41, David Sumbler a écrit :
> > I have just started on a new Lilypond project, having had little
> > interaction with Lilypond for several months.  I installed
> > v.2.23.4.
> > Although I have so far only set 3 lines of music on 2 staves, the
> > message "programming error: cyclic dependency: calculation-in-
> > progress encountered for #'adjacent-pure-heights
> > (VerticalAxisGroup)" is issued 8 times when compiling.
> > From the very little I could find searching online, it seems as if
> > it might have something to do with my having moved Mark-engraver
> > etc. from their usual context.  It was also suggested that this is
> > a bug.
> > Is there some way of suppressing these messages?  I know how to
> > suppress warnings, but that won't work with these error messages.
> > The code I am using to set up the "staff" containing metronome
> > marks etc. is:
> > \layout {  \context {    \name "MarkLine"    \type
> > "Engraver_group"    \consists Output_property_engraver    \consists
> > Axis_group_engraver    \consists Mark_engraver    \consists
> > Metronome_mark_engraver    \consists
> > Text_spanner_engraver    \override RehearsalMark.extra-spacing-
> > width = #'(0 . 1)    \override MetronomeMark.extra-spacing-width =
> > #'(0.5 . -inf.0)    \override TextSpanner.Y-offset =
> > #3.5    \override VerticalAxisGroup.minimum-Y-extent = #'(-2 .
> > 2)    \override VerticalAxisGroup.staff-staff-spacing
> > =    #'((basic-distance . 1)       (minimum-distance .
> > 1)       (padding . 1)       (stretchability . 3))  }  \context
> > {    \Score    \remove Mark_engraver    \remove
> > Metronome_mark_engraver    \accepts MarkLine  }}
> > I can't remember where I got this code from.  Is there something
> > that needs to be changed in it?
> 
> You also have to move the Staff_collecting engraver,as documented at
> https://lilypond.org/doc/v2.23/Documentation/internals/mark_005fengraver
> 
> Giving:
> \version "2.23.4"
> \layout {   \context {     \name "MarkLine"     \type
> "Engraver_group"     \consists Output_property_engraver     \consists
> Axis_group_engraver     \consists Mark_engraver     \consists
> Metronome_mark_engraver     \consists Text_spanner_engraver    
> \consists Staff_collecting_engraver     \override
> RehearsalMark.extra-spacing-width = #'(0 . 1)     \override
> MetronomeMark.extra-spacing-width = #'(0.5 . -inf.0)     \override
> TextSpanner.Y-offset = #3.5     \override VerticalAxisGroup.minimum-
> Y-extent = #'(-2 . 2)     \override VerticalAxisGroup.staff-staff-
> spacing =     #'((basic-distance . 1)        (minimum-distance . 1)
>        (padding . 1)        (stretchability . 3))   }   \context {
>     \Score     \remove Mark_engraver     \remove
> Metronome_mark_engraver     \accepts MarkLine   }}
> <<   \new MarkLine { \mark \default }   { a1 } >>
> 
> Note that the programming errors appeared becausean internal check
> was enabled. In other words, itis worth fixing your code even with
> older versionseven if there is no warning (observe how the
> verticalspacing gets different in the example above).
> Best,Jean


Reply via email to