diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2015-02-23 23:00:54 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2016-10-11 08:32:39 +0200 |
commit | de854cda6ca1344345863102054c018a5750df57 (patch) | |
tree | 068cd9b8b8255a98bbfeebf684112ae774062736 /ly | |
parent | 3735e6eea531a3d2110679a24817c633c725cf9b (diff) |
Add scheme engraver for StaffTab notation
The StaffTab notation is a system combining graphic elements of
tablature with standard music notation and Emmett Chapman's finger
symbols for notating tapping on a Chapman Stick.
Diffstat (limited to 'ly')
-rw-r--r-- | ly/stafftab.ly | 50 | ||||
-rw-r--r-- | ly/string-tunings-init.ly | 20 |
2 files changed, 70 insertions, 0 deletions
diff --git a/ly/stafftab.ly b/ly/stafftab.ly new file mode 100644 index 0000000000..b0387d6eff --- /dev/null +++ b/ly/stafftab.ly @@ -0,0 +1,50 @@ +\layout { + \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." + \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." + } +} diff --git a/ly/string-tunings-init.ly b/ly/string-tunings-init.ly index 927bbae6b2..d2089ea126 100644 --- a/ly/string-tunings-init.ly +++ b/ly/string-tunings-init.ly @@ -85,8 +85,28 @@ for documentation purposes.") \makeDefaultStringTuning #'cello-tuning \stringTuning <c, g, d a> \makeDefaultStringTuning #'double-bass-tuning \stringTuning <e,, a,, d, g,> +%% 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> + + defaultStringTunings = #(reverse! defaultStringTunings) %% convert 5-string banjo tuning to 4-string by removing the 5th string four-string-banjo = #(lambda (tuning) (take tuning 4)) + +%% 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)))) + |