]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/snippets/flamenco-notation.ly
LSR: Local update.
[lilypond.git] / Documentation / snippets / flamenco-notation.ly
1 % Do not edit this file; it is automatically
2 % generated from Documentation/snippets/new
3 % This file is in the public domain.
4 %% Note: this file works from version 2.13.10
5 \version "2.13.18"
6
7 \header {
8   lsrtags = "fretted-strings"
9
10   texidoc = "
11 For flamenco guitar, special notation is used:
12
13
14 @itemize
15
16 @item
17 a golpe symbol to indicate a slap on the guitar body with the nail of
18 the ring finger
19
20 @item
21 an arrow to indicate (the direction of) strokes
22
23 @item
24 different letters for fingering (@qq{p}: thumb, @qq{i}: index finger,
25 @qq{m}: middle finger, @qq{a}: ring finger and @qq{x}: little finger)
26
27 @item
28 3- and 4-finger rasgueados: stroke upwards with all fingers, ending
29 with an up- and down using the index finger
30
31 @item
32 abanicos: strokes (in tuples) with thumb (down), little and index finger
33 (both up) (there is also an abanico 2 where middle and ring finger are
34 used instead of the little finger)
35
36 @item
37 alza pua: fast playing with the thumb
38
39 @end itemize
40
41
42 Most figures use arrows in combination with fingering; with abanicos
43 and rasgueados, noteheads are printed only for the first chord.
44
45 This snippet contains some header-like code that can be copied as
46 @samp{flamenco.ly} and included in source files.
47
48 "
49   doctitle = "Flamenco notation"
50 } % begin verbatim
51
52
53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 %%%%%%%  Cut here ----- Start 'flamenco.ly'
55
56 % Text indicators
57 abanico = \markup { \italic Abanico }
58 rasgueaso = \markup { \italic Ras. }
59 alzapua = \markup { \italic Alzapua }
60
61 % Finger stroke symbols
62 strokeUp = \markup { \postscript #"
63   0.1     setlinewidth
64   0.5 0   moveto
65   0.5 2   lineto
66   0.2 1.4 lineto
67   0.5 2   moveto
68   0.8 1.4 lineto
69   stroke
70 "}
71
72 strokeDown = \markup { \postscript #"
73   0.1     setlinewidth
74   0.5 2   moveto
75   0.5 0   lineto
76   0.2 0.6 lineto
77   0.5 0   moveto
78   0.8 0.6 lineto
79   stroke
80 "}
81
82 % Golpe symbol
83 golpe = \markup { \postscript #"
84   0.2 setlinewidth
85   0 0 moveto
86   1 0 lineto
87   1 1 lineto
88   stroke
89   "\postscript #"
90   0.1       setlinewidth
91   -0.6 -0.1  moveto
92   -0.6  1.0 lineto
93   0.5  1.0 lineto
94   stroke
95 "}
96
97 strokeUpGolpe = \markup { \column { \golpe \line { \strokeUp } } }
98 iUpGolpe = \markup { \column { \golpe \line { \small i } \line { \strokeUp } } }
99
100 % Strokes for all fingers
101 pUp   = \markup { \column { \small p \line { \strokeUp } } }
102 pDown = \markup { \column { \small p \line { \strokeDown } } }
103 iUp   = \markup { \column { \small i \line { \strokeUp } } }
104 iDown = \markup { \column { \small i \line { \strokeDown } } }
105 mUp   = \markup { \column { \small m \line { \strokeUp } } }
106 mDown = \markup { \column { \small m \line { \strokeDown } } }
107 aUp   = \markup { \column { \small a \line { \strokeUp } } }
108 aDown = \markup { \column { \small a \line { \strokeDown } } }
109 xUp   = \markup { \column { \small x \line { \strokeUp } } }
110 xDown = \markup { \column { \small x \line { \strokeDown } } }
111
112
113 % Just handy :)
114 tupletOff = {
115   \once \override TupletNumber #'stencil = ##f
116   \once \override TupletBracket #'stencil = ##f
117 }
118
119 tupletsOff = {
120   \override TupletNumber #'stencil = ##f
121   \override TupletBracket #'bracket-visibility = #'if-no-beam
122 }
123
124 tupletsOn = {
125   \override TupletBracket #'bracket-visibility = #'default
126   \revert TupletNumber #'stencil
127 }
128
129 headsOff = {
130   \override TabNoteHead #'transparent = ##t
131   \override NoteHead #'transparent = ##t
132   \override NoteHead #'no-ledgers = ##t
133 }
134
135 headsOn = {
136   \override TabNoteHead #'transparent = ##f
137   \override NoteHead #'transparent = ##f
138   \override NoteHead #'no-ledgers = ##f
139 }
140
141 %%%%%%%  Cut here ----- End 'flamenco.ly'
142 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143
144 part = \relative c' {
145   <a, e' a cis e>8^\iUp
146   <a e' a cis e>8^\iDown
147   r4
148   r2^\golpe
149
150   <a e' a cis e>8^\iUp
151   <a e' a cis e>8^\iDown
152   <a e' a cis e>8^\iUpGolpe
153   <a e' a cis e>8^\iDown
154   r2
155
156   <a e' a cis e>16^\aUp
157   \headsOff
158   <a e' a cis e>^\mUp
159   <a e' a cis e>^\iUp
160   <a e' a cis e>^\iDown~
161   \headsOn
162   <a e' a cis e>2
163   r4
164
165   \tupletOff
166   \times 4/5 {
167     <a e' a cis e>16^\xUp
168     \headsOff
169     <a e' a cis e>^\aUp
170     <a e' a cis e>^\mUp
171     <a e' a cis e>^\iUp
172     <a e' a cis e>^\iDown~
173     \headsOn
174   }
175   <a e' a cis e>2
176   r4
177
178   \tupletsOff
179   \times 2/3 {
180     <a e' a cis e>8^\pDown
181     \headsOff
182     <a e' a cis e>^\xUp
183     <a e' a cis e>^\iUp
184     \headsOn
185   }
186
187   \times 2/3 {
188     <a e' a cis e>8^\pDown
189     \headsOff
190     <a e' a cis e>^\xUp
191     <a e' a cis e>^\iUp
192     \headsOn
193   }
194
195   \times 2/3 {
196     <a e' a cis e>8^\pDown
197     \headsOff
198     <a e' a cis e>^\xUp
199     <a e' a cis e>^\iUp
200     \headsOn
201   }
202   \times 2/3 {
203     <a e' a cis e>8^\pDown
204     \headsOff
205     <a e' a cis e>^\xUp
206     <a e' a cis e>^\iUp
207     \headsOn
208   }
209
210   \tupletsOff
211   \override Beam #'positions = #'(2 . 2)
212   \times 2/3 {
213     a8^\markup{ \small p }
214     <e' a>^\strokeUpGolpe
215     <e a>^\strokeDown
216   }
217   \times 2/3 {
218     a,8^\markup{ \small p }
219     <e' a>^\strokeUpGolpe
220     <e a>^\strokeDown
221   }
222   \times 2/3 {
223     a,8^\markup{ \small p }
224     <e' a>^\strokeUpGolpe
225     <e a>^\strokeDown
226   }
227   \times 2/3 {
228     a,8^\markup{ \small p }
229     <e' a>^\strokeUpGolpe
230     <e a>^\strokeDown
231   }
232   \tupletsOn
233
234   \once \override TextScript #'extra-offset = #'(0 . -1)
235   <g, b f'>1_\golpe^\mUp
236   \bar "|."
237 }
238
239 \score {
240   \new StaffGroup <<
241     \context Staff = "part" <<
242       \clef G
243       \transpose c c'
244       {
245         \part
246       }
247     >>
248     \context TabStaff {
249       \part
250     }
251   >>
252   \layout {
253     ragged-right = ##t
254   }
255 }