lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Letters as note heads


From: David Kastrup
Subject: Re: Letters as note heads
Date: Mon, 07 Jan 2019 16:46:46 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Aaron Hill <address@hidden> writes:

> On 2019-01-07 6:37 am, Gloops wrote:
>> Hello!
>> I am also interested in this code, but is it possible to have a
>> "list-ref"
>> running on 12 rather than 7,
>> and remove the original alterations?
>> Do you believe that possible?
>> Thank you for all the help that everyone brings.
>> Musically
>>
>> \relative c' {
>>    \override NoteHead.stencil = #(lambda (grob)
>>      (let* ((cause (ly:grob-property grob 'cause))
>>             (pitch (ly:event-property cause 'pitch))
>>             (notenames '("C" "C+" "D" "D+" "E" "F" "F+" "G" "G+" "A"
>> "A+"
>> "B"))
>>             (notename (list-ref notenames (ly:pitch-notename pitch))))
>>        (grob-interpret-markup grob #{ \markup
>>          \halign #0 \vcenter \fontsize #-2 \sans \bold $notename #})))
>>    \hide Stem
>>    c4 cis d dis e f fis g gis a ais b
>> }
>
> ly:pitch-notename returns a value from 0 to 6.  You need to use
> ly:pitch-alteration to retrieve the information about accidentals.  It
> will be a rational like -1/2 or 1/2 (for flat and sharp), but possibly
> other values if you are doing microtonal work.  I recommend using an
> association-list:

If he is only interested in the semitone distance, ly:pitch-semitones
will deliver a numeric value based on 12 semitones per octave.  Of
course, you can no longer distinguish cis and des then.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]