Hello Lucas, Yes, this works perfectly. I did not know *first* existed!
I stole the example from https://lilypond.org/doc/v2.20/Documentation/notation/substitution-function-examples However, I still need to find a way to automagically manage the stem direction of the custos, since the notes may be transposed. This method below assigns a glyph manually. addCustos = #(define-music-function (noteList) (ly:music?) #{ \tweak NoteHead.stencil #ly:text-interface::print \tweak NoteHead.font-size #3 \tweak NoteHead.text \markup { \musicglyph "custodes.vaticana.u2" } \tweak Stem.stencil ##f $(first (music-pitches noteList)) 4 #} ) Many thanks, mattfong On Sun, Mar 7, 2021 at 11:54 AM Lukas-Fabian Moser <[email protected]> wrote: > Hi Matthew, > > Am 07.03.21 um 20:03 schrieb Matthew Fong: > > I am in the process of writing a note replacement function that allows > > me to place a custos anywhere I might need. > > > > I am stuck on writing a function that extracts the pitch of the first > > note, given a list of notes, and then forcing a duration of 1/4. Any > > pointers would be appreciated. > > > > For example given the list of notes below, I would like a function to > > output c4. > > { > > \clef treble > > c2 d e f > > g4 a b c > > } > > > Something like this? > > \version "2.22.0" > > test = \relative c' { > \clef treble > c2 d e f > g4 a b c > } > > firstnote = > #(define-music-function (mus dur) (ly:music? ly:duration?) > #{ $(first (music-pitches test)) $dur #}) > > \score { > \firstnote \test 8 > } > > Lukas > >
