lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: penalty -> permission patch


From: Han-Wen Nienhuys
Subject: Re: penalty -> permission patch
Date: Fri, 05 May 2006 10:43:43 +0200
User-agent: Thunderbird 1.5 (X11/20060313)

Joe Neeman wrote:
First of all, instead of penalty, breakable and page-penalty, we now have:
break-penalty, break-permission
page-break-penalty, page-break-permission
page-turn-penalty, page-turn-permission

sounds good.

where XXX-permission can be 'allow, 'force or 'forbid.

can you drop the 'allow ? I think it's the proper default, so undefined ( SCM_EOL or rather, !scm_is_symbol() ) just means allow.


The second change is something we discussed a while ago -- in order to forbid line breaks, engravers will set forbidBreak = #t in the Score context instead of doing it with function calls through Score_engraver.

yes, that's good.

-              "keep-inside-line left-neighbors right-neighbors");
+              /* properties */
+              "measure-length "
+              "spacing-wishes "
+              "break-penalty "
+              "break-permission "
+              "minimum-distances "
+              "ideal-distances "
+              "keep-inside-line "
+              "left-neighbors "
+              "right-neighbors");

just a minuscule nit, but I try to keep/change to alphabetical order in properties. It's usually easiest to make sure the last one has a trailing space, and then use emacs sort-lines to do the sorting.

+  last_breakable_column_ = 0;
+  last_breakable_moment_.set_infinite (1);
 }


that's strange; in accordance with the name, I would take something like Moment (-1) for last_breakable_, and last_breakable_.main_part >= Rational(0) as test.

-    /* guh. Use properties! */
-    get_score_engraver ()->forbid_breaks ();
+    context ()->get_score_context ()->set_property ("forbidBreak", SCM_BOOL_T);

I think you can also drop get_score_engraver() now.

--

Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com





reply via email to

[Prev in Thread] Current Thread [Next in Thread]