]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/new/letter-tablature-formatting.ly
LSR: Update.
[lilypond.git] / input / new / letter-tablature-formatting.ly
diff --git a/input/new/letter-tablature-formatting.ly b/input/new/letter-tablature-formatting.ly
new file mode 100644 (file)
index 0000000..5f2b267
--- /dev/null
@@ -0,0 +1,38 @@
+\version "2.11.53"
+
+\header {
+  lsrtags = "staff-notation,fretted-strings"
+
+  texidoc = "Tablature can be formatted using letters instead of
+numbers."
+  doctitle = "Letter tablature formatting"
+}
+
+#(define (letter-tablature-format str context event)
+  (let*
+      ((tuning (ly:context-property context 'stringTunings))
+       (pitch (ly:event-property event 'pitch)))
+    (make-whiteout-markup
+     (make-vcenter-markup
+      (string (integer->char
+         (+ (char->integer #\a)
+            (- (ly:pitch-semitones pitch)
+            (list-ref tuning (- str 1))))))))))
+
+music = \relative c {
+  c4 d e f
+  g4 a b c
+  d4 e f g
+}
+
+<<
+  \new Staff {
+    \clef "G_8"
+    \music
+  }
+  \new TabStaff \with {
+    tablatureFormat = #letter-tablature-format
+  } {
+    \music
+  }
+>>