From: Graham Percival Date: Thu, 4 Aug 2005 23:32:42 +0000 (+0000) Subject: Bagpipe update. X-Git-Tag: release/2.7.4~17 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2afe6bb67966e8ff3dff9b0618c588ad3bc92c18;p=lilypond.git Bagpipe update. --- diff --git a/ChangeLog b/ChangeLog index 9532d93a35..175dab54cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,13 @@ +2005-08-04 Graham Percival + + * ly/bagpipe.ly: updated. + + * Documentat/user/intsrument.itely: un-comment out bagpipe example. + 2005-08-04 Han-Wen Nienhuys * Documentation/user/instrument-notation.itely (Bagpipe example): - comment out non-functioning bagpipe exapmle. + comment out non-functioning bagpipe example. (Bagpipe definitions): idem. * Documentation/topdocs/NEWS.tely (Top): add uniform-stretching example. diff --git a/Documentation/user/instrument-notation.itely b/Documentation/user/instrument-notation.itely index 775bb81bdf..25c15ce710 100644 --- a/Documentation/user/instrument-notation.itely +++ b/Documentation/user/instrument-notation.itely @@ -1928,12 +1928,11 @@ write @code{\taor} instead of notes in the appropiate octaves, so you do not need to worry about @code{\relative} or @code{\transpose}. -@ignore -@li lypond[raggedright,verbatim,quote,notime] +@lilypond[raggedright,verbatim,quote,notime] \include "bagpipe.ly" { \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A } -@end lilypo nd -@end ignore +@end lilypond + @node Bagpipe example @subsection Bagpipe example @@ -1941,8 +1940,7 @@ notes in the appropiate octaves, so you do not need to worry about This is what the well known tune Amazing Grace looks like in bagpipe notation. -@ignore -@lilyp ond[raggedright,verbatim,quote] +@lilypond[raggedright,verbatim,quote] \include "bagpipe.ly" \layout { indent = 0.0\cm @@ -1975,8 +1973,8 @@ notation. \slurd d2 \bar "|." } -@end lilypo nd -@end ignore +@end lilypond + @node Ancient notation @section Ancient notation diff --git a/ly/bagpipe.ly b/ly/bagpipe.ly index 1bf1aa5122..f2736f0218 100755 --- a/ly/bagpipe.ly +++ b/ly/bagpipe.ly @@ -1,290 +1,290 @@ -%{ - Bagpipe music settings for Lilypond. - This file builds on work by Andrew McNabb (http://www.mcnabbs.org/andrew/) - - Substantial changes and additions made by - Sven Axelsson, the Murray Pipes & Drums of Gothenburg - (http://www.murrays.nu) - - $Id: bagpipe.ly,v 1.1 2005/08/04 21:54:58 gpercival Exp $ -%} - -\version "2.6.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)) - (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. - -hideKeySignature = { - % We normally don't want to show the key signature. - \override Score.KeySignature #'print-function = ##f - \set Score.extraNatural = ##f - \set Staff.keySignature = #'((0 . 2) (3 . 2)) - #(set-accidental-style 'forget) -} -showKeySignature = { - % Show the key signature e.g. for BMW compatibility. - \override Score.KeySignature #'print-function = #'Key_signature_interface::print - \set Score.extraNatural = ##f - \set Staff.keySignature = #'((0 . 2) (3 . 2)) - #(set-accidental-style 'forget) -} - -% Layout tweaks. - -\layout { - \context { - \Voice - % All stems go down. - \override Stem #'direction = #-1 - % All slurs and ties are on top. - \override Slur #'direction = #1 - \override Tie #'direction = #1 - } -} - -% Some common timing tweaks. - -% Sets the autobeamer to span quarter notes only. Use for fast music. -% TODO: Needs more tweaking -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 - \override Staff.TimeSignature #'style = #'() - \quarterBeaming -} - -% Single grace notes -grG = { \grace { \small G32 } } -gra = { \grace { \small a32 } } -grb = { \grace { \small b32 } } -grc = { \grace { \small c32 } } -grd = { \grace { \small d32 } } -gre = { \grace { \small e32 } } -grf = { \grace { \small f32 } } -grg = { \grace { \small g32 } } -grA = { \grace { \small A32 } } - -% Doublings -dblG = { \grace { \small g32[ G d] } } -dbla = { \grace { \small g32[ a d] } } -dblb = { \grace { \small g32[ b d] } } -dblc = { \grace { \small g32[ c d] } } -dbld = { \grace { \small g32[ d e] } } -dble = { \grace { \small g32[ e f] } } -dblf = { \grace { \small g32[ f g] } } -% These are the same as the half doublings. -dblg = { \grace { \small g32[ f] } } -dblA = { \grace { \small A32[ g] } } - -% Half doublings -hdblG = { \grace { \small G32[ d] } } -hdbla = { \grace { \small a32[ d] } } -hdblb = { \grace { \small b32[ d] } } -hdblc = { \grace { \small c32[ d] } } -hdbld = { \grace { \small d32[ e] } } -hdble = { \grace { \small e32[ f] } } -hdblf = { \grace { \small f32[ g] } } -hdblg = { \grace { \small g32[ f] } } -hdblA = { \grace { \small A32[ g] } } - -% Thumb doublings -tdblG = { \grace { \small A32[ G d] } } -tdbla = { \grace { \small A32[ a d] } } -tdblb = { \grace { \small A32[ b d] } } -tdblc = { \grace { \small A32[ c d] } } -tdbld = { \grace { \small A32[ d e] } } -tdble = { \grace { \small A32[ e f] } } -tdblf = { \grace { \small A32[ f g] } } -tdblg = { \grace { \small A32[ g f] } } - -% Shakes -% A few of these can't really be played and are here only for consistency. -shakea = { \grace { \small g32[ a d a G] } } -shakeb = { \grace { \small g32[ b d b G] } } -shakec = { \grace { \small g32[ c d c G] } } -shaked = { \grace { \small g32[ d e d G] } } -shakee = { \grace { \small g32[ e f e a] } } -shakef = { \grace { \small g32[ f g f a] } } -shakeg = { \grace { \small A32[ f g a] } } -shakeA = { \grace { \small A32[ g A a] } } - -% Half shakes -hshakea = { \grace { \small a32[ d a G] } } -hshakeb = { \grace { \small b32[ d b G] } } -hshakec = { \grace { \small c32[ d c G] } } -hshaked = { \grace { \small d32[ e d G] } } -hshakee = { \grace { \small e32[ f e a] } } -hshakef = { \grace { \small f32[ g f a] } } -hshakeg = { \grace { \small g32[ f g a] } } -hshakeA = { \grace { \small A32[ g A a] } } - -% Thumb shakes -tshakea = { \grace { \small A32[ a d a G] } } -tshakeb = { \grace { \small A32[ b d b G] } } -tshakec = { \grace { \small A32[ c d c G] } } -tshaked = { \grace { \small A32[ d e d G] } } -tshakee = { \grace { \small A32[ e f e a] } } -tshakef = { \grace { \small A32[ f g f a] } } -tshakeg = { \grace { \small A32[ f g a] } } -tshakeA = { \grace { \small A32[ g A a] } } - -% Slurs -% A few of these can't really be played and are here only for consistency. -slura = { \grace { \small g32[ a G] } } -slurb = { \grace { \small g32[ b G] } } -slurc = { \grace { \small g32[ c G] } } -slurd = { \grace { \small g32[ d G] } } -slure = { \grace { \small g32[ e a] } } -slurf = { \grace { \small g32[ f a] } } -slurg = { \grace { \small A32[ f a] } } -slurA = { \grace { \small f32[ a] } } - -% Half slurs -hslura = { \grace { \small a32[ G] } } -hslurb = { \grace { \small b32[ G] } } -hslurc = { \grace { \small c32[ G] } } -hslurd = { \grace { \small d32[ G] } } -hslure = { \grace { \small e32[ a] } } -hslurf = { \grace { \small f32[ a] } } -hslurg = { \grace { \small g32[ a] } } -hslurA = { \grace { \small A32[ a] } } - -% Thumb slurs -tslura = { \grace { \small A32[ a G] } } -tslurb = { \grace { \small A32[ b G] } } -tslurc = { \grace { \small A32[ c G] } } -tslurd = { \grace { \small A32[ d a] } } -tslure = { \grace { \small A32[ e a] } } -tslurf = { \grace { \small A32[ f a] } } -tslurg = { \grace { \small A32[ f a] } } -tslurA = { \grace { \small f32[ a] } } - -% Catches -catcha = { \grace { \small a32[ G d G] } } -catchb = { \grace { \small b32[ G d G] } } -catchc = { \grace { \small c32[ G d G] } } -catchd = { \grace { \small d32[ G b G] } } -catche = { \grace { \small e32[ G d G] } } - -% G-grace catches -gcatcha = { \grace { \small g32[ a G d G] } } -gcatchb = { \grace { \small g32[ b G d G] } } -gcatchc = { \grace { \small g32[ c G d G] } } -gcatchd = { \grace { \small g32[ d G b G] } } -gcatche = { \grace { \small g32[ e G d G] } } - -% Thumb catches -tcatcha = { \grace { \small A32[ a G d G] } } -tcatchb = { \grace { \small A32[ b G d G] } } -tcatchc = { \grace { \small A32[ c G d G] } } -tcatchd = { \grace { \small A32[ d G b G] } } -tcatche = { \grace { \small A32[ e G d G] } } - -% Throws -thrwd = { \grace { \small G32[ d c] } } -Gthrwd = { \grace { \small d32[ c] } } -gripthrwd = { \grace { \small G32[ d G c] } } -thrwf = { \grace { \small f32[ e g e] } } - -% Birls -birl = { \grace { \small a32[ G a G] } } -wbirl = { \grace { \small G32[ a G] } } -gbirl = { \grace { \small g32[ a G a G] } } -dbirl = { \grace { \small d32[ a G a G] } } - -% Grips -grip = { \grace { \small G32[ d G] } } -dgrip = { \grace { \small G32[ b G] } } -egrip = { \grace { \small G32[ e G] } } - -% Taorluaths -taor = { \grace { \small G32[ d G e] } } -dtaor = { \grace { \small G32[ b G e] } } -Gtaor = { \grace { \small d32[ G e] } } -taoramb = { \grace { \small G32[ d G b e] } } -taoramc = { \grace { \small G32[ d G c e] } } -taoramd = { \grace { \small G32[ d G c d e] } } - -% Crunluaths -crun = { \grace { \small G32[ d G e a f a ] } } -dcrun = { \grace { \small G32[ b G e a f a ] } } -Gcrun = { \grace { \small d32[ G e G f a ] } } -crunamb = { \grace { \small G32[ d G b e b f b ] } } -crunamc = { \grace { \small G32[ d G c e c f c ] } } -crunamd = { \grace { \small G32[ d G c d e d f d ] } } - -% Special piobaireachd notations -grGcad = { \grace { \small G16 } } -gracad = { \grace { \small a16 } } -cad = { \grace { \small g32[ e8 d32] } } -hcad = { \grace { \small g32[ e8] } } -dre = { \grace { \small e32[ a f a] } } -% This is the same as thrwf -dare = { \grace { \small f32[ e g e] } } -bari = { \grace { \small e32[ G f G] } } -dari = { \grace { \small f32[ e g e f e] } } -pthrwd = { \grace { \small G16[ d32 c] } } -darodo = { \grace { \small G32[ d G c G] } } -Gdarodo = { \grace { \small d32[ G c G] } } -% Non-gracenote piobaireachd markup. -trebling = \markup { - \override #'(baseline-skip . 0.3) - \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 { \column { "T" "C" } } -% TODO: These characters should be shown upside down. -% Use a postscript markup command for this. -txtaoram = \markup { "T" } -txcrunam = \markup { "C" } -txtaorcrunam = \markup { \column { "T" "C" } } +%{ + Bagpipe music settings for Lilypond. + This file builds on work by Andrew McNabb (http://www.mcnabbs.org/andrew/) + + Substantial changes and additions made by + Sven Axelsson, the Murray Pipes & Drums of Gothenburg + (http://www.murrays.nu) + + $Id: bagpipe.ly,v 1.2 2005/08/04 23:32:42 gpercival Exp $ +%} + +\version "2.6.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)) + (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. + +hideKeySignature = { + % We normally don't want to show the key signature. + \override Staff.KeySignature #'print-function = ##f + \set Staff.extraNatural = ##f + \key d \major + #(set-accidental-style 'forget) +} +showKeySignature = { + % Show the key signature e.g. for BMW compatibility. + \override Staff.KeySignature #'print-function = #'Key_signature_interface::print + \set Staff.extraNatural = ##f + \key d \major + #(set-accidental-style 'forget) +} + +% Layout tweaks. + +\layout { + \context { + \Voice + % All stems go down. + \override Stem #'direction = #-1 + % All slurs and ties are on top. + \override Slur #'direction = #1 + \override Tie #'direction = #1 + } +} + +% Some common timing tweaks. + +% Sets the autobeamer to span quarter notes only. Use for fast music. +% TODO: Needs more tweaking +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 + \override Staff.TimeSignature #'style = #'() + \quarterBeaming +} + +% Single grace notes +grG = { \grace { \small G32 } } +gra = { \grace { \small a32 } } +grb = { \grace { \small b32 } } +grc = { \grace { \small c32 } } +grd = { \grace { \small d32 } } +gre = { \grace { \small e32 } } +grf = { \grace { \small f32 } } +grg = { \grace { \small g32 } } +grA = { \grace { \small A32 } } + +% Doublings +dblG = { \grace { \small g32[ G d] } } +dbla = { \grace { \small g32[ a d] } } +dblb = { \grace { \small g32[ b d] } } +dblc = { \grace { \small g32[ c d] } } +dbld = { \grace { \small g32[ d e] } } +dble = { \grace { \small g32[ e f] } } +dblf = { \grace { \small g32[ f g] } } +% These are the same as the half doublings. +dblg = { \grace { \small g32[ f] } } +dblA = { \grace { \small A32[ g] } } + +% Half doublings +hdblG = { \grace { \small G32[ d] } } +hdbla = { \grace { \small a32[ d] } } +hdblb = { \grace { \small b32[ d] } } +hdblc = { \grace { \small c32[ d] } } +hdbld = { \grace { \small d32[ e] } } +hdble = { \grace { \small e32[ f] } } +hdblf = { \grace { \small f32[ g] } } +hdblg = { \grace { \small g32[ f] } } +hdblA = { \grace { \small A32[ g] } } + +% Thumb doublings +tdblG = { \grace { \small A32[ G d] } } +tdbla = { \grace { \small A32[ a d] } } +tdblb = { \grace { \small A32[ b d] } } +tdblc = { \grace { \small A32[ c d] } } +tdbld = { \grace { \small A32[ d e] } } +tdble = { \grace { \small A32[ e f] } } +tdblf = { \grace { \small A32[ f g] } } +tdblg = { \grace { \small A32[ g f] } } + +% Shakes +% A few of these can't really be played and are here only for consistency. +shakea = { \grace { \small g32[ a d a G] } } +shakeb = { \grace { \small g32[ b d b G] } } +shakec = { \grace { \small g32[ c d c G] } } +shaked = { \grace { \small g32[ d e d G] } } +shakee = { \grace { \small g32[ e f e a] } } +shakef = { \grace { \small g32[ f g f a] } } +shakeg = { \grace { \small A32[ f g a] } } +shakeA = { \grace { \small A32[ g A a] } } + +% Half shakes +hshakea = { \grace { \small a32[ d a G] } } +hshakeb = { \grace { \small b32[ d b G] } } +hshakec = { \grace { \small c32[ d c G] } } +hshaked = { \grace { \small d32[ e d G] } } +hshakee = { \grace { \small e32[ f e a] } } +hshakef = { \grace { \small f32[ g f a] } } +hshakeg = { \grace { \small g32[ f g a] } } +hshakeA = { \grace { \small A32[ g A a] } } + +% Thumb shakes +tshakea = { \grace { \small A32[ a d a G] } } +tshakeb = { \grace { \small A32[ b d b G] } } +tshakec = { \grace { \small A32[ c d c G] } } +tshaked = { \grace { \small A32[ d e d G] } } +tshakee = { \grace { \small A32[ e f e a] } } +tshakef = { \grace { \small A32[ f g f a] } } +tshakeg = { \grace { \small A32[ f g a] } } +tshakeA = { \grace { \small A32[ g A a] } } + +% Slurs +% A few of these can't really be played and are here only for consistency. +slura = { \grace { \small g32[ a G] } } +slurb = { \grace { \small g32[ b G] } } +slurc = { \grace { \small g32[ c G] } } +slurd = { \grace { \small g32[ d G] } } +slure = { \grace { \small g32[ e a] } } +slurf = { \grace { \small g32[ f a] } } +slurg = { \grace { \small A32[ f a] } } +slurA = { \grace { \small f32[ a] } } + +% Half slurs +hslura = { \grace { \small a32[ G] } } +hslurb = { \grace { \small b32[ G] } } +hslurc = { \grace { \small c32[ G] } } +hslurd = { \grace { \small d32[ G] } } +hslure = { \grace { \small e32[ a] } } +hslurf = { \grace { \small f32[ a] } } +hslurg = { \grace { \small g32[ a] } } +hslurA = { \grace { \small A32[ a] } } + +% Thumb slurs +tslura = { \grace { \small A32[ a G] } } +tslurb = { \grace { \small A32[ b G] } } +tslurc = { \grace { \small A32[ c G] } } +tslurd = { \grace { \small A32[ d a] } } +tslure = { \grace { \small A32[ e a] } } +tslurf = { \grace { \small A32[ f a] } } +tslurg = { \grace { \small A32[ f a] } } +tslurA = { \grace { \small f32[ a] } } + +% Catches +catcha = { \grace { \small a32[ G d G] } } +catchb = { \grace { \small b32[ G d G] } } +catchc = { \grace { \small c32[ G d G] } } +catchd = { \grace { \small d32[ G b G] } } +catche = { \grace { \small e32[ G d G] } } + +% G-grace catches +gcatcha = { \grace { \small g32[ a G d G] } } +gcatchb = { \grace { \small g32[ b G d G] } } +gcatchc = { \grace { \small g32[ c G d G] } } +gcatchd = { \grace { \small g32[ d G b G] } } +gcatche = { \grace { \small g32[ e G d G] } } + +% Thumb catches +tcatcha = { \grace { \small A32[ a G d G] } } +tcatchb = { \grace { \small A32[ b G d G] } } +tcatchc = { \grace { \small A32[ c G d G] } } +tcatchd = { \grace { \small A32[ d G b G] } } +tcatche = { \grace { \small A32[ e G d G] } } + +% Throws +thrwd = { \grace { \small G32[ d c] } } +Gthrwd = { \grace { \small d32[ c] } } +gripthrwd = { \grace { \small G32[ d G c] } } +thrwf = { \grace { \small f32[ e g e] } } + +% Birls +birl = { \grace { \small a32[ G a G] } } +wbirl = { \grace { \small G32[ a G] } } +gbirl = { \grace { \small g32[ a G a G] } } +dbirl = { \grace { \small d32[ a G a G] } } + +% Grips +grip = { \grace { \small G32[ d G] } } +dgrip = { \grace { \small G32[ b G] } } +egrip = { \grace { \small G32[ e G] } } + +% Taorluaths +taor = { \grace { \small G32[ d G e] } } +dtaor = { \grace { \small G32[ b G e] } } +Gtaor = { \grace { \small d32[ G e] } } +taoramb = { \grace { \small G32[ d G b e] } } +taoramc = { \grace { \small G32[ d G c e] } } +taoramd = { \grace { \small G32[ d G c d e] } } + +% Crunluaths +crun = { \grace { \small G32[ d G e a f a ] } } +dcrun = { \grace { \small G32[ b G e a f a ] } } +Gcrun = { \grace { \small d32[ G e G f a ] } } +crunamb = { \grace { \small G32[ d G b e b f b ] } } +crunamc = { \grace { \small G32[ d G c e c f c ] } } +crunamd = { \grace { \small G32[ d G c d e d f d ] } } + +% Special piobaireachd notations +grGcad = { \grace { \small G16 } } +gracad = { \grace { \small a16 } } +cad = { \grace { \small g32[ e8 d32] } } +hcad = { \grace { \small g32[ e8] } } +dre = { \grace { \small e32[ a f a] } } +% This is the same as thrwf +dare = { \grace { \small f32[ e g e] } } +bari = { \grace { \small e32[ G f G] } } +dari = { \grace { \small f32[ e g e f e] } } +pthrwd = { \grace { \small G16[ d32 c] } } +darodo = { \grace { \small G32[ d G c G] } } +Gdarodo = { \grace { \small d32[ G c G] } } +% Non-gracenote piobaireachd markup. +trebling = \markup { + \override #'(baseline-skip . 0.3) + \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 { \column { "T" "C" } } +% TODO: These characters should be shown upside down. +% Use a postscript markup command for this. +txtaoram = \markup { "T" } +txcrunam = \markup { "C" } +txtaorcrunam = \markup { \column { "T" "C" } }