X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Ftablature.scm;h=419f93c2cf15012ba6e3deedfc915b4c5ee48dc1;hb=487f44ae4bebfe14e56bbd8a6de5e7a9aea35028;hp=ae617bd47ffef752139e4cc20f2d320f983f2ed0;hpb=c869648595a848905a7636571778385acdc772f5;p=lilypond.git diff --git a/scm/tablature.scm b/scm/tablature.scm index ae617bd47f..419f93c2cf 100644 --- a/scm/tablature.scm +++ b/scm/tablature.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2009 Marc Hohl +;;;; Copyright (C) 2009--2010 Marc Hohl ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ (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 @@ -99,7 +99,9 @@ (if (string=? glyph "markup.moderntab") ;; if it is "moderntab", we'll draw it (let* ((staff-symbol (ly:grob-object grob 'staff-symbol)) - (line-count (ly:grob-property staff-symbol 'line-count)) + (line-count (if (ly:grob? staff-symbol) + (ly:grob-property staff-symbol 'line-count) + 0)) (staff-space (ly:staff-symbol-staff-space grob))) (grob-interpret-markup grob (make-customTabClef-markup line-count @@ -218,13 +220,15 @@ (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: @@ -244,3 +248,10 @@ (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)))