[gsharp-devel] keysignatures (was [gsharp-cvs] CVS gsharp/Scores)
Christophe Rhodes
csr21 at cam.ac.uk
Mon Jun 19 14:10:18 UTC 2006
"rstrandh" <rstrandh at common-lisp.net> writes:
> Modified Files:
> bach-suite-iv-prelude.gsh
> Log Message:
> Typed a few more bars.
>
> Now I need to know how to change the key signature in the middle of
> a staff.
For what it's worth, I attach a patch which works for me; it's
essentially just a forward-ported version of my previous work, which
means it still suffers from the same problems, arranged in vaguely
descending order of seriousness:
* while this implementation does cope with layers spanning with
multiple staves, such that a key signature on one staff does not
affect notes on another staff, it does not cope with multiple layers
on the same staff: only the layer with the key signature actually in
it will see it.
* passing a key signature to DRAW-BEAM-GROUP seems wrong. My hack in
DRAW-BEAM-GROUP is a reflection of that.
* right-bulge shares an awful lot of code with draw-element
(key-signature), which shares an awful lot of code with
draw-staff-and-clef.
* invalidation of things using the staff in question is asymmetric,
for some reason I've forgotten (or never known): things are
invalidated in INSERT-KEYSIG, a "user" function, and in
REMOVE-ELEMENT :BEFORE, a "protocol" function. Probably it ought to
be the same in both cases.
* finding the keysignature applicable to an arbitrary cursor doesn't
work, as I couldn't work out how to map such a cursor to a staff.
Nevertheless, I hope this is a start.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: keysigN.diff
URL: <https://mailman.common-lisp.net/pipermail/gsharp-devel/attachments/20060619/2de0dd4a/attachment.ksh>
-------------- next part --------------
Cheers,
Christophe
More information about the gsharp-devel
mailing list