Hello Clément, > I am looking to make recorder fingering charts using Lilypond. Current > documentation does not list recorder as available for woodwind fingering > diagrams: > > https://lilypond.org/doc/v2.24/Documentation/notation/woodwind-diagrams.html > > However, I checked the github repository and there are issues and documentation > mentioning a recorder fingering chart : > > https://gitlab.com/lilypond/lilypond/-/blob/master/Documentation/snippets/ record > er-fingering-chart.ly > > Is the documentation simply not updated?
No, the codepath does not contain any recorder-related stuff. The github link simply gives text markings. > On top of the baroque recorder fingering chart (thumb hole, 7 finger holes > including 2 double holes, bell hole), I would like to add charts for keyed > recorders. Not only the well established keyed tenor recorders (thumb hole, 6 > finger holes including 1 double hole, C# and C keys, bell hole). I would also > like to make diagrams that fit keyed recorders, such as the Helder instruments > by Mollenhauer. I attached in this email a screenshot of a baroque recorder > fingerging chart, and that of the Helder instruments. > > I would also like to be able to make my own diagrams. Notably for the Helder > alto with extra C# and D# keys. To my knowledge, Mollenhauer has never > published a fingering chart for this instrument. And who knows what recorder > models will be developed in 10, 20 or 50 years? The issue here is that while the code is written in such a way that it could be extended it is very underdocumented and complex solution (~3000 loc). I have spend a lot of time trying to understand the design and have managed to create a "minimal" custom fingering chart. That is not yet fully there, but it should be a starting point. Cheers, Tina
%#(display (assoc-get 'flute (@@ (lily) woodwind-data-alist)))
% Function of (radius thick fill layout props) returning a stencil
#(define testkey-stencil
((@@ (lily) standard-path-stencil)
'((0 1.3)
(0 1.625 -0.125 1.75 -0.25 1.75)
(-0.55 1.75 -0.55 0.95 -0.25 0.7)
(0 0.4 0 0.125 0 0)
(0 0.125 0 0.4 0.25 0.7)
(0.55 0.95 0.55 1.75 0.25 1.75)
(0.125 1.75 0 1.625 0 1.3))
2.0
1.3))
#(module-set!
(resolve-module '(lily))
'woodwind-data-alist
(assoc-set!
(@@ (lily) woodwind-data-alist)
'recorder
`(
(keys
(central-column
(thumb
(offset -3.0 . -0.5)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(one
(offset 0.0 . 0.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(two
(offset 0.0 . -1.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(three
(offset 0.0 . -2.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(four
(offset 0.0 . -3.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(five
(offset 0.0 . -4.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(six
(offset 0.0 . -5.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring))
(seven
(offset 0.0 . -6.0)
(stencil . ,(@@ (lily) ring-column-circle-stencil))
(text? . #f)
(complexity . ring)))
(left-hand)
(right-hand
(testkey
(offset 0.0 . 0.0)
(stencil . ,testkey-stencil)
(text? . ("test" . 0))
(complexity . trill)))
(hidden)
)
(graphical-commands
(stencil-alist
(stencils
((stencils
(central-column . thumb)
(central-column . one)
(central-column . two)
(central-column . three)
(central-column . four)
(central-column . five)
(central-column . six)
(central-column . seven))
(xy-scale-function ,(@@ (lily) identity) . ,(@@ (lily) identity))
(textual? . #f)
(offset 0.0 . 0.0))
((stencils
(right-hand . testkey))
(xy-scale-function ,(@@ (lily) return-1) . ,(@@ (lily) return-1))
(textual? . #f)
(offset 3 . -6)))
(xy-scale-function ,(@@ (lily) identity) . ,(@@ (lily) identity))
(textual? . #f)
(offset 0.0 . 0.0))
(draw-instructions
(,(@@ (lily) group-automate-rule)
((central-column . thumb)
(central-column . one)
(central-column . two)
(central-column . three)
(central-column . four)
(central-column . five)
(central-column . six)
(central-column . seven))))
(extra-offset-instructions
(,(@@ (lily) uniform-extra-offset-rule) (0.0 . 0.0))))
(text-commands)
)))
\markup \woodwind-diagram #'recorder #'((cc . (thumb one two three four five six seven1h)) (lh) (rh . (testkey)))
signature.asc
Description: This is a digitally signed message part.
