]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/fret-diagrams.scm
Remove the last vestiges of next-space.
[lilypond.git] / scm / fret-diagrams.scm
index 992c94941aa1ddd8e29c39e89ed516a768e05849..f2e7fb6db4d86275985a4617c806c770a41002c0 100644 (file)
@@ -1,8 +1,19 @@
-;;;; fret-diagrams.scm --
+;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;;  source file of the GNU LilyPond music typesetter
+;;;; Copyright (C) 2004--2010 Carl D. Sorensen <c_sorensen@byu.edu>
 ;;;;
-;;;; (c) 2004--2009 Carl D. Sorensen <c_sorensen@byu.edu>
+;;;; LilyPond is free software: you can redistribute it and/or modify
+;;;; it under the terms of the GNU General Public License as published by
+;;;; the Free Software Foundation, either version 3 of the License, or
+;;;; (at your option) any later version.
+;;;;
+;;;; LilyPond is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;;; GNU General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU General Public License
+;;;; along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
 ;
 ;  Utility functions
@@ -101,9 +112,9 @@ found."
   (define (helper key alist-list default)
     (if (null? alist-list)
         default
-        (let* ((handle (assoc key (car alist-list))))
-          (if (pair? handle)
-              (append (cdr handle) (chain-assoc-get key (cdr alist-list) '()))
+        (let* ((entry (assoc-get key (car alist-list))))
+          (if entry
+              (append entry (chain-assoc-get key (cdr alist-list) '()))
               (helper key (cdr alist-list) default)))))
 
   (helper key alist-list
@@ -254,7 +265,7 @@ with magnification @var{mag} of the string @var{text}."
                                                        ; and draw-barre
          (dot-position
            (assoc-get
-             'dot-position details default-dot-position)) ; needed for 
+             'dot-position details default-dot-position)) ; needed for
                                                     ; draw-dots and draw-barre
          (th
            (* (ly:output-def-lookup layout 'line-thickness)
@@ -268,11 +279,11 @@ with magnification @var{mag} of the string @var{text}."
            (* size (assoc-get 'xo-padding details 0.2))) ; needed only here
          (parameters (fret-parse-marking-list marking-list my-fret-count))
          (capo-fret (assoc-get 'capo-fret parameters 0))
-         (dot-list (cdr (assoc 'dot-list parameters)))
-         (xo-list (cdr (assoc 'xo-list parameters)))
-         (fret-range (cdr (assoc 'fret-range parameters)))
+         (dot-list (assoc-get 'dot-list parameters))
+         (xo-list (assoc-get 'xo-list parameters))
+         (fret-range (assoc-get 'fret-range parameters))
          (my-fret-count (fret-count fret-range))
-         (barre-list (cdr (assoc 'barre-list parameters)))
+         (barre-list (assoc-get 'barre-list parameters))
          (barre-type
            (assoc-get 'barre-type details 'curved))
          (fret-diagram-stencil '()))
@@ -294,7 +305,7 @@ with magnification @var{mag} of the string @var{text}."
           (cons string-coordinate (- fret-coordinate)))))
 
     (define (stencil-coordinate-offset fret-offset string-offset)
-      "Return a pair @code{(x-offset . y-offstet)}
+      "Return a pair @code{(x-offset . y-offset)}
       for translation in stencil coordinate system."
       (cond
         ((eq? orientation 'landscape)
@@ -751,7 +762,7 @@ at @var{fret}."
                  xo-stencil 'fret orientation))
              (xo-stencil-offset
               (stencil-coordinate-offset
-               (- diagram-fret-top 
+               (- diagram-fret-top
                   xo-fret-offset
                   (* size xo-padding))
                0)))
@@ -916,14 +927,14 @@ a fret-indication list with the appropriate values"
     `(,props . ,output-list))) ; ugh -- hard coded; proc is better
 
 
-(define-builtin-markup-command
+(define-markup-command
   (fret-diagram-verbose layout props marking-list)
   (pair?) ; argument type (list, but use pair? for speed)
-  instrument-specific-markup ; markup type
-  ((align-dir -0.4) ; properties and defaults
-   (size 1.0)
-   (fret-diagram-details)
-   (thickness 0.5))
+  #:category instrument-specific-markup ; markup type
+  #:properties ((align-dir -0.4) ; properties and defaults
+               (size 1.0)
+               (fret-diagram-details)
+               (thickness 0.5))
   "Make a fret diagram containing the symbols indicated in @var{marking-list}.
 
   For example,
@@ -969,10 +980,10 @@ indications per string.
   (make-fret-diagram layout props marking-list))
 
 
-(define-builtin-markup-command (fret-diagram layout props definition-string)
+(define-markup-command (fret-diagram layout props definition-string)
   (string?) ; argument type
-  instrument-specific-markup ; markup category
-  (fret-diagram-verbose-markup) ; properties and defaults
+  #:category instrument-specific-markup ; markup category
+  #:properties (fret-diagram-verbose-markup) ; properties and defaults
   "Make a (guitar) fret diagram.  For example, say
 
 @example
@@ -1046,11 +1057,11 @@ Note: There is no limit to the number of fret indications per string.
     (fret-diagram-verbose-markup
      layout (car definition-list) (cdr definition-list))))
 
-(define-builtin-markup-command
+(define-markup-command
   (fret-diagram-terse layout props definition-string)
   (string?) ; argument type
-  instrument-specific-markup ; markup category
-  (fret-diagram-verbose-markup) ; properties
+  #:category instrument-specific-markup ; markup category
+  #:properties (fret-diagram-verbose-markup) ; properties
   "Make a fret diagram markup using terse string-based syntax.
 
 Here is an example