Fix #348.
[lilypond/mpolesky.git] / ly / bagpipe.ly
blobcfe1ec14506acdecc228ee75750ac3497a9382e5
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.12.0"
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 % TODO: Needs more tweaking
71 quarterBeaming = {
72 \overrideBeamSettings #'Staff #'(4 . 4) #'end
73 #'((* . (1 1 1 1)) ; could omit this and use beatLength
74 ((1 . 32) . (4 4 4 4 4 4 4 4)))
75 \overrideBeamSettings #'Staff #'(2 . 4) #'end
76 #'((* . (1 1))
77 ((1 . 32) . (4 4 4 4)))
79 halfBeaming = {
80 \overrideBeamSettings #'Staff #'(2 . 2) #'end
81 #'((* . (1 1))) % could omit this and use beatLength
83 % Reels are in allabreve time with half note beaming.
84 reelTime = {
85 \time 2/2
86 \halfBeaming
88 % 4/4 marches are written with numerical time signature and with quarter beaming.
89 marchTime = {
90 \time 4/4
91 \override Staff.TimeSignature #'style = #'()
92 \quarterBeaming
95 % Single grace notes
96 grG = { \grace { \small G32 } }
97 gra = { \grace { \small a32 } }
98 grb = { \grace { \small b32 } }
99 grc = { \grace { \small c32 } }
100 grd = { \grace { \small d32 } }
101 gre = { \grace { \small e32 } }
102 grf = { \grace { \small f32 } }
103 grg = { \grace { \small g32 } }
104 grA = { \grace { \small A32 } }
106 % Doublings
107 dblG = { \grace { \small g32[ G d] } }
108 dbla = { \grace { \small g32[ a d] } }
109 dblb = { \grace { \small g32[ b d] } }
110 dblc = { \grace { \small g32[ c d] } }
111 dbld = { \grace { \small g32[ d e] } }
112 dble = { \grace { \small g32[ e f] } }
113 dblf = { \grace { \small g32[ f g] } }
114 % These are the same as the half doublings.
115 dblg = { \grace { \small g32[ f] } }
116 dblA = { \grace { \small A32[ g] } }
118 % Half doublings
119 hdblG = { \grace { \small G32[ d] } }
120 hdbla = { \grace { \small a32[ d] } }
121 hdblb = { \grace { \small b32[ d] } }
122 hdblc = { \grace { \small c32[ d] } }
123 hdbld = { \grace { \small d32[ e] } }
124 hdble = { \grace { \small e32[ f] } }
125 hdblf = { \grace { \small f32[ g] } }
126 hdblg = { \grace { \small g32[ f] } }
127 hdblA = { \grace { \small A32[ g] } }
129 % Thumb doublings
130 tdblG = { \grace { \small A32[ G d] } }
131 tdbla = { \grace { \small A32[ a d] } }
132 tdblb = { \grace { \small A32[ b d] } }
133 tdblc = { \grace { \small A32[ c d] } }
134 tdbld = { \grace { \small A32[ d e] } }
135 tdble = { \grace { \small A32[ e f] } }
136 tdblf = { \grace { \small A32[ f g] } }
137 tdblg = { \grace { \small A32[ g f] } }
139 % Shakes
140 % A few of these can't really be played and are here only for consistency.
141 shakea = { \grace { \small g32[ a d a G] } }
142 shakeb = { \grace { \small g32[ b d b G] } }
143 shakec = { \grace { \small g32[ c d c G] } }
144 shaked = { \grace { \small g32[ d e d G] } }
145 shakee = { \grace { \small g32[ e f e a] } }
146 shakef = { \grace { \small g32[ f g f a] } }
147 shakeg = { \grace { \small A32[ f g a] } }
148 shakeA = { \grace { \small A32[ g A a] } }
150 % Half shakes
151 hshakea = { \grace { \small a32[ d a G] } }
152 hshakeb = { \grace { \small b32[ d b G] } }
153 hshakec = { \grace { \small c32[ d c G] } }
154 hshaked = { \grace { \small d32[ e d G] } }
155 hshakee = { \grace { \small e32[ f e a] } }
156 hshakef = { \grace { \small f32[ g f a] } }
157 hshakeg = { \grace { \small g32[ f g a] } }
158 hshakeA = { \grace { \small A32[ g A a] } }
160 % Thumb shakes
161 tshakea = { \grace { \small A32[ a d a G] } }
162 tshakeb = { \grace { \small A32[ b d b G] } }
163 tshakec = { \grace { \small A32[ c d c G] } }
164 tshaked = { \grace { \small A32[ d e d G] } }
165 tshakee = { \grace { \small A32[ e f e a] } }
166 tshakef = { \grace { \small A32[ f g f a] } }
167 tshakeg = { \grace { \small A32[ f g a] } }
168 tshakeA = { \grace { \small A32[ g A a] } }
170 % Slurs
171 % A few of these can't really be played and are here only for consistency.
172 slura = { \grace { \small g32[ a G] } }
173 slurb = { \grace { \small g32[ b G] } }
174 slurc = { \grace { \small g32[ c G] } }
175 slurd = { \grace { \small g32[ d G] } }
176 slure = { \grace { \small g32[ e a] } }
177 slurf = { \grace { \small g32[ f a] } }
178 slurg = { \grace { \small A32[ f a] } }
179 slurA = { \grace { \small f32[ a] } }
181 % Half slurs
182 hslura = { \grace { \small a32[ G] } }
183 hslurb = { \grace { \small b32[ G] } }
184 hslurc = { \grace { \small c32[ G] } }
185 hslurd = { \grace { \small d32[ G] } }
186 hslure = { \grace { \small e32[ a] } }
187 hslurf = { \grace { \small f32[ a] } }
188 hslurg = { \grace { \small g32[ a] } }
189 hslurA = { \grace { \small A32[ a] } }
191 % Thumb slurs
192 tslura = { \grace { \small A32[ a G] } }
193 tslurb = { \grace { \small A32[ b G] } }
194 tslurc = { \grace { \small A32[ c G] } }
195 tslurd = { \grace { \small A32[ d a] } }
196 tslure = { \grace { \small A32[ e a] } }
197 tslurf = { \grace { \small A32[ f a] } }
198 tslurg = { \grace { \small A32[ f a] } }
199 tslurA = { \grace { \small f32[ a] } }
201 % Catches
202 catcha = { \grace { \small a32[ G d G] } }
203 catchb = { \grace { \small b32[ G d G] } }
204 catchc = { \grace { \small c32[ G d G] } }
205 catchd = { \grace { \small d32[ G b G] } }
206 catche = { \grace { \small e32[ G d G] } }
208 % G-grace catches
209 gcatcha = { \grace { \small g32[ a G d G] } }
210 gcatchb = { \grace { \small g32[ b G d G] } }
211 gcatchc = { \grace { \small g32[ c G d G] } }
212 gcatchd = { \grace { \small g32[ d G b G] } }
213 gcatche = { \grace { \small g32[ e G d G] } }
215 % Thumb catches
216 tcatcha = { \grace { \small A32[ a G d G] } }
217 tcatchb = { \grace { \small A32[ b G d G] } }
218 tcatchc = { \grace { \small A32[ c G d G] } }
219 tcatchd = { \grace { \small A32[ d G b G] } }
220 tcatche = { \grace { \small A32[ e G d G] } }
222 % Throws
223 thrwd = { \grace { \small G32[ d c] } }
224 Gthrwd = { \grace { \small d32[ c] } }
225 gripthrwd = { \grace { \small G32[ d G c] } }
226 thrwf = { \grace { \small f32[ e g e] } }
228 % Birls
229 birl = { \grace { \small a32[ G a G] } }
230 wbirl = { \grace { \small G32[ a G] } }
231 gbirl = { \grace { \small g32[ a G a G] } }
232 dbirl = { \grace { \small d32[ a G a G] } }
234 % Grips
235 grip = { \grace { \small G32[ d G] } }
236 dgrip = { \grace { \small G32[ b G] } }
237 egrip = { \grace { \small G32[ e G] } }
239 % Taorluaths
240 taor = { \grace { \small G32[ d G e] } }
241 dtaor = { \grace { \small G32[ b G e] } }
242 Gtaor = { \grace { \small d32[ G e] } }
243 taoramb = { \grace { \small G32[ d G b e] } }
244 taoramc = { \grace { \small G32[ d G c e] } }
245 taoramd = { \grace { \small G32[ d G c d e] } }
247 % Crunluaths
248 crun = { \grace { \small G32[ d G e a f a ] } }
249 dcrun = { \grace { \small G32[ b G e a f a ] } }
250 Gcrun = { \grace { \small d32[ G e G f a ] } }
251 crunamb = { \grace { \small G32[ d G b e b f b ] } }
252 crunamc = { \grace { \small G32[ d G c e c f c ] } }
253 crunamd = { \grace { \small G32[ d G c d e d f d ] } }
255 % Special piobaireachd notations
256 grGcad = { \grace { \small G16 } }
257 gracad = { \grace { \small a16 } }
258 cad = { \grace { \small g32[ e8 d32] } }
259 hcad = { \grace { \small g32[ e8] } }
260 dre = { \grace { \small e32[ a f a] } }
261 % This is the same as thrwf
262 dare = { \grace { \small f32[ e g e] } }
263 bari = { \grace { \small e32[ G f G] } }
264 dari = { \grace { \small f32[ e g e f e] } }
265 pthrwd = { \grace { \small G16[ d32 c] } }
266 darodo = { \grace { \small G32[ d G c G] } }
267 Gdarodo = { \grace { \small d32[ G c G] } }
268 % Non-gracenote piobaireachd markup.
269 trebling = \markup {
270 \override #'(baseline-skip . 0.3)
271 \column {
272 \musicglyph #"scripts.tenuto"
273 \musicglyph #"scripts.tenuto"
274 \musicglyph #"scripts.tenuto"
277 % Abbreviated notation common in piobaireachd scores.
278 % TODO: Make sure these are put on a fixed Y-position.
279 txtaor = \markup { "T" }
280 txcrun = \markup { "C" }
281 txtaorcrun = \markup { \column { "T" "C" } }
282 % TODO: These characters should be shown upside down.
283 % Use a postscript markup command for this.
284 txtaoram = \markup { "T" }
285 txcrunam = \markup { "C" }
286 txtaorcrunam = \markup { \column { "T" "C" } }