X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fbagpipe.ly;h=bd10c59ebe476713b0139a42205beeba3ea1ff58;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=0b53e9ad292860242073999b79afba585090ebdc;hpb=0706458a184d83d0776ffa03b07f710d9e3138ba;p=lilypond.git diff --git a/ly/bagpipe.ly b/ly/bagpipe.ly index 0b53e9ad29..bd10c59ebe 100644 --- a/ly/bagpipe.ly +++ b/ly/bagpipe.ly @@ -6,10 +6,12 @@ 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.13.29" +\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. @@ -19,36 +21,39 @@ pitchnamesBagpipe = #`( (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. @@ -57,24 +62,23 @@ showKeySignature = { \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 } } % Some common timing tweaks. % Sets the autobeamer to span quarter notes only. Use for fast music. -% TODO: Needs more tweaking quarterBeaming = { \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. @@ -82,190 +86,238 @@ 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 = #'() + \numericTimeSignature \quarterBeaming } +% Add appropriate tweaks needed for piping grace notes to look great. +stemspace = #(define-music-function (extent) (pair?) #{ + \once \override Staff.Stem.X-extent = #extent +#}) +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 +#}) + % 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 } } +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 = { \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] } } +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 = { \grace { \small g32[ f] } } -dblA = { \grace { \small A32[ g] } } +dblg = { \pgrace { g32[ f] } } +dblA = { \pgrace { 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] } } +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 = { \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 +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 / Pele % 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 +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 e] } } +shakeg = { \pgrace { A32[ f g a] } } +shakeA = { \pgrace { A32[ g A a] } } + +% 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 e] } } +hshakeg = { \pgrace { g32[ A g f] } } +hshakeA = { \pgrace { A32[ g A a] } } + +% 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 e] } } +tshakeg = { \pgrace { A32[ g A g f] } } +tshakeA = { \pgrace { A32[ g A a] } } + +% Slurs / G - Grace Strike % 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] } } +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 e] } } +slurg = { \pgrace { A32[ f a] } } +slurA = { \pgrace { f32[ a] } } + +% 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[ e] } } +hslurg = { \pgrace { g32[ f] } } +hslurA = { \pgrace { A32[ a] } } + +% 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 e] } } +tslurg = { \pgrace { A32[ g f] } } +tslurA = { \pgrace { f32[ a] } } + +% 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 = { \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] } } +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 d G] } } +wtcatchd = { \pgrace { A32[ d G b G] } } +tcatche = { \pgrace { A32[ e G d G] } } + +% Triple strikes +% Those that cannnot be played have been omitted. +tripleA = { \pgrace { A32[ g A g A 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] } } +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 = { \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] } } +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 = { \grace { \small G32[ d G] } } -dgrip = { \grace { \small G32[ b G] } } -egrip = { \grace { \small G32[ e G] } } +% Grips / Leumluath +grip = { \pgrace { G32[ d G] } } +bgrip = { \pgrace { G32[ b G] } } +egrip = { \pgrace { 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] } } +taor = { \pgrace { G32[ d G e] } } +taorjmd = { \pgrace { G32[ d a e] } } +taorold = { \pgrace { G32[ d G a 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] } } +taoramd = { \pgrace { 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 ] } } +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 = { \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] } } +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 = { \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] } } +dare = { \pgrace { f32[ e g e] } } +bari = { \pgrace { e32[ G f G] } } +dari = { \pgrace { f32[ e 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 MacDonald’s 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. trebling = \markup { - \override #'(baseline-skip . 0.3) + \override #'(baseline-skip . 0.4) \column { \musicglyph #"scripts.tenuto" \musicglyph #"scripts.tenuto" @@ -274,11 +326,22 @@ trebling = \markup { } % 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" } } +txtaor = \markup { \center-align "T" } +txcrun = \markup { \center-align "C" } +txtaorcrun = \markup { + \override #'(baseline-skip . 1.8) + \column { + \center-align "T" + \center-align "C" + } +} +% Turn these upside down, as in the Kilberry book. +txtaoram = \markup { \center-align \scale #'(-1 . -1) "T" } +txcrunam = \markup { \center-align \scale #'(-1 . -1) "C" } +txtaorcrunam = \markup { + \override #'(baseline-skip . 1.8) + \column { + \center-align \scale #'(-1 . -1) "T" + \center-align \scale #'(-1 . -1) "C" + } +}