lilypond-devel
[Top][All Lists]
Advanced

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

Re: Simplify the NullVoice context (issue 117050043 by address@hidden)


From: dak
Subject: Re: Simplify the NullVoice context (issue 117050043 by address@hidden)
Date: Mon, 28 Jul 2014 06:07:58 +0000

On 2014/07/27 21:31:52, Keith wrote:
On 2014/07/27 11:50:17, dak wrote:
>

https://codereview.appspot.com/117050043/diff/40001/ly/engraver-init.ly#newcode787
> ly/engraver-init.ly:787: \override NoteHead.meta.interfaces =
#(delete
> 'rhythmic-head-interface

> Ugh.  This looks incredibly ugly.

I guess I lack a sense of aesthetics for Scheme code; I thought it was
rather
pretty.

The ugliness has nothing to do with the programming language involved.
The ugliness is with messing up the whole grob definition of a NoteHead
(which is fixed to the degree of being documented in the Internals
Reference) inside of a particular context.

> It would make more sense to make rhythmic-head-interface get along
without
Rhythmic_column_engraver

It is easy to make the rest of the code accept an object with
rhythmic-head-interface that is unattached to any Rhythmic_Column
(just removing
a test and warning in rest-collision.cc as I recall).  The thing I
didn't like
about that was changing completely unrelated code to accommodate the
weirdness
of NullVoice.

I don't see anything wrong with letting code work in more combinations
than originally envisioned.  Where is the point in having separate
building blocks if you can only assemble them in a single way?

> If we really, really cannot make do otherwise, we could design
substitute
> engravers that mostly do the same job but without producing output.
I mean,
> Midi has to produce the same timing for Lyrics and manages with a
vastly
> simplified set of performers.

My first inclination was to make an engraver that merely sets
melismaBusy and
lets the Lyrics attach to PaperColumns,
but then we would need to synchronize that engraver with what
Tie_engraver,
etc., do if there is ever a change,

The point would be to stop the Tie_engraver from bothering about
melismaBusy at all.

and the current gives NoteHeads with real extents to which the Lyrics
can line
up exactly as if there was a printed note.

But isn't NullVoice for faking lyrics to a synthetic voice that is _not_
actually being printed?  That would imply that we want to rather align
to the existing NoteHeads/NoteColumns rather than the NullVoice one.
And even if there are no actual notes (like in a chant situation), we'd
rather align on a well-spaced pattern rather than one based on imaginary
noteheads, optical stem adjustments and what not.

https://codereview.appspot.com/117050043/



reply via email to

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