Re: Create engravers for merging rests (issue 321930043 by horndud...@gmail.com)

2017-05-20 Thread horndude77


https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm
File scm/scheme-engravers.scm (right):

https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm#newcode151
scm/scheme-engravers.scm:151: (define (rest-eqv rest-len-prop)
On 2017/05/20 12:18:33, thomasmorley651 wrote:

The current patch-set fails with:
"Variable used before given a value: rest-eqv"
because subsequent usage of 'define ...' is equivalent to let not let*



Moving (define (rest-eqv rest-len-prop) before the engraver-definiton

starts

will work or something at the lines of



...
   (let* ((rest-eqv
(lambda (rest-len-prop)
  (define (rest-len rest) (ly:grob-property rest

rest-len-prop))

  (lambda (rest-a rest-b)
(eqv? (rest-len rest-a) (rest-len rest-b)
  (mmrest-same-length (rest-eqv 'measure-count))
  (rest-same-length (rest-eqv 'duration-log)))



   (define (merge-mmrests rests)
...



Interesting. I didn't run into that error. I'm using the latest lilydev
which is using guile 2. That could be the difference. In any case I've
removed the methods so this shouldn't happen.

https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm#newcode167
scm/scheme-engravers.scm:167: (lambda (rest) (ly:grob-set-property! rest
'Y-offset (rest-offset rest)))
On 2017/05/20 14:33:15, david.nalesnik wrote:

Just moving one rest on top of the other might cause offsets with some

printers.

  This happened at one time with flags on chords: see
http://lists.gnu.org/archive/html/bug-lilypond/2015-08/msg00080.html



Would it work to set 'stencil of all of the cdr to point-stencil?


Using point-stencil causes odd alignment issues with text connected to
multimeasure rests. Making them invisible doesn't have this issue. Would
that solve the above potential problem?

Related to this, is there a way to re-parent grobs onto the surviving
rest? If so we could then use point-stencil (or possibly fully destroy)
the other rests.

https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm#newcode193
scm/scheme-engravers.scm:193: ((eq? 'MultiMeasureRest (grob::name grob))
On 2017/05/20 14:33:15, david.nalesnik wrote:

The only two grobs you could get are Rest and MultiMeasureRest, so you

could

just write



(else
   (set! [...]




[I think looking at the grob name is fine.]


It was simple enough to switch over and use (else ...) as well.

https://codereview.appspot.com/321930043/

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


Re: Create engravers for merging rests (issue 321930043 by horndud...@gmail.com)

2017-05-20 Thread david . nalesnik

Looks much better -- see comments below.


https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm
File scm/scheme-engravers.scm (right):

https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm#newcode167
scm/scheme-engravers.scm:167: (lambda (rest) (ly:grob-set-property! rest
'Y-offset (rest-offset rest)))
Just moving one rest on top of the other might cause offsets with some
printers.  This happened at one time with flags on chords: see
http://lists.gnu.org/archive/html/bug-lilypond/2015-08/msg00080.html

Would it work to set 'stencil of all of the cdr to point-stencil?

https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm#newcode193
scm/scheme-engravers.scm:193: ((eq? 'MultiMeasureRest (grob::name grob))
The only two grobs you could get are Rest and MultiMeasureRest, so you
could just write

(else
  (set! [...]


[I think looking at the grob name is fine.]

https://codereview.appspot.com/321930043/

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


Re: Create engravers for merging rests (issue 321930043 by horndud...@gmail.com)

2017-05-20 Thread thomasmorley65

Much better now, though:


https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm
File scm/scheme-engravers.scm (right):

https://codereview.appspot.com/321930043/diff/11/scm/scheme-engravers.scm#newcode151
scm/scheme-engravers.scm:151: (define (rest-eqv rest-len-prop)
The current patch-set fails with:
"Variable used before given a value: rest-eqv"
because subsequent usage of 'define ...' is equivalent to let not let*

Moving (define (rest-eqv rest-len-prop) before the engraver-definiton
starts will work or something at the lines of

...
  (let* ((rest-eqv
   (lambda (rest-len-prop)
 (define (rest-len rest) (ly:grob-property rest
rest-len-prop))
 (lambda (rest-a rest-b)
   (eqv? (rest-len rest-a) (rest-len rest-b)
 (mmrest-same-length (rest-eqv 'measure-count))
 (rest-same-length (rest-eqv 'duration-log)))

  (define (merge-mmrests rests)
...

https://codereview.appspot.com/321930043/

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


PATCHES - Countdown for May 20th

2017-05-20 Thread James
Hello,

Here is the current patch countdown list. The next countdown will be on
May 23rd.

A quick synopsis of all patches currently in the review process can be
found here:

http://philholmes.net/lilypond/allura/



Push: No patches to Push at this time.


Countdown:


1388 Support OpenType font features - Jay Anderson
https://sourceforge.net/p/testlilyissues/issues/1388
http://codereview.appspot.com/323850043


Review: No patches in review at this time.


New: No new patches at this time.


Regards

James

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


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