[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: trying to solve "cyclic chain in pure-Y-offset callbacks" error in c
From: |
Toine Schreurs |
Subject: |
Re: trying to solve "cyclic chain in pure-Y-offset callbacks" error in custom (ScoreMarks) context |
Date: |
Thu, 3 Aug 2017 20:01:11 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
> 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)?
What about:
\layout {
\context {
\Score
\remove Staff_collecting_engraver
}
}
This apparently removes the errors/warnings. I have no idea about other
implications.
Toine Schreurs
> %%% 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