lilypond-devel
[Top][All Lists]
Advanced

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

Re: in what unit is shift_amount measured? (preparing fix for 1546)


From: Janek Warchoł
Subject: Re: in what unit is shift_amount measured? (preparing fix for 1546)
Date: Sun, 25 Sep 2011 22:11:12 +0200

Looks like i've asked too many questions...
I'll try to prepare some draft and put it up to Rietveld.

cheers,
Janek

2011/9/13 Janek Warchoł <address@hidden>:
> 2011/9/13 Han-Wen Nienhuys <address@hidden>:
>> 2011/9/12 Janek Warchoł <address@hidden>:
>>> i'm pretty confused about how note columns shift is measured (line 277
>>> and following in note-collision.cc).  I tried modifying the values
>>> there, but the results were quite unexpected; i tried to trace in what
>>> unit is shift_amount measured but to no avail.  Could you enlighten
>>> me?
>>> (my idea to fix 1546 is to include X-extent of the left note column in
>>> shift_amount).
>>
>> see Note_collision_interface::calc_positioning_done (SCM smob); it's
>> width of the notehead of clashgroup 0.
>
> i see something...  is it line 387: wid = ... ?
> I think the problem is precisely that we read the x-extent of
> clashgroup 0 (the one in the structurally highest voice, i.e. in
> voiceOne) which doesn't have to be the one that will end up on the
> left.
> Hmm...  all this looks very complicated, and i think it qualifies for
> a partial rewrite.
>
> I'd say that it should work like this:
> get the colliding notecolumns (it's notecolumns that the code is
> working on, isn't it?)
> decide which goes on the left
> calculate amount of shift
> apply this shift (or a user-overridden one)
>
> Some more questions to clarify things:
> how do i know which clashgroup (or whatever else is appropriate) ends
> on the left?
> How does shift work - does it only move the column on the right by the
> shift_amount, or does it try to move both columns, each by half
> shift_amount?
> What is amount, amounts and tups?
> What's a slice and what does it do here?
> Is Note_collision_interface::calc_positioning_done the top-most
> function? (i.e. the one that is called from outside - sort of main() -
> and everything else in note-collision.cc is it's "descendant"?)
> When a "full collision" occurs?
> Is all ASCII-art correct?  I don't see what "illustrations" on lines
> 125 and 510 could mean.
>
> Sorry for noobish questions, but i'm reading this file for an hour and
> still don't understand it.  It's like a Gordian Knot to me.
>
> thanks,
> Janek
>



reply via email to

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