1
0
Fork 0
mirror of https://github.com/kastdeur/pipeband-music.git synced 2025-05-17 21:39:17 +02: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:
Eric Teunis de Boone 2015-11-05 01:39:52 +01:00
parent 6d9bb716d9
commit edd1abcaac
13 changed files with 641 additions and 363 deletions

93
lilydrum/embellishments.ily Executable file
View 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
#})

View 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

View 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&gtCAK/&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

View 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
View 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
View 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
View 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
View 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
#})