Thanks to everyone - you've been very helpful! I used James' function because it looks a bit more flexible - in case anyone searches for this in future I made a couple of tweaks to hide ledger lines and increase the size a bit:
\version "2.15.39"
tieToDotted =
#(define-music-function (parser location music) (ly:music?)
#{
\once \override Tie #'transparent = ##t
$music
\once \autoBeamOff
\once \override NoteHead #'no-ledgers = ##t
\once \override NoteHead #'stencil =
#(lambda (grob)
(let* ((staff-pos (ly:grob-property grob 'staff-position))
(staff-space (ly:staff-symbol-staff-space grob)))
(ly:stencil-translate-axis
(ly:font-get-glyph (ly:grob-default-font grob) "dots.dot")
(if (even? staff-pos)
(/ staff-space 3)
0) Y)))
\once \override NoteHead #'Y-extent =
#(ly:make-unpure-pure-container
ly:grob::stencil-height
(lambda (grob start end) (ly:grob::stencil-height grob)))
\once \override NoteHead #'X-extent = #'(-1 . 1)
\once \override NoteHead #'font-size = 3
\once \override Stem #'stencil = ##f
\once \override Flag #'stencil = ##f
#})
Thanks!
On 8 August 2012 07:39, Nick Payne
<address@hidden> wrote:
You could put a dotted note there and make everything except the dot invisible:
\once \override NoteHead #'transparent = ##t
\once \override Stem #'transparent = ##t
\once \override Flag #'transparent = ##t
\once \override Accidental #'transparent = ##t
\once \override NoteHead #'no-ledgers = ##t