lilypond-devel
[Top][All Lists]
Advanced

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

penalty -> permission patch


From: Joe Neeman
Subject: penalty -> permission patch
Date: Fri, 5 May 2006 16:41:05 +1000
User-agent: KMail/1.8.3

This patch has 2 purposes, but they intersect in paper-column-engraver.cc so I 
thought it was easier to send it as one patch.

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

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

\break, \pageBreak etc. use the -permission properties and the line breakers 
respect both permissions and penalties. page-turn-XXX is not yet used 
anywhere.


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.

2006-05-05  Joe Neeman  <address@hidden>

        * scm/define-context-properties.scm:
        * scm/define-grob-properties.scm:
        * scm/define-grobs.scm:
        * scm/define-music-properties.scm:
        * ly/declarations-init.ly:
        * lily/include/constrained-breaking.hh:
        * lily/system.cc:
        * lily/spaceable-grob.cc:
        * lily/simple-spacer.cc:
        * lily/paper-score.cc:
        * lily/paper-column.cc:
        * lily/paper-column-engraver.cc:
        * lily/item.cc:
        * lily/gourlay-breaking.cc:
        * lily/constrained-breaking.cc:
        * python/convertrules.py:
        Change "penalty", "page-penalty" and "breakable" to "break-penalty",
        "page-break-penalty" and "break-permission".
        Add "page-break-permission", "page-turn-permission" and 
"page-turn-penalty".

        * lily/bar-engraver.cc:
        * lily/beam-engraver.cc:
        * lily/forbid-break-engraver.cc:
        * lily/ligature-engraver.cc:
        * lily/paper-column-engraver.cc:
        * lily/percent-repeat-engraver.cc:
        * lily/score-engraver.cc:
        * lily/score-engraver.hh:
        * lily/paper-column-engraver.hh:
        Inter-engraver communication regarding line breaks is done through 
context
        properties (Score.forbidBreak) instead of function calls.

Attachment: penalty_permission_20060505.patch
Description: Text Data


reply via email to

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