[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Sponsored feature request--cross-staff chords, ties
From: |
Han-Wen Nienhuys |
Subject: |
Re: Sponsored feature request--cross-staff chords, ties |
Date: |
Tue, 22 Aug 2006 18:41:34 +0200 |
User-agent: |
Thunderbird 1.5.0.5 (X11/20060803) |
Hello,
I once made an estimate for doing x-staff chords, for 400 EUR. I think
that would be the most difficult task. If the stems + noteheads work
correctly, adding arpeggios and ties should be relatively easy.
For reference, I insert what I wrote to Hans Forbrich:
**
Hello Hans,
I've had another look at X-staff chords. I've put the price at 400 euro.
It might be on the pricey side, but the stem is pretty central to the
layout engine, and I expect that drastic changes will touch a lot of
code, which would require a lot debugging and tweaking. It's also the
reason why I don't want to do it for the 2.8 release.
FYI, the todo list is below:
CONCEPT
- a Voice still is in a single Staff context
- isolated noteheads may be tagged to be on another staff
- in this case, stem directions are determined by the staff
configuration: if voice is in bottom staff, extra note heads in
the top staff always make the stem direction go up.
- Caveat: this doesn't handle the case where the beam is vertically
centered between note heads in both staves.
- Caveat: Since the x-staff note heads are not broadcast in a Voice
context, they are not caught by Voice context engravers. They won't
participate in arpeggios, or have private fingering/articulation
symbols.
IMPLEMENTATION
Create
Stem::staff_head_positions - positions of heads in the stem's staff.
Stem::all_head_positions - positions of all heads relative to stem's
staff.
Revise all use of Stem::head_positions().
- stem.cc: direction calculations use staff_head_positions,
- stem.cc: length calculations use all_head_positions
- note-collision use staff_head_positions
- spacing uses staff_head_positions
- tie uses all_head_positions
- tuplet-bracket uses staff_head_positions
Revise the stem direction code to handle the x-staff case
especially.
Make Note_heads_engraver broadcast x-staff note heads in the right
Staff context. This puts the note heads in the right staff.
Add a music function to tag chord notes appropriately.
**
Steve D wrote:
I know that cross-staff beaming has been mentioned periodically on the
LilyPond lists.
It would be great, for the sake of piano and other polyphonic instrument
scores, for there to exist in LilyPond some mechanism that would allow
for chords to change staff, perhaps like single-note melodies already
can do (with \change Staff = staff-name), and which includes all of the
tie functionality.
For an example in piano music-- an arpeggiated chord played with both
hands across both staves, tied to a following chord that crosses the
staves. I recently wrote a piece in which there is a grace-note
descending arpeggio played with both hands (sequentially, first the
right then the left), that crosses from the treble to the bass staff,
and is tied to every note but the lowest note of the following chord
(see attached GIF graphic).
To do so required some "inventive" LilyPond code, hidden notes, etc.,
and in this case, the chord following the cross-staff grace-note
arpeggio was not itself a cross-staff chord. However, it would be great,
if it can be implemented, for the following to exist in LilyPond:
* chords that cross staves (perhaps like <f c \change Staff = bass g d>)
* cross-staff chords that can be tied to cross-staff chords (using
automatic and manual tie formatting)
* cross-staff arpeggios that can be tied to cross-staff chords
(with auto and manual tie formatting)
* grace-note arpeggios that can be tied to cross-staff chords
(with auto and manual tie formatting)
I would be happy to sponsor such functionality.
Best wishes,
Steve
Stephen Doonan
Portales, New Mexico US
http://www.xscd.com/pub/
------------------------------------------------------------------------
------------------------------------------------------------------------
_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen
LilyPond Software Design
-- Code for Music Notation
http://www.lilypond-design.com
- Sponsored feature request--cross-staff chords, ties, Steve D, 2006/08/20
- Re: Sponsored feature request--cross-staff chords, ties,
Han-Wen Nienhuys <=
- Re: Sponsored feature request--cross-staff chords, ties, Trevor Bača, 2006/08/22
- Re: Sponsored feature request--cross-staff chords, ties, Steve D, 2006/08/23
- Re: Sponsored feature request--cross-staff chords, ties, Han-Wen Nienhuys, 2006/08/23
- Re: Sponsored feature request--cross-staff chords, ties, Trevor Bača, 2006/08/23
- Re: Sponsored feature request--cross-staff chords, ties, Han-Wen Nienhuys, 2006/08/24
- Re: Sponsored feature request--cross-staff chords, ties, Han-Wen Nienhuys, 2006/08/28
- Re: Sponsored feature request--cross-staff chords, ties, Trevor Bača, 2006/08/28
- Re: Sponsored feature request--cross-staff chords, ties, Han-Wen Nienhuys, 2006/08/28
- Re: Sponsored feature request--cross-staff chords, ties, Steve D, 2006/08/29
- Re: Sponsored feature request--cross-staff chords, ties, Trevor Bača, 2006/08/29