lilypond-user
[Top][All Lists]
Advanced

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

trying to solve "cyclic chain in pure-Y-offset callbacks" error in custo


From: Kieren MacMillan
Subject: trying to solve "cyclic chain in pure-Y-offset callbacks" error in custom (ScoreMarks) context
Date: Thu, 3 Aug 2017 13:05:05 -0400

Hello all,

In the snippet included below, I'm using a custom ScoreMarks context to show 
MetronomeMarks (plus, in the real world, RehearsalMarks and other things) above 
the system. The problem is, in order to have the MetronomeMark align correctly 
with the TimeSignature, I must (?) include the TimeSignature in some form or 
other. But I don't want the actual grob to appear, or affect spacing in any way 
*other than* helping with alignment.

All the attempts I've tried (\omit-s, stencil tweaks, etc.) throw "cyclic chain 
in pure-Y-offset callbacks" errors, which I have just been ignoring (for years 
now). But I'd like to solve this once and for all, if possible…

1. Is the error more serious than a simply aesthetic problem?

2. If not, is there some way to avoid seeing the errors?

3. In any case, is there a better way of doing what I'm trying to do (i.e., one 
that won't cause the error in the first place)?

Thanks,
Kieren.

%%%  SNIPPET BEGINS
\version "2.19"

\layout {
  \context {
    \type "Engraver_group"
    \name ScoreMarks
    \consists "Staff_collecting_engraver"
    \consists "Axis_group_engraver"
    \override VerticalAxisGroup.staff-affinity = #DOWN
    \consists "Metronome_mark_engraver"
    \override MetronomeMark.break-align-symbols =
      #'(left-edge staff-bar clef time-signature key-signature)
    \override MetronomeMark.non-break-align-symbols =
      #'(paper-column-interface)
  }
  \context {
    \Score
    \remove "Metronome_mark_engraver"
    \remove "Mark_engraver"
    \accepts ScoreMarks
  }
}

global = {
  \tempo "Testing"
  \time 2/2
  s1
}

\markup "No TimeSignature in ScoreMarks = incorrect alignment:"
\score {
  <<
    \new ScoreMarks \global
    \new Staff << \global c''1 >>
  >>
}

\markup "TimeSignature in ScoreMarks = correct alignment + unwanted grob + 
error:"
\score {
  <<
    \new ScoreMarks \global
    \new Staff << \global c''1 >>
  >>
  \layout {
    \context {
      \ScoreMarks
      \consists "Time_signature_engraver"
    }
  }
}

\markup "TimeSignature included in and then \omit-ed from ScoreMarks = correct 
alignment + error:"
\score {
  <<
    \new ScoreMarks \global
    \new Staff << \global c''1 >>
  >>
  \layout {
    \context {
      \ScoreMarks
      \consists "Time_signature_engraver"
      \omit TimeSignature
    }
  }
}
%%%  SNIPPET ENDS

________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden




reply via email to

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