Generate special note head shapes

When a note head with a special shape cannot easily be generated with graphic markup, a drawing specification for ly:make-stencil can be used to generate the shape. This example gives an example for a parallelogram-shaped note head.

Unfortunately, the available commands in a drawing specification are currently not documented; in any case, the used path sub-command has the following signature, quite similar to the make-path-stencil Scheme function.

(path thickness command-list line-cap-style line-join-style fill)

The commands in command-list resemble PostScript drawing commands but with arguments after the command name.

\version "2.24"

parallelogram =
  #(ly:make-stencil
    '(path 0.1
           (rmoveto 0 0.25
            lineto 1.2 0.75
            lineto 1.2 -0.25
            lineto 0 -0.75
            lineto 0 0.25)
           round
           round
           #t)
    (cons -0.05 1.25)
    (cons -.75 .75))

myNoteHeads = \override NoteHead.stencil = \parallelogram
normalNoteHeads = \revert NoteHead.stencil

\relative c'' {
  \myNoteHeads
  g4 d'
  \normalNoteHeads
  <f, \tweak stencil \parallelogram b e>4 d
}