Gianmaria Lari <gianmarial...@gmail.com> writes: > On Tue, 26 Nov 2019 at 14:14, David Kastrup <d...@gnu.org> wrote: > >> Thomas Morley <thomasmorle...@gmail.com> writes: >> >> > Am Di., 26. Nov. 2019 um 09:30 Uhr schrieb Gianmaria Lari >> > <gianmarial...@gmail.com>: >> >> >> >> 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.
But why a scheme function and not a music function? -- David Kastrup