Re: Adds a glyph for tied lyrics. (issue4808074)

2011-08-06 Thread lemzwerg

Please use tabs in MF files.  Besides that, everythings looks fine.

http://codereview.appspot.com/4808074/

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


Re: where X-extent of noteheads is set?

2011-08-06 Thread Bertrand Bordage
>
> I've done a very dirty test which showed that a properly set glyph
> bounding box solves this perfectly (see in the attachment how the
> bounding box should change).
> However, there is a problem.  Currently bounding box is set by
> procedure draw_outside_ellipse (defined in mf/feta-params.mf) - it is
> not set in the definition of the glyph.  How to set glyph bounding box
> to something different than outside_ellipse bounding box?


You could define it in the "final" definitions of glyphs. Here is an
example. Of course, these values have to be define in a clean metafont way.

fet_beginchar ("Brevis notehead", "sM1");
draw_brevis (1, 1);

draw_staff (-2, 2, 0);
set_char_box (.1 staff_space#, 2.1 staff_space#, .5 staff_space#, .5
staff_space#);
fet_endchar;

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


Re: 2.15.8 Regtests

2011-08-06 Thread Keith OHara
David Kastrup  gnu.org> writes:

> Looks like we associate differing meanings with one or several of the
> words "unless", "somebody" or "objects".
> 

Oops.  I'm delaying pushing.

The troublesome word was the verb "keep", from "I'd like to keep".  
Of course you can keep it, on your branch.

If the test remains in input/regression, then anyone inspecting the tests
will think that \revert of nested properties worked completely in version
2.14 but now fails.

Does anyone object to removing the test 'nested-property-revert.ly'
from the input/regression?




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


Re: Circular dependencies for beam-skip.ly

2011-08-06 Thread Keith OHara
mike  apollinemike.com  apollinemike.com> writes:
 
> I'm getting a lot of circular dependencies for
> input/regression/beam-skip.ly from the current master.  
> I don't have time to do a full git bisect, but is this 
> standard behavior?
> 

You should have a word with the gentleman who pushed that test and
caused us all this inconvenience.

The rest position depends on the beam, which depends on the stem-direction
of the rest, since there are only rests under the beam, which depends...

I replaced the test with something else that exposes the same bug, 1706,
but without all the warnings

\new Voice << { c'4 c'8 c' } { s8[ s] s[ s] } >>



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


Re: 2.15.8 Regtests

2011-08-06 Thread David Kastrup
Keith OHara  writes:

> David Kastrup  gnu.org> writes:
>
>> Keith OHara  oco.net> writes:
>> >
>> > Unless somebody objects, I will remove 'nested-property-revert.ly' from 
>> > the test suite; The test code still exists in the open issue 1063.
>> 
>> I'd like to keep this test as I am working on the full functionality.
>> It will likely get extended in the end to cover more cases, but it is
>> useful as a start already.
>
> Thanks, David.
>
> Since you are keeping a copy, and there is a copy on 1063, I will remove it
> from input/regression right away.
>
> Don't forget to make an extra copy before you next rebase the branch on which 
> you are working on 1063; you will probably need to `git add` it back to that 
> branch.

Looks like we associate differing meanings with one or several of the
words "unless", "somebody" or "objects".

-- 
David Kastrup


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


Re: 2.15.8 Regtests

2011-08-06 Thread Keith OHara
David Kastrup  gnu.org> writes:

> Keith OHara  oco.net> writes:
> >
> > Unless somebody objects, I will remove 'nested-property-revert.ly' from 
> > the test suite; The test code still exists in the open issue 1063.
> 
> I'd like to keep this test as I am working on the full functionality.
> It will likely get extended in the end to cover more cases, but it is
> useful as a start already.
> 

Thanks, David.

Since you are keeping a copy, and there is a copy on 1063, I will remove it
from input/regression right away.

Don't forget to make an extra copy before you next rebase the branch on which 
you are working on 1063; you will probably need to `git add` it back to that 
branch.
-
Keith


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


Re: where X-extent of noteheads is set?

2011-08-06 Thread Janek Warchoł
Hi,

i think i know how to fix this
(http://code.google.com/p/lilypond/issues/detail?id=1546 and some
related problems); there are two things to do.

>>> I suppose that noteheads X-extent is wrongly calculated now.  Judging
>>> by this 
>>> http://lilypond.googlecode.com/issues/attachment?aid=-4756087064344904294&name=test.png&token=22aa1208ff6775e1780efcedc7e7e841&inline=1
>>> , all noteheads are assigned the same X-extent, even though the glyphs
>>> have different widths.
>>
>> No, the problem is that the code doesn't account for differences in
>> font-size between heads; all the hard-coded shifts it calculates
>
> You mean the values in lines 264-291 of note-collision.cc?
>
>> (split equally between heads; heads move away from each other by the
>> same amount) are based on the assumption that meshing notes have the
>> same font-size.
>> Further to this (since I was thinking of collisions between CueVoice
>> and Voice), there are no rules in note-collision.cc which specifically
>> cater for heads with duration logs less than zero (apart from the
>> no-merge rule).
>
> Yes, neither different font-size nor different glyph widths seem to be
> cared for.

This needs to be changed so that shift amount depends on notehead
extent.  Anyone willing to help me with this?  I'll read the code and
i guess that i won't have much trouble understanding it, but changing
architecture is not what i'm good at.


> 2011/7/18 m...@apollinemike.com :
>>
>>> I don't want to read the value of extent, i want to modify how it's
>>> calculated in case of noteheads.
>>> I suppose that noteheads X-extent is wrongly calculated now.  Judging
>>> by this 
>>> http://lilypond.googlecode.com/issues/attachment?aid=-4756087064344904294&name=test.png&token=22aa1208ff6775e1780efcedc7e7e841&inline=1
>>> , all noteheads are assigned the same X-extent, even though the glyphs
>>> have different widths.
>>> Or maybe i don't understand how it works...
>>
>> The issue is in the metafont file: see line 160ish in feta-noteheads.mf.
>
> You mean that metafont's char box contains only the notehead, not the lines?
>
> I guess that the problem in general is that sometimes we want to
> include breve's lines in glyph width calculations, and sometimes not.
> Take this example:
>
> \new Voice  <<
>  { c''1 }
>  { \override Staff.NoteHead #'style = #'altdefault g'\breve }
>>>
> (i'm using double-lined breve to magnify the effect)
>
> the whole note and breve are "center-aligned" here - i.e. left-most
> edge of breve glyph is not aligned with left-most edge of whole note.
> I guess it's desired.  So, in the case of calculating non-colliding
> note columns we want to ignore the lines.  However, in all other cases
> we want to include them - for example in colliding note columns (like
> in 1546), in accidental calculations - see this, it looks quite bad
> now:
>
> \new Voice { \override Staff.NoteHead #'style = #'altdefault
> gis'\breve*1/2 ges' g'! }
>
> The question is - how this should be done?

I've done a very dirty test which showed that a properly set glyph
bounding box solves this perfectly (see in the attachment how the
bounding box should change).
However, there is a problem.  Currently bounding box is set by
procedure draw_outside_ellipse (defined in mf/feta-params.mf) - it is
not set in the definition of the glyph.  How to set glyph bounding box
to something different than outside_ellipse bounding box?

cheers,
Janek
<><><><>___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Adds a glyph for tied lyrics. (issue4808074)

2011-08-06 Thread bordage . bertrand

Reviewers: ,

Message:
Better handling of lyric ties:
* The space between two tied words is no more fixed. Its value is
word-space. The default space is therefore decreased.
* New glyph, so that we won't need an external font.
* Increased vertical space between words and tie. It is therefore now
possible to have commas in tied lyrics without any collision (example:
verte,~et).

How to build it:
rm mf/out/feta*
make

Regards,
Bertrand

Description:
Adds a glyph for tied lyrics.

Please review this at http://codereview.appspot.com/4808074/

Affected files:
  M Documentation/de/notation/vocal.itely
  M Documentation/es/notation/vocal.itely
  M Documentation/fr/notation/vocal.itely
  M Documentation/notation/vocal.itely
  M mf/feta-generic.mf
  M mf/feta-test-generic.mf
  A mf/feta-ties.mf
  M scm/define-markup-commands.scm



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


Re: 2.15.8 Regtests

2011-08-06 Thread David Kastrup
Keith OHara  writes:

> No need for a new tracked issue.  'nested-property-revert.ly' was the test
> for issue 1063.  
>
> It is now clear that issue 1063 was never really fixed. The goal was to 
> make \revert restore the default value in more situations.  
> The patch made 'nested-property-revert.ly' work, 
>   but made 'property-nested-revert.ly' fail,
> as noted in issue 1771.  These similarly-named tests cover the same concept.
>
> Version 2.14 did not actually get the desired behavior that issue 1063 asked
> for, so there is no meaningful regression. 
>
> Unless somebody objects, I will remove 'nested-property-revert.ly' from 
> the test suite; The test code still exists in the open issue 1063.

I'd like to keep this test as I am working on the full functionality.
It will likely get extended in the end to cover more cases, but it is
useful as a start already.

-- 
David Kastrup


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


Re: a starting point to 1301

2011-08-06 Thread Janek Warchoł
2011/7/19 Neil Puttock :
> 2011/7/18 Janek Warchoł :
>
>> My friend and I, having some spare time, wanted to fix a bug
>> http://code.google.com/p/lilypond/issues/detail?id=1301.  It's related
>> to planning distribution of music notes and other signs, so we need
>> some overview how the whole process works.  Comments in the source
>> code are rare and in the documentation we couldn't find a word about
>> it.  Where could we find some info?
>
> The clef is on a loose column (it floats before the head), so the
> first place I'd look would be lily/spacing-loose-columns.cc (and
> possibly lily/spacing-determine-loose-columns.cc).
>
> I'd guess the problem is the way loose columns are spaced between
> other columns: in this snippet, the columns for the quaver and tuplet
> minim are so close together that the clef's column gets dumped on top
> of the quaver (since it's loose, it doesn't influence the spacing).

Sorry for not responding earlier...  My friend and I didn't have a
chance to work on this again yet (it's too difficult for me - i tried
reading that code and i'm a bit lost, so i prefer to work on things
easier for me), but in order not to waste your answer, maybe let's add
it to CG/Programming work/miscellaney ?  I attach a patch.

thanks,
Janek
From f889ee5ee4b4277039723a02f549c42fb90f6401 Mon Sep 17 00:00:00 2001
From: Janek Warchol 
Date: Sat, 6 Aug 2011 23:32:27 +0200
Subject: [PATCH] CG: add info about spacing from e-mail

---
 Documentation/contributor/programming-work.itexi |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/Documentation/contributor/programming-work.itexi b/Documentation/contributor/programming-work.itexi
index 593e456..e64fa16 100644
--- a/Documentation/contributor/programming-work.itexi
+++ b/Documentation/contributor/programming-work.itexi
@@ -1679,6 +1679,16 @@ 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.
 
+Here is another e-mail exchange.  Janek Warchoł asked for a starting point
+to fixing 1301 (change clef colliding with notes).  Neil Puttock replied:
+
+The clef is on a loose column (it floats before the head), so the
+first place I'd look would be lily/spacing-loose-columns.cc (and
+possibly lily/spacing-determine-loose-columns.cc).
+I'd guess the problem is the way loose columns are spaced between
+other columns: in this snippet, the columns for the quaver and tuplet
+minim are so close together that the clef's column gets dumped on top
+of the quaver (since it's loose, it doesn't influence the spacing).
 
 @node Info from Han-Wen email
 @subsection Info from Han-Wen email
-- 
1.7.0.4

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


lily/auto-beam-engraver: keep a Context_handle to starting Staff (issue4830064)

2011-08-06 Thread pkx166h

Passes make and reg tests

http://codereview.appspot.com/4830064/

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


Re: 2.15.8 Regtests

2011-08-06 Thread Keith OHara
Phil Holmes  philholmes.net> writes:
> 
> > "Phil Holmes"  philholmes.net> writes:
> >
> >> One major change from 2.15.7 - in nested-property-revert.ly.  I'm
> >> assuming this is down to David's reversion of an earlier commit. 

> I think this needs to be added to the tracker, and would normally count as 
> critical regression.  

Phil,
No need for a new tracked issue.  'nested-property-revert.ly' was the test
for issue 1063.  

It is now clear that issue 1063 was never really fixed. The goal was to 
make \revert restore the default value in more situations.  
The patch made 'nested-property-revert.ly' work, 
  but made 'property-nested-revert.ly' fail,
as noted in issue 1771.  These similarly-named tests cover the same concept.

Version 2.14 did not actually get the desired behavior that issue 1063 asked
for, so there is no meaningful regression. 

Unless somebody objects, I will remove 'nested-property-revert.ly' from 
the test suite; The test code still exists in the open issue 1063.




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


Re: Fixes bad slur heights by limiting fit_factor to the interior of slurs. (issue4810072)

2011-08-06 Thread pkx166h

Passes make and one reg test difference

http://code.google.com/p/lilypond/issues/detail?id=163#c23

see attached there.

http://codereview.appspot.com/4810072/

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


Re: Creates a glissando stem grob that uses stems' functionality. (issue4777044)

2011-08-06 Thread pkx166h

make fails.

--snip--

 -DHAVE_CONFIG_H  -DNDEBUG -I/home/jlowe/lilypond-git/lily/include
-I./out -I/home/jlowe/lilypond-git/flower/include -I../flower/./out
-I../flower/include -I/home/jlowe/lilypond-git/lily/out  -O2
-finline-functions -g -pipe -pthread -I/usr/include/freetype2   -pthread
-I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-Wno-pmf-conversions  -W -Wall -Wconversion -o
out/note-head-line-engraver.o
/home/jlowe/lilypond-git/lily/note-head-line-engraver.cc
/home/jlowe/lilypond-git/lily/glissando-stem.cc:134: warning: unused
parameter 'smob'
/home/jlowe/lilypond-git/lily/glissando-stem.cc: In static member
function 'static scm_unused_struct*
Glissando_stem::calc_head_positions(scm_unused_struct*)':
/home/jlowe/lilypond-git/lily/glissando-stem.cc:154: error:
'VALGRIND_PRINTF_BACKTRACE' was not declared in this scope
make[1]: *** [out/glissando-stem.o] Error 1
make[1]: *** Waiting for unfinished jobs
make[1]: Leaving directory `/home/jlowe/lilypond-git/build/lily'
make: *** [all] Error 2
jlowe@jlowe-lilybuntu2:~/lilypond-git/build$


sorry

James

http://codereview.appspot.com/4777044/

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


Re: Fixes issue 40. (issue4801083)

2011-08-06 Thread pkx166h

Pass make and reg tests

http://codereview.appspot.com/4801083/

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


Re: Progress on loose columns. (issue4841052)

2011-08-06 Thread Keith OHara

On Sat, 06 Aug 2011 01:52:27 -0700, m...@apollinemike.com 
 wrote:


Do you know where these reference points are specified?



No, but the extents of each glyph are calculated relative to the reference 
points,
so from the extents we can figure how long to make the rods to prevent the 
glyphs from touching, etc.


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


Re: GOP-PROP 8: issue priorities

2011-08-06 Thread Keith OHara

On Sat, 06 Aug 2011 00:13:49 -0700, Jan Warchoł 
 wrote:


2011/8/6 Keith OHara :

"order in which the project encourages
contributors to attack issues".


Sounds good to me.  Still, decision depends on our views about
relative importance of user needs vs. developer needs.


Decision of the contributor on what to attack next, right?

We could collectively agree how to assign "priorities", right now
-- without all agreeing on whether the precise spacing of notes in boring 
monophonic music is more or less important than making readable interesting 
piano music with clef changes and staff-crossings :-)


On Sat, 06 Aug 2011 00:55:46 -0700, James Lowe  wrote:


This sounds a bit like "let's drop 'priority' field and use labels only" :)


-

OK but it still doesn't get away from the 'when do we release the next stable 
release' question if we only have labels?



I don't think Janek was suggesting we drop the field, only that my suggestion 
sounds more like a label than a rank.

When it's time for a release we make sure the Critical issues are solved.  
Right before a release individual contributors will probably prefer to 
concentrate on ugliness issues, whether we assign them High or Medium, and go 
back to maintenance issues after the release.



Also let's say I have 20 'ugly output' issues, how do I as a user show my 
preference for one or more of them so that a dev who has the skill and choice 
to work on any knows which one will benefit the project from a user's 
perspective?



How do you do it now?
Star the issue.  Post a well-considered description of what the good output 
would be, maybe with a reference, so the developer knows how to proceed without 
making a trip to the library.  Complaining about how bad the bug is tends to 
back-fire, but sometimes we need some explanation why the buggy output is 
actually wrong.


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


Re: GOP-PROP 5: build system output (final)

2011-08-06 Thread Keith OHara

On Sat, 06 Aug 2011 03:13:33 -0700, Phil Holmes  wrote:


From: "Keith OHara" 


I agree, and want `make bin` to show me warnings.  I might have been
taking the proposal too literally.



I know no reason why it shouldn't.  Have you tried putting code that emits
errors or warnings into /lily and running make bin?


Make does show warnings on the terminal right now.
  make -s bin
lets me find them, which makes me very happy.

Only after the proposal is fully implemented, will a successful build stop 
showing me the warnings.

I'd be happy if we leave the redirection-to-file of stderr from gcc and 
standard tools, as the last piece to implemented in the proposal.


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


Fixes issue 40. (issue4801083)

2011-08-06 Thread mtsolo

Reviewers: ,

Message:
Here's a fix for Issue 40.

Cheers,
MS

Description:
Fixes issue 40.

Please review this at http://codereview.appspot.com/4801083/

Affected files:
  M lily/line-spanner.cc
  M scm/define-grobs.scm


Index: lily/line-spanner.cc
diff --git a/lily/line-spanner.cc b/lily/line-spanner.cc
index  
b2877211f17d31eac7fb87ead457feadaf892777..ade5b7d4bc1ee6ee287997733eb88c844cd422d5  
100644

--- a/lily/line-spanner.cc
+++ b/lily/line-spanner.cc
@@ -24,6 +24,7 @@
 #include "item.hh"
 #include "lily-proto.hh"
 #include "line-interface.hh"
+#include "note-column.hh"
 #include "output-def.hh"
 #include "pointer-group-interface.hh"
 #include "spanner.hh"
@@ -108,9 +109,13 @@ Line_spanner::calc_bound_info (SCM smob, Direction dir)
  ? columns[0] : columns.back ();
 }

+  Real x_coord = robust_relative_extent (bound_grob, commonx,  
X_AXIS).linear_combination (attach);
+  Grob *acc = Note_column::accidentals (bound_grob->get_parent  
(X_AXIS));
+  if (acc && to_boolean (ly_assoc_get (ly_symbol2scm  
("end-on-accidental"), details, SCM_BOOL_F)))
+x_coord = robust_relative_extent (acc, commonx,  
X_AXIS).linear_combination (attach);

+
   details = scm_acons (ly_symbol2scm ("X"),
-   scm_from_double (robust_relative_extent  
(bound_grob, commonx, X_AXIS)

-.linear_combination (attach)),
+   scm_from_double (x_coord),
details);
 }

Index: scm/define-grobs.scm
diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
index  
4545e5bd9f6f7c130267397d3947812e31c82881..b618516173eea8f5ad10f5b9514e8999f0ddfc8d  
100644

--- a/scm/define-grobs.scm
+++ b/scm/define-grobs.scm
@@ -929,11 +929,12 @@
 (Glissando
  . (
(after-line-breaking . ,ly:spanner::kill-zero-spanned-time)
-   (bound-details . ((right . ((attach-dir .  ,CENTER)
-   (padding . 1.5)
+   (bound-details . ((right . ((attach-dir .  ,LEFT)
+   (end-on-accidental . #t)
+   (padding . 0.5)
  ))
- (left . ((attach-dir .  ,CENTER)
-  (padding . 1.5)
+ (left . ((attach-dir .  ,RIGHT)
+  (padding . 0.5)
  ))
  ))
(gap . 0.5)



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


Re: Creates a glissando stem grob that uses stems' functionality. (issue4777044)

2011-08-06 Thread mtsolo

I've merged my glissando stem work with current master.  It passes
regtests and can currently handle tremoli and scripts (see the regtest).
 However, these scripts just kinda float in the ether - they are prone
to bump into anything outside the staff (for now).  If anyone has any
suggestions for how to make:

a'4 \glissando
\xenakisStems { s4-.^"foo" }
a''4

such that the staccato does not bump into foo, I'd be much obliged.  It
likely has something to do with outside staff skylines and such, but I'm
not sure yet how to negotiate this with pure heights.

Once this gets pushed, I'll work on beams.

Cheers,
MS

http://codereview.appspot.com/4777044/

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


Re: Rewrite regtest mozart-hrn-3.ly (issue4811066)

2011-08-06 Thread Phil Holmes
- Original Message - 
From: 
To: ; ; 


Cc: ; 
Sent: Saturday, August 06, 2011 4:23 PM
Subject: Re: Rewrite regtest mozart-hrn-3.ly (issue4811066)




http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly
File input/regression/mozart-hrn-3.ly (right):

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode25
input/regression/mozart-hrn-3.ly:25: \fill-line { "This music is part of
the Mutopia project,"
On 2011/08/06 14:57:14, PhilEHolmes wrote:

On 2011/08/02 19:59:39, Neil Puttock wrote:



Can't see a missing line.  I was trying to recreate the old
regtest, but with better syntax, so wasn't adding lines
where they didn't exist.


Not a missing line, but a missing \line (the markup command); I suspect
it's a convert-ly problem from a while back (when the markup syntax
changed).

Here's the last page from the 2.4 docs:
http://lilypond.org/doc/v2.4/input/mutopia/W.A.Mozart/out-www/mozart-hrn-3-page4.png

http://codereview.appspot.com/4811066/


Thanks for your time on this one Neil.  Final patch (?) uploaded for 
review - it uses \line where appropriate, I hope.  (BTW - I also got rid of 
the code that changed the beams and stems - I think it's better without.)


--
Phil Holmes



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


Re: 2.15.8 Regtests

2011-08-06 Thread David Kastrup
Neil Puttock  writes:

> On 6 August 2011 15:31, David Kastrup  wrote:
>
>> I have a hard time counting the removal of a band aid for an artificial
>> test case with undefined behavior (try finding a place in the user
>> documentation that declares this kind of code as producing predictable
>> results) as a regression because the original code did not fix the
>> underlying problem, but merely masked it.
>
> So how would you expect the following code to behave?  It's the
> snippet from the original bug report, which segfaulted in stem.cc.
>
> \relative c' {
>   \time 2/4
>   \voiceOne
>   s16 [g s g ] s16 [g s g ] |
>   s16 [g s g ] \override Stem #'(details beamed-lengths) = #'(15 15)
>   s16 [g s g ] |
>   s16 [g s g ] s16 [g s g ] |
>   s16 [g s g ] \revert Stem #'(details beamed-lengths) s16 [g s g ] |
>   s16 [g s g ] s16 [g s g ] |
> }
>
> The regression test is deliberately artificial since it gives a clear
> indication of failure, which this code doesn't (the segfault no longer
> occurs due to checking the nested property is a pair before using
> robust_list_ref).  I don't think it's unreasonable to expect this code
> to return 'beamed-lengths to the default value defined in
> define-grobs.scm.

The problem is that you can't reliably distinguish

\override Stem #'(details) = #'(beamed-lengths 15 15)
from
\override Stem #'(details beamed-lengths) = #'(15 15)

Maybe something like
(eq? (assq-ref (cdr alist) (caar alist)) (cddar alist))
could determine whether we are still on the spine leading to the
nested override or beyond it, but I am skeptical, and it still does not
solve the problem that updating a nested property in a parenting context
will require updating of the copies in the current context.

In any case, I am not interested in policies.  Mark this whatever you
like, use whatever inconsistent behavior you like.  The smaller code is
more useful as a starting point for reasonably sensible and correct
behavior, and I never suggested that it stay in either of the incorrect
states.

-- 
David Kastrup

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


Re: Fixes bad slur heights by limiting fit_factor to the interior of slurs. (issue4810072)

2011-08-06 Thread m...@apollinemike.com
On Aug 6, 2011, at 11:09 AM, lemniskata.bernoull...@gmail.com wrote:

> Hi Mike,
> 
> i tried writing a review, but i don't understand what's going on here.
> Can you add some comments to the code?
> 
> cheers,
> Janek
> 

The function fit_factor pushes up the height of a slur if there is an 
extra-encompass-object in the way.  My change makes this function ignore all 
extra-encompass-objects close to the extremes of a slur, as these objects have 
a tendency to push a slur up disproportionately high.  These objects are still 
penalized in the scoring, which results in their avoidance if possible.

Cheers,
MS


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


Re: Rewrite regtest mozart-hrn-3.ly (issue4811066)

2011-08-06 Thread n . puttock


http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly
File input/regression/mozart-hrn-3.ly (right):

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode25
input/regression/mozart-hrn-3.ly:25: \fill-line { "This music is part of
the Mutopia project,"
On 2011/08/06 14:57:14, PhilEHolmes wrote:

On 2011/08/02 19:59:39, Neil Puttock wrote:



Can't see a missing line.  I was trying to recreate the old
regtest, but with better syntax, so wasn't adding lines
where they didn't exist.


Not a missing line, but a missing \line (the markup command); I suspect
it's a convert-ly problem from a while back (when the markup syntax
changed).

Here's the last page from the 2.4 docs:
http://lilypond.org/doc/v2.4/input/mutopia/W.A.Mozart/out-www/mozart-hrn-3-page4.png

http://codereview.appspot.com/4811066/

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


Re: 2.15.8 Regtests

2011-08-06 Thread Neil Puttock
On 6 August 2011 15:31, David Kastrup  wrote:

> I have a hard time counting the removal of a band aid for an artificial
> test case with undefined behavior (try finding a place in the user
> documentation that declares this kind of code as producing predictable
> results) as a regression because the original code did not fix the
> underlying problem, but merely masked it.

So how would you expect the following code to behave?  It's the
snippet from the original bug report, which segfaulted in stem.cc.

\relative c' {
  \time 2/4
  \voiceOne
  s16 [g s g ] s16 [g s g ] |
  s16 [g s g ] \override Stem #'(details beamed-lengths) = #'(15 15)
  s16 [g s g ] |
  s16 [g s g ] s16 [g s g ] |
  s16 [g s g ] \revert Stem #'(details beamed-lengths) s16 [g s g ] |
  s16 [g s g ] s16 [g s g ] |
}

The regression test is deliberately artificial since it gives a clear
indication of failure, which this code doesn't (the segfault no longer
occurs due to checking the nested property is a pair before using
robust_list_ref).  I don't think it's unreasonable to expect this code
to return 'beamed-lengths to the default value defined in
define-grobs.scm.

Cheers,
Neil

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


Re: Rewrite regtest mozart-hrn-3.ly (issue4811066)

2011-08-06 Thread Phil Holmes
- Original Message - 
From: 

To: ; 
Cc: ; 
Sent: Saturday, August 06, 2011 3:57 PM
Subject: Re: Rewrite regtest mozart-hrn-3.ly (issue4811066)



Again - not too familiar with the codereview tool, so I hope this makes
sense.  New patch set soon.


http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly
File input/regression/mozart-hrn-3.ly (right):

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode25
input/regression/mozart-hrn-3.ly:25: \fill-line { "This music is part of
the Mutopia project,"
On 2011/08/02 19:59:39, Neil Puttock wrote:

Can't see a missing line.  I was trying to recreate the old
regtest, but with better syntax, so wasn't adding lines
where they didn't exist.



Hmm.  Wherever it says "Neil Puttock wrote" it means Neil made a comment 
here and I responded with the words below.  Must work out how the codereview 
site works...


--
Phil Holmes



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


Re: Rewrite regtest mozart-hrn-3.ly (issue4811066)

2011-08-06 Thread PhilEHolmes

Again - not too familiar with the codereview tool, so I hope this makes
sense.  New patch set soon.


http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly
File input/regression/mozart-hrn-3.ly (right):

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode25
input/regression/mozart-hrn-3.ly:25: \fill-line { "This music is part of
the Mutopia project,"
On 2011/08/02 19:59:39, Neil Puttock wrote:

Can't see a missing line.  I was trying to recreate the old
regtest, but with better syntax, so wasn't adding lines
where they didn't exist.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode28
input/regression/mozart-hrn-3.ly:28: \fill-line { #(ly:export
(string-append "It has been typeset and placed in the public "
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode29
input/regression/mozart-hrn-3.ly:29: "domain by "  maintainer  "."))
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode31
input/regression/mozart-hrn-3.ly:31: \fill-line { #(ly:export
(string-append "Unrestricted modification and redistribution"
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode32
input/regression/mozart-hrn-3.ly:32: " is permitted and
encouraged---copy this music"
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode33
input/regression/mozart-hrn-3.ly:33: " and share it!"))
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode53
input/regression/mozart-hrn-3.ly:53: system-system-spacing
#'basic-distance = 10 \mm
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode54
input/regression/mozart-hrn-3.ly:54: score-system-spacing
#'basic-distance = 20 \mm
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode61
input/regression/mozart-hrn-3.ly:61: \header { piece = "Allegro" opus =
"" }
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode73
input/regression/mozart-hrn-3.ly:73: \header { piece = "Romanze" opus =
"" }
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode82
input/regression/mozart-hrn-3.ly:82: \layout {}
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn-3.ly#newcode88
input/regression/mozart-hrn-3.ly:88: \header { piece = "Rondo" opus = ""
}
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily
File input/regression/mozart-hrn3-defs.ily (right):

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily#newcode16
input/regression/mozart-hrn3-defs.ily:16: \override MultiMeasureRest
#'padding = #0.5
On 2011/08/02 19:59:39, Neil Puttock wrote:

If it doesn't do anything, I'll just take it out.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily#newcode22
input/regression/mozart-hrn3-defs.ily:22: \override Beam #'thickness =
#0.6
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily#newcode23
input/regression/mozart-hrn3-defs.ily:23: \override Beam
#'space-function = #(lambda (beam mult) 0.8)
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily#newcode27
input/regression/mozart-hrn3-defs.ily:27: \override VerticalAxisGroup
#'minimum-Y-extent = #'(-2.5 . 3.5)
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily#newcode32
input/regression/mozart-hrn3-defs.ily:32: indent = 10. \mm
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-defs.ily#newcode33
input/regression/mozart-hrn3-defs.ily:33: line-width = 189. \mm
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-rondo.ily
File input/regression/mozart-hrn3-rondo.ily (right):

http://codereview.appspot.com/4811066/diff/1/input/regression/mozart-hrn3-rondo.ily#newcode23
input/regression/mozart-hrn3-rondo.ily:23: rondo =\relative c' {
On 2011/08/02 19:59:39, Neil Puttock wrote:

Done.

http://codereview.appspot.com/4811066/

__

Re: 2.15.8 Regtests

2011-08-06 Thread David Kastrup
"Phil Holmes"  writes:

>> "Phil Holmes"  writes:
>>
>>> One major change from 2.15.7 - in nested-property-revert.ly.  I'm
>>> assuming this is down to David's reversion of an earlier commit.  I'm
>>> not expert enough to say what should happen here, although it doesn't
>>> look right to me.
>>
>> This "should not" is not achievable with the current data structures
>> without causing other regressions even harder to explain (which already
>> happened).  So I picked the less complex code and behavior as a starting
>> point for first fixing the data structures, then the code.
>>
>> The test case is quite artificial and, in my opinion, not worth fixing
>> temporarily at the cost of breaking more straightforward code.
>
> I think this needs to be added to the tracker, and would normally
> count as critical regression.  I'm tempted to mark it regression -
> high - since it's only there because of another critical that you
> fixed (IIRC) and you are working on it.  You OK with that?

I have a hard time counting the removal of a band aid for an artificial
test case with undefined behavior (try finding a place in the user
documentation that declares this kind of code as producing predictable
results) as a regression because the original code did not fix the
underlying problem, but merely masked it.

As a rather silly analogy: imagine that I put exit(0) right at the start
of the main program.  Somebody takes it out eventually, and I demand
that every segfault needs now to be labelled as a regression since
Lilypond did not segfault with my fix installed.

Bluntly: unmatched nested overrides/reverts never ever worked sensibly,
and actually their behavior never has been defined in the user
documentation either.  That we temporarily had a "fix" that was
hand-crafted to match the only test-case in our regression tests in
order to make just this test produce more intuitive results, does not
change that.

So I don't see the regression, and frankly, I don't see the high
importance as the feature could not be used predictably at any point of
time.  It is a rather new and, obviously, largely untested feature.  If
you tread carefully (and this test case doesn't), you are likely to get
what you expect.  There is a cheap workaround: don't revert a nested
property that you did not override in the same manner and order.

-- 
David Kastrup

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


Re: 2.15.8 Regtests

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "David Kastrup" 

To: 
Sent: Saturday, August 06, 2011 3:04 PM
Subject: Re: 2.15.8 Regtests



"Phil Holmes"  writes:


One major change from 2.15.7 - in nested-property-revert.ly.  I'm
assuming this is down to David's reversion of an earlier commit.  I'm
not expert enough to say what should happen here, although it doesn't
look right to me.


It's work in progress, I am afraid.  If you take a look at the source
code, you'll see that it is quite dubious:

   \version "2.14.0"

   \header {
 texidoc = "
   If a nested property revert follows an override in the same grob for
   a different property, the nested property's default setting should not
   be evicted from the property alist.
   "
   }

   \relative c' {
 c1\startTrillSpan
 c1\stopTrillSpan
 \override TrillSpanner #'color =  #red
 \revert TrillSpanner #'(bound-details left text)
 c1\startTrillSpan
 c1\stopTrillSpan
   }

This "should not" is not achievable with the current data structures
without causing other regressions even harder to explain (which already
happened).  So I picked the less complex code and behavior as a starting
point for first fixing the data structures, then the code.

The test case is quite artificial and, in my opinion, not worth fixing
temporarily at the cost of breaking more straightforward code.

So this is work in progress.  I am on it, but currently I need to find
the source of a segmentation fault.  If we are lucky, it is the same
already marked down as critical.


I think this needs to be added to the tracker, and would normally count as 
critical regression.  I'm tempted to mark it regression - high - since it's 
only there because of another critical that you fixed (IIRC) and you are 
working on it.  You OK with that?


--
Phil Holmes



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


Re: 2.15.8 Regtests

2011-08-06 Thread David Kastrup
"Phil Holmes"  writes:

> One major change from 2.15.7 - in nested-property-revert.ly.  I'm
> assuming this is down to David's reversion of an earlier commit.  I'm
> not expert enough to say what should happen here, although it doesn't
> look right to me.

It's work in progress, I am afraid.  If you take a look at the source
code, you'll see that it is quite dubious:

\version "2.14.0"

\header {
  texidoc = "
If a nested property revert follows an override in the same grob for
a different property, the nested property's default setting should not
be evicted from the property alist.
"
}

\relative c' {
  c1\startTrillSpan
  c1\stopTrillSpan
  \override TrillSpanner #'color =  #red
  \revert TrillSpanner #'(bound-details left text)
  c1\startTrillSpan
  c1\stopTrillSpan
}

This "should not" is not achievable with the current data structures
without causing other regressions even harder to explain (which already
happened).  So I picked the less complex code and behavior as a starting
point for first fixing the data structures, then the code.

The test case is quite artificial and, in my opinion, not worth fixing
temporarily at the cost of breaking more straightforward code.

So this is work in progress.  I am on it, but currently I need to find
the source of a segmentation fault.  If we are lucky, it is the same
already marked down as critical.

-- 
David Kastrup


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


2.15.8 Regtests

2011-08-06 Thread Phil Holmes
One major change from 2.15.7 - in nested-property-revert.ly.  I'm assuming 
this is down to David's reversion of an earlier commit.  I'm not expert 
enough to say what should happen here, although it doesn't look right to me.


--
Phil Holmes
Bug Squad

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


Re: GOP-PROP 8: issue priorities

2011-08-06 Thread Wols Lists
On 06/08/11 08:47, David Kastrup wrote:
> The compromises between the wishes of people and the technical feasible
> things and those you want to do are a moving target.  And the
> responsibility for making technical and logical impossibilities
> disappear, to match the program better to expectations and requirements,
> is only something the experienced programmer can do.  Sometimes the
> results please the user more than the programmer.  It is hard to
> generalize this into policies, since a policy would not change its mind
> if enough people bother it.

And sometimes, the user needs results that the programmer hates. At the
moment, I've got a piece of music I need to clean up because it looks
awful. And it looks awful because I've forced it into a straitjacket it
doesn't fit properly. BUT.

The whole philosophy of lilypond is that beautiful music is easily
playable music. *Mostly* that's true. But as a bandsman, I place a
*very* high penalty on page breaks. I wish I could force lily to force
music on to one, or at most two, pages. But that goes completely against
the grain of what most lily people want.

Unfortunately, to me, music with page turns can far too easily be
unplayable. It's all very well saying "it's easier to read" but that's
no consolation when it's doing a fifty yard sprint down the field away
from me! :-)

I know asking users to categorise importance to them is hard - yes
they'll often say any bug is a serious bug - but to me for example
printing one last stave on page two instead of cramming it onto page one
is a massive failing of lily as a "master engraver". No disrespect to
the programmers (heck, I'm trying to become a contributor myself, in
part because I want to correct the failings I see), but by default lily
does a very poor job of minimising wasted space by default on small
scores. To me that's a very serious failing, but most programmers don't
see that.

Maybe we should have some scoring system whereby things are graded both
on importance to user, and ease of fixing, along with program integrity
(ie how serious a programmer would rate it - segfault, buggy code, etc).
My formatting issues would probably rate about 1 on ease of fix and
program integrity, but the higher the average score the more critical
the feature because fixing it would have a far bigger impact across the
board.

Cheers,
Wol

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


Re: Ugliness in the Learning Manual

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "David Kastrup" 

To: "Phil Holmes" 
Cc: 
Sent: Saturday, August 06, 2011 11:26 AM
Subject: Re: Ugliness in the Learning Manual



"Phil Holmes"  writes:


Would the following patch help?



\envdef\cartouche{%
+  \ifvmode\the\everypar\fi % trigger headers
  \ifhmode\par\fi  % can't be in the midst of a paragraph.
  \startsavinginserts
  \lskip=\leftskip \rskip=\rightskip



I edited the texinfo.tex file in src/tex and recreated the LM.  No
difference.


Thanks.  It was worth a try, and I currently don't have the time for a
more thorough analysis.

--
David Kastrup



Actually, I've just been looking at this, and your patch almost solves the 
problem - *if I change the correct file*.  I already have texinfo installed 
on my system, and I noticed that when I run it, part of the output is


(./WarningProb.texi (/usr/share/texmf/tex/texinfo/texinfo.tex

so it's looking at a different texinfo.tex than the one in my lily-git 
directory.  This applies whether I run in inside the git directory or not. 
After a bit of messing about teaching myself how to change permissions so I 
could edit that file, I made your change to the texinfo.tex.  It was 
successful in moving the text of my test file below the header, but not the 
box (i.e. it shifted it down about 1 line space).


--
Phil Holmes



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


Re: Ugliness in the Learning Manual

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Graham Percival" 

To: "Phil Holmes" 
Cc: "James Lowe" ; "Werner LEMBERG" ; 


Sent: Friday, August 05, 2011 11:54 PM
Subject: Re: Ugliness in the Learning Manual



On Fri, Aug 05, 2011 at 03:12:23PM +0100, Phil Holmes wrote:

)Looks like a bug in texinfo.  Can you try to isolate this as much
as possible?
)What about using the most recent version of texinfo.tex (attached)?


That would replace
 tex/texinfo.tex


Nothing in the CG I can see.  I think the simplest fix is probably
to put a forced new line after the heading.  This avoids the
problem.


I'd rather fix the more fundamental problem.  Please try David's
patch, and if that doesn't work, then try Werner's new file, and
if that doesn't work, try Werner's new file plus David's patch.

It'll be a good test of the "build a single manual" command.  :)

Cheers,
- Graham



As you see, these don't appear to fix the problem. I think it would be worth 
applying the forced new line approach - otherwise the first manual that 
users open looks bad - the sooner it doesn't, the better.


--
Phil Holmes



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


Re: Ugliness in the Learning Manual

2011-08-06 Thread David Kastrup
"Phil Holmes"  writes:

>> Would the following patch help?

>> \envdef\cartouche{%
>> +  \ifvmode\the\everypar\fi % trigger headers
>>   \ifhmode\par\fi  % can't be in the midst of a paragraph.
>>   \startsavinginserts
>>   \lskip=\leftskip \rskip=\rightskip
>>
>
> I edited the texinfo.tex file in src/tex and recreated the LM.  No
> difference.

Thanks.  It was worth a try, and I currently don't have the time for a
more thorough analysis.

-- 
David Kastrup

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


Re: Overrides and nesting: intentional?

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Jan Warchoł" 



Going back to your colorful examples, here's what effects i'd expect:



+1 on all of those.

--
Phil Holmes


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


Re: no love for LSR (was: Doc: Added \compoundMeter function to NR (issue4837050))

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Graham Percival" 

To: "Phil Holmes" 
Cc: "Trevor Daniels" ; "James Lowe" 
; ; "Lily-Devel List" 
; "Valentin Villenave" 

Sent: Saturday, August 06, 2011 12:13 AM
Subject: no love for LSR (was: Doc: Added \compoundMeter function to NR 
(issue4837050))




On Thu, Aug 04, 2011 at 03:05:42PM +0100, Phil Holmes wrote:

I don't run LSR update: I'm an authoriser, but that's all.


Yes, it's almost as though there's no amour for LSR.

Cheers,
- Graham



Not at all.  It's just not something I do.  I like watching cricket on the 
TV, but have no involvement in the production of the programme.


--
Phil Holmes



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


Re: GOP-PROP 5: build system output (final)

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Keith OHara" 

To: 
Sent: Friday, August 05, 2011 11:07 PM
Subject: Re: GOP-PROP 5: build system output (final)



Reinhold Kainhofer  kainhofer.com> writes:

We shouldn't need to type anything to see the warnings/errors of a 
compile

run.


I agree, and want `make bin` to show me warnings.  I might have been 
taking

the proposal too literally.



I know no reason why it shouldn't.  Have you tried putting code that emits 
errors or warnings into /lily and running make bin?  I recall doing so and 
being able to see the errors and warnings, but would be interested in your 
experience.


--
Phil Holmes



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


Re: GOP-PROP 5: build system output (final)

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Reinhold Kainhofer" 

To: 
Sent: Friday, August 05, 2011 9:09 PM
Subject: Re: GOP-PROP 5: build system output (final)



Am Freitag, 5. August 2011, 21:22:49 schrieb Keith OHara:
Building the program (as opposed to documentation) is now *very* nice, 
with


 make -s bin

where -s is short for --silent to tell make not to print the commands she
runs. We see errors or warnings from the changed files and nothing else.


Ah, right, that's nice, but I'm missing the progress ;-)


I think it's held up pending discussion

-
Phil Holmes


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


Re: GOP-PROP 5: build system output (final)

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Keith OHara" 

To: 
Sent: Friday, August 05, 2011 8:22 PM
Subject: Re: GOP-PROP 5: build system output (final)



Graham Percival  percival-music.ca> writes:


** Proposal details

When you run make or make doc,

* All output will be saved to various log files, with the
  exception of output directly from make(1).
* By default, no other output will be displayed on the
  console, with one exception: if a build fails,

[...]

  The user may optionally request additional output to be
printed; this is controlled with the VERBOSE=x flag.



Building the program (as opposed to documentation) is now *very* nice, 
with


make -s bin

where -s is short for --silent to tell make not to print the commands she 
runs.
We see errors or warnings from the changed files and nothing else.  The 
entire
source tree generates only seven warnings, all but one of which point to 
code we

could write more clearly.

Under this proposal, we should choose an easy-to-type VERBOSE=x option 
that

allows use to see the stderr stream from gcc and yacc and lex.



Thanks Keith.  Please bear in mind that make bin will only look into the 
lily directory, so only source files there are rebuilt.


--
Phil Holmes



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


Re: Lilypond loglevels & debug output

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "Reinhold Kainhofer" 


Of course, this involves env variables, while I would prefer cmd line
arguments. The problem is then that you need a (simple) parser to parse 
the

given arguments...

Cheers,
Reinhold


I'm working my way through all the detailed stuff here right now, but, for 
this:


+1

(makes it much easier to launch Lilypond from a "controller" application, 
which I do).


--
Phil Holmes




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


Re: Ugliness in the Learning Manual

2011-08-06 Thread Phil Holmes
- Original Message - 
From: "David Kastrup" 

To: 
Sent: Friday, August 05, 2011 5:31 PM
Subject: Re: Ugliness in the Learning Manual



"Phil Holmes"  writes:

- Original Message - 
From: "James Lowe" 

To: "Werner LEMBERG" ; 
Cc: 
Sent: Friday, August 05, 2011 1:42 PM
Subject: RE: Ugliness in the Learning Manual


Hello,

)-Original Message-
)From: lilypond-devel-bounces+james.lowe=datacore@gnu.org
)[mailto:lilypond-devel-bounces+james.lowe=datacore@gnu.org] On
)Behalf Of Werner LEMBERG
)Sent: 05 August 2011 13:19
)To: m...@philholmes.net
)Cc: lilypond-devel@gnu.org
)Subject: Re: Ugliness in the Learning Manual
)
)
)> Please see the attached image of page 2 of the LM.  Anyone know why
)> this collision occurs and how to fix it?
)
)Looks like a bug in texinfo.  Can you try to isolate this as much as
possible?
)What about using the most recent version of texinfo.tex (attached)?
)
)

I'm sure Graham will know but it is 'probably ' to do with the
warning/note box construction coming immediately after the Node
without anything in between.

Did you check the CG to see if we mention anything like this - there
are some formatting 'known issues' in that where HTML and PDF don't
always play in the same way.

James



Nothing in the CG I can see.  I think the simplest fix is probably to
put a forced new line after the heading.  This avoids the problem.
See the attached.  I could make a patch with these line breaks
included if you want?


Would the following patch help?









diff --git a/tex/texinfo.tex b/tex/texinfo.tex
index 9140826..b3d1412 100644
--- a/tex/texinfo.tex
+++ b/tex/texinfo.tex
@@ -6038,6 +6038,7 @@ end
\newskip\lskip\newskip\rskip

\envdef\cartouche{%
+  \ifvmode\the\everypar\fi % trigger headers
  \ifhmode\par\fi  % can't be in the midst of a paragraph.
  \startsavinginserts
  \lskip=\leftskip \rskip=\rightskip



I edited the texinfo.tex file in src/tex and recreated the LM.  No 
difference.


--
Phil Holmes



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


Re: Overrides and nesting: intentional?

2011-08-06 Thread David Kastrup
Jan Warchoł  writes:

> 2011/8/5 David Kastrup :
>
> I'm not sure if i understand it (is "a" a property or a value?),

Property.  I am not yet concerned about values...  Anyway, I am not sure
I understand what I write either.

> but it seems to me that \override should indeed not begin with a
> revert.

My current comprehension is that this is likely the intent of the code.
Doesn't work yet, but I'll try figuring out why, and then likely what
change caused this for what reason.

> However, we may need additional command like
> \revertTillDefaultIsReached or sth like that.
>
> Going back to your colorful examples, here's what effects i'd expect:
>
> \relative c' {
> c4
> \once\override Stem #'color = #red
> \override Stem #'color = #blue
> c4 c
> \revert Stem #'color
> c4
> }
>
> black blue blue black

That's a reasonable expectation, but it requires that \once\override
keeps track of just what it is supposed to revert at the end of the time
step.  Popping the top of the stack would not work, leaving us with
black, blue, red, black.  One possibility would be to store the
\once\override info in a separate location (or with a special mark)
where it does not mix with the \override info.

> \relative c' {
> c4
> \override Stem #'color = #blue
> \once\override Stem #'color = #red
> c4 c
> \revert Stem #'color
> c4
> }
>
> black red blue black

Yup.

> \relative c' {
> c4
> \override Stem #'color = #blue
> \once\override Stem #'color = #red
> \revert Stem #'color
> c4 c
> c4
> }
>
> black black black black.

Actually, I think I'd prefer black, red, black, black.  I feel a revert
should not cancel more than one \override, so something should happen at
the second time step.  The pure stack approach would leave us with
black, blue, black, black, arguably weird.  But pretty easy to explain.

If we aim for black, red, black, black, this would more or less imply
(if things should obey simple rules) that you can _never_ use \revert to
cancel \once\override.  However, the syntax already permits
\once\revert, so maintaining what amounts to a separate stack for \once
could work reasonably well and be nice enough to document.

-- 
David Kastrup

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


Re: Fixes bad slur heights by limiting fit_factor to the interior of slurs. (issue4810072)

2011-08-06 Thread lemniskata . bernoullego

Hi Mike,

i tried writing a review, but i don't understand what's going on here.
Can you add some comments to the code?

cheers,
Janek

http://codereview.appspot.com/4810072/

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


Re: Overrides and nesting: intentional?

2011-08-06 Thread Jan Warchoł
2011/8/5 David Kastrup :
>
> On the hopefully correct assumption that this was intended to go to the
> list and just mistakenly sent in private

Yes, i occasionally misclick the button.  Thanks!

> I think that originally \override was a push, \revert was a pop, and
> \once\override was a push/pop pair (that's more or less what is in the
> user docs as well).
>
> Then somebody probably thought that \override\override\revert should be
> a nop since \override has to be used instead of \set anyway (which would
> not push), and turned \override into a pop-push pair (pop never goes
> beyond the current context, so "little harm done").  That explains why
> the first example pairs the pop from the \once\override with the push
> from \override.  In the first example, the \override should, when
> cancelling the push from \once\override, not leave the corresponding pop
> lying around to be executed later.
>
> Now take that incoherent mess, and add nested properties into it.
> Apparently the current code has no qualms to start an \override with a
> pop that will cancel an entirely unrelated operation.
>
> Now if we do something like (never mind the value and the syntax)
> \override a.b.c  \override a
> should the second \override be able to cancel the first one with its
> implied \revert at its front?  How about if we do
> \override a  \override a.b.c
> instead?  Should the second override be able to cancel the first one?
> Only partially?  What if we now do
> \override a \override a.b.c \override a
> How many \revert a should we need to have the stack empty again?  If we
> do
> \override a \override a.b.c \revert a.b.c
> what should the state of a.whatever be?  Changed against before or not?
> What should the state of a.b.c be?  Changed against before (to the value
> set by \override a) or not?

I'm not sure if i understand it (is "a" a property or a value?), but
it seems to me that \override should indeed not begin with a revert.
However, we may need additional command like
\revertTillDefaultIsReached or sth like that.

Going back to your colorful examples, here's what effects i'd expect:

\relative c' {
c4
\once\override Stem #'color = #red
\override Stem #'color = #blue
c4 c
\revert Stem #'color
c4
}

black blue blue black

\relative c' {
c4
\override Stem #'color = #blue
\once\override Stem #'color = #red
c4 c
\revert Stem #'color
c4
}

black red blue black

\relative c' {
c4
\override Stem #'color = #blue
\once\override Stem #'color = #red
\revert Stem #'color
c4 c
c4
}

black black black black.

cheers,
Janek

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


Re: Progress on loose columns. (issue4841052)

2011-08-06 Thread m...@apollinemike.com

On Aug 5, 2011, at 9:49 PM, Keith OHara wrote:

>  gmail.com> writes:
> 
>> 
>> I was assuming that a rod
>> attaches to the right of the left `between-columns' and the left of the
>> right one?  Is this not the case?
>> 
> 
> I haven't tried the patch yet, but the rods of rods-and-springs measure from 
> the 
> reference points of the objects.  
> The left- and right- sides of columns have protrusions and holes.  Usually 
> the 
> rod length is based on the distance between reference points where the 
> skylines 
> of the columns just touch.
> 


Thanks Keith!
Do you know where these reference points are specified?

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


Re: Fixes bad slur heights by limiting fit_factor to the interior of slurs. (issue4810072)

2011-08-06 Thread k-ohara5a5a

I like this approach.


http://codereview.appspot.com/4810072/diff/3002/lily/slur-configuration.cc
File lily/slur-configuration.cc (right):

http://codereview.appspot.com/4810072/diff/3002/lily/slur-configuration.cc#newcode102
lily/slur-configuration.cc:102: close_to_edge = close_to_edge || -d *
(p[X_AXIS] - curve_xext[d]) < close_to_edge_length;
This is quite obfuscated.  I am too old to remember details like whether
LEFT<0 in Lilypond.

close_to_edge =  p[X_AXIS] < curve_xext[LEFT]  + c_t_e_l
  || p[X_AXIS] > curve_xext[RIGHT] - c_t_e_l;

I think you are right to have the ignore region be length in
staff-spaces, rather than a fraction of the length of the slur.  Did you
try both ways?

http://codereview.appspot.com/4810072/

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


RE: GOP-PROP 8: issue priorities

2011-08-06 Thread James Lowe
Hello,

> But any interpretation of "priority" in the sense of "importance" seems
> useless.  We differ quite a lot in our opinions of importance.  I suspect
> Janek and I would rank issues in near-opposite order of importance.  That
> means that any importance-type priority estimated by the contributor who
> opens the issue, won't really help other contributors decide what to work on
> next.
>
> Probably, however, we would all sort issues into roughly the same types of
> problems:
> Regressions, crashes, incorrect output, ugly output, things that get in the
> way of contributing, ...
>
> So, all we really need to do is make useful classifications, and admit that
> we won't all agree on their relative priorities.

This sounds a bit like "let's drop 'priority' field and use labels only" :)

-

OK but it still doesn't get away from the 'when do we release the next stable 
release' question if we only have labels?

When we don't have regressions only? regressions + crashes?

Are some regressions more 'critical' than others (genuine question) ditto 
crashes?

Also let's say I have 20 'ugly output' issues, how do I as a user show my 
preference for one or more of them so that a dev who has the skill and choice 
to work on any knows which one will benefit the project from a user's 
perspective?

After all I see issues bumped 'down' because they seem to have been hanging 
about for 'ever' and no one shows an interest in it. So issues must also be 
able to be bumped 'up' right?

Therefore Labels in this sense that are just descriptive don't help.

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


Re: GOP-PROP 8: issue priorities

2011-08-06 Thread David Kastrup
Jan Warchoł  writes:

> 2011/8/6 James Lowe :
>
>> Users and new contributors will interpret priority as importance,
>> though, and will naturally want their favorites to be higher on the
>> list.  That's why I suggested putting issues where we don't know
>> exactly what Lilypond should do, as "Postponed".  Obviously we can't
>> program the behavior until we know what we want it to be, and that
>> motivates users (who might know their area of notation better than we
>> do) to think through what they want.
>
> Hmm.  Interesting point of view.

Not always helpful either.  A lover of artwork won't be able to tell an
artist how to improve his work.  He still can be more, or less satisfied
with it.  You can tell critics "do it yourself then", and they won't be
able to.  But it is not their job.

I have had in projects of my own long histories of explaining to people
why something "obvious" they want to is a logical impossibility, or how
the blame lies with bugs and deficiencies of components outside of my
control.  You can get religious about it, and it becomes annoying at the
twentieth repetition from somebody who does not know about the nineteen
times before that.  And at some point of time, you do some imprudent
workaround, or some total magic, or whatever, and people stop bothering
you.

The compromises between the wishes of people and the technical feasible
things and those you want to do are a moving target.  And the
responsibility for making technical and logical impossibilities
disappear, to match the program better to expectations and requirements,
is only something the experienced programmer can do.  Sometimes the
results please the user more than the programmer.  It is hard to
generalize this into policies, since a policy would not change its mind
if enough people bother it.

-- 
David Kastrup


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


Re: GOP-PROP 8: issue priorities

2011-08-06 Thread Jan Warchoł
2011/8/6 James Lowe :
> We don't have a GOP for 'isn't there a better way to keep track of issues AND 
> upload patches' I see though.

We have, but it's not yet put on schedule.
http://lilypond.org/doc/v2.15/Documentation/contributor/policy-decisions


2011/8/6 Keith OHara :
> I suspect Graham meant "order in which to best keep the project moving".
> Since the project doesn't control the order in which contributors attack
> issues, that would really be "order in which the project encourages
> contributors to attack issues".

Sounds good to me.  Still, decision depends on our views about
relative importance of user needs vs. developer needs.  Theoretically,
satisfying developer needs is more important to "keep the project
moving".  However, if we follow this attitude to the extreme, there
will be less users (and potentially new decelopers) coming.

> But any interpretation of "priority" in the sense of "importance" seems
> useless.  We differ quite a lot in our opinions of importance.  I suspect
> Janek and I would rank issues in near-opposite order of importance.  That
> means that any importance-type priority estimated by the contributor who
> opens the issue, won't really help other contributors decide what to work on
> next.
>
> Probably, however, we would all sort issues into roughly the same types of
> problems:
> Regressions, crashes, incorrect output, ugly output, things that get in the
> way of contributing, ...
>
> So, all we really need to do is make useful classifications, and admit that
> we won't all agree on their relative priorities.

This sounds a bit like "let's drop 'priority' field and use labels only" :)

> Users and new contributors will interpret priority as importance, though,
> and will naturally want their favorites to be higher on the list.
> That's why I suggested putting issues where we don't know exactly what
> Lilypond should do, as "Postponed".  Obviously we can't program the behavior
> until we know what we want it to be, and that motivates users (who might
> know their area of notation better than we do) to think through what they
> want.

Hmm.  Interesting point of view.

cheers,
Janek

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