Joe Neeman wrote:
I've cleaned up most (all?) of the issues that you brought up with my previous code. I've moved some things around to improve readability and I've addressed a few of the performance problems. Also, it is now possible to force (or prevent) starting on the right hand page by using "first-page-right = ##t" in the \paper block. It will still crash if line breaking doesn't satisfy constraints and it still requires manual addition of possible break points.

I'm not so sure about my changes to make-page, but it makes calling make-page from C++ easier and it doesn't adversely affect any current usage...



Hi,

I've put constrained breaking into CVS HEAD. Can you head over and have a look?

I have the following remarks:

* vsize vs. int: casts should not be necessary. Can you use VPOS iso -1 as a magic signaling value?

  * The specification uses A j, k, n and m as variables.

Functions use start,end,sys_count,calc_subproblem as variables. Use the same naming for the specification as for the code.

  * Use

   int a;
   int b;

  iso.

   int a, b;


   * no spurious *'s in /* */ comments.

I tried to call (naively) Constrained_breaking::solve() from paper-score.cc, but it fails with


**
Calculating line breaks... lilypond: constrained-breaking.cc:332: void Constrained_breaking::prepare_solution(vsize, int, int, int*, int*): Bewering `start < start_.size () && end <= int (start_.size ())' mislukt.
Geannuleerd
**

when I feed it

**
\paper
{
  system-count = #4
}
\repeat unfold 20 { c''1 }

**

I tried to analyze for myself, but your naming confuses me: the spec uses A, j, n etc. while the code uses start, end, sys_count. Can you make sure that the spec corresponds to the code written, also in its naming details?

If the use in paper-score.cc is wrong, please make sure that the solve() just crashes in an obvious way instead of trying to continue.


--
 Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to