[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lilypond crashes when compiling snippet
From: |
address@hidden |
Subject: |
Re: Lilypond crashes when compiling snippet |
Date: |
Tue, 2 Aug 2011 23:35:46 +0100 |
On Aug 2, 2011, at 11:15 PM, David Kastrup wrote:
> James Lowe <address@hidden> writes:
>
>> From: address@hidden
>> address@hidden on behalf of
>> Tim Reeves address@hidden
>> Sent: 02 August 2011 19:56
>> To: address@hidden
>> Subject: Lilypond crashes when compiling snippet
>
>>> I tried to compile the "Creating music with Scheme (music box)"
>>> snippet ( http://lsr.dsi.unimi.it/LSR/Item?id=346 ) and when I do,
>>> Lilypond crashes
>
> [...]
>
>>
>> Now all that said I have also run this on latest version from the
>> current tree (2.15.9) from tonight and I get a seg fault while
>> compiling.
>
> Looks like the autobeamer. Mike?
>
As I have never worked on the auto-beam engraver, I think the fix would go
faster if someone more familiar with it took it on. I would be happy to,
though, if no one has time.
I will say, though, that I am putting the finishing touches on the first draft
of a set of .ly files called "lazy-lily" that I'll post on github soon. It is
a suite of music functions that makes certain pre-engraver decisions. Right
now, it has:
\lazyMultiMeasureRests
turns all full-measure rests into multi-measure rests
\lazyUnslurRests
slurs that cross over a rest are cut: ie a ( b c r r d e r f r ) becomes a (
b c ) r r d ( e ) r f r
I'm currently working on \lazyUntie, which turns anything like a32-| ~ a32
into a32-| r32. Afterwards, I'll be working on \lazyProlation, which is like
the completion notes/heads engraver on steroids (automatically groups and/or
breaks notes and rests depending on their place in the measure and/or tuplet).
The auto-beam-engraver can and should be implemented more along these lines
(\lazyAutoBeaming, which inserts beam events into the stream).
Of course, the problem at hand could have nothing to do with anything I say
above, but I figured I'd mention it, as it is related to something that's been
in my mind.
In general, it'd be great if all grobs were acknowledgeable (made using
make_item or make_spanner) during the timestep when their causing event/grob is
issued, and conditioning the event stream with lazy functions is a way to make
this happen.
Cheers,
MS