Sven Axelsson, the Murray Pipes & Drums of Gothenburg
(http://www.murrays.nu)
+ Corrections and additions by Julia Meihoefer and Oliver Briede
+
$Id: bagpipe.ly,v 1.12 2006/03/16 14:39:46 hanwen Exp $
%}
-\version "2.15.18"
+\version "2.19.22"
% Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.
% Flat notes used mainly in some modern music.
(a . ,(ly:make-pitch 0 5 NATURAL))
(b . ,(ly:make-pitch 0 6 NATURAL))
(c . ,(ly:make-pitch 1 0 SHARP))
+ (c-flat . ,(ly:make-pitch 1 0 FLAT))
(cflat . ,(ly:make-pitch 1 0 FLAT))
(d . ,(ly:make-pitch 1 1 NATURAL))
(e . ,(ly:make-pitch 1 2 NATURAL))
(f . ,(ly:make-pitch 1 3 SHARP))
+ (f-flat . ,(ly:make-pitch 1 3 FLAT))
(fflat . ,(ly:make-pitch 1 3 FLAT))
(g . ,(ly:make-pitch 1 4 NATURAL))
+ (g-flat . ,(ly:make-pitch 1 4 FLAT))
(gflat . ,(ly:make-pitch 1 4 FLAT))
(A . ,(ly:make-pitch 1 5 NATURAL))
(B . ,(ly:make-pitch 1 6 NATURAL))
(C . ,(ly:make-pitch 2 0 SHARP))
)
pitchnames = \pitchnamesBagpipe
-#(ly:parser-set-note-names parser pitchnames)
+#(ly:parser-set-note-names pitchnames)
% Bagpipe music is written in something like D major. If we use
% flattened notes, the flat should be shown on all instances.
hideKeySignature = {
% We normally don't want to show the key signature.
- \override Staff.KeySignature #'stencil = ##f
+ \omit Staff.KeySignature
\set Staff.extraNatural = ##f
\key d \major
- $(set-accidental-style 'forget)
+ \accidentalStyle forget
}
showKeySignature = {
% Show the key signature e.g. for BMW compatibility.
- \override Staff.KeySignature #'stencil = #ly:key-signature-interface::print
+ \override Staff.KeySignature.stencil = #ly:key-signature-interface::print
\set Staff.extraNatural = ##f
\key d \major
- $(set-accidental-style 'forget)
+ \accidentalStyle forget
}
% Layout tweaks.
\context {
\Voice
% All stems go down.
- \override Stem #'direction = #DOWN
+ \override Stem.direction = #DOWN
% All slurs and ties are on top.
- \override Slur #'direction = #UP
- \override Tie #'direction = #UP
+ \override Slur.direction = #UP
+ \override Tie.direction = #UP
}
}
\set Staff.beamExceptions = #'()
}
halfBeaming = {
- \set Staff.beamExceptions = #'((end . (((1 . 8) . (4 4))
- ((1 . 12) . (3 3)))))
+ \set Staff.beamExceptions =
+ \beamExceptions { 8[ 8 8 8] |
+ \tuplet 3/2 { 8[ 8 8] 8[ 8 8] 8[ 8 8] 8[ 8 8] } }
}
% Reels are in allabreve time with half note beaming.
}
% Add appropriate tweaks needed for piping grace notes to look great.
-stemspace = #(define-music-function (parser location extent) (pair?) #{
- \once \override Staff.Stem #'X-extent = #extent
+stemspace = #(define-music-function (extent) (pair?) #{
+ \once \override Staff.Stem.X-extent = #extent
#})
-pgrace = #(define-music-function (parser location notes) (ly:music?) #{
- \override Score.GraceSpacing #'spacing-increment = #0
- \override Score.Stem #'beamlet-max-length-proportion = #'(0.5 . 0.5)
+pgrace = #(define-music-function (notes) (ly:music?) #{
+ \override Score.GraceSpacing.spacing-increment = #0
+ \override Score.Stem.beamlet-max-length-proportion = #'(0.5 . 0.5)
\small \grace $notes \normalsize
- \revert Score.Stem #'beamlet-default-length
+ \revert Score.Stem.beamlet-default-length
#})
% Single grace notes
tdblf = { \pgrace { A32[ f g] } }
tdblg = { \pgrace { A32[ g f] } }
-% Shakes
+% Shakes / Pele
% A few of these can't really be played and are here only for consistency.
shakea = { \pgrace { g32[ a e a G] } }
shakeb = { \pgrace { g32[ b e b G] } }
shakec = { \pgrace { g32[ c e c G] } }
shaked = { \pgrace { g32[ d e d G] } }
+wshaked = { \pgrace { g32[ d e d c] } }
shakee = { \pgrace { g32[ e f e a] } }
-shakef = { \pgrace { g32[ f g f a] } }
+shakef = { \pgrace { g32[ f g f e] } }
shakeg = { \pgrace { A32[ f g a] } }
shakeA = { \pgrace { A32[ g A a] } }
-% Half shakes
-hshakea = { \pgrace { a32[ d a G] } }
-hshakeb = { \pgrace { b32[ d b G] } }
-hshakec = { \pgrace { c32[ d c G] } }
+% Half shakes / Half Pele
+hshakea = { \pgrace { a32[ e a G] } }
+hshakeb = { \pgrace { b32[ e b G] } }
+hshakec = { \pgrace { c32[ e c G] } }
hshaked = { \pgrace { d32[ e d G] } }
+whshaked = { \pgrace { d32[ e d c] } }
hshakee = { \pgrace { e32[ f e a] } }
-hshakef = { \pgrace { f32[ g f a] } }
-hshakeg = { \pgrace { g32[ f g a] } }
+hshakef = { \pgrace { f32[ g f e] } }
+hshakeg = { \pgrace { g32[ A g f] } }
hshakeA = { \pgrace { A32[ g A a] } }
-% Thumb shakes
-tshakea = { \pgrace { A32[ a d a G] } }
-tshakeb = { \pgrace { A32[ b d b G] } }
-tshakec = { \pgrace { A32[ c d c G] } }
+% Thumb shakes / Thumb Peles
+tshakea = { \pgrace { A32[ a e a G] } }
+tshakeb = { \pgrace { A32[ b e b G] } }
+tshakec = { \pgrace { A32[ c e c G] } }
tshaked = { \pgrace { A32[ d e d G] } }
+wtshaked = { \pgrace { A32[ d e d c] } }
tshakee = { \pgrace { A32[ e f e a] } }
-tshakef = { \pgrace { A32[ f g f a] } }
-tshakeg = { \pgrace { A32[ f g a] } }
+tshakef = { \pgrace { A32[ f g f e] } }
+tshakeg = { \pgrace { A32[ g A g f] } }
tshakeA = { \pgrace { A32[ g A a] } }
-% Slurs
+% Slurs / G - Grace Strike
% A few of these can't really be played and are here only for consistency.
slura = { \pgrace { g32[ a G] } }
slurb = { \pgrace { g32[ b G] } }
slurd = { \pgrace { g32[ d G] } }
wslurd = { \pgrace { g32[ d c] } }
slure = { \pgrace { g32[ e a] } }
-slurf = { \pgrace { g32[ f a] } }
+slurf = { \pgrace { g32[ f e] } }
slurg = { \pgrace { A32[ f a] } }
slurA = { \pgrace { f32[ a] } }
-% Half slurs
+% Half slurs / Half Strike
hslura = { \pgrace { a32[ G] } }
hslurb = { \pgrace { b32[ G] } }
hslurc = { \pgrace { c32[ G] } }
hslurd = { \pgrace { d32[ G] } }
whslurd = { \pgrace { d32[ c] } }
hslure = { \pgrace { e32[ a] } }
-hslurf = { \pgrace { f32[ a] } }
-hslurg = { \pgrace { g32[ a] } }
+hslurf = { \pgrace { f32[ e] } }
+hslurg = { \pgrace { g32[ f] } }
hslurA = { \pgrace { A32[ a] } }
-% Thumb slurs
+% Thumb slurs / Thumb Strike
tslura = { \pgrace { A32[ a G] } }
tslurb = { \pgrace { A32[ b G] } }
tslurc = { \pgrace { A32[ c G] } }
tslurd = { \pgrace { A32[ d G] } }
wtslurd = { \pgrace { A32[ d c] } }
tslure = { \pgrace { A32[ e a] } }
-tslurf = { \pgrace { A32[ f a] } }
-tslurg = { \pgrace { A32[ f a] } }
+tslurf = { \pgrace { A32[ f e] } }
+tslurg = { \pgrace { A32[ g f] } }
tslurA = { \pgrace { f32[ a] } }
-% Catches
-catcha = { \pgrace { a32[ G d G] } }
-catchb = { \pgrace { b32[ G d G] } }
-catchc = { \pgrace { c32[ G d G] } }
-catchd = { \pgrace { d32[ G b G] } }
-catche = { \pgrace { e32[ G d G] } }
-
-% G-grace catches
-gcatcha = { \pgrace { g32[ a G d G] } }
-gcatchb = { \pgrace { g32[ b G d G] } }
-gcatchc = { \pgrace { g32[ c G d G] } }
-gcatchd = { \pgrace { g32[ d G b G] } }
-gcatche = { \pgrace { g32[ e G d G] } }
+% Catches / Half Grip
+catcha = { \pgrace { g32[ a G d G] } }
+catchb = { \pgrace { g32[ b G d G] } }
+catchc = { \pgrace { g32[ c G d G] } }
+catchd = { \pgrace { g32[ d G d G] } }
+wcatchd = { \pgrace { g32[ d G b G] } }
+catche = { \pgrace { g32[ e G d G] } }
+
+% Half catches / G - Grace Grip
+hcatcha = { \pgrace { a32[ G d G] } }
+hcatchb = { \pgrace { b32[ G d G] } }
+hcatchc = { \pgrace { c32[ G d G] } }
+hcatchd = { \pgrace { d32[ G d G] } }
+whcatchd = { \pgrace { d32[ G b G] } }
+hcatche = { \pgrace { e32[ G d G] } }
% Thumb catches
tcatcha = { \pgrace { A32[ a G d G] } }
tcatchb = { \pgrace { A32[ b G d G] } }
tcatchc = { \pgrace { A32[ c G d G] } }
-tcatchd = { \pgrace { A32[ d G b G] } }
+tcatchd = { \pgrace { A32[ d G d G] } }
+wtcatchd = { \pgrace { A32[ d G b G] } }
tcatche = { \pgrace { A32[ e G d G] } }
-% Triple strikes (BMW has them all, but I've never seen any but the A one used, so ...)
+% Triple strikes
+% Those that cannnot be played have been omitted.
tripleA = { \pgrace { A32[ g A g A g] } }
% Throws
gbirl = { \pgrace { g32[ a G a G] } }
dbirl = { \pgrace { d32[ a G a G] } }
-% Grips
+% Grips / Leumluath
grip = { \pgrace { G32[ d G] } }
-dgrip = { \pgrace { G32[ b G] } }
+bgrip = { \pgrace { G32[ b G] } }
egrip = { \pgrace { G32[ e G] } }
% Taorluaths
taor = { \pgrace { G32[ d G e] } }
taorjmd = { \pgrace { G32[ d a e] } }
taorold = { \pgrace { G32[ d G a e] } }
-dtaor = { \pgrace { G32[ b G e] } }
+btaor = { \pgrace { G32[ b G e] } }
Gtaor = { \pgrace { d32[ G e] } }
taoramb = { \pgrace { G32[ d G b e] } }
taoramc = { \pgrace { G32[ d G c e] } }