]> git.donarmstrong.com Git - lilypond.git/commitdiff
Committed the add.
authorGraham Percival <graham@percival-music.ca>
Thu, 4 Aug 2005 21:54:58 +0000 (21:54 +0000)
committerGraham Percival <graham@percival-music.ca>
Thu, 4 Aug 2005 21:54:58 +0000 (21:54 +0000)
ly/bagpipe.ly [new file with mode: 0755]

diff --git a/ly/bagpipe.ly b/ly/bagpipe.ly
new file mode 100755 (executable)
index 0000000..1bf1aa5
--- /dev/null
@@ -0,0 +1,290 @@
+%{\r
+  Bagpipe music settings for Lilypond.\r
+  This file builds on work by Andrew McNabb (http://www.mcnabbs.org/andrew/)\r
+  \r
+  Substantial changes and additions made by \r
+  Sven Axelsson, the Murray Pipes & Drums of Gothenburg\r
+  (http://www.murrays.nu)\r
+  \r
+  $Id: bagpipe.ly,v 1.1 2005/08/04 21:54:58 gpercival Exp $\r
+%}\r
+\r
+\version "2.6.0"\r
+\r
+% Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde.\r
+% Flat notes used mainly in some modern music.\r
+\r
+pitchnamesBagpipe = #`(\r
+  (G . ,(ly:make-pitch 0 4 NATURAL))\r
+  (a . ,(ly:make-pitch 0 5 NATURAL))\r
+  (b . ,(ly:make-pitch 0 6 NATURAL))\r
+  (c . ,(ly:make-pitch 1 0 SHARP))\r
+  (cflat . ,(ly:make-pitch 1 0 FLAT))\r
+  (d . ,(ly:make-pitch 1 1 NATURAL))\r
+  (e . ,(ly:make-pitch 1 2 NATURAL))\r
+  (f . ,(ly:make-pitch 1 3 SHARP))\r
+  (fflat . ,(ly:make-pitch 1 3 FLAT))\r
+  (g . ,(ly:make-pitch 1 4 NATURAL))\r
+  (gflat . ,(ly:make-pitch 1 4 FLAT))\r
+  (A . ,(ly:make-pitch 1 5 NATURAL))\r
+  (B . ,(ly:make-pitch 1 6 NATURAL))\r
+  (C . ,(ly:make-pitch 2 0 SHARP))\r
+)\r
+pitchnames = \pitchnamesBagpipe\r
+#(ly:parser-set-note-names parser pitchnames)\r
+\r
+% Bagpipe music is written in something like D major. If we use\r
+% flattened notes, the flat should be shown on all instances.\r
+\r
+hideKeySignature = {\r
+  % We normally don't want to show the key signature.\r
+  \override Score.KeySignature #'print-function = ##f\r
+  \set Score.extraNatural = ##f\r
+  \set Staff.keySignature = #'((0 . 2) (3 . 2))\r
+  #(set-accidental-style 'forget)\r
+}\r
+showKeySignature = {\r
+  % Show the key signature e.g. for BMW compatibility.\r
+  \override Score.KeySignature #'print-function = #'Key_signature_interface::print\r
+  \set Score.extraNatural = ##f\r
+  \set Staff.keySignature = #'((0 . 2) (3 . 2))\r
+  #(set-accidental-style 'forget)\r
+}\r
+\r
+% Layout tweaks.\r
+\r
+\layout {\r
+  \context {\r
+    \Voice\r
+    % All stems go down.\r
+    \override Stem #'direction = #-1\r
+    % All slurs and ties are on top.\r
+    \override Slur #'direction = #1\r
+    \override Tie #'direction = #1\r
+  }\r
+}\r
+\r
+% Some common timing tweaks.\r
+\r
+% Sets the autobeamer to span quarter notes only. Use for fast music.\r
+% TODO: Needs more tweaking\r
+quarterBeaming = {\r
+  #(override-auto-beam-setting '(end * * * *) 1 4 'Staff)\r
+  #(override-auto-beam-setting '(end * * * *) 1 2 'Staff)\r
+  #(override-auto-beam-setting '(end * * * *) 3 4 'Staff)\r
+  #(override-auto-beam-setting '(end * * * *) 4 4 'Staff)\r
+  #(revert-auto-beam-setting '(end 1 32 2 4 ) 1 8 'Staff)\r
+  #(revert-auto-beam-setting '(end 1 32 2 4 ) 3 8 'Staff)\r
+  #(revert-auto-beam-setting '(end 1 32 4 4 ) 1 8 'Staff)\r
+  #(revert-auto-beam-setting '(end 1 32 4 4 ) 3 8 'Staff)\r
+  #(revert-auto-beam-setting '(end 1 32 4 4 ) 5 8 'Staff)\r
+  #(revert-auto-beam-setting '(end 1 32 4 4 ) 7 8 'Staff)\r
+}\r
+halfBeaming = {\r
+  #(override-auto-beam-setting '(end * * 2 2) 1 2 'Staff)\r
+  #(override-auto-beam-setting '(end * * 2 2) 2 2 'Staff)\r
+}\r
+% Reels are in allabreve time with half note beaming.\r
+reelTime = {\r
+  \time 2/2\r
+  \halfBeaming\r
+}\r
+% 4/4 marches are written with numerical time signature and with quarter beaming.\r
+marchTime = {\r
+  \time 4/4\r
+  \override Staff.TimeSignature #'style = #'()\r
+  \quarterBeaming\r
+}\r
+\r
+% Single grace notes\r
+grG = { \grace { \small G32 } }\r
+gra = { \grace { \small a32 } }\r
+grb = { \grace { \small b32 } }\r
+grc = { \grace { \small c32 } }\r
+grd = { \grace { \small d32 } }\r
+gre = { \grace { \small e32 } }\r
+grf = { \grace { \small f32 } }\r
+grg = { \grace { \small g32 } }\r
+grA = { \grace { \small A32 } }\r
+\r
+% Doublings\r
+dblG = { \grace { \small g32[ G d] } }\r
+dbla = { \grace { \small g32[ a d] } }\r
+dblb = { \grace { \small g32[ b d] } }\r
+dblc = { \grace { \small g32[ c d] } }\r
+dbld = { \grace { \small g32[ d e] } }\r
+dble = { \grace { \small g32[ e f] } }\r
+dblf = { \grace { \small g32[ f g] } }\r
+% These are the same as the half doublings.\r
+dblg = { \grace { \small g32[ f] } }\r
+dblA = { \grace { \small A32[ g] } }\r
+\r
+% Half doublings\r
+hdblG = { \grace { \small G32[ d] } }\r
+hdbla = { \grace { \small a32[ d] } }\r
+hdblb = { \grace { \small b32[ d] } }\r
+hdblc = { \grace { \small c32[ d] } }\r
+hdbld = { \grace { \small d32[ e] } }\r
+hdble = { \grace { \small e32[ f] } }\r
+hdblf = { \grace { \small f32[ g] } }\r
+hdblg = { \grace { \small g32[ f] } }\r
+hdblA = { \grace { \small A32[ g] } }\r
+\r
+% Thumb doublings\r
+tdblG = { \grace { \small A32[ G d] } }\r
+tdbla = { \grace { \small A32[ a d] } }\r
+tdblb = { \grace { \small A32[ b d] } }\r
+tdblc = { \grace { \small A32[ c d] } }\r
+tdbld = { \grace { \small A32[ d e] } }\r
+tdble = { \grace { \small A32[ e f] } }\r
+tdblf = { \grace { \small A32[ f g] } }\r
+tdblg = { \grace { \small A32[ g f] } }\r
+\r
+% Shakes\r
+% A few of these can't really be played and are here only for consistency.\r
+shakea = { \grace { \small g32[ a d a G] } }\r
+shakeb = { \grace { \small g32[ b d b G] } }\r
+shakec = { \grace { \small g32[ c d c G] } }\r
+shaked = { \grace { \small g32[ d e d G] } }\r
+shakee = { \grace { \small g32[ e f e a] } }\r
+shakef = { \grace { \small g32[ f g f a] } }\r
+shakeg = { \grace { \small A32[ f g a] } }\r
+shakeA = { \grace { \small A32[ g A a] } }\r
+\r
+% Half shakes\r
+hshakea = { \grace { \small a32[ d a G] } }\r
+hshakeb = { \grace { \small b32[ d b G] } }\r
+hshakec = { \grace { \small c32[ d c G] } }\r
+hshaked = { \grace { \small d32[ e d G] } }\r
+hshakee = { \grace { \small e32[ f e a] } }\r
+hshakef = { \grace { \small f32[ g f a] } }\r
+hshakeg = { \grace { \small g32[ f g a] } }\r
+hshakeA = { \grace { \small A32[ g A a] } }\r
+\r
+% Thumb shakes\r
+tshakea = { \grace { \small A32[ a d a G] } }\r
+tshakeb = { \grace { \small A32[ b d b G] } }\r
+tshakec = { \grace { \small A32[ c d c G] } }\r
+tshaked = { \grace { \small A32[ d e d G] } }\r
+tshakee = { \grace { \small A32[ e f e a] } }\r
+tshakef = { \grace { \small A32[ f g f a] } }\r
+tshakeg = { \grace { \small A32[ f g a] } }\r
+tshakeA = { \grace { \small A32[ g A a] } }\r
+\r
+% Slurs\r
+% A few of these can't really be played and are here only for consistency.\r
+slura = { \grace { \small g32[ a G] } }\r
+slurb = { \grace { \small g32[ b G] } }\r
+slurc = { \grace { \small g32[ c G] } }\r
+slurd = { \grace { \small g32[ d G] } }\r
+slure = { \grace { \small g32[ e a] } }\r
+slurf = { \grace { \small g32[ f a] } }\r
+slurg = { \grace { \small A32[ f a] } }\r
+slurA = { \grace { \small f32[ a] } }\r
+\r
+% Half slurs\r
+hslura = { \grace { \small a32[ G] } }\r
+hslurb = { \grace { \small b32[ G] } }\r
+hslurc = { \grace { \small c32[ G] } }\r
+hslurd = { \grace { \small d32[ G] } }\r
+hslure = { \grace { \small e32[ a] } }\r
+hslurf = { \grace { \small f32[ a] } }\r
+hslurg = { \grace { \small g32[ a] } }\r
+hslurA = { \grace { \small A32[ a] } }\r
+\r
+% Thumb slurs\r
+tslura = { \grace { \small A32[ a G] } }\r
+tslurb = { \grace { \small A32[ b G] } }\r
+tslurc = { \grace { \small A32[ c G] } }\r
+tslurd = { \grace { \small A32[ d a] } }\r
+tslure = { \grace { \small A32[ e a] } }\r
+tslurf = { \grace { \small A32[ f a] } }\r
+tslurg = { \grace { \small A32[ f a] } }\r
+tslurA = { \grace { \small f32[ a] } }\r
+\r
+% Catches\r
+catcha = { \grace { \small a32[ G d G] } }\r
+catchb = { \grace { \small b32[ G d G] } }\r
+catchc = { \grace { \small c32[ G d G] } }\r
+catchd = { \grace { \small d32[ G b G] } }\r
+catche = { \grace { \small e32[ G d G] } }\r
+\r
+% G-grace catches\r
+gcatcha = { \grace { \small g32[ a G d G] } }\r
+gcatchb = { \grace { \small g32[ b G d G] } }\r
+gcatchc = { \grace { \small g32[ c G d G] } }\r
+gcatchd = { \grace { \small g32[ d G b G] } }\r
+gcatche = { \grace { \small g32[ e G d G] } }\r
+\r
+% Thumb catches\r
+tcatcha = { \grace { \small A32[ a G d G] } }\r
+tcatchb = { \grace { \small A32[ b G d G] } }\r
+tcatchc = { \grace { \small A32[ c G d G] } }\r
+tcatchd = { \grace { \small A32[ d G b G] } }\r
+tcatche = { \grace { \small A32[ e G d G] } }\r
+\r
+% Throws\r
+thrwd     = { \grace { \small G32[ d c] } }\r
+Gthrwd    = { \grace { \small d32[ c] } }\r
+gripthrwd = { \grace { \small G32[ d G c] } }\r
+thrwf     = { \grace { \small f32[ e g e] } }\r
+\r
+% Birls\r
+birl  = { \grace { \small a32[ G a G] } }\r
+wbirl = { \grace { \small G32[ a G] } }\r
+gbirl = { \grace { \small g32[ a G a G] } }\r
+dbirl = { \grace { \small d32[ a G a G] } }\r
+\r
+% Grips\r
+grip  = { \grace { \small G32[ d G] } }\r
+dgrip = { \grace { \small G32[ b G] } }\r
+egrip = { \grace { \small G32[ e G] } }\r
+\r
+% Taorluaths\r
+taor    = { \grace { \small G32[ d G e] } }\r
+dtaor   = { \grace { \small G32[ b G e] } }\r
+Gtaor   = { \grace { \small d32[ G e] } }\r
+taoramb = { \grace { \small G32[ d G b e] } }\r
+taoramc = { \grace { \small G32[ d G c e] } }\r
+taoramd = { \grace { \small G32[ d G c d e] } }\r
+\r
+% Crunluaths\r
+crun    = { \grace { \small G32[ d G e a f a ] } }\r
+dcrun   = { \grace { \small G32[ b G e a f a ] } }\r
+Gcrun   = { \grace { \small d32[ G e G f a ] } }\r
+crunamb = { \grace { \small G32[ d G b e b f b ] } }\r
+crunamc = { \grace { \small G32[ d G c e c f c ] } }\r
+crunamd = { \grace { \small G32[ d G c d e d f d ] } }\r
+\r
+% Special piobaireachd notations\r
+grGcad  = { \grace { \small G16 } }\r
+gracad  = { \grace { \small a16 } }\r
+cad     = { \grace { \small g32[ e8 d32] } }\r
+hcad    = { \grace { \small g32[ e8] } }\r
+dre     = { \grace { \small e32[ a f a] } }\r
+% This is the same as thrwf\r
+dare    = { \grace { \small f32[ e g e] } }\r
+bari    = { \grace { \small e32[ G f G] } }\r
+dari    = { \grace { \small f32[ e g e f e] } }\r
+pthrwd  = { \grace { \small G16[ d32 c] } }\r
+darodo  = { \grace { \small G32[ d G c G] } }\r
+Gdarodo = { \grace { \small d32[ G c G] } }\r
+% Non-gracenote piobaireachd markup.\r
+trebling = \markup { \r
+  \override #'(baseline-skip . 0.3)\r
+  \column { \r
+    \musicglyph #"scripts.tenuto" \r
+    \musicglyph #"scripts.tenuto" \r
+    \musicglyph #"scripts.tenuto" \r
+  }\r
+}\r
+% Abbreviated notation common in piobaireachd scores.\r
+% TODO: Make sure these are put on a fixed Y-position.\r
+txtaor = \markup { "T" }\r
+txcrun = \markup { "C" }\r
+txtaorcrun = \markup { \column { "T" "C" } }\r
+% TODO: These characters should be shown upside down.\r
+% Use a postscript markup command for this.\r
+txtaoram = \markup { "T" }\r
+txcrunam = \markup { "C" }\r
+txtaorcrunam = \markup { \column { "T" "C" } }\r