Richard Shann <rich...@rshann.plus.com> writes: > On Fri, 2019-02-22 at 23:00 +1100, Andrew Bernard wrote: >> Hi Richard, >> This came up in relation to something I was doing only a week or so >> ago. Have a look here: >> >> https://lists.gnu.org/archive/html/lilypond-user/2019-02/msg00297.htm > Thank you! > It seems I have to prefix the layout object Clef with Staff. So > > \version "2.18.2" > { > c' > \once \override Staff.Clef.stencil = #ly:text-interface::print > \once \override Staff.Clef.text = \markup{T} > \clef bass > c' > } > > works as expected. As I'm trying to make a general tool here, could > someone explain why this is needed - I see I can prefix Dots with Staff > and Staff.Accidental is ok too, though not needed.
The default override is done at Bottom level (which typically resolves to Voice). Overrides change the defaults for grobs created by engravers in the given contexts and all subordinate contexts. Grobs like noteheads are created by engravers in Voice contexts, so you can override in a given Voice, or at Staff level (assuming that no override at Voice level takes priority). Grobs like Clef and TimeSignature however are created by engravers in Staff contexts which don't consult the defaults for Voice contexts. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user