Merge branch 'master' of deboone.nl:/home/ericteunis/public/git/pipeband-drumming

This commit is contained in:
Eric Teunis de Boone 2016-02-19 15:02:29 +01:00
commit 0df804dbe1
21 changed files with 769 additions and 55 deletions

2
build
View File

@ -1,7 +1,7 @@
#!/bin/bash
MKDRUMCOMMAND="./lily_files/makedrum"
MKDRUMOPTIONS="--no-log -i ./lily_files/defs.ly -i ./lily_files/header_default.ily --drumfile ./lily_files/lilydrum/lilydrum.ly --pipefile ./lily_files/bagpipe_new.ly"
MKDRUMOPTIONS="--no-log -i ./lily_files/defs.ly -i ./lily_files/header_default.ily --drumfile ./lily_files/lilydrum/lilydrum.ly --pipefile ./lily_files/bagpipe_new.ly -s 18"
MUSIC_DIR="./music/"
OUT_DIR="./pdf/"
MKDRUMOPTIONS="$MKDRUMOPTIONS -d $OUT_DIR"

View File

@ -10,7 +10,7 @@ today = #(strftime "%B %e, %Y" (localtime (current-time)))
raggedbottom = ##t
tagline = \markup {
\line {
"Cpl ET de Boone, Seaforths of Holland,"
"ET de Boone, Seaforths of Holland,"
\concat { "(rev. " \today ")" }
}
}

View File

@ -9,7 +9,7 @@ today = #(strftime "%B %e, %Y" (localtime (current-time)))
\paper {
tagline = \markup {
\line {
"Cpl ET de Boone, Seaforths of Holland,"
"ET de Boone, Seaforths of Holland,"
\concat { "(rev. " \today ")" }
}
}

245
lilydrum/makedrum Normal file
View File

@ -0,0 +1,245 @@
#!/usr/bin/python3.4
## Generate pdf form lilypond file
## by using standard command
##
## Most of programming was done by Sven Axelsson, http://svenax.net/
import codecs, os
from argparse import ArgumentParser
class MakeDrum:
LILYPOND = 'lilypond'
VERSION = '0.9.5'
TMP_DIR = './tmp'
TMP_PREFIX = 'tmp_'
MASTER_DIR = os.path.dirname(os.path.abspath(__file__))
RUN_DIR = os.path.abspath(os.curdir)
def __init__(self):
# Gather options and create the template file
usage = __file__
parser = ArgumentParser(usage)
parser.add_argument('--version',
action='store_true', dest='show_version', default=False,
help='show makeDrum version and exit')
parser.add_argument('--lilyversion',
action='store_true', dest='show_lilyversion', default=False,
help='show Lilypond version and exit')
parser.add_argument('-x', '--drumfile',
dest='lilydrum', default='lilydrum.ly',
help='Use the specified file for drums')
parser.add_argument('-c', '--pipefile',
dest='lilypipe', default='bagpipe.ly',
help='Use the specified file for pipes')
parser.add_argument('-i', '--include',
dest='includes', nargs='*', default=[],action='append',
help='Include the specified file for compiling')
parser.add_argument('-p', '--paper-size',
dest='papersize', default='a4',
help='Paper size. Default: A4')
parser.add_argument('-o', '--orientation',
dest='orientation', default='landscape',
help='Paper orientation. Default: landscape')
parser.add_argument('-s', '--staff-size',
dest='staffsize', default='20',
help='Staff size. Default: 16pt.')
parser.add_argument('-w', '--view-spacing',
action='store_true', dest='view_spacing', default=False,
help='Turn on "Paper.annotatespacing".')
parser.add_argument('-g','--generated',
dest='gen_out', default=self.TMP_DIR,
help='Put generated lilyfiles in $gen_out')
parser.add_argument('--no-compile', default=True,
action='store_false', dest='compile',
help='Do not compile generated Lilypond files')
parser.add_argument('--no-log',
action='store_false', dest='log', default=True,
help='Do not generate log files.')
parser.add_argument('--no-cleanup',
action='store_false', dest='clean', default=True,
help='Leave all temporary files in place')
parser.add_argument('-d', '--out_dir',
dest='out_dir', default='pdf',
help='Output dir, for lilypond. If it doesn\'t exist, try to create it')
parser.add_argument('music_file',
default='', nargs='*',
help='file to process')
parser.add_argument('-@', '--list_file',
dest='list_file', default='',
help='list of files to process')
self.args = parser.parse_args()
if self.args.show_version:
print(__name__, ' ', self.VERSION)
return
if self.args.show_lilyversion:
print(os.system(self.LILYPOND+' --version'))
return
if self.args.view_spacing:
self.args.view_spacing = "##t"
else:
self.args.view_spacing = "##f"
# Input files
if self.args.list_file != '':
self.args.music_file.append(open(self.args.list_file, 'r').readlines())
close(self.args.list_file)
# Check for files
if not self.args.music_file:
parser.print_usage()
return
# Check for files to include
self.args.includes = [el for elements in self.args.includes for el in elements]
# Clean up of files
self.remove_tmp_dir = self.args.clean
if not os.path.exists(os.path.join(os.path.curdir, self.TMP_DIR)):
try: os.makedirs(os.path.join(os.path.curdir, self.TMP_DIR))
except:
print('Seems like no temporary directory can be created')
return
if not os.path.exists(os.path.join(os.path.curdir, self.args.out_dir)):
try: os.makedirs(os.path.join(os.path.curdir, self.args.out_dir))
except:
print('Seems like no output directory can be created')
return
os.chdir(self.MASTER_DIR)
for file_path in self.args.music_file:
self.processit(self.TMP_DIR, os.path.join(self.RUN_DIR, file_path), self.args.gen_out, self.args.compile)
#if not
#os.rmdir(self.TMP_DIR)
os.chdir(self.RUN_DIR)
def processit(self, tmp_dir, file, gen_out, compile):
tmp_file = self.maketemplate(tmp_dir, file)
if gen_out is not None and gen_out != tmp_dir:
new_tmp_file = os.path.basename(tmp_file).replace(self.TMP_PREFIX, '');
print ('Moving ', tmp_file, ' to ', new_tmp_file, end=' ', flush=True)
gen_dir = os.path.join(self.RUN_DIR, gen_out);
# if not dir $gen_out, make it
if not os.path.exists(gen_dir):
try: os.makedirs(gen_dir)
except:
print('[Error]')
print(' ! Seems like the {} directory cannot be created'.format(gen_dir))
return
# mv file to dir, remove self.TMP_PREFIX
os.rename(tmp_file, os.path.join(gen_dir, new_tmp_file))
tmp_file = new_tmp_file
print('[OK]')
if compile:
if self.args.log:
logfile = os.path.join(self.TMP_DIR, os.path.relpath(file).replace(".ly", '').replace('/', '-')+'.log')
log = ' > '+logfile+' 2>&1'
else:
log = ''
print ('Compiling ', file, end=' ', flush=True)
if not self.args.log:
print()
lilyout = os.path.join(self.RUN_DIR, self.args.out_dir, os.path.basename(tmp_file).replace(self.TMP_PREFIX, '').replace(".ly", ''))
print (lilyout)
lilycmd = self.LILYPOND+' --pdf --output='+lilyout+' '+tmp_file+log
if os.system(lilycmd) != 0:
self.remove_tmp_dir = False
print ('[Error]')
if self.args.log:
print (' ! Did not compile, please see the log at ', logfile)
else :
print ('[OK]')
if self.args.clean:
#remove files
if self.args.log:
os.remove(logfile)
os.remove(tmp_file)
def maketemplate(self, tmp_dir, file):
lily_includes = ''
include_drum_file = False
include_pipe_file = False
# find out whether drum, pipes, or full score
for ext in ['full', 'side', 'tenor', 'bass', 'drum', 'snare']:
if ext in file:
include_drum_file = True
break
for ext in ['full', 'pipes']:
if ext in file:
include_pipe_file = True
break
if include_drum_file:
self.args.includes.insert(0,self.args.lilydrum)
if include_pipe_file:
self.args.includes.insert(0, self.args.lilypipe)
for f in self.args.includes:
lily_includes = lily_includes + "\n\\include \"{}\"".format(f)
# set up a tmp file with template and file combined
tmp_file = os.path.join(tmp_dir, self.TMP_PREFIX + os.path.relpath(file).replace('/', '-'))
out_file = codecs.open(tmp_file, 'w+', 'utf8')
out_file.write(u'\ufeff')
out_file.write(u"""
% Generated from """+file+""" by """+__file__+""" version """+self.VERSION+"""
\\version "2.18.0"
#(ly:set-option 'point-and-click #f)
"""+ lily_includes +"""
#(set-global-staff-size """+self.args.staffsize+""")
#(set-default-paper-size \""""+self.args.papersize+"""\" '"""+self.args.orientation+""")
%\layout {
% \context {
% \Score {
% \override NonMusicalPaperColumn #'line-break-permission = ##f
% }
% }
%}
% The tune to generate.
""")
# Read lily file into tmp file
music = codecs.open(file, 'r', 'utf8').read()
if music.startswith(u'\ufeff'): music = music[1:]
music = music.split(u'\n')
printit = 1
for line in music:
if line.startswith(u'\\include "lilydrum.ly"'): continue
if line.startswith(u'\\include'):
# Rewrite includes to absolute location of file
incline = line.replace('\\include', '').strip('"\' ')
if not incline.startswith('\\'): #already absolute
incline = os.path.join(os.path.abspath(os.path.dirname(file)), incline)
line = "\\include \""+incline+"\""
if printit:
out_file.write(line.replace('\r', '')+'\n')
out_file.close()
# Return tmp_file_path
return tmp_file
MakeDrum();

View File

@ -20,11 +20,11 @@ snareA = \drummode {
}
% Part 2
snareB = \drummode {
r16. g32 |
r16 g16 |
\flamd d8 d16. g32-> d16. d32 \flamg g8 |
\tuplet 3/2 { d16 g d-> } \tuplet 3/2 { g16 d g-> } d8:32( g8) |
\flamd d8. d16 \flamg g16 r16 g16 \flamd d16 |
\flamd d8. d16 \flamg g8 g16 \flamd d16 |
\flamd d16. g32 \tuplet 3/2 { d16 g d } \flamg g8. g16 |
\flamd d8 d16. g32-> d16. d32 \flamg g8 |
@ -80,4 +80,4 @@ snareDAC = \drummode {
\flamd d8 d8:32( g4)
\bar "|."
}
}

View File

@ -0,0 +1,33 @@
\version "2.18.2"
\include "config.ily"
\include "notes.bass.ily"
\score {
\new PipeBandDrumStaff {
\global
\bassglobal
<<
{\repeat volta 2 { \line \break \line}
\break
\line \break
\line \break
\line \bar "|."
}
{
\bassAA
\bassAB
\bassBA
\bassBB
\bassBB
}
>>
}
\header {
title = \title
meter = \meter
instrument = \instrumentBass
composer = \composerBass
}
}

View File

@ -1,19 +1,20 @@
\version "2.19.0"
\include "config.ily"
%\include "notes.bass.ily"
\include "notes.bass.ily"
\include "notes.tenor.ily"
\include "notes.side.v1.6.ily"
\include "notes.side.v1.8.ily"
\score {
\new StaffGroup <<
\new PipeBandDrumStaff = "side" {
\global
\sideglobal
\set PipeBandDrumStaff.instrumentName = \markup{\instrumentSide}
\set PipeBandDrumStaff.shortInstrumentName = \markup{\shortInstrumentSide}
<<
{ \repeat volta 2 { \part \line \break \line} \break
{ \repeat volta 2 { \part \line \break \line} \pageBreak
\part \line \break
\line \break
\line \bar "|."
@ -28,13 +29,17 @@
}
>>
}
%\new PipeBandDrumStaff = "bass" {
% \set PipeBandDrumStaff.instrumentName = \markup{ \instrumentBass }
% \set PipeBandDrumStaff.shortInstrumentName = \markup{ \shortInstrumentBass}
%
% \bassA
% s16 \bassBA \bassBB
%}
\new PipeBandDrumStaff = "bass" {
\set PipeBandDrumStaff.instrumentName = \markup{ \instrumentBass }
\set PipeBandDrumStaff.shortInstrumentName = \markup{ \shortInstrumentBass}
s8 \bassAA
\bassAB
s8 \bassBA
\bassBB
\bassBB
}
\new PipeBandDrumStaff = "tenor" {
\set PipeBandDrumStaff.instrumentName = \markup{ \instrumentTenor }
\set PipeBandDrumStaff.shortInstrumentName = \markup{ \shortInstrumentTenor }
@ -43,7 +48,6 @@
\tenorAB
s8
s8
\tenorBA
\tenorBB
\tenorBC
@ -65,4 +69,4 @@
}
}
}
}
}

View File

@ -0,0 +1,60 @@
% 4/4 The Pikeman's March
% Bass
\version "2.18.2"
composerBass = "E.T. de Boone, v0.1, 2016"
bassglobal = {}
bassAA = \drummode {
d4
g4
r8 d8
g4
|
d4
g4
d8[ g]
d4
|
d4
g4
d4
g4
|
d4
g4
d4
r4
}
bassAB = \drummode {
d4
g4
r8 d8
g4
|
d4
g4
d8[ g]
d4
|
d4
r4
d4
r8 g8
|
d4
r8 g8
d4
r4
}
bassBA = \drummode {
r1*4
}
bassBB = \drummode {
d8 g8
r4
d4
g4
|
r1*3
}

View File

@ -2,6 +2,9 @@
% Side
\version "2.18.2"
composerSide = "E.T. de Boone, 2014"
sideglobal = {
\eighthBeaming
}
%%music
snareAA = \drummode {
@ -36,4 +39,4 @@ snareBC = \drummode {
g16.) d32-> g16. g32 d16. g32-> d16. d32 \flamg g8 d8:32( g8) d16. g32 |
d8.:32(-> g16:64)(-> d8:32)(-> g8)-> d32 g d g d16.-> g32-> d32 g d g d8-> |
\flamd d4 d8:32( g8:32)(-> d4) r4
}
}

View File

@ -2,7 +2,9 @@
% Side
\version "2.18.2"
composerSide = "E.T. de Boone, v1.5, 2015"
sideglobal = {
\eighthBeaming
}
%%music
snareAA = \drummode {
g16. g32 |
@ -36,4 +38,4 @@ snareBC = \drummode {
g16.) d32-> g16. g32 d16. g32-> d16. d32 \flamg g8 d8:32( g8) d16. g32 |
d8.:32(-> g16:64)(-> d8:32)(-> g8)-> d32 g d g d16.-> g32-> d32 g d g d8-> |
\flamd d4 d8:32( g8:32)(-> d4) r4
}
}

View File

@ -2,7 +2,9 @@
% Side
\version "2.18.2"
composerSide = "E.T. de Boone, v1.6, 2015"
sideglobal = {
\eighthBeaming
}
%%music
snareAA = \drummode {
g16. g32 |
@ -36,4 +38,4 @@ snareBC = \drummode {
g16.) d32-> g16. g32 d16. g32-> d16. d32 \flamg g8 d8:32( g8) d16. g32 |
d8.:32(-> g16:64)(-> d8:32)(-> g8)-> d32 g d g d16.-> g32-> d32 g d g d8-> |
\flamd d4 d8:32( g8:32)(-> d4) r4
}
}

View File

@ -0,0 +1,47 @@
% 4/4 The Pikeman's March
% Side
\version "2.18.2"
composerSide = "E.T. de Boone, v1.7, 2016"
sideglobal = {
\eighthBeaming
}
%%music
snareAA = \drummode {
g16. g32 |
\flamd d4\v d32\< g d g d8->\! \flamd d8\> \flamg g8\! r8 d8:32( |
g16.) d32-> g16. g32 d16. g32-> d16. d32 \flamg g8 d8:32( g8..) g32 |
\flamd d4 \flamd d16 g-> d d \flamg g16 d-> g g \flamd d16 g-> d d |
\flamd d4 d8:32( g8:32)(-> d4) r8 \tuplet 3/2 { g16\< d g\! } |
}
snareAB = \drummode {
\flamd d4\v d32\< g d g d8->\! \flamd d8\> \flamg g8\! r8 d8:32( |
\tuplet 3/2 { g16) d g } \flamd d16. g32 \tuplet 3/2 { d16 g d } \flamg g16. g32 \flamd d16. g32 d32 g d g d8-> g16. g32 |
d8:32( g8:32)(-> d8:32)( g8:32)(-> d8)-> \tuplet 3/2 { g16 d g} \flam d8 g32 d d g |
\flam d8. g16 d8:32(-> g8:32)(-> d8.)-> d16:64( d8)
}
snareBA = \drummode {
d16. g32 |
\drag d8 d16. g32 \drag g16. d32:128( d16.) g32-> r16. \drag d32 g16. g32 d4:32( \< |
d16.)\! g32 \flam d16. g32 d16. g32-> d32 g d g \flam g8 d8:32( g16:64 g16) d8 |
d8:32( g8:32)(-> d8:32)( g8:32)(-> d8)-> d32 g d g d8-> d16. g32 |
\flamd d4 d8:32( g8:32)(-> d4) \flamd d16 \p g \flamg g d |
}
snareBB = \drummode {
\flamd d8\f \flamg g8 r8 d8:32( g16.) d32-> g16. g32 \flamd d8 d8:32( |
d16.)\! g32 \flam d16. g32 d16. g32-> d32 g d g \flam g8 d8:32( g16:64 g16) d16. g32 |
d8.:32(-> g16:64)(-> d8:32)(-> g8)-> \flamd d16.\> g32-> d16. d32\! \flamg g16.\> d32-> g16. g32\! |
\flamd d4 d4:32( d4) r8 d16. g32 |
}
snareBC = \drummode {
\flamd d8\f \flamg g8 r8 d8:32( g16.) d32-> g16. g32 \flamd d8 d8:32( |
d16.)\! g32 \flam d16. g32 d16. g32-> d32 g d g \flam g8 d8:32( g16:64 g16) d16. g32 |
d8.:32(-> g16:64)(-> d8:32)(-> g16.)-> g32-> d32 g d g d16.-> g32-> d32 g d g d8-> |
\flamd d4 d8:32( g8:32)(-> d4) r4
}

View File

@ -0,0 +1,116 @@
% 4/4 The Pikeman's March
% Side
\version "2.18.2"
composerSide = "E.T. de Boone, v1.8, 2016"
sideglobal = {
\eighthBeaming
}
%%music
snareAA = \drummode {
g16. \dr g32
|
\flamd d4\v \fr
d32\< g d g d8->\!
\flamddr d8\> \flamg g8\!
r8 d8:32(
|
g16.) d32-> g16. g32
d16. g32-> d16. d32
\flamg g8 d8:32(
g8..) \fr g32
|
\flamd d4
\flamd d16 g-> d d
\flamg g16 d-> g g
\flamd d16 g-> d d
|
\flamddr d4
d8:32( g8:32)(->
d4)
r8 \tuplet 3/2 { g16\< d g\! }
}
snareAB = \drummode {
\flamd d4\v \fr
d32\< g d g d8->\!
\flamddr d8\> \flamg g8\!
r8 d8:32(
|
\tuplet 3/2 { g16) d g } \flamd d16. g32
\tuplet 3/2 { d16 g d } \flamg g16. g32
\flamd d16.\fr g32 d32 g d g
d8-> g16. \dr g32
|
d8:32( g8:32)(->
d8:32)( g8:32)(->
d8)->\fr \tuplet 3/2 { g16 d g} \flam d8 g32\dr d d g
|
\flam d8. g16 d8:32(-> g8:32)(->
d8.)->\fr d16:64(
d8)
}
snareBA = \drummode {
d16. g32
|
\flam d8 d16. g32 \flam d16. d32:128( d16.) g32->
r16. \flam d32 g16. g32
d4:32( \dr \<
|
d16.)\! g32 \flam d16. g32 d16. g32-> d32 g d g
\flam g8 \fr d8:32(
g16:64 g16) d8 \dr
|
d8:32( g8:32)(->
d8:32)( g8:32)(->
d8)->\fr d32 g d g
d8-> d16. \dr g32
|
\flamd d4
d8:32( g8:32)(->
d4) \fr \tuplet 6/4 {d16 \< g d g16 d g\! }
}
snareBB = \drummode {
\flamd d8\f \flamg g8
r8 d8:32(
g16.) d32-> g16. g32
\flamd d8 d8:32(\dr
|
g16.)\! g32 \flam d16. g32 d16. g32-> d32 g d g
\flam g8 \fr d8:32(
g16:64 g16) d16. g32
|
d8.:32(->\dr g16:64)(->
d8:32)(-> g8)->\fr
\flamd d16.\> g32-> d16. d32\!
\flamg g16.\> d32-> g16. g32\!
|
\flamddr d4
d4:32(
d8) \fr \flam g8 r8 d16.\dr g32
}
snareBC = \drummode {
\flamd d8\f \flamg g8
r8 d8:32(
g16.) d32-> g16. g32
\flamd d8 d8:32(
|
g16.)\! g32 \flam d16. g32 d16. g32-> d32 g d g
\flam g8 d8:32(
g16:64 g16) d16. g32
|
d8.:32(-> g16:64)(->
d8:32)(-> g16.)-> g32->
d32 g d g d16.-> g32->
d32 g d g d8->
|
\flamd d4
d8:32( g8:32)(->
d4)
r4
}

View File

@ -1,41 +1,93 @@
% 4/4 The Pikeman's March
% Tenor
\version "2.18.2"
composerTenor = "E.T. de Boone, v0.3, 2015"
composerTenor = "E.T. de Boone, v0.8, 2016"
tenorglobal = {
}
%%music
tenorAA = \drummode {
d16 \< g16 |
d4 \! g8. d16 r8 d16 g d4
|
d8 g d8 g d4 g4
d8[ g] d8[ g] d4 g4
|
d4-> r16 d16 r8 r16 g16 r8 r16 d r g
|
d4 d8^\markup{scoop} g d4^\markup{end} r8
d4 d8^\markup{scoop} g d4^\markup{end} r8
}
tenorAB = \drummode {
d16 \< g16 |
d4 \! g8. d16 r8 d16 g d4
|
d8 g d8 g d4 g4
d8[ g] d8[ g] d4 g4
|
d8 g r8 g8 d8 g8 r4
|
d4 d8^\markup{scoop} g d4^\markup{end} r8
d4 d8^\markup{scoop} g d4^\markup{end} r8
}
% Part 2
tenorBA = \drummode {
d8-_ g
d8 g
d8 g
d16 g16 |
d8 d16 g
d8 g
d4
r8. g16
|
s1*3
d8[ g]
d8[ g]
\flourish d4
\flourish g4
|
d4
r8 d16 g
d8[ g]
d4
|
d4
d8^\markup{scoop} g
d4^\markup{end}
d4^\splitTheFeather
}
tenorBB = \drummode {
s1*4
r4
d8 g
d8. g16
d4
|
d8[ g]
d8[ g]
d4
g4
|
d4
g8[ d]
\flourish g4
\flourish d4
|
d4
d8^\markup{scoop} g
d4^\markup{end}
d4^\splitTheFeather
}
tenorBC = \drummode {
s1*4
r4
d8 g
d8. g16
d4
|
d8[ g]
d8[ g]
d4
g4
|
d4
g8[ d]
\flourish g4
\flourish d4
|
d4
d8^\markup{scoop} g
d4^\markup{end}
r4
}

View File

@ -1,11 +1,12 @@
\version "2.18.2"
\include "config.ily"
\include "notes.side.v1.6.ily"
\include "notes.side.v1.8.ily"
\score {
\new PipeBandDrumStaff {
\global
\sideglobal
<<
{\repeat volta 2 { \part \line \break \line} \break
\part \line \break
@ -29,4 +30,4 @@
instrument = \instrumentSide
composer = \composerSide
}
}
}

View File

@ -16,7 +16,6 @@
\tenorAA
\tenorAB
s8
\tenorBA
\tenorBB
\tenorBC
@ -29,4 +28,4 @@
instrument = \instrumentTenor
composer = \composerTenor
}
}
}

View File

@ -39,7 +39,7 @@
\pipesDA
\pipesDBA s8
\pipesDBB s8
\pipesDBB
}%Pipes
>>
}
@ -54,18 +54,29 @@
\snareBA
\snareBBA s8
\snareAB s8
s8 s2*4
s2*4
s2*4
s8 s2*4
s2*4
s2*4
}
\new PipeBandDrumStaff = "bass" {
\bassglobal
\set PipeBandDrumStaff.instrumentName = \markup{ \instrumentBass }
\set PipeBandDrumStaff.shortInstrumentName = \markup{ \shortInstrumentBass}
s8 | s2*8
s8 | s2*4 | s2*4 | s2*4
s8 | s2*4 | s2*4 | s2*4
s8 | s2*4 | s2*4
}
% \new PipeBandDrumStaff = "bass" {
% \bassglobal
% \set PipeBandDrumStaff.instrumentName = \markup{ \instrumentBass }
% \set PipeBandDrumStaff.shortInstrumentName = \markup{ \shortInstrumentBass}
%
% }
% \new PipeBandDrumStaff = "tenor" {
% \tenorglobal
% \set PipeBandDrumStaff.instrumentName = \markup{ \instrumentTenor }
% \set PipeBandDrumStaff.shortInstrumentName = \markup{ \shortInstrumentTenor }
%
% }
>>
\header {
@ -73,16 +84,16 @@
meter = \meter
composer = \markup \large {
\column \right-align {
$(if (not (string=? "" composerPipes)) %{ \markup {\line { \composerPipes ":" }} %} )
$(if (not (string=? "" composerSide)) %{ \markup {\line { \composerSide ":" }} %} )
$(if (not (string=? "" composerTenor)) %{ \markup {\line { \composerTenor ":" }} %} )
$(if (not (string=? "" composerBass)) %{ \markup {\line { \composerBass ":" }} %} )
$(if (not (string=? "" composerPipes)) { \markup {\line { \composerPipes ":" }}} )
$(if (not (string=? "" composerSide)) { \markup {\line { \composerSide ":" }}} )
$(if (not (string=? "" composerTenor)) { \markup {\line { \composerTenor ":" }}} )
$(if (not (string=? "" composerBass)) { \markup {\line { \composerBass ":" }}} )
}
\column \right-align {
$(if (not (string=? "" composerPipes)) %{ \markup {\line { \instrumentPipes }}%} )
$(if (not (string=? "" composerSide)) %{ \markup {\line { \instrumentSide }}%} )
$(if (not (string=? "" composerTenor)) %{ \markup {\line { \instrumentTenor }}%} )
$(if (not (string=? "" composerBass)) %{ \markup {\line { \instrumentBass }}%} )
$(if (not (string=? "" composerPipes)) { \markup {\line { \instrumentPipes }}} )
$(if (not (string=? "" composerSide)) { \markup {\line { \instrumentSide }}} )
$(if (not (string=? "" composerTenor)) { \markup {\line { \instrumentTenor }}} )
$(if (not (string=? "" composerBass)) { \markup {\line { \instrumentBass }}} )
}
}
}

View File

@ -0,0 +1,13 @@
\version "2.19.0"
%% Globals
global = {
\time 2/2
}
%% Format
part = { \partial 8 s8 }
halfline = { \repeat unfold 2 { s1 | } }
line = { \repeat unfold 2 { \halfline } }
%% Headers
title = "The MacKenzie's Reel"
meter = "Reel"

View File

@ -0,0 +1,74 @@
% 2/2 The MacKenzie's Reel
% Pipes
\version "2.18.2"
composerPipes = ""
pipeglobal = {
\bagpipeKey
}
pipesA = {
A8 |
\birl a4
\grg a8. [ b16 ]
\dblc c4
\grg c16 [ A8. ]
|
\dblc c4
\grg c8 [ \grd b8 ]
\grg c16 [ e8. ]
\dblf f4
|
\gbirl a4
\grg a8. [ b16 ]
\dblc c4
A8. [ f16 ]
|
\dble e8. [ c16 ]
\grg b8 [ \grd c8 ]
\grg a8. [ \grd a16 ]
\gre a8
}
pipesBA = {
f8 |
\grg e8. [ a16 ]
\dble e8. [ c16 ]
\dble e8. [ a16 ]
\gbirl a8 [ A8 ]
|
\grg e8. [ a16 ]
\dble e8. [ c16 ]
\grg b8. [ \grd b16 ]
\gre b8 [ f8 ]
|
\grg e8. [ a16 ]
\dble e8. [ c16 ]
\dble e8. [ a16 ]
A8. [ f16 ]
|
\dble e8. [ c16 ]
\grg b8 [ \grd c8 ]
\grg a8. [ \grd a16 ]
\gre a8 f8 |
}
pipesBB = {
\grg e8. [ a16 ]
\dble e8. [ c16 ]
\dble e8. [ a16 ]
\birl a8 [ A8 ]
|
\grg e8. [ a16 ]
\dble e8. [ c16 ]
\grg b8. [ \grd b16 ]
\gre b8 [ A8 ]
|
\grip a4
\grg a8. [ b16 ]
\dblc c4
A8. [ f16 ]
|
\dble e8. [ c16 ]
\grg b8 [ \grd c8 ]
\grg a8. [ \grd a16 ]
\gre a8
}

View File

@ -0,0 +1,31 @@
\version "2.18.2"
\include "config.ily"
\include "notes.pipes.ily"
\score {
\new Staff {
\global
\pipeglobal
<<
{
\repeat volta 2 { \part \line } \break
\part \line \break
\line \bar "|."
}
{
\pipesA s8
\pipesBA
\pipesBB s8
}
>>
}
\header {
title = \title
meter = \meter
instrument = \instrumentPipes
composer = \composerPipes
}
}

21
music/template/bass.ly Normal file
View File

@ -0,0 +1,21 @@
\version "2.18.2"
\include "config.ily"
\include "notes.bass.ily"
\score {
\new PipeBandDrumStaff {
\global
\tenorglobal
<<
{ }
{ }
>>
}
\header {
title = \title
meter = \meter
instrument = \instrumentBass
composer = \composerBass
}
}