So after a little toying around with the suggestions from this thread, I've come up with the following:

%%%%%%%%%%%%%%%%%%%%

\once \override TupletNumber.text = \markup { \note-by-number #1 #0 #UP }
    \once \override TupletBracket.bracket-visibility = ##t
    \once \override TupletBracket.visible-over-note-heads = ##t
    \once \override TupletBracket.Y-offset = #-1.5
    \tupletUp \tuplet 6/8 {
        \once \override Beam.grow-direction = #LEFT
        \featherDurations 2/1 { d16[-. d-. d-. d-. d-. d]-. }
    }

%%%%%%%%%%%%%%%%%%%%

Pretty happy with how that looks, but now I'm having trouble converting it to a function. The following is what I've put together, but I can't seem to shake the compiler error.

%%%%%%%%%%%%%%%%%%%%

\version "2.24.2"

customTuplet = #(define-music-function
(parser location displayed-note y-off beam-left tuplet-up feather-ratio tuplet-ratio notes)
  (number? number? boolean? boolean? moment? moment? ly:music?)
   #{
\once \override TupletNumber.text = \markup { \note-by-number #displayed-note #0 #UP }
     \once \override TupletBracket.bracket-visibility = ##t
     \once \override TupletBracket.visible-over-note-heads = ##t
     \once \override TupletBracket.Y-offset = #y-off
     \once \override Beam.grow-direction = #(if beam-left LEFT RIGHT)
     #(if tuplet-up
        #{ \tupletUp \tuplet #tuplet-ratio {
             \featherDurations #feather-ratio { $notes }
           } #}
        #{ \tupletDown \tuplet #tuplet-ratio {
             \featherDurations #feather-ratio { $notes }
           } #}
     )
   #})

\score {
  \relative c'' {
    \time 4/4

\customTuplet #1 #-1.5 ##t ##t #(ly:make-moment 2/1) #(ly:make-moment 6/8) {
      d16[-. d-. d-. d-. d-. d]-.
    }

\customTuplet #2 #-1.5 ##f ##f #(ly:make-moment 2/1) #(ly:make-moment 5/8) {
      e16[-. e-. e-. e-. e-. e]-.
    }
  }
}

%%%%%%%%%%%%%%%%%%%%


Reply via email to