lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Clusters


From: Juergen Reuter
Subject: Re: [PATCH] Clusters
Date: Tue, 19 Nov 2002 00:29:36 +0100 (CET)

Hi!

Attached is a patch that applies most of the issues that we discussed
the last few days (I am finally following the (COLUMN-GROB MIN-Y
MAX-Y) approach).  Also, I (hopefully) fixed a small bug in
Grob::warning() that sometimes caused segmentation faults on my
machine.  I further fixed the ugly appearance of the ligature bracket
engraver: it is now based on tuplet brackets (without numbers,
though).  Basically, lily/ligature-bracket.cc and
lily/include/ligature-bracket.hh are no longer needed and could be
removed, but then the documentation does not build any more, since
there is still a LigatureBracket entry needed in
scm/grob-description.scm.  Any idea what to do in such a case?

This version of the cluster engraver still contains a silly bug: it
sometimes produces errors like:

ERROR: In procedure append:
ERROR: Wrong type argument (expecting NULLP): #<freed cell 0x404d89f0; GC
missed a reference>

I guess, this has to do with protecting scheme expressions from
garbage collection?  But Protected_scm(column_scm) does not seem to
help here (nor does protecting columns_scm_ or segment).  Funnily, if
I say "ly_display_scm(columns_scm_)" immediately after columns_scm_
has been updated, the error disappears.  As a workaround, I put in an
additional "cluster_->set_grob_property ("segments", columns_scm_)"
into the code, which also seems to eliminate the error, but that's
obviously not a real solution to the problem...

Documentation/user seems to build for me.

BTW., since a couple of versions, during compilation I have manually
to "mv -i parser.cc.h parser.hh" in lily/out (I am using bison version
1.28).

Greetings,
Juergen

2002-11-19 Juergen Reuter  <address@hidden>

        * lily/cluster-engraver.cc: bugfix: use protected scm upon columns

        * lily/cluster-engraver.cc: stick better to variable naming
        conventions

        * lily/cluster-engraver.cc: bugfix: delay typesetting of cluster
        until stop_translation_timestep()

        * lily/cluster-engraver.cc, lily/cluster.cc: design fix: pass
        min/max coordinates to backend, but no musical info such as
        pitches

        * lily/cluster.cc: robustness fix: do not crash upon empty cluster

        * lily/grob.cc: robustness fix: warning(): do not crash if
        cause is not set

        * lily/ligature-bracket-engraver.cc, scm/grob-description.scm: use
        the much more elaborated tuplet brackets than the very naive and
        simple ligature bracket grob

Attachment: diff-1.7.7.jr2
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]