mirror of
https://github.com/kastdeur/pipeband-music.git
synced 2024-12-22 16:23: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.
|
LilyPond file definitions for Pipeband drumming scores.
|
||||||
Primarily focused on Snare drumming,
|
Primarily focused on Snare drumming,
|
||||||
occasional bass or tenor scores should be possible.
|
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.
|
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 by using :
|
||||||
\include "[path]/lilydrum.ly"
|
\include "[pathtothisfile]" e.g. "~/lilydrum.ly"
|
||||||
|
|
||||||
Music has to be put into :
|
Music has to be put into :
|
||||||
\new DrumStaff {
|
\new DrumStaff {
|
||||||
|
@ -18,318 +18,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
%}
|
%}
|
||||||
#(ly:set-option 'point-and-click #f)
|
|
||||||
|
|
||||||
% Note name defs :
|
% Note name defs :
|
||||||
% "d" for the right hand ("droite") and
|
% "d" for the right hand ("droite") and
|
||||||
% "g" for the left hand ("gauche")
|
% "g" for the left hand ("gauche")
|
||||||
|
%-----------------------------------------
|
||||||
|
|
||||||
drumPitchNames =
|
#(ly:set-option 'point-and-click #f)
|
||||||
#(append '(
|
#(ly:set-option 'relative-includes #t)
|
||||||
(d . right-hand)
|
|
||||||
(g . left-hand)
|
|
||||||
(right . right-hand)
|
|
||||||
(left . left-hand)
|
|
||||||
|
|
||||||
(dback . right-backstick)
|
\include "lilydrum/layout_tweaks.ily"
|
||||||
(gback . left-backstick)
|
\include "lilydrum/musical_functions.ily"
|
||||||
(rightback . right-backstick)
|
\include "lilydrum/embellishments.ily"
|
||||||
(leftback . left-backstick)
|
\include "lilydrum/flourishing.ily"
|
||||||
|
\include "lilydrum/special_sticking.ily"
|
||||||
(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
|
|
||||||
#})
|
|
||||||
|
|
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')
|
help='show Lilypond version and exit')
|
||||||
|
|
||||||
parser.add_argument('-x', '--drumfile',
|
parser.add_argument('-x', '--drumfile',
|
||||||
dest='lilydrum', default='lilydrum.ly',
|
dest='lilydrum', default='lilydrum/lilydrum.ly',
|
||||||
help='Use the specified file for drums')
|
help='Use the specified file for drums')
|
||||||
parser.add_argument('-c', '--pipefile',
|
parser.add_argument('-c', '--pipefile',
|
||||||
dest='lilypipe', default='bagpipe.ly',
|
dest='lilypipe', default='bagpipe.ly',
|
||||||
|
@ -69,7 +69,6 @@ class MakeDrum:
|
||||||
|
|
||||||
self.args = parser.parse_args()
|
self.args = parser.parse_args()
|
||||||
|
|
||||||
print(self.RUN_DIR)
|
|
||||||
if self.args.show_version:
|
if self.args.show_version:
|
||||||
print(__name__, ' ', self.VERSION)
|
print(__name__, ' ', self.VERSION)
|
||||||
return
|
return
|
||||||
|
@ -113,7 +112,7 @@ class MakeDrum:
|
||||||
|
|
||||||
def processit(self, tmp_dir, file):
|
def processit(self, tmp_dir, file):
|
||||||
if self.args.log:
|
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'
|
log = ' > '+logfile+' 2>&1'
|
||||||
else:
|
else:
|
||||||
log = ''
|
log = ''
|
||||||
|
@ -130,7 +129,7 @@ class MakeDrum:
|
||||||
if not self.args.log:
|
if not self.args.log:
|
||||||
print()
|
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
|
lilycmd = self.LILYPOND+' --pdf --output='+lilyout+' '+tmp_file+log
|
||||||
|
|
||||||
if os.system(lilycmd) != 0:
|
if os.system(lilycmd) != 0:
|
||||||
|
@ -186,19 +185,9 @@ class MakeDrum:
|
||||||
#(set-global-staff-size """+self.args.staffsize+""")
|
#(set-global-staff-size """+self.args.staffsize+""")
|
||||||
#(set-default-paper-size \""""+self.args.papersize+"""\" '"""+self.args.orientation+""")
|
#(set-default-paper-size \""""+self.args.papersize+"""\" '"""+self.args.orientation+""")
|
||||||
|
|
||||||
\\include "../"""+header_format+""".ily"
|
|
||||||
"""+ lily_includes +"""
|
"""+ lily_includes +"""
|
||||||
% Local tweaks
|
|
||||||
\\paper {
|
\\include \""""+header_format+""".ily"
|
||||||
ragged-bottom = ##t
|
|
||||||
}
|
|
||||||
\layout {
|
|
||||||
\context {
|
|
||||||
\Score
|
|
||||||
% We only permit explicit line breaks
|
|
||||||
\override NonMusicalPaperColumn #'line-break-permission = ##f
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
% The tune to generate.
|
% The tune to generate.
|
||||||
""")
|
""")
|
||||||
|
@ -209,7 +198,7 @@ class MakeDrum:
|
||||||
music = music.split(u'\n')
|
music = music.split(u'\n')
|
||||||
printit = 1
|
printit = 1
|
||||||
for line in music:
|
for line in music:
|
||||||
if line.strip().startswith(u'\\include "lilydrum.ly"'): continue
|
if line.startswith(u'\\include "lilydrum.ly"'): continue
|
||||||
if printit:
|
if printit:
|
||||||
out_file.write(line.replace('\r', '')+'\n')
|
out_file.write(line.replace('\r', '')+'\n')
|
||||||
out_file.close()
|
out_file.close()
|
||||||
|
|
|
@ -1,41 +1,122 @@
|
||||||
\version "2.18.2"
|
\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 {
|
\score {
|
||||||
\new DrumStaff = "staff_snare" {
|
\new DrumStaff = "staff_snare" {
|
||||||
\set DrumStaff.drumStyleTable = #(alist->hash-table pipeband-style)
|
|
||||||
|
|
||||||
\drummode {
|
\drummode {
|
||||||
|
\compressMMRests {
|
||||||
|
\tempo 2. = 32
|
||||||
\time 3/4
|
\time 3/4
|
||||||
R1*4
|
\override MultiMeasureRest.expand-limit = #3
|
||||||
|
R2.*4
|
||||||
|
}
|
||||||
|
\compressMMRests {
|
||||||
\bar "||"
|
\bar "||"
|
||||||
s16^ \markup "A"
|
\mark \default
|
||||||
R1*35
|
R2.*35
|
||||||
|
}
|
||||||
\bar "||"
|
\bar "||"
|
||||||
|
\tempo 4 = 108
|
||||||
|
\mark \default
|
||||||
\time 4/4
|
\time 4/4
|
||||||
|
sn4 \f \tuplet 3/2 {r8 sn8 sn8 } r4 sn4 |
|
||||||
s16^ \markup "B"
|
|
||||||
sn4 \tuplet 3/2 {r8 sn8 sn8 } r4 |
|
|
||||||
\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 } sn4 r4 |
|
||||||
\grace { sn16 sn16 sn16 sn16} \tuplet 3/2 { sn4 sn8 } \tuplet 3/2 { r8 sn8 sn8 } \tuplet 3/2 { sn4 sn8 } 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
|
\time 2/4
|
||||||
|
|
||||||
sn2:16(
|
sn2:16(
|
||||||
|
|
||||||
|
|
|
||||||
\time 4/4
|
\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}
|
\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 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 {
|
\score {
|
||||||
\drummode {
|
\new DrumStaff = "staff_bass"{
|
||||||
\numericTimeSignature
|
\set DrumStaff.drumStyleTable = #(alist->hash-table pipeband-style)
|
||||||
|
\set Staff.instrumentName = #"Bass"
|
||||||
|
\set Staff.shortInstrumentName = #"B.D."
|
||||||
|
|
||||||
\time 4/4
|
\time 4/4
|
||||||
|
\numericTimeSignature
|
||||||
|
|
||||||
% Part 1
|
\drummode {
|
||||||
\repeat volta 2 {
|
\repeat volta 2 {
|
||||||
d4-> g4-> d4 g4 |
|
d4-> g4-> d4 g4 |
|
||||||
d4 g4 d4 g4 |
|
d4 g4 d4 g4 |
|
||||||
d4-> g4 d4 g4 |
|
d4-> g4 d4 g4 |
|
||||||
d4-> g4 d8.-> g16 d4 |
|
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 |
|
|
||||||
|
|
||||||
|
\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"
|
title = "Molly Connell"
|
||||||
composer = "W.H. de Boone / E.T. de Boone, 2014"
|
composer = "W.H. de Boone / E.T. de Boone, 2014"
|
||||||
instrument = "Bass Drum"
|
instrument = "Bass Drum"
|
||||||
meter = "STRATHSPEY"
|
meter = "STRATHSPEY"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue