1
0
Fork 0
mirror of https://github.com/kastdeur/bagpipe.ly.git synced 2024-10-31 17:43:33 +01:00
bagpipe.ly/bagpipe_new.ly

381 lines
12 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)
%}
2012-09-16 21:04:09 +02:00
\version "2.16.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
2012-09-16 21:04:09 +02:00
\accidentalStyle "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 Score.Stem #'direction = #'center
\override Score.Slur #'direction = #'center
\override Score.Tie #'direction = #'center
}
% 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
\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
2011-11-01 00:30:42 +01:00
\override VoltaBracketSpanner #'Y-extent = #'(-1.5 . 0)
\override VoltaBracket #'height = #2.2
}
2009-01-28 17:53:50 +01:00
\context {
\StaffGroup
2009-01-28 17:53:50 +01:00
extraNatural = ##f
\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
}
2012-09-17 18:14:40 +02:00
\context {
\Voice
\override TupletBracket #'bracket-visibility = ##t
}
}
% Some common timing tweaks.
% Sets the autobeamer to span quarter notes only. Use for fast music.
quarterBeaming = {
\set Score.baseMoment = #(ly:make-moment 1 4)
\set Score.beatStructure = #'(1 1 1 1)
}
% Sets the autobeamer to span half notes. Mostly used in reels.
halfBeaming = {
\set Score.baseMoment = #(ly:make-moment 1 2)
\set Score.beatStructure = #'(1 1)
}
% 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.
2011-01-03 10:19:37 +01:00
stemspace = #(define-music-function (parser location extent) (pair?) #{
2012-09-16 21:04:09 +02:00
\once \override Staff.Stem #'X-extent = #extent
2011-01-03 10:19:37 +01:00
#})
pgrace = #(define-music-function (parser location notes) (ly:music?) #{
\override Score.GraceSpacing #'spacing-increment = #0
2012-09-16 21:04:09 +02:00
\override Score.Stem #'beamlet-max-length-proportion = #'(0.5 . 0.5)
\small \grace $notes \normalsize
\revert Score.Stem #'beamlet-default-length
2011-01-03 10:19:37 +01:00
#})
% Single pgrace notes
grG = { \pgrace { G32 } }
gra = { \pgrace { a32 } }
grb = { \pgrace { b32 } }
grc = { \pgrace { c32 } }
grd = { \pgrace { d32 } }
gre = { \pgrace { e32 } }
grf = { \pgrace { f32 } }
grg = { \pgrace { g32 } }
grA = { \pgrace { A32 } }
% Doublings
dblG = { \pgrace { g32[ G d] } }
dbla = { \pgrace { g32[ a d] } }
dblb = { \pgrace { g32[ b d] } }
dblc = { \pgrace { g32[ c d] } }
dbld = { \pgrace { g32[ d e] } }
dble = { \pgrace { g32[ e f] } }
dblf = { \pgrace { g32[ f g] } }
% These are the same as the half doublings.
dblg = { \pgrace { g32[ f] } }
dblA = { \pgrace { A32[ g] } }
% Half doublings
hdblG = { \pgrace { G32[ d] } }
hdbla = { \pgrace { a32[ d] } }
hdblb = { \pgrace { b32[ d] } }
hdblc = { \pgrace { c32[ d] } }
hdbld = { \pgrace { d32[ e] } }
hdble = { \pgrace { e32[ f] } }
hdblf = { \pgrace { f32[ g] } }
hdblg = { \pgrace { g32[ f] } }
hdblA = { \pgrace { A32[ g] } }
% Thumb doublings
tdblG = { \pgrace { A32[ G d] } }
tdbla = { \pgrace { A32[ a d] } }
tdblb = { \pgrace { A32[ b d] } }
tdblc = { \pgrace { A32[ c d] } }
tdbld = { \pgrace { A32[ d e] } }
tdble = { \pgrace { A32[ e f] } }
tdblf = { \pgrace { A32[ f g] } }
tdblg = { \pgrace { A32[ g f] } }
% Shakes
% 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] } }
shakee = { \pgrace { g32[ e f e a] } }
shakef = { \pgrace { g32[ f g f a] } }
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] } }
hshaked = { \pgrace { d32[ e d G] } }
hshakee = { \pgrace { e32[ f e a] } }
hshakef = { \pgrace { f32[ g f a] } }
hshakeg = { \pgrace { g32[ f g a] } }
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] } }
tshaked = { \pgrace { A32[ d e d G] } }
tshakee = { \pgrace { A32[ e f e a] } }
tshakef = { \pgrace { A32[ f g f a] } }
tshakeg = { \pgrace { A32[ f g a] } }
tshakeA = { \pgrace { A32[ g A a] } }
% Slurs
% 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] } }
slurc = { \pgrace { g32[ c G] } }
slurd = { \pgrace { g32[ d G] } }
wslurd = { \pgrace { g32[ d c] } }
slure = { \pgrace { g32[ e a] } }
slurf = { \pgrace { g32[ f a] } }
slurg = { \pgrace { A32[ f a] } }
slurA = { \pgrace { f32[ a] } }
% Half slurs
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] } }
hslurA = { \pgrace { A32[ a] } }
% Thumb slurs
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] } }
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-pgrace 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] } }
% 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] } }
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 ...)
tripleA = { \pgrace { A32[ g A g A g] } }
% Throws
thrwd = { \pgrace { G32[ d c] } }
Gthrwd = { \pgrace { d32[ c] } }
gripthrwd = { \pgrace { G32[ d G c] } }
thrwe = { \pgrace { e32[ a f a] } }
wthrwe = { \pgrace { e32[ d f d] } }
thrwf = { \pgrace { f32[ e g e] } }
% Birls
birl = { \pgrace { a32[ G a G] } }
wbirl = { \pgrace { G32[ a G] } }
gbirl = { \pgrace { g32[ a G a G] } }
dbirl = { \pgrace { d32[ a G a G] } }
% Grips
grip = { \pgrace { G32[ d G] } }
dgrip = { \pgrace { G32[ b G] } }
egrip = { \pgrace { G32[ e G] } }
2011-11-01 00:30:42 +01:00
fgrip = { \pgrace { G32[ f 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] } }
Gtaor = { \pgrace { d32[ G e] } }
taoramb = { \pgrace { G32[ d G b e] } }
taoramc = { \pgrace { G32[ d G c e] } }
taoramd = { \pgrace { G32[ d G c d e] } }
% Crunluaths
crun = { \pgrace { G32[ d G e a f a ] } }
dcrun = { \pgrace { G32[ b G e a f a ] } }
Gcrun = { \pgrace { d32[ G e G f a ] } }
crunamb = { \pgrace { G32[ d G b e b f b ] } }
crunamc = { \pgrace { G32[ d G c e c f c ] } }
crunamd = { \pgrace { G32[ d G c d e d f d ] } }
crunambfosg = { \pgrace { e32[ b f b ] } }
crunamcfosg = { \pgrace { e32[ c f c ] } }
crunamdfosg = { \pgrace { e32[ d f d ] } }
% Special piobaireachd notations
grGcad = { \pgrace { G16 } }
gracad = { \pgrace { a16 } }
cad = { \pgrace { \stemspace #'(0 . 0.5) g32[ e8 d32] } }
hcad = { \pgrace { \stemspace #'(0 . 0.5) g32[ e8] } }
tcad = { \pgrace { e8[ d32] } }
thcad = { \pgrace { e8 } }
% This is the same as thrwe
dre = { \pgrace { e32[ a f a] } }
% This is the same as thrwf
dare = { \pgrace { f32[ e g e] } }
bari = { \pgrace { e32[ G f G] } }
dari = { \pgrace { f32[ e g e f e] } }
fdari = { \pgrace { e32[ g e f e] } }
pthrwd = { \pgrace { G16[ d32 c] } }
darodo = { \pgrace { G32[ d G c G] } }
Gdarodo = { \pgrace { d32[ G c G] } }
pdarodo = { \pgrace { G16[ d32 G c G16] } }
pGdarodo = { \pgrace { d32[ G c G16] } }
% Weird stuff from Joseph MacDonalds book
fifteenthcutting = { \pgrace { G32[ d a e a f a e a d] } }
fifteenthcuttingG = { \pgrace { G32[ d a e G f G e G d] } }
Gfifteenthcutting = { \pgrace { d32[ a e a f a e a d] } }
GfifteenthcuttingG = { \pgrace { d32[ a e G f G e G d] } }
seventeenthcutting = { \pgrace { G32[ d a e a f a e a d a c] } }
seventeenthcuttingG = { \pgrace { G32[ d a e G f G e G d G c] } }
Gseventeenthcutting = { \pgrace { d32[ a e a f a e a d a c] } }
GseventeenthcuttingG = { \pgrace { d32[ a e G f G e G d G c] } }
barluadh = { \pgrace { G32[ d a e a f a e a d a c a b a e a f a] } }
barluadhG = { \pgrace { G32[ d a e G f G e G d G c G b G e G f G] } }
Gbarluadh = { \pgrace { d32[ a e a f a e a d a c a b a e a f a] } }
GbarluadhG = { \pgrace { 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 {
2011-01-03 10:19:37 +01:00
\override #'(baseline-skip . 0.4)
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.
2011-01-03 10:19:37 +01:00
txtaor = \markup { \center-align "T" }
txcrun = \markup { \center-align "C" }
txtaorcrun = \markup {
\override #'(baseline-skip . 1.8)
2011-01-03 10:19:37 +01:00
\column {
\center-align "T"
\center-align "C"
}
}
2011-01-03 10:19:37 +01:00
txtaoram = \markup { \center-align \scale #'(-1 . -1) "T" }
txcrunam = \markup { \center-align \scale #'(-1 . -1) "C" }
2009-01-28 17:53:50 +01:00
txtaorcrunam = \markup {
\override #'(baseline-skip . 1.8)
2011-01-03 10:19:37 +01:00
\column {
\center-align \scale #'(-1 . -1) "T"
\center-align \scale #'(-1 . -1) "C"
}
}