[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is a cross-staff chord with ties possible in lilypond?

From: Helge Hafting
Subject: Re: Is a cross-staff chord with ties possible in lilypond?
Date: Thu, 28 Apr 2011 11:37:16 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110303 Icedove/3.0.11

On 26. april 2011 11:18, David Kastrup wrote:
Francisco Vila<address@hidden>  writes:

2011/4/26 Helge Hafting<address@hidden>:
2. Cross-staff chords could get simpler too. Switch staff inside
   a chord, and lilypond would know to connect the stems.

Cross-staff chords is one of the very first features I tried in
lilypond and could not achieve.  I used to teach Finale and gave a
Satie example as an exercise to my students; when I switched to
lilypond I could not use the piece (first Gnossienne) any more, you
can not ask for such a complicated exercise at the initial stages of
learning, but it was fairly easy with the afore mentioned visual
package.  The idea was: you select a special tool, choose a measure
and a number of handles appear on noteheads. Then just drag and drop
notes onto the desired staff.  In lilypond we have not a syntax for
this but we do have one for simple cross staff voices, so I guess we
have a small step done towards this. Remember, however, that a syntax
is not by far all you need to have for a feature to work.

I'd be delighted to sponsor the feature.  ¿A price?

Staff changes are currently done by music events IIRC, meaning that they
occur at a certain point of time.

With the current architecture of Lilypond, the most straightforward
approach at the moment would appear to specify cross-staff notes via
tweaks instead.

Cross-staff chords don't really need staff changes. They could
be implemented like this:

<a c e>4\connectStemDown   (or \connectStemUp )

Lilypond could then auto-extend the stem in the given direction, and
give an error message if the other staff doesn't have a note/chord of
appropriate duration at the same time. Of course, this "connectStem" construct should "just work" no matter how the vertical spacing ends up,
never too much stem, never too little.

So cross-staff chords can be implented in a user-friendly way without changes to staff switching.

But a staff switch that does not moves the time forward is still a useful thing to have. A voice may jump back and forth between staffs,
and have ties to what comes later. It'd be nice if this sort of thing
didn't need tweaks.

The png attached to my first message in this thread is one example,
where there is a cross-staff beam where the notes also have ties
to the following cross-staff chord.

This is easy to describe with words, but hard to make in lilypond.
It can be done with tweaks and hidden notes, but that is not
user-friendly. And if you want midi, you have to silence those
hidden notes too. Making the midi work is easy - you just
don't switch staff. Midi doesn't need multiple staffs at all for
piano music. But the huge disadvantage  is that music must be
entered twice - errors on paper won't be heard in the midi.

A timeless staff switch would make this easy. Or possibly ties that
tie to the next note on the staff, no matter what voice it belongs to.

Helge Hafting

reply via email to

[Prev in Thread] Current Thread [Next in Thread]