Re: Line breaking, simple-spacer, etc.

2010-02-10 Thread Werner LEMBERG

 In define-markup-commands.scm, there are references to things like
 wordwrap-internal-markup-list and
 make-wordwrap-internal-markup-list.  For example, in the function
 define-builtin-markup-list-command, there is the application
 (make-wordwrap-internal-markup-list #t args).  I can not find where
 these functions are defined.  Grepping the whole source tree only
 yields occurrences where they are applied.  I presume there must be
 some sort of dynamic building of the name and binding it to the the
 body (also there is the question then, how is the body constructed)?

Those functions are created by the define-markup-list-command macro
(defined in markup.scm).


Werner


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Line breaking, simple-spacer, etc.

2010-02-10 Thread Trevor Daniels


Werner LEMBERG Wednesday, February 10, 2010 8:01 AM


In define-markup-commands.scm, there are references to things 
like

wordwrap-internal-markup-list and
make-wordwrap-internal-markup-list.  For example, in the function
define-builtin-markup-list-command, there is the application
(make-wordwrap-internal-markup-list #t args).  I can not find 
where

these functions are defined.  Grepping the whole source tree only
yields occurrences where they are applied.  I presume there must 
be
some sort of dynamic building of the name and binding it to the 
the
body (also there is the question then, how is the body 
constructed)?


Those functions are created by the define-markup-list-command 
macro

(defined in markup.scm).


... and used to define wordwrap-internal-markup-list at line 975
in scm/define-markup-commands.scm, for example.

Trevor




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Line breaking, simple-spacer, etc.

2010-02-09 Thread Boris Shingarov

Quoting Joe Neeman joenee...@gmail.com:


We create lots of extra grobs (eg. a BarNumber at every bar line) but
most of them are not drawn. See the break-visibility property in
item-interface. 


Thanks Joe, this explanation does help a lot. 
I hope I am not abusing your (and the list's) patience by asking 
another question:


In define-markup-commands.scm, there are references to things like 
wordwrap-internal-markup-list and make-wordwrap-internal-markup-list.  
For example, in the function define-builtin-markup-list-command, there 
is the application (make-wordwrap-internal-markup-list #t args). 
I can not find where these functions are defined.  Grepping the whole 
source tree only yields occurrences where they are applied.  I presume 
there must be some sort of dynamic building of the name and binding it 
to the the body (also there is the question then, how is the body 
constructed)?




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Line breaking, simple-spacer, etc.

2010-02-04 Thread Boris Shingarov
I am experimenting with some modifications to the line breaking code, and I am 
stuck trying to understand how some of it works.  So far my understanding is 
that Simple_spacer operates on a vector of Grobs, and it is a well-known 
Constrained-QP problem (rods = constraints, springs = quadratic function to 
minimize).  What I don't understand is, if the spacer operates at the level of 
Grobs, which are built at an earlier stage in the pipeline, how are the changes 
necessitated by differences in line breaking, taken into account?  in other 
words, if I take the last measure of a line and place it on the next line, it 
is not just a matter of literally moving that graphic to where the start of the 
next line is, but I also need to draw a clef, key signature, and possibly other 
fundamental things -- but at that stage in the rendering pipeline, is it not 
too late??


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Line breaking, simple-spacer, etc.

2010-02-04 Thread Joe Neeman
On Thu, 2010-02-04 at 15:33 -0500, Boris Shingarov wrote:
 I am experimenting with some modifications to the line breaking code,
 and I am stuck trying to understand how some of it works.  So far my
 understanding is that Simple_spacer operates on a vector of Grobs, and
 it is a well-known Constrained-QP problem (rods = constraints, springs
 = quadratic function to minimize).  What I don't understand is, if the
 spacer operates at the level of Grobs, which are built at an earlier
 stage in the pipeline, how are the changes necessitated by differences
 in line breaking, taken into account?  in other words, if I take the
 last measure of a line and place it on the next line, it is not just a
 matter of literally moving that graphic to where the start of the next
 line is, but I also need to draw a clef, key signature, and possibly
 other fundamental things -- but at that stage in the rendering
 pipeline, is it not too late??

We create lots of extra grobs (eg. a BarNumber at every bar line) but
most of them are not drawn. See the break-visibility property in
item-interface.

Cheers,
Joe




___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel