stafftab: Set default midi instrument.
[music/pretentious.git] / stafftab.ly
1 %% TODO: this relative path won't be correct unless make is run from
2 %% within one of the song directories
3 #(load "../stafftab-engraver.scm")
4
5 %% tunings for 12-string Chapman Stick
6 \makeDefaultStringTuning #'stick-classic-tuning
7 \stringTuning <d' a e b, fis, cis, c,, g,, d, a, e b>
8 \makeDefaultStringTuning #'stick-matched-reciprocal-tuning
9 \stringTuning <c' g d a, e, b,, c,, g,, d, a, e b>
10
11 %% MR™ High Bass 4th % TODO: melody note heights are probably wrong
12 %stick-tuning-twelve-mr-high =
13 % \stringTuning <c' g d a e b c,, g,, d, a, e a>
14 %
15 %% 12-String Classic™ High Bass 4th % TODO: melody note heights are probably wrong
16 %stick-tuning-twelve-classic-high =
17 % \stringTuning <d' a e b, fis, cis, c,, g,, d, a, e a>
18 %
19 %% Deep Matched Reciprocal™ % TODO
20 %stick-tuning-twelve-deep-mr =
21 % \stringTuning <bes f c g d a bes,, f,, c, g, d a>
22 %
23 %% Raised Matched Reciprocal™ % TODO
24 %stick-tuning-twelve-classic-high =
25 % \stringTuning <d' a e b, fis, cis, d,, a,, e, b, fis cis>
26 %
27 %% Dual Bass Reciprocal™ % TODO
28 %stick-tuning-twelve-dual-bass-r =
29 % \stringTuning <f' c g d, a, e, b,, fis,, cis, gis, dis ais>
30
31 %% tunings for 10-string Chapman Stick
32 %% Baritone Melody™ % TODO: melody is wrong
33 %stick-tuning-ten-baritone =
34 % \stringTuning <a e b fis cis c,, g,, d, a, e>
35 %
36 %% Deep Baritone Melody™ % TODO: melody is wrong
37 %chapman-stick-ten-deep-baritone =
38 % \stringTuning <g d a e b c,, g,, d, a, e>
39
40 %% tunings for 10-string Alto Stick
41 %% TODO: check them!
42 \makeDefaultStringTuning #'alto-stick-tuning
43 \stringTuning <g d a e b c g d a e>
44 \makeDefaultStringTuning #'alto-stick-gregs-extended-tuning
45 \stringTuning <a e b fis cis c g d a e>
46 \makeDefaultStringTuning #'alto-stick-bobs-expanded-tuning
47 \stringTuning <a e b fis cis a e b fis cis>
48
49
50 %% convert 12-string Chapman Stick tuning to 10-string tuning
51 ten-string-stick = #(lambda (tuning)
52 (append (list-head tuning 5)
53 (list-head (list-tail tuning 6) 5)))
54
55 %% get either the bass or the melody string group
56 stick-string-group = #(lambda (tuning group)
57 (let ((num (/ (length tuning) 2)))
58 (if (equal? group 'bass)
59 (list-head tuning num)
60 (list-tail tuning num))))
61
62 \layout {
63 \context {
64 \PianoStaff
65 \accepts "StaffTab"
66 }
67 \context {
68 \GrandStaff
69 \accepts "StaffTab"
70 }
71 \context {
72 \Score
73 \accepts "StaffTab"
74 }
75 \context {
76 \Staff
77 \name "StaffTab"
78 \alias "Staff"
79 \denies "Voice"
80 \defaultchild "StickVoice"
81 \accepts "StickVoice"
82 \description "Same as @code{Staff} context, except that it is
83 accommodated for typesetting a piece in StaffTab notation."
84 }
85 \context {
86 \Voice
87 \name "StickVoice"
88 \alias "Voice"
89 \description "Same as @code{Voice} context, except that it is
90 accomodated for typesetting a piece in StaffTab notation."
91 \remove "Fingering_engraver"
92 \remove "New_fingering_engraver"
93 \consists #stafftab-engraver
94 }
95 }
96
97 \midi {
98 \context {
99 \Score
100 \accepts "StaffTab"
101 }
102 \context {
103 \Staff
104 \name "StaffTab"
105 midiInstrument = #"electric guitar (jazz)"
106 \alias "Staff"
107 \denies "Voice"
108 \defaultchild "StickVoice"
109 \accepts "StickVoice"
110 \description "Same as @code{Staff} context, except that it is
111 accommodated for typesetting a piece in StaffTab notation."
112 }
113 \context {
114 \Voice
115 \name "StickVoice"
116 \alias "Voice"
117 \description "Same as @code{Voice} context, except that it is
118 accomodated for typesetting a piece in StaffTab notation."
119 }
120 }