summaryrefslogtreecommitdiff
path: root/stafftab.ly
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2016-12-06 12:30:22 +0100
committerrekado <rekado@elephly.net>2016-12-06 14:15:32 +0100
commite90a5854b35b81b6902da778e1a0ec9b63492e0b (patch)
tree82cbcec60db8b3c8e752d9b04121d4225d7303bd /stafftab.ly
parent2aa960e2d7a7fa1c37fdab17a7e0e1110e030c64 (diff)
Add stafftab engraver for Stick.
Diffstat (limited to 'stafftab.ly')
-rw-r--r--stafftab.ly116
1 files changed, 116 insertions, 0 deletions
diff --git a/stafftab.ly b/stafftab.ly
new file mode 100644
index 0000000..77aae83
--- /dev/null
+++ b/stafftab.ly
@@ -0,0 +1,116 @@
+%% tunings for 12-string Chapman Stick
+\makeDefaultStringTuning #'stick-classic-tuning
+ \stringTuning <d' a e b, fis, cis, c,, g,, d, a, e b>
+\makeDefaultStringTuning #'stick-matched-reciprocal-tuning
+ \stringTuning <c' g d a, e, b,, c,, g,, d, a, e b>
+
+%% MR™ High Bass 4th % TODO: melody note heights are probably wrong
+%stick-tuning-twelve-mr-high =
+% \stringTuning <c' g d a e b c,, g,, d, a, e a>
+%
+%% 12-String Classic™ High Bass 4th % TODO: melody note heights are probably wrong
+%stick-tuning-twelve-classic-high =
+% \stringTuning <d' a e b, fis, cis, c,, g,, d, a, e a>
+%
+%% Deep Matched Reciprocal™ % TODO
+%stick-tuning-twelve-deep-mr =
+% \stringTuning <bes f c g d a bes,, f,, c, g, d a>
+%
+%% Raised Matched Reciprocal™ % TODO
+%stick-tuning-twelve-classic-high =
+% \stringTuning <d' a e b, fis, cis, d,, a,, e, b, fis cis>
+%
+%% Dual Bass Reciprocal™ % TODO
+%stick-tuning-twelve-dual-bass-r =
+% \stringTuning <f' c g d, a, e, b,, fis,, cis, gis, dis ais>
+
+%% tunings for 10-string Chapman Stick
+%% Baritone Melody™ % TODO: melody is wrong
+%stick-tuning-ten-baritone =
+% \stringTuning <a e b fis cis c,, g,, d, a, e>
+%
+%% Deep Baritone Melody™ % TODO: melody is wrong
+%chapman-stick-ten-deep-baritone =
+% \stringTuning <g d a e b c,, g,, d, a, e>
+
+%% tunings for 10-string Alto Stick
+%% TODO: check them!
+\makeDefaultStringTuning #'alto-stick-tuning
+ \stringTuning <g d a e b c g d a e>
+\makeDefaultStringTuning #'alto-stick-gregs-extended-tuning
+ \stringTuning <a e b fis cis c g d a e>
+\makeDefaultStringTuning #'alto-stick-bobs-expanded-tuning
+ \stringTuning <a e b fis cis a e b fis cis>
+
+
+%% convert 12-string Chapman Stick tuning to 10-string tuning
+ten-string-stick = #(lambda (tuning)
+ (append (list-head tuning 5)
+ (list-head (list-tail tuning 6) 5)))
+
+%% get either the bass or the melody string group
+stick-string-group = #(lambda (tuning group)
+ (let ((num (/ (length tuning) 2)))
+ (if (equal? group 'bass)
+ (list-head tuning num)
+ (list-tail tuning num))))
+
+\layout {
+ \context {
+ \PianoStaff
+ \accepts "StaffTab"
+ }
+ \context {
+ \GrandStaff
+ \accepts "StaffTab"
+ }
+ \context {
+ \Score
+ \accepts "StaffTab"
+ }
+ \context {
+ \Staff
+ \name "StaffTab"
+ \alias "Staff"
+ \denies "Voice"
+ \defaultchild "StickVoice"
+ \accepts "StickVoice"
+ \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting a piece in StaffTab notation."
+ }
+ \context {
+ #(use-modules (guile-user))
+ \Voice
+ \name "StickVoice"
+ \alias "Voice"
+ \description "Same as @code{Voice} context, except that it is
+accomodated for typesetting a piece in StaffTab notation."
+ \remove "Fingering_engraver"
+ \remove "New_fingering_engraver"
+ \consists #stafftab-engraver
+ }
+}
+
+\midi {
+ \context {
+ \Score
+ \accepts "StaffTab"
+ }
+ \context {
+ \Staff
+ \name "StaffTab"
+ \alias "Staff"
+ \denies "Voice"
+ \defaultchild "StickVoice"
+ \accepts "StickVoice"
+ \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting a piece in StaffTab notation."
+ }
+ \context {
+ \Voice
+ \name "StickVoice"
+ \alias "Voice"
+ \description "Same as @code{Voice} context, except that it is
+accomodated for typesetting a piece in StaffTab notation."
+ }
+}