1
0
Fork 0
mirror of https://github.com/kastdeur/lilydrum.git synced 2024-12-22 09:13:33 +01:00

Various updates

new flourish symbols in ps
added R/L near clef
cheatsheet
This commit is contained in:
Eric Teunis de Boone 2016-11-23 03:24:56 +01:00
parent d171211074
commit 446832fc14
10 changed files with 512 additions and 317 deletions

View file

@ -7,7 +7,6 @@
\paper {
indent = 0\mm
ragged-right = ##t
ragged-bottom = ##t
}
\layout {
@ -22,31 +21,80 @@
\score {
\new PipeBandDrumStaff {
\set Staff.instrumentName = "Plain notes"
\time 2/4
\drummode {
d4 g \crossstick d \crossstick g \rimshot d \rimshot g \backstick d \backstick g
d4 g
<<d g>> r
\crossstick d \crossstick g
\rimshot d \rimshot g
\backstick d \backstick g
}
}
\addlyrics {
"d" "g" "\crossstick d" "\crossstick g" "\rimshot d" "\rimshot g" "\backstick d" "\backstick g"
"d" "g"
"<<d g>>"
"\crossstick d" "\crossstick g"
"\rimshot d" "\rimshot g"
"\backstick d" "\backstick g"
}
\header {
title = \markup \column {\line{Plain Notes}}
subtitle = ""
}
}
\score {
\new PipeBandDrumStaff {
\set Staff.instrumentName = "Tenor Flourishing"
\tempo 2/4
\drummode {
d^\splitTheFeather g^\cartWheel d^\up {d8 g8 d4} g d \flourish { d4 g d g }
d^\splitTheFeather g^\cartWheel
d^\up r4
d8 g d4
\cart d4 \stf d4
\flourish { d4 g d g }
}
}
\addlyrics {
"\splitTheFeather" "cartWheel" "up" "scoop d g d" "\flourish { }"
"\splitTheFeather" "\cartWheel"
"\up"
"d" "g" "d"
"\cart" "\stf"
"\flourish {" "d4" "g" "d" "g}"
}
\header {
title = \markup \column {\line{Flourishing I}}
subtitle = ""
}
}
\score {
\new PipeBandDrumStaff {
\drummode {
d^\lthrow g^\rthrow
d^\bthrow r |
d^\lpush g^\rpush
d^\bpush r |
d^\andrewStop d^\quiggs
d^\stop r |
d^\blfy d^\rblfy
r r |
}
}
\addlyrics {
"\lthrow" "\rthrow" "\bthrow"
"\lpush" "\rpush" "\bpush"
"\andrewStop" "\quiggs" "\stop"
"\blfy" "\rblfy"
}
\header {
title = \markup \column {\line{Flourishing II}}
subtitle = ""
}
}
\score {
\new PipeBandDrumStaff {
\set Staff.instrumentName = "Embellishments"
\time 2/4
\drummode {
\flam d \flam g
@ -63,41 +111,66 @@
"\ruff d" "\ruff g"
"\sruff d" "\sruff g"
}
\header {
title = \markup \line{ Embellishments }
subtitle = ""
}
}
\score {
\new PipeBandDrumStaff {
\set Staff.instrumentName = \markup \column { \line{Forced hand} \line{embellishments}}
\time 2/4
\time 4/4
\drummode {
\flamg d \flamd g
\flamg g \flamd d
\dragg d \dragd g
\dragg g \dragd d
\odragg d \odragd g
\odragg g \odragd d
\break
\ruffg d \ruffd g
\ruffg g \ruffd d
\sruffg d \sruffd g
\sruffg g \sruffd d
}
}
\addlyrics {
"\flamg d" "\flamd g"
"\flamg g" "\flamd d"
"\dragg d" "\dragd g"
"\dragg g" "\dragd d"
"\odragg d" "\odragd g"
"\odragg g" "\odragd d"
"\ruffg d" "\ruffd g"
"\ruffg g" "\ruffd d"
"\sruffg d" "\sruffd g"
"\sruffg g" "\sruffd d"
}
\header {
title = \markup \column { \line {Embellishments: Forced Hand}}
subtitle = ""
}
}
\score {
\new PipeBandDrumStaff {
\set DrumStaff.drumStyleTable = #(alist->hash-table pipeband-style)
\set Staff.instrumentName = "Rolls"
\time 4/4
\eighthBeaming
\drummode {
d4:32( d8:32)(-> g8) \flam d4 r8 d8:32( \dr |
\triplet { g16) d g } \drag d16. g32 d32 g d g d16. g32-> d16. d32 \flam g4
\tuplet 3/2 { g16[) d g } \drag d16. g32] d32 g d g d16. g32-> d16. d32 \flam g4 s8
}
}
\addlyrics {
"d4:32(" "\\triplet " -- "\\flam d16." "g32" -- "\\drag g16" -- "\\triplet" "g:64" "d-> }"
}
\addlyrics {
\partial 8
"d8:32(" "\\triplet " -- "\\flam d16." "g32" -- "\\drag g16" -- "\\triplet" "g:64" "d-> }"
\header {
title = "Rolls"
subtitle = ""
}
}
\pageBreak
\score {
\new PipeBandDrumStaff {
\drummode {
@ -112,12 +185,18 @@
g8.[) g16 \dragd d8] d8.[ d16 \dragg g8] |
g8.[ \dragd d16 d8] d8.[ d16 \dragg g8] |
\flamddr d8. d16:64(_"5" d8) \flamd d8. d16 \flamg g8 |
d8.:32(_"5" d16) \flamg g8 \flamd d4 \fr |
d8.:32(_"5" d16) \flamg g8 \flamd d4 \fr s8 |
}
}
}
\addlyrics {
\partial 8
"d8:32(" "\\triplet " -- "\\flam d16." "g32" -- "\\drag g16" -- "\\triplet" "g:64" "d-> }"
}
\header {
title = "And now for something completely standard"
subtitle = ""
}
}
% # Writing parts
@ -130,5 +209,5 @@
\header {
title = "Cheat sheet for entering pipeband drumming music"
subtitle = "Intended for Lilypond 2.18 or better"
tagline = \markup { "Cpl ET de Boone, Seaforths of Holland" }
tagline = \markup { "D/Cpl ET de Boone, Seaforths of Holland" }
}

View file

@ -33,4 +33,5 @@
\include "lilydrum/embellishments.ily"
\include "lilydrum/flourishing.ily"
\include "lilydrum/special_sticking.ily"
\include "lilydrum/rehearsal_marks.ily"
\include "lilydrum/midi.ily"

View file

@ -19,87 +19,71 @@ drumgrace = #(define-music-function (parser location notes ) ( ly:music? ) #{
\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
flamddr = \drummode { \drumgrace { g8\dr } } % Flam right with start repeat
flamgdr = \drummode { \drumgrace { d8\dr } } % 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
dragddr = \drummode { \drumgrace { g16[\dr g] } } % Drag right with start repeat
draggdr = \drummode { \drumgrace { d16[\dr d] } } % Drag left with start repeat
% Open Drags
odragd = \drummode { \drumgrace { g16[ s^"o" g] } } % Open Drag right
odragg = \drummode { \drumgrace { d16[ s^"o" d] } } % Open Drag left
odragddr = \drummode { \drumgrace { g16[\startGroup s^"o" g] } } % Open Drag right with start repeat
odraggdr = \drummode { \drumgrace { d16[\startGroup s^"o" d] } } % Open Drag left with start repeat
odragd = \drummode { \drumgrace { g16[ <>^"o" g] } } % Open Drag right
odragg = \drummode { \drumgrace { d16[ <>^"o" d] } } % Open Drag left
odragddr = \drummode { \drumgrace { g16[\dr <>^"o" g] } } % Open Drag right with start repeat
odraggdr = \drummode { \drumgrace { d16[\dr <>^"o" d] } } % Open 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
ruffgdr = \drummode { \drumgrace { g16[\dr d g] } } % Ruff right with start repeat
ruffddr = \drummode { \drumgrace { d16[\dr 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
sruffgdr = \drummode { \drumgrace { g16[\dr d d] } } % Swiss Ruff right with start repeat
sruffddr = \drummode { \drumgrace { d16[\dr g g] } } % Swiss Ruff left with start repeat
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Embellishment functions, automatic left or right %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
autohand = #(define-music-function (parser location note left right) (ly:music? ly:music? ly:music?) #{
#(newline)
#(display "Fix autohand function for arbitrary depth")
#(define (autohandFunc left right)
(define-music-function (parser location note) (ly:music? )
#{
#(newline)
#(display "Fix autohand function for arbitrary depth")
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
#{ $left #}
#{ $right #})
% print the note, else it won't show up
$note
#})
#(if (string=? (symbol->string (ly:music-property note 'drum-type)) "left-hand")
#{ $left #}
#{ $right #})
% print the note, else it won't show up
$note
#}
)
)
% Flam
flam = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note { \flamg } { \flamd }
#})
flamdr = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note { \flamgdr } { \flamddr }
#})
flam = #(autohandFunc flamg flamd)
flamdr = #(autohandFunc flamgdr flamddr )
% Drag
drag = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \dragg \dragd
#})
dragdr = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \draggdr \dragddr
#})
drag = #(autohandFunc dragg dragd )
dragdr = #(autohandFunc draggdr dragddr )
% Open Drag
odrag = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \odragg \odragd
#})
odragdr = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \odraggdr \odragddr
#})
odrag = #(autohandFunc odragg odragd )
odragdr = #(autohandFunc odraggdr odragddr )
% Ruff
ruff = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \ruffg \ruffd
#})
ruffdr = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \ruffgdr \ruffddr
#})
ruff = #(autohandFunc ruffg ruffd )
ruffdr = #(autohandFunc ruffgdr ruffddr )
% Swiss Ruff
sruff = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \sruffg \sruffd
#})
sruffdr = #(define-music-function (parser location note) (ly:music?) #{
\autohand $note \sruffgdr \sruffddr
#})
sruff = #(autohandFunc sruffg sruffd )
sruffdr = #(autohandFunc sruffgdr sruffddr )

View file

@ -1,62 +0,0 @@
%!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

@ -1,107 +0,0 @@
%!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

@ -1,50 +0,0 @@
%!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

View file

@ -2,27 +2,322 @@
% Tenor Flourishing %
% ================================================= %
% Part of lilydrum
splitTheFeather = \markup{ \musicglyph #"noteheads.s2xcircle"}
cartWheel = \markup { \musicglyph #"timesig.neomensural94" }
up = \markup {
%\center-column {
%---------------------------------------------------%
% Single note flourish definitions
%---------------------------------------------------%
splitTheFeather = ^\markup \center-column { \musicglyph #"noteheads.s2xcircle"}
cartWheel = ^\markup \center-column { \musicglyph #"timesig.neomensural94" }
up = ^\markup \center-column {% Arrow-head and line do not line up nicely most of the time
\fontsize #5
\override #'(thickness . 2)
%\center-column {
\combine
\draw-line #'(0 . -2) % draw stick
% \musicglyph #"arrowheads.open.11"
\arrow-head #Y #UP ##f
\draw-line #'(0 . -3) % draw stick
%}
}
bfly = \markup {
\epsfile #X #2 #"../lilydrum/flourish_symbols/butterfly.eps"
blfy = ^\markup \center-column { &infty; }
rblfy = ^\markup \center-column {
\line{
\combine
\arrow-head #X #LEFT ##f
\draw-line #'(3 . 0 )
}
\line { &infy; }
}
stop = \markup {
\epsfile #X #2 #"../lilydrum/flourish_symbols/stop.eps"
rthrow = ^\markup \center-column {
\postscript #"
/width 2 def
/radius .4 def
/filled 1 def
/height .6 def
/fwidth width radius add def
/dotstick {
0 0 moveto
0 0 closedpoint
0 0 moveto
fwidth neg 0 lineto
fwidth neg height neg moveto
fwidth neg height lineto
stroke } def
newpath
fwidth height translate
0 0 dotstick
stroke
"
}
scoop = \markup {
\path #.2 #'( (moveto 0 0 )
(lineto 3 1 )
(lineto 6 0 )
(lineto 7 1 )
)
lthrow = ^\markup \center-column {
\postscript #"
/width 2 def
/radius .4 def
/filled 1 def
/height .6 def
/fwidth width radius add def
/dotstick {
radius 0 closedpoint
radius 0 moveto
fwidth 0 lineto
fwidth height neg moveto
fwidth height lineto
stroke } def
newpath
0 height translate
0 0 dotstick
stroke
" }
bthrow = ^\markup \center-column {
\postscript #"
/width 2 def
/radius .4 def
/filled 1 def
/height .6 def
/fwidth width radius add def
/closedpoint {
radius 0 360 arc
gsave filled neg
setgray fill
grestore
stroke } def
/dotstick {
fwidth 0 closedpoint
fwidth 0 moveto
0 0 lineto
0 height neg moveto
0 height lineto
stroke } def
newpath
fwidth height translate
0 0 dotstick
180 rotate
fwidth 0 dotstick
stroke
"
}
rpush = ^\markup \center-column {
\postscript #"
/width 2 def
/radius .4 def
/filled 1 def
/height .6 def
/fwidth width radius add def
/closedpoint {
radius 0 360 arc
gsave filled neg
setgray fill
grestore
stroke } def
/dotstick {
0 0 moveto
0 0 closedpoint
0 0 moveto
fwidth neg 0 lineto
fwidth radius add 2 div neg 0 moveto
fwidth radius add 2 div neg radius neg
radius 90 450 arc
gsave filled
setgray fill
grestore
fwidth neg height neg moveto
fwidth neg height lineto
stroke } def
newpath
fwidth height translate
0 0 dotstick
stroke
"
}
lpush = ^\markup \center-column {
\postscript #"
/width 2 def
/radius .4 def
/filled 1 def
/height .6 def
/fwidth width radius add def
/closedpoint {
radius 0 360 arc
gsave filled neg
setgray fill
grestore
stroke } def
/dotstick {
radius 0 closedpoint
radius 0 moveto
fwidth 0 lineto
fwidth radius add 2 div 0 moveto
fwidth radius add 2 div radius neg
radius 90 450 arc
gsave filled
setgray fill
grestore
fwidth height neg moveto
fwidth height lineto
stroke } def
newpath
0 height translate
0 0 dotstick
stroke
" }
bpush = ^\markup \center-column {
\postscript #"
/width 2 def
/radius .4 def
/filled 1 def
/height .6 def
/fwidth width radius add def
/closedpoint {
radius 0 360 arc
gsave filled neg
setgray fill
grestore
stroke } def
/dotstick {
fwidth 0 closedpoint
fwidth 0 moveto
0 0 lineto
fwidth sub 2 div 0 moveto
fwidth radius sub 2 div radius neg
radius 90 450 arc
gsave filled
setgray fill
grestore
0 height neg moveto
0 height lineto
stroke } def
newpath
fwidth height translate
0 0 dotstick
-1 1 scale
fwidth 0 dotstick
stroke
"
}
andrewStop = ^\markup \center-column {
\postscript #"
/width .4 def
/radius width def
/filled 1 def
/height 2 def
/fheight height radius add def
/closedpoint {
radius 0 360 arc
gsave filled neg
setgray fill
grestore
stroke } def
/dotstick {
0 fheight closedpoint
0 fheight moveto
0 0 lineto
width neg 0 lineto
width 0 lineto
stroke } def
newpath
0 0 translate
-45 rotate
newpath
0 0 dotstick
stroke
45 rotate
fheight .5 sqrt mul 0 translate
45 rotate
0 0 dotstick
stroke
"
}
quiggs = ^\markup \center-column {
%\with-dimensions #'(-0.2 . 2.0) #'(0 . 2.0)
\postscript #"
/width 1 def
/radius .4 def
/filled 1 def
/height 2 def
/fheight height radius add def
/closedpoint {
radius 0 360 arc
gsave filled neg
setgray fill
grestore
stroke } def
/dotstick {
0 height closedpoint
0 height moveto
0 0 lineto
stroke } def
/invdotstick {
0 radius closedpoint
0 radius moveto
0 fheight lineto
stroke } def
newpath
0 0 dotstick
stroke
width 0 translate
newpath
0 0 invdotstick
stroke
"
}
stop = ^\markup \center-column {
%\with-dimensions #'(-0.2 . 2.0) #'(0 . 2.0)
\postscript #"
/height 2 def
/width .4 def
/radius width def
/filled 0 def
/fheight height radius add def
width 0 translate
newpath
0 fheight radius 0 360 arc gsave filled neg setgray fill grestore stroke
0 fheight moveto 0 0 lineto
width neg 0 moveto width 0 lineto
stroke
"
}
%---------------------------------------------------%
% Multiple note flourish definitions
%---------------------------------------------------%
flourish = #(define-music-function (parser location notes) (ly:music?)
#{
\temporary \override Staff.NoteHead.style = #'cross
$notes
\revert Staff.NoteHead.style
#})
scoop = ^\markup {
\path #.2 #'( (moveto 0 0 )
(lineto 3 1 )
(lineto 6 0 )
)
}
scoopo = #(define-music-function (parser location beg notes) (ly:music? ly:music?)
#{
@ -32,24 +327,21 @@ scoopo = #(define-music-function (parser location beg notes) (ly:music? ly:music
$notes
\stopGroup
#})
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 = #(define-music-function (parser location note) (ly:music?)
%---------------------------------------------------%
% music function definitions
%---------------------------------------------------%
#(define (buildFlourishFunc flourish)
(define-music-function (parser location note) (ly:music? )
#{
$note ^\splitTheFeather
%\once \set TextScriptEvent.text = \splitTheFeather
<>-$flourish $note
#}
)
)
cart = #(buildFlourishFunc cartWheel)
stf = #(buildFlourishFunc splitTheFeather)
% cart = \cartWheel
% fl = \flourish

View file

@ -79,6 +79,20 @@ drumPitchNames =
strictBeatBeaming = ##t
\numericTimeSignature
%Because it's funny
\override Clef.stencil = #
(lambda (grob)(grob-interpret-markup grob
#{ \markup\combine
\musicglyph #"clefs.percussion"
\translate #'(2 . 0)
\override #'(baseline-skip . 1)
\column {
"R"
"L"
}
#}
))
}
\context {
\Score

View file

@ -16,6 +16,18 @@ eighthCompoundBeaming = {
\set beatStructure = #'( 3 )
}
sixteenthBeaming = {
\set baseMoment = #(ly:make-moment 1/16)
\set beatStructure = #'( 4 )
}
sixteenthReelBeaming = {
\set baseMoment = #(ly:make-moment 1/16)
\set beatStructure = #'( 8 )
}
sixteenthCompoundBeaming = {
\set baseMoment = #(ly:make-moment 1/16)
\set beatStructure = #'( 6 )
}
% triplet
triplet = #(define-music-function (parser location notes) (ly:music?) #{ \tuplet 3/2 { $notes } #})

View file

@ -0,0 +1,32 @@
% ================================================= %
% Rehearsal Marks %
% ================================================= %
#(newline)
#(display "Midi Support loaded")
% From Svenax's bagpipemusic
markText = #(define-music-function (parser location text) (string?) #{
\once \override Score.RehearsalMark #'self-alignment-X = #LEFT
\mark \markup $text
#})
markTextEol = #(define-music-function (parser location text) (string?) #{
\once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
\mark \markup $text
#})
markTextEolDown = #(define-music-function (parser location text) (string?) #{
\once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
\once \override Score.RehearsalMark #'direction = #DOWN
\mark \markup $text
#})
altBracket = #(define-music-function (parser location tag) (string?) #{
\set Score.repeatCommands = #(list (list 'volta (markup #:text tag)))
#}
)
% Short al fine's and stuff
dacapoalfine = {\markTextEol "D.C. al fine" }