]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/clip-region.scm
configure: Fixup default --prefix replacement (issue 3238).
[lilypond.git] / scm / clip-region.scm
index 7e86358b602de97d6828ee04bcdee5428ef1ab82..890cb657e3d263af8042a3e10e64e5e3d376919b 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;; Copyright (C) 2006--2009 Han-Wen Nienhuys <hanwen@lilypond.org>
+;;;; Copyright (C) 2006--2012 Han-Wen Nienhuys <hanwen@lilypond.org>
 ;;;;
 ;;;; LilyPond is free software: you can redistribute it and/or modify
 ;;;; it under the terms of the GNU General Public License as published by
 
 (use-modules (lily))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; The procedures shown in this list have been moved to
+;; scm/output-lib.scm
+;;
+;;
+;;     (define-public (make-rhythmic-location bar-num num den)
+;;     (define-public (rhythmic-location? a)
+;;     (define-public (make-graceless-rhythmic-location loc)
+;;     (define-public rhythmic-location-measure-position cdr)
+;;     (define-public rhythmic-location-bar-number car)
+;;     (define-public (rhythmic-location<? a b)
+;;     (define-public (rhythmic-location<=? a b)
+;;     (define-public (rhythmic-location>=? a b)
+;;     (define-public (rhythmic-location>? a b)
+;;     (define-public (rhythmic-location=? a b)
+;;     (define-public (rhythmic-location->file-string a)
+;;     (define-public (rhythmic-location->string a)
 
-(define-public (make-rhythmic-location bar-num num den)
-  (cons
-   bar-num (ly:make-moment num den)))
-
-(define-public (rhythmic-location? a)
-  (and (pair? a)
-       (integer? (car a))
-       (ly:moment? (cdr a))))
-
-(define-public (make-graceless-rhythmic-location loc)
-  (make-rhythmic-location
-   (car loc)
-   (ly:moment-main-numerator (rhythmic-location-measure-position loc))
-   (ly:moment-main-denominator (rhythmic-location-measure-position loc))))
-                  
-                                            
-(define-public rhythmic-location-measure-position cdr)
-(define-public rhythmic-location-bar-number car)
-
-(define-public (rhythmic-location<? a b)
-  (cond
-   ((< (car a) (car b)) #t)
-   ((> (car a) (car b)) #f)
-   (else
-    (ly:moment<? (cdr a) (cdr b)))))
-
-(define-public (rhythmic-location<=? a b)
-  (not (rhythmic-location<? b a)))
-(define-public (rhythmic-location>=? a b)
-  (rhythmic-location<? a b))
-(define-public (rhythmic-location>? a b)
-  (rhythmic-location<? b a))
-
-(define-public (rhythmic-location=? a b)
-  (and (rhythmic-location<=? a b)
-       (rhythmic-location<=? b a)))
-
-
-(define-public (rhythmic-location->file-string a)
-  (ly:format "~a.~a.~a"
-         (car a)
-         (ly:moment-main-numerator (cdr a))
-         (ly:moment-main-denominator (cdr a))))
-
-(define-public (rhythmic-location->string a)
-  (ly:format "bar ~a ~a"
-         (car a)
-         (ly:moment->string  (cdr a))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;  Actual clipping logic.
 ;;
 ;; the total of this will be
 ;; O(#systems * #regions)
-;; 
+;;
 ;; we can actually do better by sorting the regions as well,
 ;; but let's leave that for future extensions.
 ;;
 (define-public (system-clipped-x-extent system-grob clip-region)
-  "Return the X-extent of the SYSTEM-GROB when clipped with
-CLIP-REGION. Return #f if not appropriate."
-  
+  "Return the X-extent of @var{system-grob} when clipped with
+@var{clip-region}.  Return @code{#f} if not appropriate."
+
   (let*
       ((region-start (car clip-region))
        (columns (ly:grob-object system-grob 'columns))
        (region-end (cdr clip-region))
        (found-grace-end  #f)
-       (candidate-columns 
+       (candidate-columns
        (filter
         (lambda (j)
           (let*
@@ -96,7 +66,7 @@ CLIP-REGION. Return #f if not appropriate."
                (loc (ly:grob-property column 'rhythmic-location))
                (grace-less (make-graceless-rhythmic-location loc))
                )
-               
+
             (and (rhythmic-location? loc)
                  (rhythmic-location<=? region-start loc)
                  (or (rhythmic-location<? grace-less region-end)
@@ -106,9 +76,9 @@ CLIP-REGION. Return #f if not appropriate."
                           )))
 
             ))
-        
+
         (iota (ly:grob-array-length columns))))
-       
+
        (column-range
        (if (>= 1 (length candidate-columns))
            #f
@@ -125,16 +95,16 @@ CLIP-REGION. Return #f if not appropriate."
                   system-grob
                   (ly:grob-array-ref columns (car column-range)))
               system-grob X))
-            
+
             (interval-end
              (ly:grob-robust-relative-extent
              (if (= (1- (ly:grob-array-length columns)) (cdr column-range))
                  system-grob
                  (ly:grob-array-ref columns (cdr column-range)))
              system-grob X)))
-           
-           
+
+
            #f
            )))
-    
+
     clipped-x-interval))