CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/07/19 00:04:11

Modified files:
        .              : ChangeLog 
        lily           : item.cc lily-guile.cc system.cc 
        scm            : define-grob-properties.scm output-lib.scm 

Log message:
        * scm/output-lib.scm (begin-of-line-invisible): use vectors for
        predefined break-visibilities.
        
        * lily/item.cc (handle_prebroken_dependencies): use a vector of 3
        booleans for break-visibility.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3887&tr2=1.3888&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/item.cc.diff?tr1=1.116&tr2=1.117&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/lily-guile.cc.diff?tr1=1.214&tr2=1.215&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/system.cc.diff?tr1=1.108&tr2=1.109&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grob-properties.scm.diff?tr1=1.103&tr2=1.104&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/output-lib.scm.diff?tr1=1.83&tr2=1.84&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3887 lilypond/ChangeLog:1.3888
--- lilypond/ChangeLog:1.3887   Mon Jul 18 23:41:58 2005
+++ lilypond/ChangeLog  Tue Jul 19 00:04:11 2005
@@ -1,5 +1,11 @@
 2005-07-19  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * scm/output-lib.scm (begin-of-line-invisible): use vectors for
+       predefined break-visibilities.
+
+       * lily/item.cc (handle_prebroken_dependencies): use a vector of 3
+       booleans for break-visibility.
+
        * Documentation/topdocs/NEWS.tely (Top): add note about engravers.
 
        * python/convertrules.py (conv): rule for Timing_translator. 
Index: lilypond/lily/item.cc
diff -u lilypond/lily/item.cc:1.116 lilypond/lily/item.cc:1.117
--- lilypond/lily/item.cc:1.116 Mon Jul 18 23:37:24 2005
+++ lilypond/lily/item.cc       Tue Jul 19 00:04:11 2005
@@ -148,29 +148,14 @@
   /*
     Can't do this earlier, because try_visibility_lambda () might set
     the elt property transparent, which would then be copied.
-
-    TODO:
-
-    give the item to break-visibility itself, so the function can do
-    more complicated things.
   */
   SCM vis = get_property ("break-visibility");
-  if (ly_is_procedure (vis))
+  if (scm_is_vector (vis))
     {
-      SCM args = scm_list_n (scm_int2num (break_status_dir ()), SCM_UNDEFINED);
-      SCM result = scm_apply_0 (vis, args);
-      bool trans = ly_scm2bool (scm_car (result));
-      bool empty = ly_scm2bool (scm_cdr (result));
+      bool visible = to_boolean (scm_vector_ref (vis,  scm_from_int 
(break_status_dir () + 1)));
 
-      if (empty && trans)
+      if (!visible)
        suicide ();
-      else if (empty)
-       {
-         set_extent (SCM_EOL, X_AXIS);
-         set_extent (SCM_EOL, Y_AXIS);
-       }
-      else if (trans)
-       set_property ("print-function", SCM_EOL);
     }
 }
 
Index: lilypond/lily/lily-guile.cc
diff -u lilypond/lily/lily-guile.cc:1.214 lilypond/lily/lily-guile.cc:1.215
--- lilypond/lily/lily-guile.cc:1.214   Mon Jul 11 11:51:42 2005
+++ lilypond/lily/lily-guile.cc Tue Jul 19 00:04:11 2005
@@ -41,6 +41,7 @@
 ly_to_string (SCM scm)
 {
   return scm_call_3 (ly_lily_module_constant ("format"), SCM_BOOL_F,
+
                     scm_makfrom0str ("~S"), scm);
 }
 
Index: lilypond/lily/system.cc
diff -u lilypond/lily/system.cc:1.108 lilypond/lily/system.cc:1.109
--- lilypond/lily/system.cc:1.108       Mon Jul 18 23:37:25 2005
+++ lilypond/lily/system.cc     Tue Jul 19 00:04:11 2005
@@ -289,7 +289,7 @@
   
   for (int i = 0 ;  i < all_elements_->size(); i ++)
     {
-      Grob *e =    all_elements_->grob (i);
+      Grob *e = all_elements_->grob (i);
       SCM proc = e->get_property ("spacing-procedure");
       if (ly_is_procedure (proc))
        scm_call_1 (proc, e->self_scm ());
Index: lilypond/scm/define-grob-properties.scm
diff -u lilypond/scm/define-grob-properties.scm:1.103 
lilypond/scm/define-grob-properties.scm:1.104
--- lilypond/scm/define-grob-properties.scm:1.103       Sat Jul 16 12:23:33 2005
+++ lilypond/scm/define-grob-properties.scm     Tue Jul 19 00:04:11 2005
@@ -463,13 +463,8 @@
      (number-visibility ,boolean-or-symbol? "Like
 @code{bracket-visibility}, but for the number.")
 
-     ;; FIXME.
-     (break-visibility ,procedure? "A function that takes the break
-direction and returns a cons of booleans containing (@var{transparent}
-. @var{empty}).  The following variables are predefined:
[EMAIL PROTECTED], @code{begin-of-line-visible},
[EMAIL PROTECTED], @code{begin-of-line-invisible},
[EMAIL PROTECTED], @code{all-invisible}.")
+     (break-visibility ,vector? "A vector of 3 booleans, #(end-of-line 
unbroken begin-of-line).
+#t means visible, #f means killed.")
      (flag-count ,number? "The number of tremolo beams.")
 
      (when ,ly:moment? "Global time step associated with this column
Index: lilypond/scm/output-lib.scm
diff -u lilypond/scm/output-lib.scm:1.83 lilypond/scm/output-lib.scm:1.84
--- lilypond/scm/output-lib.scm:1.83    Sat Jul 16 12:23:33 2005
+++ lilypond/scm/output-lib.scm Tue Jul 19 00:04:11 2005
@@ -173,16 +173,19 @@
 (define-public (default-bar-number-visibility barnum) (> barnum 1))
 
 ;; See documentation of Item::visibility_lambda_
-(define-safe-public (begin-of-line-visible d) (if (= d 1) '(#f . #f) '(#t . 
#t)))
-(define-safe-public (end-of-line-visible d) (if (= d -1) '(#f . #f) '(#t . 
#t)))
-(define-safe-public (spanbar-begin-of-line-invisible d) (if (= d -1) '(#t . 
#t) '(#f . #f)))
-
-(define-safe-public (all-visible d) '(#f . #f))
-(define-safe-public (all-invisible d) '(#t . #t))
-(define-safe-public (begin-of-line-invisible d) (if (= d 1) '(#t . #t) '(#f . 
#f)))
-(define-safe-public (center-invisible d) (if (= d 0) '(#t . #t) '(#f . #f)))
-(define-safe-public (end-of-line-invisible d) (if (= d -1) '(#t . #t) '(#f . 
#f)))
-
+(define-public begin-of-line-visible
+  #(#f #f #t))
+(define-public end-of-line-visible
+  #(#t #f #f))
+(define-public end-of-line-invisible
+  #(#f #t #t))
+(define-public spanbar-begin-of-line-invisible
+  #(#t #f #f))
+(define-public all-visible #(#t #t #t))
+(define-public all-invisible #(#f #f #f))
+(define-public begin-of-line-invisible
+  #(#t #t #f))
+(define-public center-invisible #(#t #f #t))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Bar lines.


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to