makelsr: local update (with -d).
[lilypond/patrick.git] / ly / bagpipe.ly
blob6812592060935070cd6635005e46b8449d174e2a
1 %{
2 Bagpipe music settings for LilyPond.
3 This file builds on work by Andrew McNabb (http://www.mcnabbs.org/andrew/)
5 Substantial changes and additions made by
6 Sven Axelsson, the Murray Pipes & Drums of Gothenburg
7 (http://www.murrays.nu)
9 $Id: bagpipe.ly,v 1.12 2006/03/16 14:39:46 hanwen Exp $
12 \version "2.13.29"
14 % Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.
15 % Flat notes used mainly in some modern music.
17 pitchnamesBagpipe = #`(
18 (G . ,(ly:make-pitch 0 4 NATURAL))
19 (a . ,(ly:make-pitch 0 5 NATURAL))
20 (b . ,(ly:make-pitch 0 6 NATURAL))
21 (c . ,(ly:make-pitch 1 0 SHARP))
22 (cflat . ,(ly:make-pitch 1 0 FLAT))
23 (d . ,(ly:make-pitch 1 1 NATURAL))
24 (e . ,(ly:make-pitch 1 2 NATURAL))
25 (f . ,(ly:make-pitch 1 3 SHARP))
26 (fflat . ,(ly:make-pitch 1 3 FLAT))
27 (g . ,(ly:make-pitch 1 4 NATURAL))
28 (gflat . ,(ly:make-pitch 1 4 FLAT))
29 (A . ,(ly:make-pitch 1 5 NATURAL))
30 (B . ,(ly:make-pitch 1 6 NATURAL))
31 (C . ,(ly:make-pitch 2 0 SHARP))
33 pitchnames = \pitchnamesBagpipe
34 #(ly:parser-set-note-names parser pitchnames)
36 % Bagpipe music is written in something like D major. If we use
37 % flattened notes, the flat should be shown on all instances.
39 hideKeySignature = {
40 % We normally don't want to show the key signature.
41 \override Staff.KeySignature #'stencil = ##f
42 \set Staff.extraNatural = ##f
43 \key d \major
44 #(set-accidental-style 'forget)
46 showKeySignature = {
47 % Show the key signature e.g. for BMW compatibility.
48 \override Staff.KeySignature #'stencil = #ly:key-signature-interface::print
49 \set Staff.extraNatural = ##f
50 \key d \major
51 #(set-accidental-style 'forget)
54 % Layout tweaks.
56 \layout {
57 \context {
58 \Voice
59 % All stems go down.
60 \override Stem #'direction = #DOWN
61 % All slurs and ties are on top.
62 \override Slur #'direction = #UP
63 \override Tie #'direction = #UP
67 % Some common timing tweaks.
69 % Sets the autobeamer to span quarter notes only. Use for fast music.
70 quarterBeaming = {
71 \set Staff.beamExceptions = #'()
73 halfBeaming = {
74 \set Staff.beamExceptions = #'((end . (((1 . 8) . (4 4))
75 ((1 . 12) . (3 3)))))
78 % Reels are in allabreve time with half note beaming.
79 reelTime = {
80 \time 2/2
81 \halfBeaming
83 % 4/4 marches are written with numerical time signature and with quarter beaming.
84 marchTime = {
85 \time 4/4
86 \numericTimeSignature
87 \quarterBeaming
90 % Add appropriate tweaks needed for piping grace notes to look great.
91 stemspace = #(define-music-function (parser location extent) (pair?) #{
92 \once \override Staff.Stem #'X-extent = #$extent
93 #})
94 pgrace = #(define-music-function (parser location notes) (ly:music?) #{
95 \override Score.GraceSpacing #'spacing-increment = #0
96 \override Score.Stem #'beamlet-max-length-proportion = #'(0.5 . 0.5)
97 \grace $notes
98 \revert Score.Stem #'beamlet-default-length
99 #})
101 % Single grace notes
102 grG = { \pgrace { \small G32 } }
103 gra = { \pgrace { \small a32 } }
104 grb = { \pgrace { \small b32 } }
105 grc = { \pgrace { \small c32 } }
106 grd = { \pgrace { \small d32 } }
107 gre = { \pgrace { \small e32 } }
108 grf = { \pgrace { \small f32 } }
109 grg = { \pgrace { \small g32 } }
110 grA = { \pgrace { \small A32 } }
112 % Doublings
113 dblG = { \pgrace { \small g32[ G d] } }
114 dbla = { \pgrace { \small g32[ a d] } }
115 dblb = { \pgrace { \small g32[ b d] } }
116 dblc = { \pgrace { \small g32[ c d] } }
117 dbld = { \pgrace { \small g32[ d e] } }
118 dble = { \pgrace { \small g32[ e f] } }
119 dblf = { \pgrace { \small g32[ f g] } }
120 % These are the same as the half doublings.
121 dblg = { \pgrace { \small g32[ f] } }
122 dblA = { \pgrace { \small A32[ g] } }
124 % Half doublings
125 hdblG = { \pgrace { \small G32[ d] } }
126 hdbla = { \pgrace { \small a32[ d] } }
127 hdblb = { \pgrace { \small b32[ d] } }
128 hdblc = { \pgrace { \small c32[ d] } }
129 hdbld = { \pgrace { \small d32[ e] } }
130 hdble = { \pgrace { \small e32[ f] } }
131 hdblf = { \pgrace { \small f32[ g] } }
132 hdblg = { \pgrace { \small g32[ f] } }
133 hdblA = { \pgrace { \small A32[ g] } }
135 % Thumb doublings
136 tdblG = { \pgrace { \small A32[ G d] } }
137 tdbla = { \pgrace { \small A32[ a d] } }
138 tdblb = { \pgrace { \small A32[ b d] } }
139 tdblc = { \pgrace { \small A32[ c d] } }
140 tdbld = { \pgrace { \small A32[ d e] } }
141 tdble = { \pgrace { \small A32[ e f] } }
142 tdblf = { \pgrace { \small A32[ f g] } }
143 tdblg = { \pgrace { \small A32[ g f] } }
145 % Shakes
146 % A few of these can't really be played and are here only for consistency.
147 shakea = { \pgrace { \small g32[ a e a G] } }
148 shakeb = { \pgrace { \small g32[ b e b G] } }
149 shakec = { \pgrace { \small g32[ c e c G] } }
150 shaked = { \pgrace { \small g32[ d e d G] } }
151 shakee = { \pgrace { \small g32[ e f e a] } }
152 shakef = { \pgrace { \small g32[ f g f a] } }
153 shakeg = { \pgrace { \small A32[ f g a] } }
154 shakeA = { \pgrace { \small A32[ g A a] } }
156 % Half shakes
157 hshakea = { \pgrace { \small a32[ d a G] } }
158 hshakeb = { \pgrace { \small b32[ d b G] } }
159 hshakec = { \pgrace { \small c32[ d c G] } }
160 hshaked = { \pgrace { \small d32[ e d G] } }
161 hshakee = { \pgrace { \small e32[ f e a] } }
162 hshakef = { \pgrace { \small f32[ g f a] } }
163 hshakeg = { \pgrace { \small g32[ f g a] } }
164 hshakeA = { \pgrace { \small A32[ g A a] } }
166 % Thumb shakes
167 tshakea = { \pgrace { \small A32[ a d a G] } }
168 tshakeb = { \pgrace { \small A32[ b d b G] } }
169 tshakec = { \pgrace { \small A32[ c d c G] } }
170 tshaked = { \pgrace { \small A32[ d e d G] } }
171 tshakee = { \pgrace { \small A32[ e f e a] } }
172 tshakef = { \pgrace { \small A32[ f g f a] } }
173 tshakeg = { \pgrace { \small A32[ f g a] } }
174 tshakeA = { \pgrace { \small A32[ g A a] } }
176 % Slurs
177 % A few of these can't really be played and are here only for consistency.
178 slura = { \pgrace { \small g32[ a G] } }
179 slurb = { \pgrace { \small g32[ b G] } }
180 slurc = { \pgrace { \small g32[ c G] } }
181 slurd = { \pgrace { \small g32[ d G] } }
182 wslurd = { \pgrace { \small g32[ d c] } }
183 slure = { \pgrace { \small g32[ e a] } }
184 slurf = { \pgrace { \small g32[ f a] } }
185 slurg = { \pgrace { \small A32[ f a] } }
186 slurA = { \pgrace { \small f32[ a] } }
188 % Half slurs
189 hslura = { \pgrace { \small a32[ G] } }
190 hslurb = { \pgrace { \small b32[ G] } }
191 hslurc = { \pgrace { \small c32[ G] } }
192 hslurd = { \pgrace { \small d32[ G] } }
193 whslurd = { \pgrace { \small d32[ c] } }
194 hslure = { \pgrace { \small e32[ a] } }
195 hslurf = { \pgrace { \small f32[ a] } }
196 hslurg = { \pgrace { \small g32[ a] } }
197 hslurA = { \pgrace { \small A32[ a] } }
199 % Thumb slurs
200 tslura = { \pgrace { \small A32[ a G] } }
201 tslurb = { \pgrace { \small A32[ b G] } }
202 tslurc = { \pgrace { \small A32[ c G] } }
203 tslurd = { \pgrace { \small A32[ d G] } }
204 wtslurd = { \pgrace { \small A32[ d c] } }
205 tslure = { \pgrace { \small A32[ e a] } }
206 tslurf = { \pgrace { \small A32[ f a] } }
207 tslurg = { \pgrace { \small A32[ f a] } }
208 tslurA = { \pgrace { \small f32[ a] } }
210 % Catches
211 catcha = { \pgrace { \small a32[ G d G] } }
212 catchb = { \pgrace { \small b32[ G d G] } }
213 catchc = { \pgrace { \small c32[ G d G] } }
214 catchd = { \pgrace { \small d32[ G b G] } }
215 catche = { \pgrace { \small e32[ G d G] } }
217 % G-grace catches
218 gcatcha = { \pgrace { \small g32[ a G d G] } }
219 gcatchb = { \pgrace { \small g32[ b G d G] } }
220 gcatchc = { \pgrace { \small g32[ c G d G] } }
221 gcatchd = { \pgrace { \small g32[ d G b G] } }
222 gcatche = { \pgrace { \small g32[ e G d G] } }
224 % Thumb catches
225 tcatcha = { \pgrace { \small A32[ a G d G] } }
226 tcatchb = { \pgrace { \small A32[ b G d G] } }
227 tcatchc = { \pgrace { \small A32[ c G d G] } }
228 tcatchd = { \pgrace { \small A32[ d G b G] } }
229 tcatche = { \pgrace { \small A32[ e G d G] } }
231 % Triple strikes (BMW has them all, but I've never seen any but the A one used, so ...)
232 tripleA = { \pgrace { \small A32[ g A g A g] } }
234 % Throws
235 thrwd = { \pgrace { \small G32[ d c] } }
236 Gthrwd = { \pgrace { \small d32[ c] } }
237 gripthrwd = { \pgrace { \small G32[ d G c] } }
238 thrwe = { \pgrace { \small e32[ a f a] } }
239 wthrwe = { \pgrace { \small e32[ d f d] } }
240 thrwf = { \pgrace { \small f32[ e g e] } }
242 % Birls
243 birl = { \pgrace { \small a32[ G a G] } }
244 wbirl = { \pgrace { \small G32[ a G] } }
245 gbirl = { \pgrace { \small g32[ a G a G] } }
246 dbirl = { \pgrace { \small d32[ a G a G] } }
248 % Grips
249 grip = { \pgrace { \small G32[ d G] } }
250 dgrip = { \pgrace { \small G32[ b G] } }
251 egrip = { \pgrace { \small G32[ e G] } }
253 % Taorluaths
254 taor = { \pgrace { \small G32[ d G e] } }
255 taorjmd = { \pgrace { \small G32[ d a e] } }
256 taorold = { \pgrace { \small G32[ d G a e] } }
257 dtaor = { \pgrace { \small G32[ b G e] } }
258 Gtaor = { \pgrace { \small d32[ G e] } }
259 taoramb = { \pgrace { \small G32[ d G b e] } }
260 taoramc = { \pgrace { \small G32[ d G c e] } }
261 taoramd = { \pgrace { \small G32[ d G c d e] } }
263 % Crunluaths
264 crun = { \pgrace { \small G32[ d G e a f a ] } }
265 dcrun = { \pgrace { \small G32[ b G e a f a ] } }
266 Gcrun = { \pgrace { \small d32[ G e G f a ] } }
267 crunamb = { \pgrace { \small G32[ d G b e b f b ] } }
268 crunamc = { \pgrace { \small G32[ d G c e c f c ] } }
269 crunamd = { \pgrace { \small G32[ d G c d e d f d ] } }
270 crunambfosg = { \pgrace { \small e32[ b f b ] } }
271 crunamcfosg = { \pgrace { \small e32[ c f c ] } }
272 crunamdfosg = { \pgrace { \small e32[ d f d ] } }
274 % Special piobaireachd notations
275 grGcad = { \pgrace { \small G16 } }
276 gracad = { \pgrace { \small a16 } }
277 cad = { \pgrace { \small \stemspace #'(0 . 0.5) g32[ e8 d32] } }
278 hcad = { \pgrace { \small \stemspace #'(0 . 0.5) g32[ e8] } }
279 tcad = { \pgrace { \small e8[ d32] } }
280 thcad = { \pgrace { \small e8 } }
281 % This is the same as thrwe
282 dre = { \pgrace { \small e32[ a f a] } }
283 % This is the same as thrwf
284 dare = { \pgrace { \small f32[ e g e] } }
285 bari = { \pgrace { \small e32[ G f G] } }
286 dari = { \pgrace { \small f32[ e g e f e] } }
287 pthrwd = { \pgrace { \small G16[ d32 c] } }
288 darodo = { \pgrace { \small G32[ d G c G] } }
289 Gdarodo = { \pgrace { \small d32[ G c G] } }
290 pdarodo = { \pgrace { \small G16[ d32 G c G16] } }
291 pGdarodo = { \pgrace { \small d32[ G c G16] } }
292 % Weird stuff from Joseph MacDonald’s book
293 fifteenthcutting = { \pgrace { \small G32[ d a e a f a e a d] } }
294 fifteenthcuttingG = { \pgrace { \small G32[ d a e G f G e G d] } }
295 Gfifteenthcutting = { \pgrace { \small d32[ a e a f a e a d] } }
296 GfifteenthcuttingG = { \pgrace { \small d32[ a e G f G e G d] } }
297 seventeenthcutting = { \pgrace { \small G32[ d a e a f a e a d a c] } }
298 seventeenthcuttingG = { \pgrace { \small G32[ d a e G f G e G d G c] } }
299 Gseventeenthcutting = { \pgrace { \small d32[ a e a f a e a d a c] } }
300 GseventeenthcuttingG = { \pgrace { \small d32[ a e G f G e G d G c] } }
301 barluadh = { \pgrace { \small G32[ d a e a f a e a d a c a b a e a f a] } }
302 barluadhG = { \pgrace { \small G32[ d a e G f G e G d G c G b G e G f G] } }
303 Gbarluadh = { \pgrace { \small d32[ a e a f a e a d a c a b a e a f a] } }
304 GbarluadhG = { \pgrace { \small d32[ a e G f G e G d G c G b G e G f G] } }
305 % Non-gracenote piobaireachd markup.
306 trebling = \markup {
307 \override #'(baseline-skip . 0.4)
308 \column {
309 \musicglyph #"scripts.tenuto"
310 \musicglyph #"scripts.tenuto"
311 \musicglyph #"scripts.tenuto"
314 % Abbreviated notation common in piobaireachd scores.
315 % TODO: Make sure these are put on a fixed Y-position.
316 txtaor = \markup { \center-align "T" }
317 txcrun = \markup { \center-align "C" }
318 txtaorcrun = \markup {
319 \override #'(baseline-skip . 1.8)
320 \column {
321 \center-align "T"
322 \center-align "C"
325 % Turn these upside down, as in the Kilberry book.
326 txtaoram = \markup { \center-align \scale #'(-1 . -1) "T" }
327 txcrunam = \markup { \center-align \scale #'(-1 . -1) "C" }
328 txtaorcrunam = \markup {
329 \override #'(baseline-skip . 1.8)
330 \column {
331 \center-align \scale #'(-1 . -1) "T"
332 \center-align \scale #'(-1 . -1) "C"