2011/9/13 Han-Wen Nienhuys <[email protected]>: > 2011/9/12 Janek Warchoł <[email protected]>: >> 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 _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
