1
0
Fork 0
mirror of https://github.com/kastdeur/bagpipe.ly.git synced 2024-11-01 01:53:32 +01:00
bagpipe.ly/bagpipe_new.ly

375 lines
13 KiB
Text
Raw Normal View History

%{
Bagpipe music settings for Lilypond.
This file builds on work by Andrew McNabb (http://www.mcnabbs.org/andrew/)
2009-01-28 17:53:50 +01:00
Substantial changes and additions made by
Sven Axelsson, the Murray Pipes & Drums of Gothenburg
(http://www.murrays.nu)
%}
2009-01-28 17:53:50 +01:00
\version "2.12.0"
% Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.
% Flat notes used mainly in some modern music.
pitchnamesBagpipe = #`(
(G . ,(ly:make-pitch 0 4 NATURAL))
(a . ,(ly:make-pitch 0 5 NATURAL))
(b . ,(ly:make-pitch 0 6 NATURAL))
(bflat . ,(ly:make-pitch 0 6 FLAT))
(c . ,(ly:make-pitch 1 0 SHARP))
(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))
(fflat . ,(ly:make-pitch 1 3 FLAT))
(g . ,(ly:make-pitch 1 4 NATURAL))
(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)
% Bagpipe music is written in something like D major. If we use
% flattened notes, the flat should be shown on all instances.
bagpipeKey = {
\key d \major
#(set-accidental-style 'forget)
}
% Show the key signature e.g. for BMW compatibility.
showKeySignature = {
\override Staff.KeySignature #'stencil = #'ly:key-signature-interface::print
\override StaffGroup.KeySignature #'stencil = #'ly:key-signature-interface::print
\override Score.KeySignature #'stencil = #'ly:key-signature-interface::print
}
2009-01-28 17:53:50 +01:00
% Show the true key signature (E-flat major). Use together with
% \transpose f a to print scores for other instruments.
showTrueKeySignature = {
\override Staff.KeySignature #'stencil = #'ly:key-signature-interface::print
\override StaffGroup.KeySignature #'stencil = #'ly:key-signature-interface::print
\override Score.KeySignature #'stencil = #'ly:key-signature-interface::print
\override Stem #'direction = #0
\override Slur #'direction = #0
\override Tie #'direction = #0
}
% gracenotesOff = #(set! showGracenotes ##f)
% gracenotesOn = #(set! showGracenotes ##t)
% \gracenotesOn
% Various tweaks to get good defaults for bagpipe music.
\paper {
top-margin = 4\mm
bottom-margin = 4\mm
}
\layout {
indent = 0.0
2009-01-28 17:53:50 +01:00
\context {
\Score
2009-01-28 17:53:50 +01:00
between-system-space = #0.1
between-system-padding = #0.0
\remove "Bar_number_engraver"
2009-01-28 17:53:50 +01:00
\override Stem #'direction = #down
\override Slur #'direction = #up
\override Tie #'direction = #up
2009-01-28 17:53:50 +01:00
\override KeySignature #'print-function = ##f
2008-05-06 17:22:15 +02:00
\override VoltaBracketSpanner #'Y-extent = #'(-1 . 0)
\override VoltaBracket #'height = #2.2
}
2009-01-28 17:53:50 +01:00
\context {
\StaffGroup
2009-01-28 17:53:50 +01:00
between-system-space = #0.1
between-system-padding = #0.0
extraNatural = ##f
2009-01-28 17:53:50 +01:00
\override KeySignature #'stencil = ##f
}
2009-01-28 17:53:50 +01:00
\context {
\Staff
2009-01-28 17:53:50 +01:00
extraNatural = ##f
midiInstrument = #"bagpipe"
2009-01-28 17:53:50 +01:00
\override KeySignature #'stencil = ##f
}
}
% Some common timing tweaks.
% Sets the autobeamer to span quarter notes only. Use for fast music.
quarterBeaming = {
#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
#(override-auto-beam-setting '(end * * * *) 4 4 'Staff)
#(revert-auto-beam-setting '(end 1 32 2 4 ) 1 8 'Staff)
#(revert-auto-beam-setting '(end 1 32 2 4 ) 3 8 'Staff)
#(revert-auto-beam-setting '(end 1 32 4 4 ) 1 8 'Staff)
#(revert-auto-beam-setting '(end 1 32 4 4 ) 3 8 'Staff)
#(revert-auto-beam-setting '(end 1 32 4 4 ) 5 8 'Staff)
#(revert-auto-beam-setting '(end 1 32 4 4 ) 7 8 'Staff)
}
halfBeaming = {
#(override-auto-beam-setting '(end * * 2 2) 1 2 'Staff)
#(override-auto-beam-setting '(end * * 2 2) 2 2 'Staff)
}
% Reels are in allabreve time with half note beaming.
reelTime = {
\time 2/2
\halfBeaming
}
% 4/4 marches are written with numerical time signature and with quarter beaming.
marchTime = {
\time 4/4
\numericTimeSignature
\quarterBeaming
}
2010-12-30 15:32:42 +01:00
% Add appropriate tweaks needed for piping grace notes to look great.
pgrace = #(define-music-function (parser location notes) (ly:music?)
#{ \override Score.GraceSpacing #'spacing-increment = #0
2010-12-30 15:32:42 +01:00
\override Score.Stem #'beamlet-default-length = #'(0.6 . 0.6)
\grace $notes
2010-12-30 15:32:42 +01:00
\revert Score.Stem #'beamlet-default-length
#}
)
% Single pgrace notes
grG = { \pgrace { \small G32 } }
gra = { \pgrace { \small a32 } }
grb = { \pgrace { \small b32 } }
grc = { \pgrace { \small c32 } }
grd = { \pgrace { \small d32 } }
gre = { \pgrace { \small e32 } }
grf = { \pgrace { \small f32 } }
grg = { \pgrace { \small g32 } }
grA = { \pgrace { \small A32 } }
% Doublings
dblG = { \pgrace { \small g32[ G d] } }
dbla = { \pgrace { \small g32[ a d] } }
dblb = { \pgrace { \small g32[ b d] } }
dblc = { \pgrace { \small g32[ c d] } }
dbld = { \pgrace { \small g32[ d e] } }
dble = { \pgrace { \small g32[ e f] } }
dblf = { \pgrace { \small g32[ f g] } }
% These are the same as the half doublings.
dblg = { \pgrace { \small g32[ f] } }
dblA = { \pgrace { \small A32[ g] } }
% Half doublings
hdblG = { \pgrace { \small G32[ d] } }
hdbla = { \pgrace { \small a32[ d] } }
hdblb = { \pgrace { \small b32[ d] } }
hdblc = { \pgrace { \small c32[ d] } }
hdbld = { \pgrace { \small d32[ e] } }
hdble = { \pgrace { \small e32[ f] } }
hdblf = { \pgrace { \small f32[ g] } }
hdblg = { \pgrace { \small g32[ f] } }
hdblA = { \pgrace { \small A32[ g] } }
% Thumb doublings
tdblG = { \pgrace { \small A32[ G d] } }
tdbla = { \pgrace { \small A32[ a d] } }
tdblb = { \pgrace { \small A32[ b d] } }
tdblc = { \pgrace { \small A32[ c d] } }
tdbld = { \pgrace { \small A32[ d e] } }
tdble = { \pgrace { \small A32[ e f] } }
tdblf = { \pgrace { \small A32[ f g] } }
tdblg = { \pgrace { \small A32[ g f] } }
% Shakes
% A few of these can't really be played and are here only for consistency.
shakea = { \pgrace { \small g32[ a e a G] } }
shakeb = { \pgrace { \small g32[ b e b G] } }
shakec = { \pgrace { \small g32[ c e c G] } }
shaked = { \pgrace { \small g32[ d e d G] } }
shakee = { \pgrace { \small g32[ e f e a] } }
shakef = { \pgrace { \small g32[ f g f a] } }
shakeg = { \pgrace { \small A32[ f g a] } }
shakeA = { \pgrace { \small A32[ g A a] } }
% Half shakes
hshakea = { \pgrace { \small a32[ d a G] } }
hshakeb = { \pgrace { \small b32[ d b G] } }
hshakec = { \pgrace { \small c32[ d c G] } }
hshaked = { \pgrace { \small d32[ e d G] } }
hshakee = { \pgrace { \small e32[ f e a] } }
hshakef = { \pgrace { \small f32[ g f a] } }
hshakeg = { \pgrace { \small g32[ f g a] } }
hshakeA = { \pgrace { \small A32[ g A a] } }
% Thumb shakes
tshakea = { \pgrace { \small A32[ a d a G] } }
tshakeb = { \pgrace { \small A32[ b d b G] } }
tshakec = { \pgrace { \small A32[ c d c G] } }
tshaked = { \pgrace { \small A32[ d e d G] } }
tshakee = { \pgrace { \small A32[ e f e a] } }
tshakef = { \pgrace { \small A32[ f g f a] } }
tshakeg = { \pgrace { \small A32[ f g a] } }
tshakeA = { \pgrace { \small A32[ g A a] } }
% Slurs
% A few of these can't really be played and are here only for consistency.
slura = { \pgrace { \small g32[ a G] } }
slurb = { \pgrace { \small g32[ b G] } }
slurc = { \pgrace { \small g32[ c G] } }
slurd = { \pgrace { \small g32[ d G] } }
slure = { \pgrace { \small g32[ e a] } }
slurf = { \pgrace { \small g32[ f a] } }
slurg = { \pgrace { \small A32[ f a] } }
slurA = { \pgrace { \small f32[ a] } }
% Half slurs
hslura = { \pgrace { \small a32[ G] } }
hslurb = { \pgrace { \small b32[ G] } }
hslurc = { \pgrace { \small c32[ G] } }
hslurd = { \pgrace { \small d32[ G] } }
hslure = { \pgrace { \small e32[ a] } }
hslurf = { \pgrace { \small f32[ a] } }
hslurg = { \pgrace { \small g32[ a] } }
hslurA = { \pgrace { \small A32[ a] } }
% Thumb slurs
tslura = { \pgrace { \small A32[ a G] } }
tslurb = { \pgrace { \small A32[ b G] } }
tslurc = { \pgrace { \small A32[ c G] } }
tslurd = { \pgrace { \small A32[ d a] } }
tslure = { \pgrace { \small A32[ e a] } }
tslurf = { \pgrace { \small A32[ f a] } }
tslurg = { \pgrace { \small A32[ f a] } }
tslurA = { \pgrace { \small f32[ a] } }
% Catches
catcha = { \pgrace { \small a32[ G d G] } }
catchb = { \pgrace { \small b32[ G d G] } }
catchc = { \pgrace { \small c32[ G d G] } }
catchd = { \pgrace { \small d32[ G b G] } }
catche = { \pgrace { \small e32[ G d G] } }
% G-pgrace catches
gcatcha = { \pgrace { \small g32[ a G d G] } }
gcatchb = { \pgrace { \small g32[ b G d G] } }
gcatchc = { \pgrace { \small g32[ c G d G] } }
gcatchd = { \pgrace { \small g32[ d G b G] } }
gcatche = { \pgrace { \small g32[ e G d G] } }
% Thumb catches
tcatcha = { \pgrace { \small A32[ a G d G] } }
tcatchb = { \pgrace { \small A32[ b G d G] } }
tcatchc = { \pgrace { \small A32[ c G d G] } }
tcatchd = { \pgrace { \small A32[ d G b G] } }
tcatche = { \pgrace { \small A32[ e G d G] } }
% Triple strikes (BMW has them all, but I've never seen any but the A one used, so ...)
tripleA = { \pgrace { \small A32[ g A g A g] } }
% Throws
thrwd = { \pgrace { \small G32[ d c] } }
Gthrwd = { \pgrace { \small d32[ c] } }
gripthrwd = { \pgrace { \small G32[ d G c] } }
thrwe = { \pgrace { \small e32[ a f a] } }
wthrwe = { \pgrace { \small e32[ d f d] } }
thrwf = { \pgrace { \small f32[ e g e] } }
% Birls
birl = { \pgrace { \small a32[ G a G] } }
wbirl = { \pgrace { \small G32[ a G] } }
gbirl = { \pgrace { \small g32[ a G a G] } }
dbirl = { \pgrace { \small d32[ a G a G] } }
% Grips
grip = { \pgrace { \small G32[ d G] } }
dgrip = { \pgrace { \small G32[ b G] } }
egrip = { \pgrace { \small G32[ e G] } }
% Taorluaths
taor = { \pgrace { \small G32[ d G e] } }
taorjmd = { \pgrace { \small G32[ d a e] } }
taorold = { \pgrace { \small G32[ d G a e] } }
dtaor = { \pgrace { \small G32[ b G e] } }
Gtaor = { \pgrace { \small d32[ G e] } }
taoramb = { \pgrace { \small G32[ d G b e] } }
taoramc = { \pgrace { \small G32[ d G c e] } }
taoramd = { \pgrace { \small G32[ d G c d e] } }
% Crunluaths
crun = { \pgrace { \small G32[ d G e a f a ] } }
dcrun = { \pgrace { \small G32[ b G e a f a ] } }
Gcrun = { \pgrace { \small d32[ G e G f a ] } }
crunamb = { \pgrace { \small G32[ d G b e b f b ] } }
crunamc = { \pgrace { \small G32[ d G c e c f c ] } }
crunamd = { \pgrace { \small G32[ d G c d e d f d ] } }
crunambfosg = { \pgrace { \small e32[ b f b ] } }
crunamcfosg = { \pgrace { \small e32[ c f c ] } }
crunamdfosg = { \pgrace { \small e32[ d f d ] } }
% Special piobaireachd notations
grGcad = { \pgrace { \small G16 } }
gracad = { \pgrace { \small a16 } }
cad = { \pgrace { \small g32[ e8 d32] } }
hcad = { \pgrace { \small g32[ e8] } }
tcad = { \pgrace { \small e8[ d32] } }
thcad = { \pgrace { \small e8 } }
% This is the same as thrwe
dre = { \pgrace { \small e32[ a f a] } }
% This is the same as thrwf
dare = { \pgrace { \small f32[ e g e] } }
bari = { \pgrace { \small e32[ G f G] } }
dari = { \pgrace { \small f32[ e g e f e] } }
pthrwd = { \pgrace { \small G16[ d32 c] } }
darodo = { \pgrace { \small G32[ d G c G] } }
Gdarodo = { \pgrace { \small d32[ G c G] } }
pdarodo = { \pgrace { \small G16[ d32 G c G16] } }
pGdarodo = { \pgrace { \small d32[ G c G16] } }
% Weird stuff from Joseph MacDonalds book
fifteenthcutting = { \pgrace { \small G32[ d a e a f a e a d] } }
fifteenthcuttingG = { \pgrace { \small G32[ d a e G f G e G d] } }
Gfifteenthcutting = { \pgrace { \small d32[ a e a f a e a d] } }
GfifteenthcuttingG = { \pgrace { \small d32[ a e G f G e G d] } }
seventeenthcutting = { \pgrace { \small G32[ d a e a f a e a d a c] } }
seventeenthcuttingG = { \pgrace { \small G32[ d a e G f G e G d G c] } }
Gseventeenthcutting = { \pgrace { \small d32[ a e a f a e a d a c] } }
GseventeenthcuttingG = { \pgrace { \small d32[ a e G f G e G d G c] } }
barluadh = { \pgrace { \small G32[ d a e a f a e a d a c a b a e a f a] } }
barluadhG = { \pgrace { \small G32[ d a e G f G e G d G c G b G e G f G] } }
Gbarluadh = { \pgrace { \small d32[ a e a f a e a d a c a b a e a f a] } }
GbarluadhG = { \pgrace { \small d32[ a e G f G e G d G c G b G e G f G] } }
% Non-gracenote piobaireachd markup.
2009-01-28 17:53:50 +01:00
trebling = \markup {
\override #'(baseline-skip . 0.3)
2009-01-28 17:53:50 +01:00
\column {
\musicglyph #"scripts.tenuto"
\musicglyph #"scripts.tenuto"
\musicglyph #"scripts.tenuto"
}
}
% Abbreviated notation common in piobaireachd scores.
% TODO: Make sure these are put on a fixed Y-position.
txtaor = \markup { "T" }
txcrun = \markup { "C" }
txtaorcrun = \markup {
\override #'(baseline-skip . 1.8)
2009-01-28 17:53:50 +01:00
\column { "T" "C" }
}
txtaoram = \markup { "T" }
txcrunam = \markup { "C" }
2009-01-28 17:53:50 +01:00
txtaorcrunam = \markup {
\override #'(baseline-skip . 1.8)
\column { "T" "C" }
}