[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