>I'll have another think about this; the trouble is in the overlap of
>the notes.   A temporary solution would be:
>
>
>    { f8( c8 < f2
>            { s8 \translator Staff=upper s4. } >
>     c f  )a }


Hmm.  I'll have to try this.

>Perhaps, but remember that I am here to have fun hacking, not
>to cater for end users.


Point well taken.  I only wish I had more time so that I could study your
sources and be able to contribute personally (I certainly have the ability
to do so).  Then I could take all these personal irritations and fix them
myself!  ;-p  BTW, I've been working on a chord object that figures out
chord names (or more precisely, chord labels) from a given collection of
notes--I can send it to you if you'd like.  Also, I can understand why you
would need to figure out a chord label from a collection of notes, but why
can't it figure out that the chord name that I specify (by literally writing
it out as 'Cmaj7' for example) is what I want printed out in a ChordName
context?  I've looked through the source trying to find where Lily does that
parsing but have had no luck finding it...  Could you point me to it?

>Have you ever heard of polyphonic music?  See
>mutopia/J.S.Bach/wtk1-fugue2 for examples.  It is conceivable to have
>such pieces where multiple slurs cross staffs and not follow any
>nesting rules.


Yes, I have, and the Bach fugues are an excellent example of polyphonic
music.  However, I was simply going by the example you gave, and that didn't
seem to present any problem that couldn't be solved simply.  Is there an
example in the fugue of which you speak of multiple slurs crossing staves?

>That's not the question; the question is how do you decide which slur
>reacts to which notes.  Before a collision can be corrected, the slur
>has to `know' that a note is there. Knowing that notes are there is
>also done using notation contexts.


Again, as you've pointed out, I'm mostly ignorant of the implementation of
the various contexts.  However, it seems like it would be a fairly simple
fix by restricting this type of activity to certain staff contexts, e.g.,
the PianoStaff context.  You could treat it as a single entity with 11 lines
(by merging the two separate staves that make up the PianoStaff), for
example.  Lily seems to handle these problems within a single staff quite
well as it is, wouldn't you agree?  Why would it not be possible to extend
that idea to a special staff system (again, such as the PianoStaff)?

>I am not trying to tear *you* down. It's just that you have no idea
>how Lily works, so your implementation suggestions are quite useless
>to me. :)


In that case, you could simply tell what is and isn't possible, and then I
would be able to give you workable implementation suggestions.  ;-)

-- Shamus

Reply via email to