]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/tablature.scm
Issue 3983: Avoid define-public and define*-public with curried definitions
[lilypond.git] / scm / tablature.scm
index d62f0aa0178211e5d4e58b3216aefedc233c6319..36b81106c1bcb0046b9f2a73f5b7f1aab842bacf 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;; Copyright (C) 2009--2012 Marc Hohl <marc@hohlart.de>
+;;;; Copyright (C) 2009--2014 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
   (let ((style (ly:grob-property grob 'style)))
 
     (case style
-      ((cross) "2cross"))))
+      ((cross) "2cross")
+      ((slash) "2slash")
+      (else #f))))
 
 ;; ensure we only call note head callback when
-;; 'style = 'cross
+;; style is set to a known value
 (define-public (tab-note-head::whiteout-if-style-set grob)
   (let ((style (ly:grob-property grob 'style)))
 
-    (if (and (symbol? style)
-             (eq? style 'cross))
-        (stencil-whiteout (ly:note-head::print grob))
-        (tab-note-head::print grob))))
+    (case style
+      ((cross slash) (stencil-whiteout (ly:note-head::print grob)))
+      (else (tab-note-head::print grob)))))
 
 ;; definitions for the "moderntab" clef:
 ;; the "moderntab" clef will be added to the list of known clefs,
 
 
 ;; a callback for custom fret labels
-(define-public ((tab-note-head::print-custom-fret-label fret) grob)
+(define ((tab-note-head::print-custom-fret-label fret) grob)
   (ly:grob-set-property! grob 'text fret)
   (tab-note-head::print grob))
+(export tab-note-head::print-custom-fret-label)
 
 (define-public (tab-note-head::print grob)
   (define (is-harmonic? grob)
         (elt (ly:music-property mus 'element)))
     (cond
      ((pair? elts)
-      (map make-harmonic elts))
+      (for-each make-harmonic elts))
      ((ly:music? elt)
       (make-harmonic elt))
      ((music-is-of-type? mus 'note-event)