Re: Uses single algorithm for side-position spacing. (issue 6827072)

2012-11-29 Thread m...@mikesolomon.org

On 29 nov. 2012, at 03:23, k-ohara5...@oco.net wrote:

 
 http://codereview.appspot.com/6827072/diff/18003/lily/box-quarantine.cc
 File lily/box-quarantine.cc (right):
 
 http://codereview.appspot.com/6827072/diff/18003/lily/box-quarantine.cc#newcode69
 lily/box-quarantine.cc:69: int mid = ii0.mid_;
  assert ((double)(ii0.index - mid) = 0.0)
  assert ((double)(ii1.index - mid) = 0.0)
 

This will fail often...it is possible, for example, that ii0.index is 0 and mid 
is 3 (mid represents the middle index of the vector).

 http://codereview.appspot.com/6827072/diff/18003/lily/box-quarantine.cc#newcode93
 lily/box-quarantine.cc:93: Offset shift (-(epsilon + (ii[0].amount_ +
 padding_) / 2.0), 0.0);
 The padding appears in some places but not others; see
 'fingering-column.ly'
 

Fixed.

 http://codereview.appspot.com/6827072/diff/18003/lily/skyline.cc
 File lily/skyline.cc (right):
 
 http://codereview.appspot.com/6827072/diff/18003/lily/skyline.cc#newcode234
 lily/skyline.cc:234: // Flatten to height h
 What is the difference between this and Skyline:::set_minimum_height()
 at line 817 ?
 

Set minimum height allows for things over the minimum height to retain their 
skyline-ness, whereas this creates a flat skyline at height X.

 http://codereview.appspot.com/6827072/diff/18003/scm/define-grob-properties.scm
 File scm/define-grob-properties.scm (right):
 
 http://codereview.appspot.com/6827072/diff/18003/scm/define-grob-properties.scm#newcode492
 scm/define-grob-properties.scm:492: (horizon-padding ,number? The
 amount to pad the axis
 We already have 'skyline-horizontal-padding' on line 815 and
 'skyline-vertical-padding', so it would be better to use those.  You
 could look up one or the other depending on which axis, X or Y, in which
 the buildings grow.
 
 http://codereview.appspot.com/6827072/diff/18003/scm/define-grobs.scm
 File scm/define-grobs.scm (right):
 
 http://codereview.appspot.com/6827072/diff/18003/scm/define-grobs.scm#newcode253
 scm/define-grobs.scm:253: (horizon-padding . 0.05)
 This could be 'skyline-horizontal-padding' as in System and
 VerticalAxisGroup.
 

I definitely agree, but this'd be for another patch set.  The eventual goal of 
all of this is to get all spacing out of axis-group-interface and into side 
position interface via one general algorithm.  When that happens, I'll make 
these merges.  For now, it is a bit difficult, as there are two concurrent 
systems - one that specifies vertical versus horizontal padding and one that 
specifies padding versus horizon-padding.  The latter system (side-position) 
probably needs to be changed, but it'd require a major convert-ly rule.

 http://codereview.appspot.com/6827072/diff/18003/scm/define-grobs.scm#newcode886
 scm/define-grobs.scm:886: (add-stem-support . #t)
 Several regression tests assume this is false by default, and then
 toggle it to true, so as to test both cases.
 
 add-stem-support = #f doesn't seem to work very well with beams with
 this patch.
 

One can write a lambda function that returns #t if there is a beam present and 
#f otherwise.  Otherwise, the beam would have to be added at the engraver 
stage.  I prefer the former.

 http://codereview.appspot.com/6827072/diff/18003/scm/define-grobs.scm#newcode909
 scm/define-grobs.scm:909: (FingeringCollision
 This would need a convert-ly rule.  Why change the name ?
 

You recommended that in a previous review. I can push the convert-ly rule as a 
separate patch.

 http://codereview.appspot.com/6827072/


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


Re: Uses single algorithm for side-position spacing. (issue 6827072)

2012-11-29 Thread k-ohara5a5a

On 2012/11/29 08:28:31, mike7 wrote:

On 29 nov. 2012, at 03:23, mailto:k-ohara5...@oco.net wrote:



http://codereview.appspot.com/6827072/diff/18003/lily/box-quarantine.cc#newcode69

 lily/box-quarantine.cc:69: int mid = ii0.mid_;
  assert ((double)(ii0.index - mid) = 0.0)



it is possible, for example, that ii0.index is 0 and mid
is 3 (mid represents the middle index of the vector).


  ii0.index_ = 0;
  mid = 3;
  printf(%f\n,(double)(ii0.index_ - mid));

4294967293.00



 add-stem-support = #f doesn't seem to work very well with beams
 with this patch.



One can write a lambda function ...


But I want to set Wilder Reiter (my favorite piece when I was eight, and
the example we discussed where fingerings go alongside stems)
http://imslp.org/wiki/File:PMLP02707-Schumann_-_Album_für_die_Jugend.pdf
and I don't know how to write lambda functions.


http://codereview.appspot.com/6827072/diff/18003/scm/define-grobs.scm#newcode909

 scm/define-grobs.scm:909: (FingeringCollision
 This would need a convert-ly rule.  Why change the name ?




You recommended that in a previous review.


Well I must have been suffering from a case of the stupids, because
FingeringColumn was a perfect name for a column of fingering
indications.   Now I'm suffering a case of amnesia trying to think of
what I could have meant.

http://codereview.appspot.com/6827072/
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Uses single algorithm for side-position spacing. (issue 6827072)

2012-11-29 Thread k-ohara5a5a

It was Box_quarantine that seemed a confusing name. (Why 'quarantine'?
Is there something special about 40 boxes?)  I take back my suggestion.


http://codereview.appspot.com/6827072/diff/7041/lily/box-quarantine.cc
File lily/box-quarantine.cc (right):

http://codereview.appspot.com/6827072/diff/7041/lily/box-quarantine.cc#newcode63
lily/box-quarantine.cc:63: TODO: not sure if this loop causes infinite
behavior...
The while(dirty) loop runs 2366 times for the last chord in
'fingering-collision.ly' but that's an extreme case.

http://codereview.appspot.com/6827072/diff/7041/lily/fingering-column.cc
File lily/fingering-column.cc (left):

http://codereview.appspot.com/6827072/diff/7041/lily/fingering-column.cc#oldcode63
lily/fingering-column.cc:63: fingerings[i]-translate_axis
(-fingerings[i]-extent (common[Y_AXIS], Y_AXIS).length () / 2, Y_AXIS);
This shifted all the fingerings down to align them horizontally to their
note-heads, and is missing from the new code

http://codereview.appspot.com/6827072/

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


Re: Uses single algorithm for side-position spacing. (issue 6827072)

2012-11-29 Thread m...@mikesolomon.org

On 29 nov. 2012, at 10:24, k-ohara5...@oco.net wrote:

 It was Box_quarantine that seemed a confusing name. (Why 'quarantine'?
 Is there something special about 40 boxes?)  I take back my suggestion.
 
 
 http://codereview.appspot.com/6827072/diff/7041/lily/box-quarantine.cc
 File lily/box-quarantine.cc (right):
 
 http://codereview.appspot.com/6827072/diff/7041/lily/box-quarantine.cc#newcode63
 lily/box-quarantine.cc:63: TODO: not sure if this loop causes infinite
 behavior...
 The while(dirty) loop runs 2366 times for the last chord in
 'fingering-collision.ly' but that's an extreme case.

I'm not proud of this...

 
 http://codereview.appspot.com/6827072/diff/7041/lily/fingering-column.cc
 File lily/fingering-column.cc (left):
 
 http://codereview.appspot.com/6827072/diff/7041/lily/fingering-column.cc#oldcode63
 lily/fingering-column.cc:63: fingerings[i]-translate_axis
 (-fingerings[i]-extent (common[Y_AXIS], Y_AXIS).length () / 2, Y_AXIS);
 This shifted all the fingerings down to align them horizontally to their
 note-heads, and is missing from the new code
 

Fixed.

 http://codereview.appspot.com/6827072/


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


Re: Uses single algorithm for side-position spacing. (issue 6827072)

2012-11-29 Thread m...@mikesolomon.org
On 29 nov. 2012, at 10:13, k-ohara5...@oco.net wrote:

 On 2012/11/29 08:28:31, mike7 wrote:
 On 29 nov. 2012, at 03:23, mailto:k-ohara5...@oco.net wrote:
 
 
 http://codereview.appspot.com/6827072/diff/18003/lily/box-quarantine.cc#newcode69
  lily/box-quarantine.cc:69: int mid = ii0.mid_;
   assert ((double)(ii0.index - mid) = 0.0)
 
 it is possible, for example, that ii0.index is 0 and mid
 is 3 (mid represents the middle index of the vector).
 
  ii0.index_ = 0;
  mid = 3;
  printf(%f\n,(double)(ii0.index_ - mid));
 
 4294967293.00
 

woah...totally over my head, but ok, convinced

 
  add-stem-support = #f doesn't seem to work very well with beams
  with this patch.
 
 One can write a lambda function ...
 
 But I want to set Wilder Reiter (my favorite piece when I was eight, and
 the example we discussed where fingerings go alongside stems)
 http://imslp.org/wiki/File:PMLP02707-Schumann_-_Album_für_die_Jugend.pdf
 and I don't know how to write lambda functions.
 

I wrote a lambda function. Regest added.

 
 http://codereview.appspot.com/6827072/diff/18003/scm/define-grobs.scm#newcode909
  scm/define-grobs.scm:909: (FingeringCollision
  This would need a convert-ly rule.  Why change the name ?
 
 
 You recommended that in a previous review.
 
 Well I must have been suffering from a case of the stupids, because
 FingeringColumn was a perfect name for a column of fingering
 indications.   Now I'm suffering a case of amnesia trying to think of
 what I could have meant.


from days of yore...

http://codereview.appspot.com/6827072/diff/11002/lily/box-quarantine.cc#newcode24
lily/box-quarantine.cc:24: Box_quarantine::Box_quarantine (Real padding,
Axis a)
So far it looks like this handles fingering only.  Other similar
problems are handled with a XX_Collision object, so maybe just call this
Fingering_Collision ?___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: markup-commands rest-by-number and rest (issue 6850073)

2012-11-29 Thread benko . pal

On 2012/11/29 00:41:14, thomasmorley65 wrote:

On 2012/11/27 20:03:06, benko.pal wrote:



  Did you had a look on the compiled output of the new reg-tests?


I did now, it's OK with me.


https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest-styles.ly
File input/regression/markup-rest-styles.ly (right):

https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest-styles.ly#newcode25
input/regression/markup-rest-styles.ly:25: '(-3 -2 -1 0 1 2 3 4 5 6
7
please fix indentation, this and the next list are at quite different
levels.  similarly in the other .ly file.

https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest.ly
File input/regression/markup-rest.ly (right):

https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest.ly#newcode27
input/regression/markup-rest.ly:27: (if (= duration 0) dots )
this if looks superfluous

https://codereview.appspot.com/6850073/

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


still absent

2012-11-29 Thread Janek Warchoł
Dear friends,

i hope that you're doing well.
i have to remain off-list at least until Christmas :(

all the best,
Janek

PS the conductor of my choir is in critical state after heart surgery
complications.  please, pray for him if you can.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


How to do proper indentation?

2012-11-29 Thread Thomas Morley
Hi,

reviewing
https://codereview.appspot.com/6850073/
Pál admonished to do better indentation on lists at different levels.

Trying to minimize my lack of knowledge on this topic I searched the
CG about It.

CG 10.5.3 Indentation
mentions possibilities for emacs and vim, but I'm not familiar with them.
I'm using jEdit or gedit

Following the link in
CG 10.3.2 Desired file formatting
http://community.schemewiki.org/?scheme-style
doesn't help here.

My own guess would be (file is attached, too):

showSimpleRest =
#(define-scheme-function (parser location dots)
  (string?)
  (make-override-markup (cons 'baseline-skip 7)
   (make-column-markup
(map
 (lambda (style)
  (make-line-markup
   (list
(make-pad-to-box-markup '(0 . 20) '(0 . 0)
 (symbol-string style))
  (make-override-markup (cons 'line-width 60)
   (make-override-markup (cons 'style style)
(make-fill-line-markup
 (map
  (lambda (duration)
   (make-rest-markup
(if (string? duration)
  duration
  (string-append
   (number-string (expt 2 duration))
   (if (= duration 0) dots )
 (append '(maxima longa breve)(iota 8)
'(default
  mensural
  neomensural
  classical
  baroque
  altdefault
  petrucci
  blackpetrucci
  semipetrucci
  kievan)

Is this ok?
If not, how to do? Or where to look to learn it?


-Harm


indentation.ly
Description: Binary data
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: markup-commands rest-by-number and rest (issue 6850073)

2012-11-29 Thread thomasmorley65

On 2012/11/29 20:42:21, benko.pal wrote:

On 2012/11/29 00:41:14, thomasmorley65 wrote:
 On 2012/11/27 20:03:06, benko.pal wrote:

   Did you had a look on the compiled output of the new reg-tests?



I did now,


Thanks for doing this.


it's OK with me.



https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest-styles.ly

File input/regression/markup-rest-styles.ly (right):



https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest-styles.ly#newcode25

input/regression/markup-rest-styles.ly:25: '(-3 -2 -1 0 1 2 3 4 5 6

7

please fix indentation, this and the next list are at quite different

levels.

similarly in the other .ly file.


Couldn't find a guideline to do correct indentation here.
I ask on -devel


https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest.ly

File input/regression/markup-rest.ly (right):



https://codereview.appspot.com/6850073/diff/7/input/regression/markup-rest.ly#newcode27

input/regression/markup-rest.ly:27: (if (= duration 0) dots )
this if looks superfluous


Yep.
Will delete it.



https://codereview.appspot.com/6850073/

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


PATCH: Countdown to 20121203

2012-11-29 Thread Colin Campbell

For 22:00 MST Monday December 3rd

Crash:

 Issue 2972 
http://code.google.com/p/lilypond/issues/detail?id=2972: Adding 
StringNumber 0 in TabStaff crashes - R 6858077 
https://codereview.appspot.com/6858077/


Defect:
Issue 732 http://code.google.com/p/lilypond/issues/detail?id=732: 
Alignment problems when vertically stacking horizontally centered 
stencils - R 6855077 https://codereview.appspot.com/6855077/


Documentation:
Issue 2916 
http://code.google.com/p/lilypond/issues/detail?id=2916: Doc : NR 
Document \hide command - R 6851102 https://codereview.appspot.com/6851102/


Enhancement:
Issue 2984 
http://code.google.com/p/lilypond/issues/detail?id=2984: Patch: Use 
define-void-function rather than define-music-function in several places 
- R 6854104 https://codereview.appspot.com/6854104/
Issue 2982 
http://code.google.com/p/lilypond/issues/detail?id=2982: Patch: Remove 
selective contextmods. - R 6846107 
https://codereview.appspot.com/6846107/


Ugly:
Issue 2527 
http://code.google.com/p/lilypond/issues/detail?id=2527: Finger-flag 
collision - R 6827072 https://codereview.appspot.com/6827072/


Cheers,
Colin
--
Dwy ddim yn cwyno; mae neb yn gwrando!
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Uses single algorithm for side-position spacing. (issue 6827072)

2012-11-29 Thread k-ohara5a5a

'finger-chords.ly' is still in disagreement with its texidoc (therefore
failing).  You could adjust that regtest in light of the new defaults,
of course.

Better might be to make Fingering.add-stem-support = #only-if-beamed
the new default.  That is in better agreement with common practice.
Regtests come out just as good.  (Les-neréides.ly can remove a couple
tweaks, which seems to be how somebody was keeping score.)  Then users
will less often want to override add-stem-support, and when they do it
will be to the simpler ##f or ##t


 The while(dirty) loop runs 2366 times for the last chord in
 'fingering-collision.ly' but that's an extreme case.

I'm not proud of this...


It is at least comprehensible; while the code it replaced was utterly
baffling.  I simplified the loop
http://codereview.appspot.com/6854121/

You should at least put the filenames back to what they were, and adjust
any tests or documentation or snippets using add-stem support, before
pushing.

I started to test with real music.  The usual Chopin test case
http://www.mutopiaproject.org/cgibin/piece-info.cgi?id=1776
has a badly broken cross-staff beam in measure 27.  I don't yet see the
cause.

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