lilypond-user
[Top][All Lists]
Advanced

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

Re: Letters as note heads


From: Gloops
Subject: Re: Letters as note heads
Date: Tue, 8 Jan 2019 01:24:23 -0700 (MST)

David Kastrup wrote
> Aaron Hill <

> lilypond@

> > 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@

> https://lists.gnu.org/mailman/listinfo/lilypond-user

Hello !
Indeed it's what I wanted "ly: pitch-semitones" but there is a mistake at
the change of octave ...
Musically

%Good
\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-semitones 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
} 

%No good
\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-semitones 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 c
} 




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html



reply via email to

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