3 #(define (filter-instrument instrument-name tuning-alist)
4 (filter (lambda (entry)
5 (string-prefix? instrument-name
6 (symbol->string (car entry))))
9 #(define (chord-display tuning-alist-entry)
10 (let* ((tuning-symbol (car tuning-alist-entry))
11 (pitches (cdr tuning-alist-entry)))
12 (make-music 'EventChord
14 (cons (make-music 'TextScriptEvent
16 'text (symbol->string tuning-symbol))
18 (make-music 'NoteEvent
19 'duration (ly:make-duration 0 0 1/1)
23 displayInstrumentDefaultTunings =
24 #(define-music-function (instrument) (string?)
25 (let* ((filtered-instruments (filter-instrument instrument defaultStringTunings))
26 (display-elements (map chord-display filtered-instruments)))
27 (make-music 'SequentialMusic 'elements display-elements)))
34 \override Score.RehearsalMark.self-alignment-X = #LEFT
36 \mark \markup {\left-align "Guitar tunings"}
38 \displayInstrumentDefaultTunings #"guitar"
41 \mark \markup {\left-align "Bass tunings"}
43 \displayInstrumentDefaultTunings #"bass"
46 \mark \markup {\left-align "Mandolin tunings"}
48 \displayInstrumentDefaultTunings #"mandolin"
51 \mark \markup {\left-align "Banjo tunings"}
53 \displayInstrumentDefaultTunings #"banjo"
56 \mark \markup {\left-align "Ukulele tunings"}
58 \displayInstrumentDefaultTunings #"ukulele"
60 \displayInstrumentDefaultTunings #"tenor-ukulele"
61 \displayInstrumentDefaultTunings #"baritone-ukulele"
64 \mark \markup {\left-align "Orchestral string tunings"}
66 \displayInstrumentDefaultTunings #"violin"
68 \displayInstrumentDefaultTunings #"viola"
70 \displayInstrumentDefaultTunings #"cello"
72 \displayInstrumentDefaultTunings #"double-bass"