lilypond

Custom drum-style articulation orientation


I'm using custom drum-style in Lilypond. Example:

#(define drum-style '(
  (crashchoceked     xcircle         staccato     6)
  (crashaccent       xcircle         marcato      6)
))

drumPitchNames.cch = #'crashchoceked
drumPitchNames.cac = #'crashaccent

I have this in separate (library like) file, that I include to my main file. In the main file, there is:

drumStyleTable = #(alist->hash-table drum-style)

to apply the custom drum style. I would like to have the articulation by default above the note, no matter of the note stem orientation. I can do it manually with

\override Script.direction = #UP

before the note, but I would like to have it automatically in the "library".


Solution

  • According to the documentation (2.5.1 Common notation for percussion / Custom percussion staves), version 2.25 has the ability to achieve this.

    All you have to do is:

    1. Change the standard quotation shorthand ' at the start of the definition to quasi-quotation shorthand `.

    2. Express the articulation as a pair (… . …) with the second value being the orientation, preceded by the unquote shorthand ,.

    (And spell “choceked” “choked” correctly of course.)

    #(define drum-style `(
      (crashchoked  xcircle  (staccato . ,UP)  6)
      (crashaccent  xcircle  (marcato  . ,UP)  6)))
    

    (This should work, but I’m running v2.24, so I can’t actually test it.)