[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