Aaron Hill <lilyp...@hillvisions.com> 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

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to