]> git.donarmstrong.com Git - lilypond.git/blob - ly/bagpipe.ly
Committed the add.
[lilypond.git] / ly / bagpipe.ly
1 %{\r
2   Bagpipe music settings for Lilypond.\r
3   This file builds on work by Andrew McNabb (http://www.mcnabbs.org/andrew/)\r
4   \r
5   Substantial changes and additions made by \r
6   Sven Axelsson, the Murray Pipes & Drums of Gothenburg\r
7   (http://www.murrays.nu)\r
8   \r
9   $Id: bagpipe.ly,v 1.1 2005/08/04 21:54:58 gpercival Exp $\r
10 %}\r
11 \r
12 \version "2.6.0"\r
13 \r
14 % Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.\r
15 % Flat notes used mainly in some modern music.\r
16 \r
17 pitchnamesBagpipe = #`(\r
18   (G . ,(ly:make-pitch 0 4 NATURAL))\r
19   (a . ,(ly:make-pitch 0 5 NATURAL))\r
20   (b . ,(ly:make-pitch 0 6 NATURAL))\r
21   (c . ,(ly:make-pitch 1 0 SHARP))\r
22   (cflat . ,(ly:make-pitch 1 0 FLAT))\r
23   (d . ,(ly:make-pitch 1 1 NATURAL))\r
24   (e . ,(ly:make-pitch 1 2 NATURAL))\r
25   (f . ,(ly:make-pitch 1 3 SHARP))\r
26   (fflat . ,(ly:make-pitch 1 3 FLAT))\r
27   (g . ,(ly:make-pitch 1 4 NATURAL))\r
28   (gflat . ,(ly:make-pitch 1 4 FLAT))\r
29   (A . ,(ly:make-pitch 1 5 NATURAL))\r
30   (B . ,(ly:make-pitch 1 6 NATURAL))\r
31   (C . ,(ly:make-pitch 2 0 SHARP))\r
32 )\r
33 pitchnames = \pitchnamesBagpipe\r
34 #(ly:parser-set-note-names parser pitchnames)\r
35 \r
36 % Bagpipe music is written in something like D major. If we use\r
37 % flattened notes, the flat should be shown on all instances.\r
38 \r
39 hideKeySignature = {\r
40   % We normally don't want to show the key signature.\r
41   \override Score.KeySignature #'print-function = ##f\r
42   \set Score.extraNatural = ##f\r
43   \set Staff.keySignature = #'((0 . 2) (3 . 2))\r
44   #(set-accidental-style 'forget)\r
45 }\r
46 showKeySignature = {\r
47   % Show the key signature e.g. for BMW compatibility.\r
48   \override Score.KeySignature #'print-function = #'Key_signature_interface::print\r
49   \set Score.extraNatural = ##f\r
50   \set Staff.keySignature = #'((0 . 2) (3 . 2))\r
51   #(set-accidental-style 'forget)\r
52 }\r
53 \r
54 % Layout tweaks.\r
55 \r
56 \layout {\r
57   \context {\r
58     \Voice\r
59     % All stems go down.\r
60     \override Stem #'direction = #-1\r
61     % All slurs and ties are on top.\r
62     \override Slur #'direction = #1\r
63     \override Tie #'direction = #1\r
64   }\r
65 }\r
66 \r
67 % Some common timing tweaks.\r
68 \r
69 % Sets the autobeamer to span quarter notes only. Use for fast music.\r
70 % TODO: Needs more tweaking\r
71 quarterBeaming = {\r
72   #(override-auto-beam-setting '(end * * * *) 1 4 'Staff)\r
73   #(override-auto-beam-setting '(end * * * *) 1 2 'Staff)\r
74   #(override-auto-beam-setting '(end * * * *) 3 4 'Staff)\r
75   #(override-auto-beam-setting '(end * * * *) 4 4 'Staff)\r
76   #(revert-auto-beam-setting '(end 1 32 2 4 ) 1 8 'Staff)\r
77   #(revert-auto-beam-setting '(end 1 32 2 4 ) 3 8 'Staff)\r
78   #(revert-auto-beam-setting '(end 1 32 4 4 ) 1 8 'Staff)\r
79   #(revert-auto-beam-setting '(end 1 32 4 4 ) 3 8 'Staff)\r
80   #(revert-auto-beam-setting '(end 1 32 4 4 ) 5 8 'Staff)\r
81   #(revert-auto-beam-setting '(end 1 32 4 4 ) 7 8 'Staff)\r
82 }\r
83 halfBeaming = {\r
84   #(override-auto-beam-setting '(end * * 2 2) 1 2 'Staff)\r
85   #(override-auto-beam-setting '(end * * 2 2) 2 2 'Staff)\r
86 }\r
87 % Reels are in allabreve time with half note beaming.\r
88 reelTime = {\r
89   \time 2/2\r
90   \halfBeaming\r
91 }\r
92 % 4/4 marches are written with numerical time signature and with quarter beaming.\r
93 marchTime = {\r
94   \time 4/4\r
95   \override Staff.TimeSignature #'style = #'()\r
96   \quarterBeaming\r
97 }\r
98 \r
99 % Single grace notes\r
100 grG = { \grace { \small G32 } }\r
101 gra = { \grace { \small a32 } }\r
102 grb = { \grace { \small b32 } }\r
103 grc = { \grace { \small c32 } }\r
104 grd = { \grace { \small d32 } }\r
105 gre = { \grace { \small e32 } }\r
106 grf = { \grace { \small f32 } }\r
107 grg = { \grace { \small g32 } }\r
108 grA = { \grace { \small A32 } }\r
109 \r
110 % Doublings\r
111 dblG = { \grace { \small g32[ G d] } }\r
112 dbla = { \grace { \small g32[ a d] } }\r
113 dblb = { \grace { \small g32[ b d] } }\r
114 dblc = { \grace { \small g32[ c d] } }\r
115 dbld = { \grace { \small g32[ d e] } }\r
116 dble = { \grace { \small g32[ e f] } }\r
117 dblf = { \grace { \small g32[ f g] } }\r
118 % These are the same as the half doublings.\r
119 dblg = { \grace { \small g32[ f] } }\r
120 dblA = { \grace { \small A32[ g] } }\r
121 \r
122 % Half doublings\r
123 hdblG = { \grace { \small G32[ d] } }\r
124 hdbla = { \grace { \small a32[ d] } }\r
125 hdblb = { \grace { \small b32[ d] } }\r
126 hdblc = { \grace { \small c32[ d] } }\r
127 hdbld = { \grace { \small d32[ e] } }\r
128 hdble = { \grace { \small e32[ f] } }\r
129 hdblf = { \grace { \small f32[ g] } }\r
130 hdblg = { \grace { \small g32[ f] } }\r
131 hdblA = { \grace { \small A32[ g] } }\r
132 \r
133 % Thumb doublings\r
134 tdblG = { \grace { \small A32[ G d] } }\r
135 tdbla = { \grace { \small A32[ a d] } }\r
136 tdblb = { \grace { \small A32[ b d] } }\r
137 tdblc = { \grace { \small A32[ c d] } }\r
138 tdbld = { \grace { \small A32[ d e] } }\r
139 tdble = { \grace { \small A32[ e f] } }\r
140 tdblf = { \grace { \small A32[ f g] } }\r
141 tdblg = { \grace { \small A32[ g f] } }\r
142 \r
143 % Shakes\r
144 % A few of these can't really be played and are here only for consistency.\r
145 shakea = { \grace { \small g32[ a d a G] } }\r
146 shakeb = { \grace { \small g32[ b d b G] } }\r
147 shakec = { \grace { \small g32[ c d c G] } }\r
148 shaked = { \grace { \small g32[ d e d G] } }\r
149 shakee = { \grace { \small g32[ e f e a] } }\r
150 shakef = { \grace { \small g32[ f g f a] } }\r
151 shakeg = { \grace { \small A32[ f g a] } }\r
152 shakeA = { \grace { \small A32[ g A a] } }\r
153 \r
154 % Half shakes\r
155 hshakea = { \grace { \small a32[ d a G] } }\r
156 hshakeb = { \grace { \small b32[ d b G] } }\r
157 hshakec = { \grace { \small c32[ d c G] } }\r
158 hshaked = { \grace { \small d32[ e d G] } }\r
159 hshakee = { \grace { \small e32[ f e a] } }\r
160 hshakef = { \grace { \small f32[ g f a] } }\r
161 hshakeg = { \grace { \small g32[ f g a] } }\r
162 hshakeA = { \grace { \small A32[ g A a] } }\r
163 \r
164 % Thumb shakes\r
165 tshakea = { \grace { \small A32[ a d a G] } }\r
166 tshakeb = { \grace { \small A32[ b d b G] } }\r
167 tshakec = { \grace { \small A32[ c d c G] } }\r
168 tshaked = { \grace { \small A32[ d e d G] } }\r
169 tshakee = { \grace { \small A32[ e f e a] } }\r
170 tshakef = { \grace { \small A32[ f g f a] } }\r
171 tshakeg = { \grace { \small A32[ f g a] } }\r
172 tshakeA = { \grace { \small A32[ g A a] } }\r
173 \r
174 % Slurs\r
175 % A few of these can't really be played and are here only for consistency.\r
176 slura = { \grace { \small g32[ a G] } }\r
177 slurb = { \grace { \small g32[ b G] } }\r
178 slurc = { \grace { \small g32[ c G] } }\r
179 slurd = { \grace { \small g32[ d G] } }\r
180 slure = { \grace { \small g32[ e a] } }\r
181 slurf = { \grace { \small g32[ f a] } }\r
182 slurg = { \grace { \small A32[ f a] } }\r
183 slurA = { \grace { \small f32[ a] } }\r
184 \r
185 % Half slurs\r
186 hslura = { \grace { \small a32[ G] } }\r
187 hslurb = { \grace { \small b32[ G] } }\r
188 hslurc = { \grace { \small c32[ G] } }\r
189 hslurd = { \grace { \small d32[ G] } }\r
190 hslure = { \grace { \small e32[ a] } }\r
191 hslurf = { \grace { \small f32[ a] } }\r
192 hslurg = { \grace { \small g32[ a] } }\r
193 hslurA = { \grace { \small A32[ a] } }\r
194 \r
195 % Thumb slurs\r
196 tslura = { \grace { \small A32[ a G] } }\r
197 tslurb = { \grace { \small A32[ b G] } }\r
198 tslurc = { \grace { \small A32[ c G] } }\r
199 tslurd = { \grace { \small A32[ d a] } }\r
200 tslure = { \grace { \small A32[ e a] } }\r
201 tslurf = { \grace { \small A32[ f a] } }\r
202 tslurg = { \grace { \small A32[ f a] } }\r
203 tslurA = { \grace { \small f32[ a] } }\r
204 \r
205 % Catches\r
206 catcha = { \grace { \small a32[ G d G] } }\r
207 catchb = { \grace { \small b32[ G d G] } }\r
208 catchc = { \grace { \small c32[ G d G] } }\r
209 catchd = { \grace { \small d32[ G b G] } }\r
210 catche = { \grace { \small e32[ G d G] } }\r
211 \r
212 % G-grace catches\r
213 gcatcha = { \grace { \small g32[ a G d G] } }\r
214 gcatchb = { \grace { \small g32[ b G d G] } }\r
215 gcatchc = { \grace { \small g32[ c G d G] } }\r
216 gcatchd = { \grace { \small g32[ d G b G] } }\r
217 gcatche = { \grace { \small g32[ e G d G] } }\r
218 \r
219 % Thumb catches\r
220 tcatcha = { \grace { \small A32[ a G d G] } }\r
221 tcatchb = { \grace { \small A32[ b G d G] } }\r
222 tcatchc = { \grace { \small A32[ c G d G] } }\r
223 tcatchd = { \grace { \small A32[ d G b G] } }\r
224 tcatche = { \grace { \small A32[ e G d G] } }\r
225 \r
226 % Throws\r
227 thrwd     = { \grace { \small G32[ d c] } }\r
228 Gthrwd    = { \grace { \small d32[ c] } }\r
229 gripthrwd = { \grace { \small G32[ d G c] } }\r
230 thrwf     = { \grace { \small f32[ e g e] } }\r
231 \r
232 % Birls\r
233 birl  = { \grace { \small a32[ G a G] } }\r
234 wbirl = { \grace { \small G32[ a G] } }\r
235 gbirl = { \grace { \small g32[ a G a G] } }\r
236 dbirl = { \grace { \small d32[ a G a G] } }\r
237 \r
238 % Grips\r
239 grip  = { \grace { \small G32[ d G] } }\r
240 dgrip = { \grace { \small G32[ b G] } }\r
241 egrip = { \grace { \small G32[ e G] } }\r
242 \r
243 % Taorluaths\r
244 taor    = { \grace { \small G32[ d G e] } }\r
245 dtaor   = { \grace { \small G32[ b G e] } }\r
246 Gtaor   = { \grace { \small d32[ G e] } }\r
247 taoramb = { \grace { \small G32[ d G b e] } }\r
248 taoramc = { \grace { \small G32[ d G c e] } }\r
249 taoramd = { \grace { \small G32[ d G c d e] } }\r
250 \r
251 % Crunluaths\r
252 crun    = { \grace { \small G32[ d G e a f a ] } }\r
253 dcrun   = { \grace { \small G32[ b G e a f a ] } }\r
254 Gcrun   = { \grace { \small d32[ G e G f a ] } }\r
255 crunamb = { \grace { \small G32[ d G b e b f b ] } }\r
256 crunamc = { \grace { \small G32[ d G c e c f c ] } }\r
257 crunamd = { \grace { \small G32[ d G c d e d f d ] } }\r
258 \r
259 % Special piobaireachd notations\r
260 grGcad  = { \grace { \small G16 } }\r
261 gracad  = { \grace { \small a16 } }\r
262 cad     = { \grace { \small g32[ e8 d32] } }\r
263 hcad    = { \grace { \small g32[ e8] } }\r
264 dre     = { \grace { \small e32[ a f a] } }\r
265 % This is the same as thrwf\r
266 dare    = { \grace { \small f32[ e g e] } }\r
267 bari    = { \grace { \small e32[ G f G] } }\r
268 dari    = { \grace { \small f32[ e g e f e] } }\r
269 pthrwd  = { \grace { \small G16[ d32 c] } }\r
270 darodo  = { \grace { \small G32[ d G c G] } }\r
271 Gdarodo = { \grace { \small d32[ G c G] } }\r
272 % Non-gracenote piobaireachd markup.\r
273 trebling = \markup { \r
274   \override #'(baseline-skip . 0.3)\r
275   \column { \r
276     \musicglyph #"scripts.tenuto" \r
277     \musicglyph #"scripts.tenuto" \r
278     \musicglyph #"scripts.tenuto" \r
279   }\r
280 }\r
281 % Abbreviated notation common in piobaireachd scores.\r
282 % TODO: Make sure these are put on a fixed Y-position.\r
283 txtaor = \markup { "T" }\r
284 txcrun = \markup { "C" }\r
285 txtaorcrun = \markup { \column { "T" "C" } }\r
286 % TODO: These characters should be shown upside down.\r
287 % Use a postscript markup command for this.\r
288 txtaoram = \markup { "T" }\r
289 txcrunam = \markup { "C" }\r
290 txtaorcrunam = \markup { \column { "T" "C" } }\r