[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