Thank you very much for your help Thomas! For a moment I even considered extending on Feta font to support this stuff. It seems the scheme function can be extended to support other noteheads, etc., so it might be a nice approach for what I'm looking to do.
Thanks again. On 05/22 12:07, Thomas Morley wrote: > 2016-05-22 10:34 GMT+02:00 Daniel E. Moctezuma <democtez...@gmail.com>: > > Hello, > > > > I would like to define a note head type (or modify/tweak an existing one) > > that uses a combination of 2 existing note heads from the Feta font. > > I'm trying to use the notation proposed by Norman Weinberg in his book > > Guide to Standardized Drumset Notation. > > > > Hi-Hat and Cymbals for instance use both Cross and Diamond shape note heads > > as follows: > > 1. Half-note and whole-note use a diamond, very similar to s0miThin except > > the height of s0miThin is kind of short. > > 2. Quarter-note and below use a cross shaped note-head such as s2cross. > > > > I did manage to make Lilypond show the above note heads accordingly using > > tweaks. > > The disadvantage is that in order to achieve the desired result I would > > have to do something like "\customDiamond cymc2" every time I have to input > > half or whole notes. > > So I'm looking for an easier way to input those kind of notes as well as to > > support chords. > > > > In the following sample code you can see how modifying the stencil can give > > you somewhat what I'm looking for, but here are some concerns: > > 1. It doesn't work when using chords (for example: hitting the crash cymbal > > and the snare drum at the same time). > > 2. When using s0miThin noteheads the stem is not conected to the diamond's > > left vertex. > > > > Maybe a better approach could be, instead of the "cross" note head defined > > in "mydrums" drum style table could be something like "crossdiamond" so it > > can include the above mentioned note heads. > > Probably just modifying the existing "cross" notehead could be enough since > > Weinberg's book doesn't mention any usage of both s0cross and s1cross. > > > > Do you have any ideas on how to achieve something like this, as well as to > > fix the above 2 points mentioned? > > > > Sample: > > > > \version "2.18.2" > > > > #(define mydrums '( > > (crashcymbal cross #f 6))) > > > > % Based on: > > https://www.mail-archive.com/lilypond-user%40gnu.org/msg108679.html > > #(define (my-note-head grob) > > (let ((duration (ly:grob-property grob 'duration-log))) > > (if (>= duration 2) > > (grob-interpret-markup grob > > (markup #:musicglyph "noteheads.s2cross")) > > (grob-interpret-markup grob > > (markup #:scale (cons -0.65 1.2) > > #:musicglyph "noteheads.s0miThin"))))) > > > > \new DrumStaff << > > \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) > > > > \drummode { > > \cadenzaOn > > \autoBeamOff > > \override NoteHead.stencil = #my-note-head > > cymc32 cymc16 cymc8 cymc4 cymc2 cymc1 \bar "|." > > } > >>> > > > > -- > > Best regards > > > Maybe: > > \version "2.18.2" > > #(define mydrums '( > (crashcymbal cross #f 6) > (snare () #f 1))) > > #(define (my-note-head grob) > (let ((duration (ly:grob-property grob 'duration-log)) > (drumtype > (ly:prob-property (ly:grob-property grob 'cause) 'drum-type))) > (if (eq? 'crashcymbal drumtype) > (if (>= duration 2) > (grob-interpret-markup grob > (markup #:musicglyph "noteheads.s2cross")) > (begin > (let ((stem-attachment (ly:grob-property grob 'stem-attachment))) > (ly:grob-set-property! grob 'stem-attachment > (cons (car stem-attachment) 0)) > (grob-interpret-markup grob > (markup #:scale (cons -0.65 1.2) > #:musicglyph "noteheads.s0miThin"))))) > (ly:note-head::print grob)))) > > \new DrumStaff > \with { > drumStyleTable = #(alist->hash-table mydrums) > \override NoteHead.stencil = #my-note-head > } > << > \drummode { > \cadenzaOn > \autoBeamOff > cymc32 cymc16 cymc8 cymc4 cymc2 cymc1 \bar "|." \break > <sn cymc>32 <sn cymc>16 <sn cymc>8 <sn cymc>4 <sn cymc>2 <sn cymc>1 > } > >> > > HTH, > Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user