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. Ciao, g.