lilypond-user
[Top][All Lists]
Advanced

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

Re: Why does removing Bar_engraver also removes clef?


From: Gez
Subject: Re: Why does removing Bar_engraver also removes clef?
Date: Mon, 17 Nov 2014 15:14:25 +0000
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0


On 14/11/2014 17:14, Marc Hohl wrote:
Am 13.11.2014 um 23:29 schrieb Gez:
 I'd be really grateful if someone can also point me to
where the documentation explains why removing the the Bar_engraver also
removes the Clefs.

I don't think that this is documented in the docs, but in the sources:

In lily/clef-engraver.cc:

    85    /**
86 Generate a clef at the start of a measure. (when you see a Bar,
    87       ie. a breakpoint)
    88    */
    89    void
    90    Clef_engraver::acknowledge_bar_line (Grob_info info)
    91    {
    92      Item *item = info.item ();
    93      if (item && scm_is_string (get_property ("clefGlyph")))
    94        create_clef ();
    95    }

If there is not bar line to be acknowledged, the clef will not be printed.

I don't know whether this is the desired behaviour as there are cases
where you need the clef and line breaks, but no bar lines.

HTH a bit,

Thanks, Marc - that does help. Even if I'd thought to look in the sources I wouldn't have really grasped what that meant. For me, for this purpose, it isn't the desired behaviour. I wonder if there's a good reason for it? Anyway, at least now on the email list there's a note of the behaviour if anyone searches for it in future,

So, to summarise - to remove bar lines and have automatic line breaking but retain the clef at the new line you can't use
\context {Staff \remove Bar_engraver}
(.e.g in layout, for a group of scores) - instead, you need to use
\override Staff.BarLine.stencil = ##f
which has to go in each score, but for batch overriding you can add the override to the score using a variable, which can of course be used for other purposes as well.
-------------------

\version "2.18.0"
thistest = {

\override Staff.BarLine.stencil = ##f

}

\score {

\relative c'{

\thistest

\repeat unfold 40 { c1 }

}

\header {

piece = "Using variable override stencil keeps clef engraved with automatic line breaks"

}

}

----------------------------------------------------------

HTH someone!
Gez



reply via email to

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