;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 2009 Marc Hohl <marc@hohlart.de>
+;;;; Copyright (C) 2009--2010 Marc Hohl <marc@hohlart.de>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
(define-public guitar-drop-d-tuning '(4 -1 -5 -10 -15 -22))
(define-public guitar-open-g-tuning '(2 -1 -5 -10 -17 -22))
(define-public guitar-open-d-tuning '(2 -3 -6 -10 -15 -22))
-(define-public guitar-dadgad-tuning '(2 -3 -7 -10 -15 -22))
+(define-public guitar-dadgad-tuning '(2 -3 -5 -10 -15 -22))
(define-public guitar-lute-tuning '(4 -1 -6 -10 -15 -20))
(define-public guitar-asus4-tuning '(4 -3 -8 -10 -15 -20))
;; bass tunings
(tab-note-head-parenthesized (assoc-get 'parenthesize repeat-tied-properties #t)))
(if tab-note-head-visible
- ;; tab note head is visible
- (if tab-note-head-parenthesized
+ ;; tab note head is visible
+ (if tab-note-head-parenthesized
(ly:grob-set-property! tied-tab-note-head 'stencil
(lambda (grob)
(parenthesize-tab-note-head grob))))
;; tab note head is invisible
- (ly:grob-set-property! tied-tab-note-head 'transparent #t))))
+ (begin
+ (ly:grob-set-property! tied-tab-note-head 'transparent #t)
+ (ly:grob-set-property! tied-tab-note-head 'whiteout #f)))))
;; the slurs should not be too far apart from the corresponding fret number, so
;; we move the slur towards the TabNoteHeads:
(ly:grob-set-property! grob 'control-points new-control-points)
(ly:slur::print grob)))
+
+;; for \tabFullNotation, the stem tremolo beams are too big in comparison to
+;; normal staves; this wrapper function scales accordingly:
+(define-public (stem-tremolo::calc-tab-width grob)
+ (let ((width (ly:stem-tremolo::calc-width grob))
+ (staff-space (ly:staff-symbol-staff-space grob)))
+ (/ width staff-space)))
+
+
+;; a callback for custom fret labels
+(define-public ((tab-note-head::print-custom-fret-label fret) grob)
+ (grob-interpret-markup grob (markup #:vcenter fret)))