[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Shape Notes Progress
From: |
Han-Wen Nienhuys |
Subject: |
Shape Notes Progress |
Date: |
Fri, 9 Jul 2004 08:21:57 +0200 |
address@hidden writes:
> All,
>
> I have made tremendous progress on adding shape note support. I still need
> to clean up some of my hacks; but I think I have a total solution, except
> for one problem.
>
> The code which calculates the stem-attachment point in stem.cc assumes that
> the attach point for the left side of a note is the mirror of the right
> side. A diagram will help explain the problem:
>
>
> Note box:
>
> +------------------+
> | |
> | o <- Right point
> | |
> ------|------------------|------- Center line
> | |
> o <- Left Point |
> | |
> +------------------+
>
> The above matches the assumption in the code. The following shows what
> should be done for most(all) shape notes):
>
> +------------------+
> | |
> o <- Left Point o <- Right point
> | |
> ------|------------------|------- Center line
> | |
> | |
> | |
> +------------------+
>
> The code snippet below, from stem.cc, I think, is where the logic resides
> that implements this assumption.
>
> stem_y[Direction (-d)] += d * y_attach/dy;
>
> This is found around line 650 in stem.cc.
probably the easiest method is to add a #'symmetrical-attachment
property to the note head. Then Note_head::stem_attachment_coordinate
should check that and don't do the multiplication if it is set.
--
Han-Wen Nienhuys | address@hidden | http://www.xs4all.nl/~hanwen