mirror of
https://github.com/kastdeur/pipeband-music.git
synced 2024-12-22 08:13:31 +01:00
Decided to split up my lilydrum file for now
Especially for flourishing symbols Went for a special context, d/g still available in DrumStaff PipeBandDrumStaff has all characteristics of a regular PB DrumStaff Oh, entered another score :)
This commit is contained in:
parent
6d9bb716d9
commit
edd1abcaac
13 changed files with 641 additions and 363 deletions
321
lilydrum.ly
321
lilydrum.ly
|
@ -3,12 +3,12 @@
|
|||
LilyPond file definitions for Pipeband drumming scores.
|
||||
Primarily focused on Snare drumming,
|
||||
occasional bass or tenor scores should be possible.
|
||||
Especially with the use of an external eps file with flourishi symbols
|
||||
|
||||
This file builds on work done by Simon Froger.
|
||||
|
||||
Substantial changes by ET de Boone, Seaforth Highlanders of Holland (seaforth.nl)
|
||||
Include by using :
|
||||
\include "[path]/lilydrum.ly"
|
||||
\include "[pathtothisfile]" e.g. "~/lilydrum.ly"
|
||||
|
||||
Music has to be put into :
|
||||
\new DrumStaff {
|
||||
|
@ -18,318 +18,17 @@
|
|||
}
|
||||
|
||||
%}
|
||||
#(ly:set-option 'point-and-click #f)
|
||||
|
||||
% Note name defs :
|
||||
% "d" for the right hand ("droite") and
|
||||
% "g" for the left hand ("gauche")
|
||||
%-----------------------------------------
|
||||
|
||||
drumPitchNames =
|
||||
#(append '(
|
||||
(d . right-hand)
|
||||
(g . left-hand)
|
||||
(right . right-hand)
|
||||
(left . left-hand)
|
||||
#(ly:set-option 'point-and-click #f)
|
||||
#(ly:set-option 'relative-includes #t)
|
||||
|
||||
(dback . right-backstick)
|
||||
(gback . left-backstick)
|
||||
(rightback . right-backstick)
|
||||
(leftback . left-backstick)
|
||||
|
||||
(dcross . right-crossstick)
|
||||
(gcross . right-crossstick)
|
||||
(rightcross . right-crossstick)
|
||||
(leftcross . right-crossstick)
|
||||
)
|
||||
drumPitchNames
|
||||
)
|
||||
|
||||
% Position according to the line : right hand above and left hand below
|
||||
#(define pipeband-style '(
|
||||
(right-hand () #f 1)
|
||||
(left-hand () #f -1)
|
||||
(right-crossstick cross #f 1)
|
||||
(left-crossstick cross #f -1)
|
||||
(right-backstick xcircle #f 1)
|
||||
(left-backstick xcircle #f -1)
|
||||
)
|
||||
)
|
||||
% Built-in noteheads: default, cross, xcircle, diamond
|
||||
|
||||
% =================================================== %
|
||||
% Layout tweaks for good defaults %
|
||||
% =================================================== %
|
||||
\layout {
|
||||
\context {
|
||||
\DrumStaff
|
||||
|
||||
% add hands to note definitions
|
||||
drumStyleTable = #(alist->hash-table pipeband-style)
|
||||
|
||||
% one line per staff
|
||||
\override StaffSymbol.line-positions = #'(0)
|
||||
|
||||
% stems
|
||||
\override Stem.direction = #DOWN % stems down
|
||||
\override Stem.length = #9 % unbeamed stems length
|
||||
\override Stem.stemlet-length = #1.5 % short stem length
|
||||
|
||||
% beams
|
||||
\override Beam.beam-thickness = #0.4 % beam-thickness
|
||||
\override Beam.positions = #'(-3.8 . -3.8) % fix beams on one height
|
||||
|
||||
% slurs and ties
|
||||
\override Slur.direction = #UP % Slurs on top
|
||||
\override Tie.direction = #UP % Ties on top
|
||||
|
||||
% dynamics up
|
||||
\dynamicUp
|
||||
|
||||
% slurs below rolls number
|
||||
%\override TextScript.outside-staff-priority = ##f
|
||||
%\override TextScript.side-axis = #0
|
||||
%\override TextScript.staff-padding = #3
|
||||
%\override TextScript.X-offset = #2 % padding to stems
|
||||
%\override TextScript.extra-offset = #'(-0.3 . 0)
|
||||
|
||||
% tremolos (rolls)
|
||||
\override StemTremolo.slope = #0.5 % slope
|
||||
\override StemTremolo.beam-width = #1.5 % beam-width
|
||||
\override StemTremolo.beam-thickness = #0.3 % beam-thickness
|
||||
\override StemTremolo.extra-offset = #'(0 . 0.3) % vertical pos. position
|
||||
|
||||
%\override StemTremolo.Y-offset = #-2.8
|
||||
|
||||
% repeat brackets
|
||||
\consists "Horizontal_bracket_engraver"
|
||||
\override HorizontalBracket.staff-padding = #3.5 % staff-padding
|
||||
\override HorizontalBracket.direction = #UP % brackets under thr staff
|
||||
\override HorizontalBracket.bracket-flare = #'(0 . 0) % vertical brackets
|
||||
|
||||
}
|
||||
\context {
|
||||
\Score
|
||||
|
||||
\override RehearsalMark.break-align-symbols = #'(clef)
|
||||
\override RehearsalMark.padding = #3
|
||||
\override VoltaBracket.edge-height = #'(1.5 . 1.5)
|
||||
}
|
||||
}
|
||||
|
||||
% =================================================== %
|
||||
% Define some tweaks for printing nicely %
|
||||
% =================================================== %\
|
||||
|
||||
eighthBeaming = {
|
||||
\set Score.baseMoment = #(ly:make-moment 1 8)
|
||||
\set Score.beatStructure = #'( 2 )
|
||||
}
|
||||
sixteenthBeaming = {
|
||||
\set Score.baseMoment = #(ly:make-moment 1 16)
|
||||
\set Score.beatStructure = #'( 4 )
|
||||
}
|
||||
|
||||
\layout{
|
||||
% no indent
|
||||
indent = 0
|
||||
\context{
|
||||
\DrumStaff
|
||||
% always numeric Time Signatures
|
||||
\numericTimeSignature
|
||||
|
||||
% bar line height
|
||||
\override BarLine.bar-extent = #'(-2 . 2)
|
||||
|
||||
% I like being able to identify the 8th notes
|
||||
subdivideBeams = ##t
|
||||
strictBeatBeaming = ##t
|
||||
|
||||
\override TupletBracket.bracket-visibility = #'if-no-beams
|
||||
}
|
||||
}
|
||||
|
||||
% ================================================= %
|
||||
% Side Sticking (modifies note, or adds mark) %
|
||||
% ================================================= %
|
||||
backstick = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
\temporary \override Staff.NoteHead.style = \
|
||||
$notes
|
||||
\revert Staff.NoteHead.style
|
||||
#})
|
||||
crossstick = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
\temporary \override Staff.NoteHead.style = #'xcircle
|
||||
$notes
|
||||
\revert Staff.NoteHead.style
|
||||
#})
|
||||
rimshot = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
$notes
|
||||
|
||||
#})
|
||||
|
||||
% ================================================= %
|
||||
% Tenor Flourishing %
|
||||
% ================================================= %
|
||||
splitTheFeather = \markup{ \musicglyph #"noteheads.s2xcircle"}
|
||||
cartWheel = \markup { \musicglyph #"timesig.neomensural94" }
|
||||
up = \markup {
|
||||
% \combine
|
||||
%\tiny \triangle ##t
|
||||
\center-align \draw-line #'(0 . 2)
|
||||
}
|
||||
|
||||
flourish = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
\temporary \override Staff.NoteHead.style = #'cross
|
||||
$notes
|
||||
\revert Staff.NoteHead.style
|
||||
#})
|
||||
scoop = #(define-music-function (parser location notes end) (ly:music? ly:music?)
|
||||
#{
|
||||
$notes ^\markup { \path
|
||||
$end
|
||||
#})
|
||||
|
||||
% stf = \splitTheFeather
|
||||
% cart = \cartWheel
|
||||
% fl = \flourish
|
||||
|
||||
% ================================================= %
|
||||
% Functions %
|
||||
% ================================================= %
|
||||
|
||||
% triplet
|
||||
triplet = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{ \tuplet 3/2 { $notes } #}
|
||||
)
|
||||
|
||||
% dynamics
|
||||
v = #(define-event-function (parser location) ()
|
||||
#{ \upbow #}
|
||||
)
|
||||
|
||||
% repeat brackets
|
||||
dr = #(define-event-function (parser location) ()
|
||||
#{ \startGroup #}
|
||||
)
|
||||
fr = #(define-event-function (parser location) ()
|
||||
#{ \stopGroup #}
|
||||
)
|
||||
|
||||
% dynamics with extended lines
|
||||
dynLine = #(define-music-function
|
||||
(parser location text)
|
||||
(markup?)
|
||||
#{
|
||||
\once \override TextSpanner.style = #'line
|
||||
\once \override TextSpanner.bound-details.left.text = \markup {
|
||||
\combine
|
||||
\draw-line #'(0 . -1)
|
||||
\draw-line #'(1 . 0)
|
||||
\dynamic #text
|
||||
}
|
||||
\once \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . -1) }
|
||||
#})
|
||||
|
||||
tutti = #(define-event-function (parser location notes) (ly:music?) #{
|
||||
\startGroup
|
||||
% still to add: a little 'u'
|
||||
$notes
|
||||
\stopGroup
|
||||
#})
|
||||
|
||||
% ================================================= %
|
||||
% Flams, Drags & the sort %
|
||||
% ================================================= %
|
||||
drumgrace = #(define-music-function (parser location notes) (ly:music?) #{
|
||||
% Set settings
|
||||
\stemUp
|
||||
\once \override Beam.positions = #'(1.8 . 1.8)
|
||||
\once \override DrumStaff.Stem.length = #5
|
||||
\override Flag.stroke-style = #"grace"
|
||||
\override Score.GraceSpacing #'spacing-increment = #1
|
||||
\override Score.Stem #'beamlet-max-length-proportion = #'(0.5 . 0.5)
|
||||
|
||||
% Print notes
|
||||
\grace $notes
|
||||
|
||||
% Revert back
|
||||
\revert Score.Stem #'beamlet-default-length
|
||||
\revert Flag.stroke-style
|
||||
\stemNeutral
|
||||
#})
|
||||
|
||||
|
||||
% Flams
|
||||
flamd = \drummode { \drumgrace { g8 } } % Flam right
|
||||
flamg = \drummode { \drumgrace { d8 } } % Flam left
|
||||
flamddr = \drummode { \drumgrace { g8\startGroup } } % Flam right with start repeat
|
||||
flamgdr = \drummode { \drumgrace { d8\startGroup } } % Flam left with start repeat
|
||||
|
||||
% Drags
|
||||
dragd = \drummode { \drumgrace { g16[ g] }} % Drag right
|
||||
dragg = \drummode { \drumgrace { d16[ d] }} % Drag left
|
||||
dragddr = \drummode { \drumgrace { g16[\startGroup g] }} % Drag right with start repeat
|
||||
draggdr = \drummode { \drumgrace { d16[\startGroup d] }} % Drag left with start repeat
|
||||
|
||||
% Ruff
|
||||
ruffg = \drummode { \drumgrace { g16[ d g] }} % Ruff right
|
||||
ruffd = \drummode { \drumgrace { d16[ g d] }} % Ruff left
|
||||
ruffgdr = \drummode { \drumgrace { g16[\startGroup d g] }} % Ruff right with start repeat
|
||||
ruffddr = \drummode { \drumgrace { d16[\startGroup g d] }} % Ruff left with start repeat
|
||||
|
||||
% Swiss Ruff
|
||||
sruffg = \drummode { \drumgrace { g16[ d d] }} % Swiss Ruff right
|
||||
sruffd = \drummode { \drumgrace { d16[ g g] }} % Swiss Ruff left
|
||||
sruffgdr = \drummode { \drumgrace { g16[\startGroup d d] }} % Swiss Ruff right with start repeat
|
||||
sruffddr = \drummode { \drumgrace { d16[\startGroup g g] }} % Swiss Ruff left with start repeat
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Embellishment functions, automatic left or right %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Flam
|
||||
flam = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \flamg #}
|
||||
#{ \flamd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
|
||||
% Drag
|
||||
drag = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \dragg #}
|
||||
#{ \dragd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
|
||||
% Ruff
|
||||
ruff = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \ruffg #}
|
||||
#{ \ruffd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
|
||||
% Swiss Ruff
|
||||
sruff = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \sruffg #}
|
||||
#{ \sruffd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
\include "lilydrum/layout_tweaks.ily"
|
||||
\include "lilydrum/musical_functions.ily"
|
||||
\include "lilydrum/embellishments.ily"
|
||||
\include "lilydrum/flourishing.ily"
|
||||
\include "lilydrum/special_sticking.ily"
|
||||
|
|
93
lilydrum/embellishments.ily
Executable file
93
lilydrum/embellishments.ily
Executable file
|
@ -0,0 +1,93 @@
|
|||
% ================================================= %
|
||||
% Flams, Drags & the sort %
|
||||
% ================================================= %
|
||||
drumgrace = #(define-music-function (parser location notes) (ly:music?) #{
|
||||
% Set settings
|
||||
\stemUp
|
||||
\once \override Beam.positions = #'(1.8 . 1.8)
|
||||
\once \override DrumStaff.Stem.length = #5
|
||||
\override Flag.stroke-style = #"grace"
|
||||
\override Score.GraceSpacing #'spacing-increment = #1
|
||||
\override Score.Stem #'beamlet-max-length-proportion = #'(0.5 . 0.5)
|
||||
|
||||
% Print notes
|
||||
\grace $notes
|
||||
|
||||
% Revert back
|
||||
\revert Score.Stem #'beamlet-default-length
|
||||
\revert Flag.stroke-style
|
||||
\stemNeutral
|
||||
#})
|
||||
|
||||
|
||||
% Flams
|
||||
flamd = \drummode { \drumgrace { g8 } } % Flam right
|
||||
flamg = \drummode { \drumgrace { d8 } } % Flam left
|
||||
flamddr = \drummode { \drumgrace { g8\startGroup } } % Flam right with start repeat
|
||||
flamgdr = \drummode { \drumgrace { d8\startGroup } } % Flam left with start repeat
|
||||
|
||||
% Drags
|
||||
dragd = \drummode { \drumgrace { g16[ g] }} % Drag right
|
||||
dragg = \drummode { \drumgrace { d16[ d] }} % Drag left
|
||||
dragddr = \drummode { \drumgrace { g16[\startGroup g] }} % Drag right with start repeat
|
||||
draggdr = \drummode { \drumgrace { d16[\startGroup d] }} % Drag left with start repeat
|
||||
|
||||
% Ruff
|
||||
ruffg = \drummode { \drumgrace { g16[ d g] }} % Ruff right
|
||||
ruffd = \drummode { \drumgrace { d16[ g d] }} % Ruff left
|
||||
ruffgdr = \drummode { \drumgrace { g16[\startGroup d g] }} % Ruff right with start repeat
|
||||
ruffddr = \drummode { \drumgrace { d16[\startGroup g d] }} % Ruff left with start repeat
|
||||
|
||||
% Swiss Ruff
|
||||
sruffg = \drummode { \drumgrace { g16[ d d] }} % Swiss Ruff right
|
||||
sruffd = \drummode { \drumgrace { d16[ g g] }} % Swiss Ruff left
|
||||
sruffgdr = \drummode { \drumgrace { g16[\startGroup d d] }} % Swiss Ruff right with start repeat
|
||||
sruffddr = \drummode { \drumgrace { d16[\startGroup g g] }} % Swiss Ruff left with start repeat
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Embellishment functions, automatic left or right %%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Flam
|
||||
flam = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \flamg #}
|
||||
#{ \flamd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
|
||||
% Drag
|
||||
drag = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \dragg #}
|
||||
#{ \dragd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
|
||||
% Ruff
|
||||
ruff = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \ruffg #}
|
||||
#{ \ruffd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
||||
|
||||
% Swiss Ruff
|
||||
sruff = #(define-music-function (parser location note) (ly:music?) #{
|
||||
% is note right-handed? then \flamd
|
||||
% if left, then \flamg
|
||||
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
|
||||
#{ \sruffg #}
|
||||
#{ \sruffd #})
|
||||
% print the note, else it won't show up
|
||||
$note
|
||||
#})
|
62
lilydrum/flourish_symbols/butterfly.eps
Executable file
62
lilydrum/flourish_symbols/butterfly.eps
Executable file
|
@ -0,0 +1,62 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
|
||||
%%Title: butterfly.eps
|
||||
%%CreationDate: Tue Nov 3 18:58:20 2015
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%Pages: 1
|
||||
%%BoundingBox: 14 14 28 23
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
% Use own dictionary to avoid conflicts
|
||||
10 dict begin
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
% Translate for offset
|
||||
14.173228346456694 14.173228346456694 translate
|
||||
% Translate to begin of first scanline
|
||||
0 8 translate
|
||||
13 -8 scale
|
||||
% Image geometry
|
||||
13 8 8
|
||||
% Transformation matrix
|
||||
[ 13 0 0 8 0 0 ]
|
||||
% Strings to hold RGB-samples per scanline
|
||||
/rstr 13 string def
|
||||
/gstr 13 string def
|
||||
/bstr 13 string def
|
||||
{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
|
||||
{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
|
||||
{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
|
||||
true 3
|
||||
%%BeginData: 521 ASCII Bytes
|
||||
colorimage
|
||||
s8N,fqu$Hrp$r(^J,~>
|
||||
s8N,fqu$Hrp$r(^J,~>
|
||||
s8N,fqu$Hrp$r(^J,~>
|
||||
%,Fub,@p3Al">-rJFS-~>
|
||||
%,Fub,@p3Al">-rJFS-~>
|
||||
%,Fub,@p3Al">-rJFS-~>
|
||||
%!VFFnjYIn8*9jOooah~>
|
||||
%!VFFnjYIn8*9jOooah~>
|
||||
%!VFFnjYIn8*9jOooah~>
|
||||
!3Z>$"7e/Pci*kDS:C~>
|
||||
!3Z>$"7e/Pci*kDS:C~>
|
||||
!3Z>$"7e/Pci*kDS:C~>
|
||||
!4)S'".KO$rr2otR",~>
|
||||
!4)S'".KO$rr2otR",~>
|
||||
!4)S'".KO$rr2otR",~>
|
||||
%#Fo_s2eEn(3KNTjbJ?~>
|
||||
%#Fo_s2eEn(3KNTjbJ?~>
|
||||
%#Fo_s2eEn(3KNTjbJ?~>
|
||||
%,#f`D0l$Xfg[Vp@e"s~>
|
||||
%,#f`D0l$Xfg[Vp@e"s~>
|
||||
%,#f`D0l$Xfg[Vp@e"s~>
|
||||
s8N,`p\b$no^Mn\J,~>
|
||||
s8N,`p\b$no^Mn\J,~>
|
||||
s8N,`p\b$no^Mn\J,~>
|
||||
%%EndData
|
||||
showpage
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
107
lilydrum/flourish_symbols/st_andrews_crss.eps
Executable file
107
lilydrum/flourish_symbols/st_andrews_crss.eps
Executable file
|
@ -0,0 +1,107 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: cairo 1.14.2 (http://cairographics.org)
|
||||
%%CreationDate: Wed Nov 4 14:58:05 2015
|
||||
%%Pages: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 3
|
||||
%%BoundingBox: 0 -1 21 19
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
save
|
||||
50 dict begin
|
||||
/q { gsave } bind def
|
||||
/Q { grestore } bind def
|
||||
/cm { 6 array astore concat } bind def
|
||||
/w { setlinewidth } bind def
|
||||
/J { setlinecap } bind def
|
||||
/j { setlinejoin } bind def
|
||||
/M { setmiterlimit } bind def
|
||||
/d { setdash } bind def
|
||||
/m { moveto } bind def
|
||||
/l { lineto } bind def
|
||||
/c { curveto } bind def
|
||||
/h { closepath } bind def
|
||||
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
|
||||
0 exch rlineto 0 rlineto closepath } bind def
|
||||
/S { stroke } bind def
|
||||
/f { fill } bind def
|
||||
/f* { eofill } bind def
|
||||
/n { newpath } bind def
|
||||
/W { clip } bind def
|
||||
/W* { eoclip } bind def
|
||||
/BT { } bind def
|
||||
/ET { } bind def
|
||||
/pdfmark where { pop globaldict /?pdfmark /exec load put }
|
||||
{ globaldict begin /?pdfmark /pop load def /pdfmark
|
||||
/cleartomark load def end } ifelse
|
||||
/BDC { mark 3 1 roll /BDC pdfmark } bind def
|
||||
/EMC { mark /EMC pdfmark } bind def
|
||||
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
|
||||
/Tj { show currentpoint cairo_store_point } bind def
|
||||
/TJ {
|
||||
{
|
||||
dup
|
||||
type /stringtype eq
|
||||
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
|
||||
} forall
|
||||
currentpoint cairo_store_point
|
||||
} bind def
|
||||
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
|
||||
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
|
||||
/Tf { pop /cairo_font exch def /cairo_font_matrix where
|
||||
{ pop cairo_selectfont } if } bind def
|
||||
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
|
||||
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
|
||||
/cairo_font where { pop cairo_selectfont } if } bind def
|
||||
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
|
||||
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
|
||||
/g { setgray } bind def
|
||||
/rg { setrgbcolor } bind def
|
||||
/d1 { setcachedevice } bind def
|
||||
%%EndProlog
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
%%PageBoundingBox: 0 -1 21 19
|
||||
%%EndPageSetup
|
||||
q 0 -1 21 20 rectclip q
|
||||
Q q
|
||||
0 18.4 20.801 -18.398 re W n
|
||||
q
|
||||
0 18.4 21 -19 re W n
|
||||
[ 0.8 0 0 0.8 0 -0.00000038147 ] concat
|
||||
/DeviceRGB setcolorspace
|
||||
8 dict dup begin
|
||||
/ImageType 1 def
|
||||
/Width 26 def
|
||||
/Height 23 def
|
||||
/Interpolate true def
|
||||
/BitsPerComponent 8 def
|
||||
/Decode [ 0 1 0 1 0 1 ] def
|
||||
/DataSource currentfile /ASCII85Decode filter /FlateDecode filter def
|
||||
/ImageMatrix [ 1 0 0 -1 0 23 ] def
|
||||
end
|
||||
image
|
||||
Gatm8gFo%9)#d/2gE[.Um;+hI3UEp%Xt3I?N/l1l9M:.%/M((/>\H_ta+]A=3YdQT;E&]$>p
|
||||
h8S*.'p^e?KM&*c:JEl*lPlhY]"?n,#8_kBl([IGWlCjo:D5oCKl;_loW%4<C]5Uh!k@@"!
|
||||
Ho%,9[sf4m-B6=G7H>[;3Kfk`i84XJ!hG'9ZZkmI]J8tcC:B[7P)8U^Qges79AqoD<S>2&"
|
||||
uOF+^U@A0C*>jgD>CAK/&lJ9j'uVEpg"s`+"o;18kr!ISt:+ZmI'BL"Th:]!.gj=q^_R@
|
||||
X]DJQ$u5H]4b7UU=0]#?@q2[Ge^[ZUEJ&\*aYl%8>[`^T1GeWU:;>iV9u%AT&p-1*.r99JP
|
||||
@%GUWrKf*?ai@Q._-:)H[E@o/:JKQ7L]d%@0Hh2Z.W<_Q7+NB"Dsb\.T!JW<%?&fO@G.<14
|
||||
RWqU/5`D!2En.g=c[pQ"ZSa])#]EAp.5+o("QE/hSbQ*:tO5,GV?I['$R7U:_JL91qo*-R[
|
||||
uH?9$s>q"VoB[\KV>aiWP:+r6*EZEeLiE$,pS6.O`E$X0%EG(m3STF.U<CubTkVbRIC$1[N
|
||||
hq>$[%*#sWE+S@)%aar5I.TL"I"DT6HaWU0*<62pi1c@6K`%ma^jCCHHYL.#+pi]VpMi0/=
|
||||
/R0o0hU+&=3a,W^+:nf*-78_W&F#ijXf\]IGeEbDG-hIM<f`<ZCmYCY#%'K`7:?uJ(=4pjb
|
||||
$qWsR[\SJGtogjWE-&cpp$o:C2/Xq+WfR9[C%li<Kp,;>;gh-V8=a]5VA0ihIgKEj`7X2PR
|
||||
]-`3?68Nh%B8Mo)ReV]RB%3^':PN(W$]j)KQAFAu)?B=)\l,9DBMS\qn\QSR?F?*ak[[6UO
|
||||
Uc(fHRFf\Fsj8uK!o;fUc($_un,Q4WseYD3Wq7Rpt%:.uWK*o=;.#s<5u#E+Lu*sDn-73Xj
|
||||
$mjn=:YHJJCr%'<)QH"lqiM"_.0[tnHm$*a+md=r?4\5brK!qE0ba97&eXiYuWgdUAPsCGS
|
||||
iUeN4IjIJuTL,)c==hP2jaV[oW1gH$ZDk+VCbh,sd2J*cEcMk">tF-*,B#?*i82/\4n9@l2
|
||||
JY#):A/5V5Q@+Tkl~>
|
||||
Q
|
||||
Q Q
|
||||
showpage
|
||||
%%Trailer
|
||||
end restore
|
||||
%%EOF
|
50
lilydrum/flourish_symbols/stop.eps
Executable file
50
lilydrum/flourish_symbols/stop.eps
Executable file
|
@ -0,0 +1,50 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
|
||||
%%Title: stop.eps
|
||||
%%CreationDate: Wed Nov 4 21:02:56 2015
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%Pages: 1
|
||||
%%BoundingBox: 14 14 23 33
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
% Use own dictionary to avoid conflicts
|
||||
10 dict begin
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
% Translate for offset
|
||||
14.173228346456693 14.173228346456693 translate
|
||||
% Translate to begin of first scanline
|
||||
0 18.747656542932134 translate
|
||||
8.2488188976377952 -18.747656542932134 scale
|
||||
% Variable to keep one line of raster data
|
||||
/scanline 9 3 mul string def
|
||||
% Image geometry
|
||||
9 17 8
|
||||
% Transformation matrix
|
||||
[ 9 0 0 17 0 0 ]
|
||||
{ currentfile scanline readhexstring pop } false 3
|
||||
%%BeginData: 946 ASCII Bytes
|
||||
colorimage
|
||||
fffffff5f5f5fffffffffffffffffffffffffffffffffffffcfcfc
|
||||
fafafaffffff4e4e4e0000000000000000004e4e4effffffffffff
|
||||
ffffff4e4e4e000000ffffffffffffffffff0000004e4e4effffff
|
||||
ffffff000000ffffffffffffffffffffffffffffff000000ffffff
|
||||
ffffff000000ffffffffffffffffffffffffffffff000000ffffff
|
||||
ffffff000000ffffffffffffffffffffffffffffff000000ffffff
|
||||
ffffff4e4e4e000000ffffffffffffffffff0000004e4e4effffff
|
||||
ffffffffffff4e4e4e0000000000000000004e4e4efffffff5f5f5
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
ffffffffffffffffffffffff000000ffffffffffffffffffffffff
|
||||
000000000000000000000000000000000000000000000000000000
|
||||
%%EndData
|
||||
showpage
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
45
lilydrum/flourishing.ily
Executable file
45
lilydrum/flourishing.ily
Executable file
|
@ -0,0 +1,45 @@
|
|||
% ================================================= %
|
||||
% Tenor Flourishing %
|
||||
% ================================================= %
|
||||
% Part of lilydrum
|
||||
splitTheFeather = \markup{ \musicglyph #"noteheads.s2xcircle"}
|
||||
cartWheel = \markup { \musicglyph #"timesig.neomensural94" }
|
||||
up = \markup {
|
||||
%\center-column {
|
||||
\combine
|
||||
\draw-line #'(0 . -2) % draw stick
|
||||
\combine % draw arrow
|
||||
\draw-line #'(0.5 . -1)
|
||||
\draw-line #'(-0.5 . -1)
|
||||
%\arrow-head #Y #UP ##f
|
||||
%}
|
||||
}
|
||||
bfly = \markup {
|
||||
\epsfile #X #2 #"../lilydrum/flourish_symbols/butterfly.eps"
|
||||
}
|
||||
stop = \markup {
|
||||
\epsfile #X #2 #"../lilydrum/flourish_symbols/stop.eps"
|
||||
}
|
||||
scoop = \markup {
|
||||
\path #.2 #'( (moveto 0 0 )
|
||||
(lineto 3 1 )
|
||||
(lineto 6 0 )
|
||||
(lineto 7 1 )
|
||||
)
|
||||
}
|
||||
|
||||
flourish = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
\temporary \override Staff.NoteHead.style = #'cross
|
||||
$notes
|
||||
\revert Staff.NoteHead.style
|
||||
#})
|
||||
sdcoop = #(define-music-function (parser location notes end) (ly:music? ly:music?)
|
||||
#{
|
||||
$notes
|
||||
$end
|
||||
#})
|
||||
|
||||
% stf = \splitTheFeather
|
||||
% cart = \cartWheel
|
||||
% fl = \flourish
|
94
lilydrum/layout_tweaks.ily
Executable file
94
lilydrum/layout_tweaks.ily
Executable file
|
@ -0,0 +1,94 @@
|
|||
% =================================================== %
|
||||
% Layout tweaks for good defaults %
|
||||
% =================================================== %
|
||||
|
||||
% Note name defs :
|
||||
% "d" for the right hand ("droite") and
|
||||
% "g" for the left hand ("gauche")
|
||||
drumPitchNames =
|
||||
#(append '(
|
||||
(d . right-hand)
|
||||
(g . left-hand)
|
||||
(right . right-hand)
|
||||
(left . left-hand)
|
||||
)
|
||||
drumPitchNames
|
||||
)
|
||||
|
||||
% Position according to the line : right hand above and left hand below
|
||||
#(define pipeband-style '(
|
||||
(right-hand () #f 1)
|
||||
(left-hand () #f -1)
|
||||
)
|
||||
)
|
||||
\layout {
|
||||
\context {% add hands to note definitions
|
||||
\DrumStaff
|
||||
drumStyleTable = #(alist->hash-table pipeband-style)
|
||||
}
|
||||
}
|
||||
\layout {
|
||||
\context {
|
||||
\DrumStaff
|
||||
\name PipeBandDrumStaff
|
||||
\alias DrumStaff
|
||||
% one line per staff
|
||||
\override StaffSymbol.line-positions = #'(0)
|
||||
% bar line height
|
||||
\override BarLine.bar-extent = #'(-2 . 2)
|
||||
|
||||
% stems
|
||||
\override Stem.direction = #DOWN % stems down
|
||||
\override Stem.length = #9 % unbeamed stems length
|
||||
\override Stem.stemlet-length = #1.5 % short stem length
|
||||
|
||||
% beams
|
||||
\override Beam.beam-thickness = #0.4 % beam-thickness
|
||||
\override Beam.positions = #'(-3.8 . -3.8) % fix beams on one height
|
||||
|
||||
% slurs and ties
|
||||
\override Slur.direction = #UP % Slurs on top
|
||||
\override Tie.direction = #UP % Ties on top
|
||||
|
||||
% dynamics up
|
||||
\dynamicUp
|
||||
|
||||
% slurs below rolls number
|
||||
%\override TextScript.outside-staff-priority = ##f
|
||||
%\override TextScript.side-axis = #0
|
||||
%\override TextScript.staff-padding = #3
|
||||
%\override TextScript.X-offset = #2 % padding to stems
|
||||
%\override TextScript.extra-offset = #'(-0.3 . 0)
|
||||
|
||||
% tremolos (rolls)
|
||||
\override StemTremolo.slope = #0.5 % slope
|
||||
\override StemTremolo.beam-width = #1.5 % beam-width
|
||||
\override StemTremolo.beam-thickness = #0.3 % beam-thickness
|
||||
\override StemTremolo.extra-offset = #'(0 . 0.3) % vertical pos. position
|
||||
|
||||
\override TupletBracket.bracket-visibility = #'if-no-beams
|
||||
|
||||
% unison brackets
|
||||
\consists "Horizontal_bracket_engraver"
|
||||
\override HorizontalBracket.staff-padding = #3.5 % staff-padding
|
||||
\override HorizontalBracket.direction = #UP % brackets above the staff
|
||||
\override HorizontalBracket.bracket-flare = #'(0 . 0) % vertical brackets
|
||||
|
||||
subdivideBeams = ##t
|
||||
strictBeatBeaming = ##t
|
||||
\numericTimeSignature
|
||||
|
||||
}
|
||||
\context {
|
||||
\Score
|
||||
\accepts "PipeBandDrumStaff"
|
||||
|
||||
\override RehearsalMark.break-align-symbols = #'(clef)
|
||||
\override RehearsalMark.padding = #3
|
||||
\override VoltaBracket.edge-height = #'(1.5 . 1.5)
|
||||
}
|
||||
\context {
|
||||
\StaffGroup
|
||||
\accepts "PipeBandDrumStaff"
|
||||
}
|
||||
}
|
36
lilydrum/musical_functions.ily
Executable file
36
lilydrum/musical_functions.ily
Executable file
|
@ -0,0 +1,36 @@
|
|||
% ================================================= %
|
||||
% Musical Functions %
|
||||
% ================================================= %
|
||||
% Part of lilydrum
|
||||
|
||||
% triplet
|
||||
triplet = #(define-music-function (parser location notes) (ly:music?) #{ \tuplet 3/2 { $notes } #})
|
||||
|
||||
% dynamics
|
||||
v = #(define-event-function (parser location) () #{ \upbow #})
|
||||
|
||||
% repeat brackets
|
||||
dr = #(define-event-function (parser location) () #{ \startGroup #})
|
||||
fr = #(define-event-function (parser location) () #{ \stopGroup #})
|
||||
|
||||
% dynamics with extended lines
|
||||
dynLine = #(define-music-function
|
||||
(parser location text)
|
||||
(markup?)
|
||||
#{
|
||||
\once \override TextSpanner.style = #'line
|
||||
\once \override TextSpanner.bound-details.left.text = \markup {
|
||||
\combine
|
||||
\draw-line #'(0 . -1)
|
||||
\draw-line #'(1 . 0)
|
||||
\dynamic #text
|
||||
}
|
||||
\once \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . -1) }
|
||||
#})
|
||||
|
||||
% still to add: a little 'u'
|
||||
tutti = #(define-event-function (parser location notes) (ly:music?) #{
|
||||
\startGroup
|
||||
$notes
|
||||
\stopGroup
|
||||
#})
|
21
lilydrum/special_sticking.ily
Executable file
21
lilydrum/special_sticking.ily
Executable file
|
@ -0,0 +1,21 @@
|
|||
% ================================================= %
|
||||
% Side Sticking (modifies note, or adds mark) %
|
||||
% ================================================= %
|
||||
% Part of lilydrum
|
||||
backstick = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
\temporary \override Staff.NoteHead.style = #'cross
|
||||
$notes
|
||||
\revert Staff.NoteHead.style
|
||||
#})
|
||||
crossstick = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
\temporary \override Staff.NoteHead.style = #'xcircle
|
||||
$notes
|
||||
\revert Staff.NoteHead.style
|
||||
#})
|
||||
rimshot = #(define-music-function (parser location notes) (ly:music?)
|
||||
#{
|
||||
$notes
|
||||
|
||||
#})
|
23
makedrum
23
makedrum
|
@ -29,7 +29,7 @@ class MakeDrum:
|
|||
help='show Lilypond version and exit')
|
||||
|
||||
parser.add_argument('-x', '--drumfile',
|
||||
dest='lilydrum', default='lilydrum.ly',
|
||||
dest='lilydrum', default='lilydrum/lilydrum.ly',
|
||||
help='Use the specified file for drums')
|
||||
parser.add_argument('-c', '--pipefile',
|
||||
dest='lilypipe', default='bagpipe.ly',
|
||||
|
@ -69,7 +69,6 @@ class MakeDrum:
|
|||
|
||||
self.args = parser.parse_args()
|
||||
|
||||
print(self.RUN_DIR)
|
||||
if self.args.show_version:
|
||||
print(__name__, ' ', self.VERSION)
|
||||
return
|
||||
|
@ -113,7 +112,7 @@ class MakeDrum:
|
|||
|
||||
def processit(self, tmp_dir, file):
|
||||
if self.args.log:
|
||||
logfile = os.path.join(self.TMP_DIR, os.path.relpath(file).strip('.ly').replace('/', '-')+'.log')
|
||||
logfile = os.path.join(self.TMP_DIR, os.path.relpath(file).replace(".ly", '').replace('/', '-')+'.log')
|
||||
log = ' > '+logfile+' 2>&1'
|
||||
else:
|
||||
log = ''
|
||||
|
@ -130,7 +129,7 @@ class MakeDrum:
|
|||
if not self.args.log:
|
||||
print()
|
||||
|
||||
lilyout = os.path.join(os.path.curdir, self.args.out_dir, os.path.basename(tmp_file).strip(self.TMP_PREFIX).strip('.ly'))
|
||||
lilyout = os.path.join(os.path.curdir, self.args.out_dir, os.path.basename(tmp_file).replace(self.TMP_PREFIX, '').replace(".ly", ''))
|
||||
lilycmd = self.LILYPOND+' --pdf --output='+lilyout+' '+tmp_file+log
|
||||
|
||||
if os.system(lilycmd) != 0:
|
||||
|
@ -186,19 +185,9 @@ class MakeDrum:
|
|||
#(set-global-staff-size """+self.args.staffsize+""")
|
||||
#(set-default-paper-size \""""+self.args.papersize+"""\" '"""+self.args.orientation+""")
|
||||
|
||||
\\include "../"""+header_format+""".ily"
|
||||
"""+ lily_includes +"""
|
||||
% Local tweaks
|
||||
\\paper {
|
||||
ragged-bottom = ##t
|
||||
}
|
||||
\layout {
|
||||
\context {
|
||||
\Score
|
||||
% We only permit explicit line breaks
|
||||
\override NonMusicalPaperColumn #'line-break-permission = ##f
|
||||
}
|
||||
}
|
||||
|
||||
\\include \""""+header_format+""".ily"
|
||||
|
||||
% The tune to generate.
|
||||
""")
|
||||
|
@ -209,7 +198,7 @@ class MakeDrum:
|
|||
music = music.split(u'\n')
|
||||
printit = 1
|
||||
for line in music:
|
||||
if line.strip().startswith(u'\\include "lilydrum.ly"'): continue
|
||||
if line.startswith(u'\\include "lilydrum.ly"'): continue
|
||||
if printit:
|
||||
out_file.write(line.replace('\r', '')+'\n')
|
||||
out_file.close()
|
||||
|
|
|
@ -1,41 +1,122 @@
|
|||
\version "2.18.2"
|
||||
|
||||
\include "lilydrum.ly"
|
||||
|
||||
#(set-default-paper-size "a4" 'landscape)
|
||||
#(set-global-staff-size 19)
|
||||
\layout {
|
||||
indent = 0
|
||||
\set Score.markFormatter = #format-mark-box-alphabet
|
||||
\context {
|
||||
\DrumStaff
|
||||
% one line per staff
|
||||
\override StaffSymbol.line-positions = #'(0)
|
||||
\numericTimeSignature
|
||||
}
|
||||
}
|
||||
\score {
|
||||
\new DrumStaff = "staff_snare" {
|
||||
\set DrumStaff.drumStyleTable = #(alist->hash-table pipeband-style)
|
||||
|
||||
\drummode {
|
||||
\compressMMRests {
|
||||
\tempo 2. = 32
|
||||
\time 3/4
|
||||
R1*4
|
||||
\override MultiMeasureRest.expand-limit = #3
|
||||
R2.*4
|
||||
}
|
||||
\compressMMRests {
|
||||
\bar "||"
|
||||
s16^ \markup "A"
|
||||
R1*35
|
||||
\mark \default
|
||||
R2.*35
|
||||
}
|
||||
\bar "||"
|
||||
|
||||
\tempo 4 = 108
|
||||
\mark \default
|
||||
\time 4/4
|
||||
|
||||
s16^ \markup "B"
|
||||
sn4 \tuplet 3/2 {r8 sn8 sn8 } r4 |
|
||||
sn4 \f \tuplet 3/2 {r8 sn8 sn8 } r4 sn4 |
|
||||
\grace { sn16 sn16 sn16 sn16} \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } sn4 r4 |
|
||||
\grace { sn16 sn16 sn16 sn16} \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } r4
|
||||
|
||||
|
|
||||
\time 2/4
|
||||
|
||||
sn2:16(
|
||||
|
||||
|
|
||||
\time 4/4
|
||||
|
||||
\tuplet 3/2 { sn4) sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn8 sn8} \tuplet 3/2 { sn8 sn8 sn8}
|
||||
\bar "||"
|
||||
s16^\markup "C"
|
||||
|
||||
\repeat volta 2 {
|
||||
\bar "||"
|
||||
\mark \default
|
||||
\repeat percent 7{
|
||||
\grace sn8 sn4 \tuplet 3/2 { r8 sn8 sn8 } sn4 r4 |
|
||||
\grace { sn16 sn16 sn16 sn16 }
|
||||
\grace { sn16 sn16 sn16 sn16 } \tuplet 3/2 {sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } sn4 r4 |
|
||||
}
|
||||
|
||||
\grace sn16 \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8} |
|
||||
sn8 r8 r4 sn2:32( |
|
||||
\tuplet 3/2 { sn4) sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } r4 |
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } r4 |
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8} |
|
||||
sn8 r8 r4 \grace {sn16 sn16} sn4 \grace {sn16 sn16} sn4 |
|
||||
|
||||
\bar "||"
|
||||
\mark \default
|
||||
\repeat percent 10 {
|
||||
\grace {sn16} sn4 \mf \grace { sn16 sn16 sn16 sn16 } sn4 \grace { sn16 sn16 sn16 sn16 } sn4 \grace { sn16 sn16 sn16 sn16 } \tuplet 3/2 { sn8 sn8 sn8} |
|
||||
}
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { sn8 sn8 sn8 } |
|
||||
\tuplet 3/2 { sn4 \mf\< sn8 }
|
||||
\tuplet 3/2 { r8 sn8 sn8 }
|
||||
\tuplet 3/2 { sn4 sn8 }
|
||||
\tuplet 3/2 { sn8 sn8 sn8 \! }
|
||||
|
|
||||
|
||||
\grace { sn16 sn sn sn} \tuplet 3/2 { sn4 \f sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8} |
|
||||
sn8 r8 r4 \tuplet 3/2 { sn4 sn sn} |
|
||||
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { sn8 sn8 sn8 } |
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { sn8 sn8 sn8 } |
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { sn8 sn8 sn8 } |
|
||||
sn8 r8 r4 \tuplet 3/2 { sn4 sn sn} |
|
||||
sn1:32(
|
||||
|
||||
\bar "||"
|
||||
\mark \default
|
||||
sn8) \f r8 r4 r2 |
|
||||
\tuplet 3/2 {sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8. sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
\grace {sn16} sn8 r8 r4 r2
|
||||
\tuplet 3/2 {sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn16 sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
|
||||
\bar "||"
|
||||
\mark \default
|
||||
|
||||
\repeat percent 3 {
|
||||
\tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn16 sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
}
|
||||
\tuplet 3/2 {sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn8 sn8 } \grace sn16 \tuplet 3/2 { sn8 sn sn} |
|
||||
\repeat percent 3 {
|
||||
\tuplet 3/2 {sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn16 sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
}
|
||||
\tuplet 3/2 {sn4 \< sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn16 sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
|
||||
\tuplet 3/2 { sn4 \ff sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 }
|
||||
sn8 r8 r4 r2 |
|
||||
|
||||
\tuplet 3/2 { sn4 sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8. sn16 sn8 } \tuplet 3/2 { sn8 sn sn } |
|
||||
\tuplet 3/2 { sn4 sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn sn }
|
||||
\tuplet 3/2 { sn4 sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8 sn16 sn16 sn8 } \tuplet 3/2 { sn8 sn sn } |
|
||||
sn8 r8 r4 \tuplet 3/2 { sn4 sn sn } |
|
||||
\tuplet 3/2 { sn4 \fp\< sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8. sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
\tuplet 3/2 { sn4 sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8. sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
|
||||
\bar "||"
|
||||
\tuplet 3/2 { sn4\ff sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8. sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
\tuplet 3/2 { sn4 sn8} \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn8. sn16 sn8 } \tuplet 3/2 { sn8 sn sn} |
|
||||
sn8 r8 r4 sn4:32( sn4:32)( |
|
||||
\tuplet 3/2 { sn8) sn8 r8 } \tuplet 3/2 { r8 sn8 sn8 } sn8 r8 r4
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
\version "2.18.2"
|
||||
|
||||
\include "lilydrum.ly"
|
||||
|
||||
\score {
|
||||
\drummode {
|
||||
\numericTimeSignature
|
||||
\new DrumStaff = "staff_bass"{
|
||||
\set DrumStaff.drumStyleTable = #(alist->hash-table pipeband-style)
|
||||
\set Staff.instrumentName = #"Bass"
|
||||
\set Staff.shortInstrumentName = #"B.D."
|
||||
|
||||
\time 4/4
|
||||
\numericTimeSignature
|
||||
|
||||
% Part 1
|
||||
\repeat volta 2 {
|
||||
d4-> g4-> d4 g4 |
|
||||
d4 g4 d4 g4 |
|
||||
d4-> g4 d4 g4 |
|
||||
d4-> g4 d8.-> g16 d4 |
|
||||
|
||||
\break
|
||||
d4-> g4-> d4 g4 |
|
||||
r8 d8 r8 g8 r8 d8 r8 g8 |
|
||||
d4-> g4 d4 g4 |
|
||||
d4-> g4 r8. g16 d4 |
|
||||
\drummode {
|
||||
\repeat volta 2 {
|
||||
d4-> g4-> d4 g4 |
|
||||
d4 g4 d4 g4 |
|
||||
d4-> g4 d4 g4 |
|
||||
d4-> g4 d8.-> g16 d4 |
|
||||
|
||||
\break
|
||||
d4-> g4-> d4 g4 |
|
||||
r8 d8 r8 g8 r8 d8 r8 g8 |
|
||||
d4-> g4 d4 g4 |
|
||||
d4-> g4 r8. g16 d4 |
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
header {
|
||||
\header {
|
||||
title = "Molly Connell"
|
||||
composer = "W.H. de Boone / E.T. de Boone, 2014"
|
||||
instrument = "Bass Drum"
|
||||
meter = "STRATHSPEY"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue