]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/music-functions-init.ly
Improve tablature -- tie-follow and harmonics
[lilypond.git] / ly / music-functions-init.ly
index 4a58f05522f919b1f242735e0965bf8e0adbce65..67ff1282d476401aebefbd4e3abab1b33ee49a45 100644 (file)
@@ -302,7 +302,33 @@ grace =
 #(def-grace-function startGraceMusic stopGraceMusic
    (_i "Insert @var{music} as grace notes."))
 
-
+harmonicByFret = #(define-music-function (parser location fret music) (number? ly:music?)
+  (let* ((fret (number->string fret))
+         (pitch (fret->pitch fret)))
+        (make-sequential-music
+         (list
+          #{
+            \override TabNoteHead #'stencil = #(tab-note-head::print-custom-fret-label $fret)
+          #}
+          (make-harmonic
+            (calc-harmonic-pitch pitch music))
+          #{
+            \revert TabNoteHead #'stencil
+          #}))))
+
+harmonicByRatio = #(define-music-function (parser location ratio music) (number? ly:music?)
+  (let ((pitch (ratio->pitch ratio))
+        (fret (ratio->fret ratio)))
+       (make-sequential-music
+        (list
+         #{
+           \override TabNoteHead #'stencil = #(tab-note-head::print-custom-fret-label $fret)
+         #}
+         (make-harmonic
+           (calc-harmonic-pitch pitch music))
+         #{
+            \revert TabNoteHead #'stencil
+         #}))))
 
 instrumentSwitch =
 #(define-music-function