Numbers as easy note heads: Difference between revisions
Appearance
Import snippet from LSR |
mNo edit summary |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
A simple engraver can be created to do this for every note head object it sees. | A simple engraver can be created to do this for every note head object it sees. | ||
<lilypond version="2.24 | <lilypond version="2.24" > | ||
#(define Ez_numbers_engraver | #(define Ez_numbers_engraver | ||
(make-engraver | (make-engraver | ||
| Line 19: | Line 19: | ||
(ly:grob-set-property! grob 'note-names note-names)))))) | (ly:grob-set-property! grob 'note-names note-names)))))) | ||
#(set-global-staff-size | #(set-global-staff-size 30) | ||
\layout { | \layout { | ||
| Line 47: | Line 45: | ||
[[Category:Pitches]] | [[Category:Pitches]] | ||
[[Category:Scheme]] | |||
[[Category:Included in the official documentation]] | [[Category:Included in the official documentation]] | ||
[[Category:Snippet]] | |||
Latest revision as of 13:33, 29 November 2025
Easy notation note heads use the note-names property of the NoteHead object to determine what appears inside the note head. By overriding this property, it is possible to print numbers representing the scale-degree.
A simple engraver can be created to do this for every note head object it sees.
\version "2.24"
#(define Ez_numbers_engraver
(make-engraver
(acknowledgers
((note-head-interface engraver grob source-engraver)
(let* ((context (ly:translator-context engraver))
(tonic-pitch (ly:context-property context 'tonic))
(tonic-name (ly:pitch-notename tonic-pitch))
(grob-pitch
(ly:event-property (event-cause grob) 'pitch))
(grob-name (ly:pitch-notename grob-pitch))
(delta (modulo (- grob-name tonic-name) 7))
(note-names
(make-vector 7 (number->string (1+ delta)))))
(ly:grob-set-property! grob 'note-names note-names))))))
#(set-global-staff-size 30)
\layout {
ragged-right = ##t
\context {
\Voice
\consists \Ez_numbers_engraver
}
}
\relative c' {
\easyHeadsOn
c4 d e f
g4 a b c \break
\key a \major
a,4 b cis d
e4 fis gis a \break
\key d \dorian
d,4 e f g
a4 b c d
}