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