]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/tablature.scm
Regtests for lilypond-book include files located in subdir.
[lilypond.git] / scm / tablature.scm
index f4c67bebdc3f1baf5ecb0d40ee77b507760b0270..2adaaa6ed6cc8c55e5f470e401087ebd8aecaba9 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;; Copyright (C) 2009--2011 Marc Hohl <marc@hohlart.de>
+;;;; Copyright (C) 2009--2012 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
 
 ;; if stems are drawn, it is nice to have a double stem for
 ;; (dotted) half notes to distinguish them from quarter notes:
+(define-public (tabvoice::make-double-stem-width-for-half-notes grob)
+  (let ((X-extent (ly:stem::width grob)))
+
+    ;; is the note a (dotted) half note?
+    (if (= 1 (ly:grob-property grob 'duration-log))
+        ;; yes -> return double stem width
+        (cons (car X-extent) (+ 0.5 (* 2 (cdr X-extent))))
+        ;; no -> return simple stem width
+        X-extent)))
+
 (define-public (tabvoice::draw-double-stem-for-half-notes grob)
   (let ((stem (ly:stem::print grob)))
 
 (define-public (tab-note-head::print grob)
   (define (is-harmonic? grob)
     (let ((arts (ly:event-property (event-cause grob) 'articulations)))
-      (not (null? (filter (lambda (a)
-                           (ly:in-event-class? a 'harmonic-event))
-                         arts)))))
+      (or (pair? (filter (lambda (a)
+                          (ly:in-event-class? a 'harmonic-event))
+                         arts))
+         (eq? (ly:grob-property grob 'style) 'harmonic))))
 
   (let* ((cautionary (ly:grob-property grob 'display-cautionary #f))
         (details (ly:grob-property grob 'details '()))