Re: Issue 1055 in lilypond: guile 2.0

2010-11-25 Thread lilypond


Comment #21 on issue 1055 by ianhuli...@gmail.com: guile 2.0
http://code.google.com/p/lilypond/issues/detail?id=1055

Patrick,
1+,
but . . .
Thinking about this some more, when Guile does its build, how does it  
register the fact that $GUILE_ROOT_MODULE/ice9/xxx.go is related to
$GUILE_ROOT_MODULE/ice9/xxx.scm? Then how does it how to load the .go file  
in preference to the .scm file in the absence of AUTOCOMPILE?
Would we have to adjust %LOAD_PATH to include our directory containing our  
xxx.go files during initialization?


Cheers,
Ian Hulin


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


Re: Issue 1396 in lilypond: Enhancement: an option to turn unterminated ties into slurs

2010-11-25 Thread lilypond


Comment #7 on issue 1396 by reinhold.kainhofer: Enhancement: an option to  
turn unterminated ties into slurs

http://code.google.com/p/lilypond/issues/detail?id=1396

Here's a patch to at least print out a warning and inform the user that a  
tie could not be created. Otherwise the user will usually not notice that  
anything is wrong with the input at all...

http://codereview.appspot.com/3310042


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


Re: 2.13.40 regtests

2010-11-25 Thread Phil Holmes
"Neil Puttock"  wrote in message 
news:aanlktim-yd06h47zrvofpp-_qnrm_rwobnfoutokm...@mail.gmail.com...

On 24 November 2010 15:47, Phil Holmes  wrote:


> So if a completely new bit of graphics appears, the regtest checker 
> wouldn't

> spot it? Not sure that's too good.



It might not, depending on whether the new grob influences bounding
boxes for other grobs.



> What's the checker written in?


Python: 
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob;f=scripts/build/output-distance.py



Cheers,
Neil


It wouldn't take me long to write a C# program (less than a day, I'd guess) 
that reproduced quite a lot of the regtest checker functionality and did a 
pixel-by-pixel check for image changes.  I've done the latter bit in about 
20 minutes on the figured bass png that started this discussion.  The 
difference file it produces is attached.  I'd be quite happy to do this, but 
wouldn't do it if it was felt to be stepping on other toes.  I don't know 
python well enough to try looking at the existing file.  I realise this 
couldn't be run as part of the build process, since it's windows only, but 
I'd be happy to run it locally and when I shuffle off the coil others 
_could_ do the same.


Not suggesting replacing the current checker - adding to it.

--
Phil Holmes
Bug Squad
<>___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: 2.13.40 regtests

2010-11-25 Thread Neil Puttock
On 25 November 2010 17:45, Phil Holmes  wrote:

> It wouldn't take me long to write a C# program (less than a day, I'd guess)
> that reproduced quite a lot of the regtest checker functionality and did a
> pixel-by-pixel check for image changes.  I've done the latter bit in about
> 20 minutes on the figured bass png that started this discussion.

That looks interesting, though I assume you wouldn't be doing
pixel-by-pixel checks on every pair of images (far too costly in terms
of computational load and time taken).

Cheers,
Neil

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


Re: 2.13.40 regtests

2010-11-25 Thread Graham Percival
On Thu, Nov 25, 2010 at 05:45:36PM -, Phil Holmes wrote:
> It wouldn't take me long to write a C# program (less than a day, I'd
> guess) that reproduced quite a lot of the regtest checker
> functionality and did a pixel-by-pixel check for image changes.

Hmm.  It shouldn't take a huge amount of time to compare each pair
of regtest images -- they're named, so you'd be comparing
something like 500 pairs of .png images.  (Neil: were you thinking
of something else?)

The bigger concern is about false positives.  If your program
notified you about any pair of images with any pixel differences,
you'd be swamped with meaningless changes.  Our regtest checker
does some kind of thresholding which doesn't display significantly
changed images, but I'm not certain how that works.

I don't think you can just look at the number of changed pixels.
A tiny change to spacing could give you a huge number of changed
pixels [which wasn't important], while a missing augmentation dot
[a serious problem] would only give you a tiny number of changed
pixels.

Then again, we're not talking about relying on this new checker
exclusively, and the current system isn't perfect either.  I don't
think that using both systems would add a huge amount of extra
time to the Bug Squad duties.

> I've done the latter bit in about 20 minutes on the figured bass png
> that started this discussion.  The difference file it produces is
> attached.  I'd be quite happy to do this, but wouldn't do it if it
> was felt to be stepping on other toes.  I don't know python well
> enough to try looking at the existing file.  I realise this couldn't
> be run as part of the build process, since it's windows only, but
> I'd be happy to run it locally and when I shuffle off the coil
> others _could_ do the same.

You wouldn't be stepping on toes, but writing it in C# introduces
a few inefficiencies, which you noted:
- can't be added to the build process.  (no, I cannot forsee ever
  adding mono to gub)
- most developers can't use it [without installing mono].

I have two alternate suggestions:
1) write it in C#, then add a Frog tracker issue to port it to
python.  If there's an existing, working, program, then writing a
python version would be easier.
2) treat this as a long-term project, and slowly write a python
version yourself.  We use python a lot in lilypond, and it's quite
a nice and easy-to-learn language, so learning python could have
other benefits down the road.  (potentially in your daily job, in
addition to lilypond stuff)

I'm *not* suggesting that you try to modify the existing python
script or the build process -- writing a separate python script to
do your comparison would be much easier.  Once such a script
exists, it could be merged into the build process relatively
easily.

Cheers,
- Graham

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


Re: 2.13.40 regtests

2010-11-25 Thread Neil Puttock
On 26 November 2010 00:00, Graham Percival  wrote:

> Hmm.  It shouldn't take a huge amount of time to compare each pair
> of regtest images -- they're named, so you'd be comparing
> something like 500 pairs of .png images.  (Neil: were you thinking
> of something else?)

I think this would be very slow unless it does something similar to
ouput-distance.py to reduce the number: you don't want to be comparing
every single pair unless absolutely necessary.

While test bugfixes, I've occasionally produced regression checks
which have affected lots of tests, and the time for `make check' in
such cases rises drastically (from about five minutes to over half an
hour), so unless Phil's pixel-by-pixel comparison is much faster than
`compare', it's still going to be too slow.

Cheers,
Neil

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


Re: 2.13.40 regtests

2010-11-25 Thread Graham Percival
On Fri, Nov 26, 2010 at 12:14:17AM +, Neil Puttock wrote:
> On 26 November 2010 00:00, Graham Percival  wrote:
> 
> > Hmm.  It shouldn't take a huge amount of time to compare each pair
> > of regtest images -- they're named, so you'd be comparing
> > something like 500 pairs of .png images.  (Neil: were you thinking
> > of something else?)
> 
> I think this would be very slow unless it does something similar to
> ouput-distance.py to reduce the number: you don't want to be comparing
> every single pair unless absolutely necessary.

Hmm.  Average png is, what, 400x50 pixels?  20kb?  So the program
needs to load 40kb from disk, then do 20,000 comparisons between
pixels.  We have roughly 500 regtests, so that gives us 10 million
pixel comparisons.

I wouldn't have thought that this would be a problem for a modern
computer, but I must admit that I've never done any graphics
processing.  But if the pixels are in RGB format, then my first
guess would be to compare each color format, and see if the
numbers differ by more than a certain amount.  Something like
  int changed = 0;
  for (int c=0; c<2; c++) {
if (abs(first.color[c] - second.color[c]) > 0.0001) {
  changed = 1;
}
  }

Running that code 30 million times shouldn't take too long.  I
think?  I might be off by an order of magnitude, but my violin
physical modeling can generate 30 seconds of audio (that's 1.3e6
samples) in less than 2 seconds of wall-clock, and computing each
audio sample is a lot more complicated than the above code.
Granted, the violin stuff is C++ code, so I'd expect python or C#
to be slower.

My main concern is still with false positives.

> While test bugfixes, I've occasionally produced regression checks
> which have affected lots of tests, and the time for `make check' in
> such cases rises drastically (from about five minutes to over half an
> hour), so unless Phil's pixel-by-pixel comparison is much faster than
> `compare', it's still going to be too slow.

Oh, I was only thinking about this being used for special cases
and in the release-build process.  I don't think we need to add
this to the usual "make check".

Cheers,
- Graham

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


Issue 1428 in lilypond: \book cannot contain \bookpart identifier

2010-11-25 Thread lilypond

Status: Accepted
Owner: 
Labels: Type-Defect Priority-Critical

New issue 1428 by n.puttock: \book cannot contain \bookpart identifier
http://code.google.com/p/lilypond/issues/detail?id=1428

Placing a \bookpart identifier inside \book causes a segfault:

\version "2.13.41"

mypart = \bookpart {
  \relative c' {
c1
  }
}

\book {
  \mypart
}

Program received signal SIGSEGV, Segmentation fault.
0x0040bcb1 in ly_cdr (x=0x204) at ./include/lily-guile.hh:199
199 inline SCM ly_cdr (SCM x) { return SCM_CDR (x); }
(gdb) bt
#0  0x0040bcb1 in ly_cdr (x=0x204) at ./include/lily-guile.hh:199
#1  0x0052ec5f in pop_paper (parser=0xae0c80) at lily-parser.cc:275
#2  0x006ea6d8 in yyparse (my_lily_parser=0xae0c80) at parser.yy:669
#3  0x006f5bf2 in Lily_parser::do_yyparse (this=0xae0c80)
at parser.yy:2546
#4  0x0052da75 in Lily_parser::parse_file (this=0xae0c80, init=...,
name=..., out_name=...) at lily-parser.cc:121


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


Re: Issue 1396 in lilypond: unterminated ties should at least produce a warning.

2010-11-25 Thread lilypond

Updates:
Summary: unterminated ties should at least produce a warning.
Status: Started
Owner: reinhold.kainhofer
Labels: -Type-Enhancement Type-Defect Patch

Comment #8 on issue 1396 by v.villenave: unterminated ties should at least  
produce a warning.

http://code.google.com/p/lilypond/issues/detail?id=1396

Thanks! I'm reopening this issue until your patch gets applied.

(Graham: I know. Bring it on. :-)


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


Re: Redefining stencils in 'tweaks causes grobs to be printed twice

2010-11-25 Thread Valentin Villenave
On Thu, Nov 25, 2010 at 1:06 AM, Neil Puttock  wrote:
> #
> #
>
> When a DynamicLineSpanner is created, it gets its event-cause from the
> dynamic grob which triggered its creation:
>
> 98 Dynamic_align_engraver::acknowledge_dynamic (Grob_info info)
> 99 {
> 100   Stream_event *cause = info.event_cause ();
> 101   create_line_spanner (cause);
>
> I think the only thing we can do here to prevent the 'tweaks setting
> from ending up in the DynamicLineSpanner is to change the event-cause
> to the grob instead.

Are you implying that an AbsoluteDynamicEvent, even when not preceded
with a CrescendoEvent, still creates a DynamicLineSpanner? That looks
odd. (Or perhaps I misunderstood?)

Cheers,
Valentin.

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


Re: 2.13.40 regtests

2010-11-25 Thread Han-Wen Nienhuys
On Thu, Nov 25, 2010 at 12:45 PM, Phil Holmes  wrote:
> It wouldn't take me long to write a C# program (less than a day, I'd guess)
> that reproduced quite a lot of the regtest checker functionality and did a
> pixel-by-pixel check for image changes.  I've done the latter bit in about
> 20 minutes on the figured bass png that started this discussion.  The

It would take me about 10 seconds;  imagemagick has this functionality
built in (the same one that is used to generate the current images of
the regtest).

http://www.imagemagick.org/script/compare.php?ImageMagick=cnagfba00ks4srknf1dt82ldo3

The reason I did not do it originally is that it moves the comparison
farther away from lilypond itself and pixel-per-pixel changes are not
calibrated for the size of the symbols: a large symbol moving place
will generate a much higher difference score than a small score.  It
might have been a quicker way to get started with running comparison
tests.


-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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


Re: 2.13.40 regtests

2010-11-25 Thread Graham Percival
On Fri, Nov 26, 2010 at 02:15:22AM -0500, Han-Wen Nienhuys wrote:
> The reason I did not do it originally is that it moves the comparison
> farther away from lilypond itself and pixel-per-pixel changes are not
> calibrated for the size of the symbols: a large symbol moving place
> will generate a much higher difference score than a small score.  It
> might have been a quicker way to get started with running comparison
> tests.

True, but at the moment there's no way to catch problems due to
ghostscript (or international fonts being installed / not being
installed in GUB).  Of course, hopefully GUB won't be changing all
that often, but it _does_ happen.
Would it be possible to have both kinds of regtest comparisons?
Maybe not enabled in the usual "make check", but adding a separate
"make pixelcheck" or something like that?

Cheers,
- Graham

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


Re: 2.13.40 regtests

2010-11-25 Thread Han-Wen Nienhuys
On Fri, Nov 26, 2010 at 2:21 AM, Graham Percival
 wrote:
> On Fri, Nov 26, 2010 at 02:15:22AM -0500, Han-Wen Nienhuys wrote:
>> The reason I did not do it originally is that it moves the comparison
>> farther away from lilypond itself and pixel-per-pixel changes are not
>> calibrated for the size of the symbols: a large symbol moving place
>> will generate a much higher difference score than a small score.  It
>> might have been a quicker way to get started with running comparison
>> tests.
>
> True, but at the moment there's no way to catch problems due to
> ghostscript (or international fonts being installed / not being
> installed in GUB).  Of course, hopefully GUB won't be changing all
> that often, but it _does_ happen.
> Would it be possible to have both kinds of regtest comparisons?
> Maybe not enabled in the usual "make check", but adding a separate
> "make pixelcheck" or something like that?

It should be trivial to add an imagemagick call to do pixel by pixel
comparision to output-distance.py

-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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