Thomas Morley <address@hidden> writes:
> Am Di., 26. Nov. 2019 um 09:30 Uhr schrieb Gianmaria Lari
> <address@hidden>:
>>
>> This code works.
>>
>> \version "2.21.0"
>> test = #(define-scheme-function (nota) (ly:music?)
>> #{
>> $nota ^\markup {M}
>> #})
Ugh. Why a scheme function?
Do you remember my work on accordion standard bass notation? Kids are grown and now they play things with a more complex notation. I would like to update the "library" I wrote years ago.
In my old version of the library I created a list of variables like this:
% c note
xcb = {\tag #'midiOut \midiBass
\tag #'screenOut \screenBass}
xcM = {\tag #'midiOut \midiMajorChord
\tag #'screenOut \screenMajorChord}
xcm = {\tag #'midiOut \midiMinorChord
\tag #'screenOut \screenMinorChord}
xcs = {\tag #'midiOut \midiDominantSeventhChord
\tag #'screenOut \screenDominantSeventhChord}
xcd = {\tag #'midiOut \midiDiminishedSeventhChord
\tag #'screenOut \screenDiminishedSeventhChord}
The same list exists for each note name: cis, d, dis e etc (it's not a long work because it is only the variable name that change so it was almost a copy&paste operation)
This worked pretty well except some small issue (ties and other small things). But this year the score I have to engrave use also chords like \chordmode {f/d}. Obviously I can't create a variable for each possible chord like that. Now I would like to try to do the same using some scheme functions.
Ciao, g.