Hi Victor, On Sat, Aug 5, 2023 at 7:12 PM Viktor Mastoridis < viktor.mastori...@gmail.com> wrote:
> Hello, > > I have been using the syntax below for several years; the last code update > I did was in December 2022, and it worked well since. > Today I noticed that I can't get the sharp/flat note names properly. > C# & Eb are not displayed. > Can you please help? > ------------------- > > > \version "2.22.1" > chimenames = > #`( > ("c" . "C") > ("cis" . "C♯") > ("d" . "D") > ("es" . "E♭") > ) > > ChimeNoteNames = > #(lambda (grob) > (let* ((default-name (markup->string (ly:grob-property grob 'text))) > (new-name (assoc-get default-name chimenames))) > (ly:grob-set-property! grob 'text new-name) > (ly:text-interface::print grob))) > Is the main idea here to just get the note names displayed in uppercase? If so, I've been doing basically the same thing with this: \version "2.25.6" music = \relative c { c, cis d es } \score { << \new TabStaff \with { stringTunings = #bass-tuning } { \music } \new NoteNames { \set noteNameFunction = #(lambda (pitch ctx) (markup #:sans (note-name->markup pitch #f)) ) \music } >> \layout { } \midi { } } It might not be perfect but it gets the job done. For reference, the note-name->markup function reference is: *Function:* *note-name->markup** pitch lowercase?* Return pitch markup for pitch, including accidentals printed as glyphs. If lowercase? is set to false, the note names are capitalized. -- Michael