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: Tue, 13 Sep 2011 23:12:24 +0200

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]