lilypond-devel
[Top][All Lists]
Advanced

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

Re: GSoC tie formatting project (was: Google Summer of Code 2015)


From: Janek Warchoł
Subject: Re: GSoC tie formatting project (was: Google Summer of Code 2015)
Date: Thu, 19 Mar 2015 00:36:39 +0100

Hi again,

2015-03-17 14:56 GMT+01:00 Janek Warchoł <address@hidden>:
> Hello,
>
> 2015-03-12 2:07 GMT+01:00 Janek Warchoł <address@hidden>:
> I think we should start by pinning down the control flow - both inside
> the tie formatting algorithm itself and between this and the rest of
> LilyPond.
>
> Concerning internal control flow: it appears to me that a tie can be
> characterized by 4 parameters: direction (upward/downward), height,
> tips' vertical coordinates and tips' horizontal coordinates.  We need
> to find answers to the following questions:
> - are there any cyclic dependencies, and what can we do to break them?
> - in what order should these parameters be calculated?
> - how formatting ties connecting single notes differs from formatting
> ties connecting chords?
> - maybe we should pick a different set of characteristics to represent a tie?

After some thinking it seems to me that the only difference between
formatting ties connecting notes in chords vs single notes is that
when the note is inside a chord, tie tips must be vertically closer to
the notehead (so that it will be clear which notes are connected).

It seems to me that the parameters I mentioned would be a good
characterization of a tie, and that we could calculate them in the
following order:
1. direction - it depends on the staff positions of the tied noteheads
as well as other noteheads in the chord (if present)
2. tip vertical position - depends on tie direction, horizontal
distance between connected notes, vertical proximity of other notes
from the chord (or other voices).
3. tip horizontal position - depends on tip vertical position and the
presence of augmentation dots, accidentals and the like,
4. height - depends on distance between tied notes and tip vertical position.

> As for the global control flow, the questions I see are:
> - what we need to know before calculating tie?
> - what decisions we cannot make until we have decided how the ties
> will look like?
> - can we treat tie formatting as one operation?  Is there anything
> that we must calculate after some characteristics of the ties are
> determined, but before others?  In particular, what about augmentation
> dots and accidentals?

There are a few notation elements that need some information about
ties - in particular, beams need to avoid ties and therefore have to
be calculated after them.  Other than that, augmentation dot
positioning may depend on ties, but it should be enough if we know
that a note has a tie attached to it - we probably don't need to know
tie's exact shape and position.

Overall, I don't see many problems related to cyclic dependencies here.

best,
Janek



reply via email to

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