Drawing circles around note heads

A circle can be drawn around a note head by providing a custom Scheme function to temporarily override the stencil property.

circle = \tweak NoteHead.stencil
  #(lambda (grob)
    (let* ((note (ly:note-head::print grob))
           (combo-stencil (ly:stencil-add
               note
               (circle-stencil note 0.1 0.8))))
          (ly:make-stencil (ly:stencil-expr combo-stencil)
            (ly:stencil-extent note X)
            (ly:stencil-extent note Y))))
  \etc

{ \circle c'' }
[image of music]

LilyPond snippets v2.25.32 (development-branch).