Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added lilydrum definitions from github.com/kastdeur/lilydrum #158

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions notation-snippets/pipeband-drumming/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.pdf
/pdf
/tmp
Binary file not shown.
48 changes: 48 additions & 0 deletions notation-snippets/pipeband-drumming/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
From https://github.com/kastdeur/lilydrum

To make a pipeband drum staff use
"\new PipeBandDrumStaff "

It accepts everything a drumstaff accepts.

Music is defined in \drummode.
You can use every regular drum character, as "d" and "g" are appended to the list.


Embellishments (Side)
-------------
Flams and Drags can be added using "\flam" and "\drag". They can determine whether to be left or right by themselves for simple expressions.
If a certain hand is needed they can be inserted directly by appending "d" or "g" to "flam","drag",..
A "\flam d" is equal to "\flamd d"

There are currently 4 shortcuts:
\flam - A Flam
\drag - A Drag
\ruff - A Ruff
\sruff - A Swiss Ruff

appending dr to the above shortcuts triggers the unison bracket.

Flourishing (Tenor)
-------------
A few flourishes have been added, most are from the EUSPBA:
\splitTheFeather
\cartWheel
\up
\blfy - butterfly
\rblfy - reverse butterfly
\rthrow - throw right
\lthrow - throw left
\bthrow - throw both
\rpush - push right
\lpush - push left
\bpush - push both
\andrewStop - St. Andrew's Stop
\stop

Scoops have not been created yet





31 changes: 31 additions & 0 deletions notation-snippets/pipeband-drumming/definitions.ily
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
\version "2.16.2"
\header {
snippet-title = "Pipeband Drumming Staff"
snippet-author = "Eric Teunis de Boone"
snippet-author-email = "[email protected]"
snippet-source = ""
snippet-description = \markup {
Add (left,right) hand definitions to the drumPitchTable.
This code provides a new "PipebandDrumStaff".

As music, it provides shortcuts for flourishes, embellishments(such as flams/drags/..) and special sticking.
There was an effort made for midi output
}
tags = "pipeband, drumming, lilydrum"
status = "ready"
}

% Note name defs :
% "d" for the right hand ("droite") and
% "g" for the left hand ("gauche")
%-----------------------------------------

#(ly:set-option 'point-and-click #f)
#(ly:set-option 'relative-includes #t)

\include "./includes/layout_tweaks.ily" % Code for the Staff
\include "./includes/musical_functions.ily" %
\include "./includes/embellishments.ily"
\include "./includes/flourishing.ily"
\include "./includes/special_sticking.ily"
\include "./includes/midi.ily"
209 changes: 209 additions & 0 deletions notation-snippets/pipeband-drumming/example.ly
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
\version "2.19.45"

\include "./definitions.ly"


\paper {
indent = 0\mm
ragged-bottom = ##t
}
\layout {
indent = 30\mm
\context {
\Score
\override NonMusicalPaperColumn #'line-break-permission = ##f
}
}

\header {
title = "Cheat sheet for entering pipeband drumming music"
subtitle = "Intended for Lilypond 2.18 or better"
tagline = \markup { "ET de Boone, Seaforths of Holland" }
}
\score {
\new PipeBandDrumStaff {
\time 2/4
\drummode {
d4 g
<<d g>> r
\crossstick d \crossstick g
\rimshot d \rimshot g
\backstick d \backstick g
}
}
\addlyrics {
"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 {
\tempo 2/4
\drummode {
d^\splitTheFeather g^\cartWheel
d^\up r4
d8 g d4
\cart d4 \stf d4
\flourish { d4 g d g }
}
}
\addlyrics {
"\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 {
\time 2/4
\drummode {
\flam d \flam g
\drag d \drag g
\odrag d \odrag g
\ruff d \ruff g
\sruff d \sruff g
}
}
\addlyrics {
"\flam d" "\flam g"
"\drag d" "\drag g"
"\odrag d" "\odrag g"
"\ruff d" "\ruff g"
"\sruff d" "\sruff g"
}
\header {
title = \markup \line{ Embellishments }
subtitle = ""
}
}
\score {
\new PipeBandDrumStaff {
\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 {
\time 4/4
\eighthBeaming
\drummode {
d4:32( d8:32)(-> g8) \flam d4 r8 d8:32( \dr |
\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-> }"
}
\header {
title = "Rolls"
subtitle = ""
}
}



\pageBreak
\score {
\new PipeBandDrumStaff {
\drummode {
\time 6/8
\repeat volta 2 {
\partial 8 d8:32(_"7" |
g8.[) g16 \dragd d8] d8.[ d16 \dragg g8] |
g8.[ \dragd d16 d8] d8.[ d16 \dragg g8] |
\flamddr d8. d16 g8 d4.:32(_"13" |
d8.) g16 d8 \flamg g4 d8:32(_"7" \fr |
\break
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 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
% rolls
% tuplets
% tutti
% accents ( > v ^)
%

89 changes: 89 additions & 0 deletions notation-snippets/pipeband-drumming/includes/embellishments.ily
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
% ================================================= %
% Flams, Drags & the sort %
% ================================================= %
drumgrace = #(define-music-function (parser location notes ) ( ly:music? ) #{
% Set settings
\stemUp
\once \override Beam.positions = #'(2 . 2)
\once \override DrumStaff.Stem.length = #5
\override Flag.stroke-style = #"grace"
\override Score.GraceSpacing #'spacing-increment = #0
\override Score.Stem #'beamlet-max-length-proportion = #'(0.5 . 0.5)

% Print notes
\small \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\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[\dr g] } } % Drag right with start repeat
draggdr = \drummode { \drumgrace { d16[\dr d] } } % Drag left with start repeat

% Open Drags
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[\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[\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 %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

% Flam
flam = #(autohandFunc flamg flamd)
flamdr = #(autohandFunc flamgdr flamddr )

% Drag
drag = #(autohandFunc dragg dragd )
dragdr = #(autohandFunc draggdr dragddr )
% Open Drag
odrag = #(autohandFunc odragg odragd )
odragdr = #(autohandFunc odraggdr odragddr )

% Ruff
ruff = #(autohandFunc ruffg ruffd )
ruffdr = #(autohandFunc ruffgdr ruffddr )

% Swiss Ruff
sruff = #(autohandFunc sruffg sruffd )
sruffdr = #(autohandFunc sruffgdr sruffddr )
Loading