[Top][All Lists]

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

Re: Adds glissando stems to Lilypond. (issue4661061)

From: Han-Wen Nienhuys
Subject: Re: Adds glissando stems to Lilypond. (issue4661061)
Date: Fri, 1 Jul 2011 12:50:24 -0300

On Thu, Jun 30, 2011 at 12:46 PM, address@hidden
<address@hidden> wrote:
>> can you show png examples of what you're trying to do?

Honestly, I cannot allow this patch in its current design. I don't see
a reason for an obscure feature to be touching code of note-spacing,
stem-tremolo, stem, beam etc.

If we add patches like this for every composer's favorite avant-garde
notation, the large parts of the lilypond codebase will shortly become
a tangle of hard to understand dependencies; code for uncommon
notation constructs should only be added if their implementation is
separate, modular and generic. This patch is neither.

Can you try a minimal implementation first? For example,

* Have a stem property that determines the end of the stem. Currently, we have

    y2 = Staff_symbol_referencer::get_position (lh);

for that. This feature is generic and cleanly implemented with a
callback. Should be a separate patch.

* Have a mechanism for glissando engraver to ignore note-heads. Maybe
a boolean property: #'glissando-note

Then, in your .ly file you do the following

* Have an engraver (by preference written in Scheme) that hooks up the
glissandi with the stems.

* Create normal beamed 16th notes with #'glissando-note on their note-heads.

* Hook a callback on that, that looks at the glissando's slope and the
stem's X position to determine where the stem starts printing

* Make the noteheads very small and invisible.

hope this helps.

On a tangent: what is the glissando-index property for?  I can't see
it being read anywhere.

Han-Wen Nienhuys - address@hidden -

reply via email to

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