Nitpick: ly:spanner-bound grob name slur -> spanner.
[lilypond.git] / input / new / fret-diagrams-explained-and-developed.ly
blob971dd0e4e7c90591be09202c574e4bbaf8a609af
1 \version "2.12.0"
3 \header {
4 lsrtags = "fretted-strings,tweaks-and-overrides"
5 texidoc = "This snippet shows many possibilities for obtaining
6 and tweaking fret diagrams."
7 doctitle = "Fret diagrams explained and developed"
11 \chords {
12 a2 a
13 \repeat unfold 3 {
14 c c c d d
18 \new Voice = "mel" {
19 \textLengthOn
20 % Set global properties of fret diagram
21 \override TextScript #'size = #1.2
22 \override TextScript
23 #'fret-diagram-details #'finger-code = #'below-string
24 \override TextScript #'fret-diagram-details #'dot-color = #'black
26 %% A chord for ukelele
27 a'2^\markup {
28 \override #'(fret-diagram-details . (
29 (string-count . 4)
30 (dot-color . white)
31 (finger-code . in-dot))) {
32 \fret-diagram #"4-2-2;3-1-1;2-o;1-o;"
36 %% A chord for ukelele, with formatting defined in definition string
37 % 1.2 * size, 4 strings, 4 frets, fingerings below string
38 % dot radius .35 of fret spacing, dot position 0.55 of fret spacing
39 a'2^\markup {
40 \override #'(fret-diagram-details . (
41 (dot-color . white)
42 (open-string . "o"))) {
43 \fret-diagram #"s:1.2;w:4;h:3;f:2;d:0.35;p:0.55;4-2-2;3-1-1;2-o;1-o;"
47 %% These chords will be in normal orientation
49 %% C major for guitar, barred on third fret
50 % verbose style
51 % roman fret label, finger labels below string, straight barre
52 c'2^\markup {
53 % 110% of default size
54 \override #'(size . 1.1) {
55 \override #'(fret-diagram-details . (
56 (number-type . roman-lower)
57 (finger-code . below-string)
58 (barre-type . straight))) {
59 \fret-diagram-verbose #'((mute 6)
60 (place-fret 5 3 1)
61 (place-fret 4 5 2)
62 (place-fret 3 5 3)
63 (place-fret 2 5 4)
64 (place-fret 1 3 1)
65 (barre 5 1 3))
70 %% C major for guitar, barred on third fret
71 %% Double barre used to test barre function
72 % verbose style
73 c'2^\markup {
74 % 110% of default size
75 \override #'(size . 1.1) {
76 \override #'(fret-diagram-details . (
77 (number-type . arabic)
78 (dot-label-font-mag . 0.9)
79 (finger-code . in-dot)
80 (fret-label-font-mag . 0.6)
81 (fret-label-vertical-offset . 0)
82 (label-dir . -1)
83 (mute-string . "M")
84 (xo-font-magnification . 0.4)
85 (xo-padding . 0.3))) {
86 \fret-diagram-verbose #'((mute 6)
87 (place-fret 5 3 1)
88 (place-fret 4 5 2)
89 (place-fret 3 5 3)
90 (place-fret 2 5 4)
91 (place-fret 1 3 1)
92 (barre 4 2 5)
93 (barre 5 1 3))
98 %% C major for guitar, with capo on third fret
99 % verbose style
100 c'2^\markup {
101 % 110% of default size
102 \override #'(size . 1.1) {
103 \override #'(fret-diagram-details . (
104 (number-type . roman-upper)
105 (dot-label-font-mag . 0.9)
106 (finger-code . none)
107 (fret-label-vertical-offset . 0.5)
108 (xo-font-magnification . 0.4)
109 (xo-padding . 0.3))) {
110 \fret-diagram-verbose #'((mute 6)
111 (capo 3)
112 (open 5)
113 (place-fret 4 5 1)
114 (place-fret 3 5 2)
115 (place-fret 2 5 3)
116 (open 1))
121 %% simple D chord
122 d'2^\markup {
123 \override #'(fret-diagram-details . (
124 (finger-code . below-string)
125 (dot-radius . 0.35)
126 (string-thickness-factor . 0.3)
127 (dot-position . 0.5)
128 (fret-count . 3))) {
129 \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
133 %% simple D chord, large top fret thickness
134 d'2^\markup {
135 \override #'(fret-diagram-details . (
136 (finger-code . below-string)
137 (dot-radius . 0.35)
138 (dot-position . 0.5)
139 (top-fret-thickness . 7)
140 (fret-count . 3))) {
141 \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
145 % These chords will be in landscape orientation
146 \override TextScript
147 #'fret-diagram-details #'orientation = #'landscape
149 %% C major for guitar, barred on third fret
150 % verbose style
151 % roman fret label, finger labels below string, straight barre
152 c'2^\markup {
153 % 110% of default size
154 \override #'(size . 1.1) {
155 \override #'(fret-diagram-details . (
156 (number-type . roman-lower)
157 (finger-code . below-string)
158 (barre-type . straight))) {
159 \fret-diagram-verbose #'((mute 6)
160 (place-fret 5 3 1)
161 (place-fret 4 5 2)
162 (place-fret 3 5 3)
163 (place-fret 2 5 4)
164 (place-fret 1 3 1)
165 (barre 5 1 3))
170 %% C major for guitar, barred on third fret
171 %% Double barre used to test barre function
172 % verbose style
173 c'2^\markup {
174 % 110% of default size
175 \override #'(size . 1.1) {
176 \override #'(fret-diagram-details . (
177 (number-type . arabic)
178 (dot-label-font-mag . 0.9)
179 (finger-code . in-dot)
180 (fret-label-font-mag . 0.6)
181 (fret-label-vertical-offset . 0)
182 (label-dir . -1)
183 (mute-string . "M")
184 (xo-font-magnification . 0.4)
185 (xo-padding . 0.3))) {
186 \fret-diagram-verbose #'((mute 6)
187 (place-fret 5 3 1)
188 (place-fret 4 5 2)
189 (place-fret 3 5 3)
190 (place-fret 2 5 4)
191 (place-fret 1 3 1)
192 (barre 4 2 5)
193 (barre 5 1 3))
198 %% C major for guitar, with capo on third fret
199 % verbose style
200 c'2^\markup {
201 % 110% of default size
202 \override #'(size . 1.1) {
203 \override #'(fret-diagram-details . (
204 (number-type . roman-upper)
205 (dot-label-font-mag . 0.9)
206 (finger-code . none)
207 (fret-label-vertical-offset . 0.5)
208 (xo-font-magnification . 0.4)
209 (xo-padding . 0.3))) {
210 \fret-diagram-verbose #'((mute 6)
211 (capo 3)
212 (open 5)
213 (place-fret 4 5 1)
214 (place-fret 3 5 2)
215 (place-fret 2 5 3)
216 (open 1))
221 %% simple D chord
222 d'2^\markup {
223 \override #'(fret-diagram-details . (
224 (finger-code . below-string)
225 (dot-radius . 0.35)
226 (dot-position . 0.5)
227 (fret-count . 3))) {
228 \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
232 %% simple D chord, large top fret thickness
233 d'2^\markup {
234 \override #'(fret-diagram-details . (
235 (finger-code . below-string)
236 (dot-radius . 0.35)
237 (dot-position . 0.5)
238 (top-fret-thickness . 7)
239 (fret-count . 3))) {
240 \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
244 % These chords will be in opposing-landscape orientation
245 \override TextScript #'fret-diagram-details
246 #'orientation = #'opposing-landscape
248 %% C major for guitar, barred on third fret
249 % verbose style
250 % roman fret label, finger labels below string, straight barre
251 c'2^\markup {
252 % 110% of default size
253 \override #'(size . 1.1) {
254 \override #'(fret-diagram-details . (
255 (number-type . roman-lower)
256 (finger-code . below-string)
257 (barre-type . straight))) {
258 \fret-diagram-verbose #'((mute 6)
259 (place-fret 5 3 1)
260 (place-fret 4 5 2)
261 (place-fret 3 5 3)
262 (place-fret 2 5 4)
263 (place-fret 1 3 1)
264 (barre 5 1 3))
269 %% C major for guitar, barred on third fret
270 %% Double barre used to test barre function
271 % verbose style
272 c'2^\markup {
273 % 110% of default size
274 \override #'(size . 1.1) {
275 \override #'(fret-diagram-details . (
276 (number-type . arabic)
277 (dot-label-font-mag . 0.9)
278 (finger-code . in-dot)
279 (fret-label-font-mag . 0.6)
280 (fret-label-vertical-offset . 0)
281 (label-dir . -1)
282 (mute-string . "M")
283 (xo-font-magnification . 0.4)
284 (xo-padding . 0.3))) {
285 \fret-diagram-verbose #'((mute 6)
286 (place-fret 5 3 1)
287 (place-fret 4 5 2)
288 (place-fret 3 5 3)
289 (place-fret 2 5 4)
290 (place-fret 1 3 1)
291 (barre 4 2 5)
292 (barre 5 1 3))
297 %% C major for guitar, with capo on third fret
298 % verbose style
299 c'2^\markup {
300 % 110% of default size
301 \override #'(size . 1.1) {
302 \override #'(fret-diagram-details . (
303 (number-type . roman-upper)
304 (dot-label-font-mag . 0.9)
305 (finger-code . none)
306 (fret-label-vertical-offset . 0.5)
307 (xo-font-magnification . 0.4)
308 (xo-padding . 0.3))) {
309 \fret-diagram-verbose #'((mute 6)
310 (capo 3)
311 (open 5)
312 (place-fret 4 5 1)
313 (place-fret 3 5 2)
314 (place-fret 2 5 3)
315 (open 1))
320 %% simple D chord
321 d'2^\markup {
322 \override #'(fret-diagram-details . (
323 (finger-code . below-string)
324 (dot-radius . 0.35)
325 (dot-position . 0.5)
326 (fret-count . 3))) {
327 \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
331 %% simple D chord, large top fret thickness
332 d'2^\markup {
333 \override #'(fret-diagram-details . (
334 (finger-code . below-string)
335 (dot-radius . 0.35)
336 (dot-position . 0.5)
337 (top-fret-thickness . 7)
338 (fret-count . 3))) {
339 \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"