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
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs