[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cross staff Chords
From: |
Xavier Scheuer |
Subject: |
Re: Cross staff Chords |
Date: |
Thu, 30 Dec 2010 22:59:15 +0100 |
On 30 December 2010 22:30, Xavier Scheuer <address@hidden> wrote:
>
> Hi!
>
> That's because you use a << { ... } \\ { ... } >> construct.
> Voices within that construct are different from voices outside this
> construct and then your \autoBeamOff does not apply to your "left UP"
> voice.
>
> 1. You could replace your \autoBeamOff by
> \set Staff.autoBeaming = ##f : this would apply the "non automatic
> beaming" to the Staff context.
The message was sent unexpectedly.
I had also a couple of general suggestions.
1. I'd recommend to use "Explicitly instantiated voices" instead of
the << { ... } \\ { ... } >> construct.
See LM 3.2.2 Explicitly instantiating voices
http://lilypond.org/doc/v2.13/Documentation/learning/explicitly-instantiating-voices.html
also NR 1.5.2
http://lilypond.org/doc/v2.13/Documentation/notation/multiple-voices.html
2. Why do you use \once within your "xstaff" definition?
I would rather use something like "crossStaffStemStart"
(containing the \override without the \once ) to use where your
cross-staff passage begins
and "crossStaffStemStop" containing \revert where it should end.
So you do not need to add \xstaff before _each_ cross-staff note!
(see code below).
3. I would not use \autoBeamOff for the whole music of the Staff!
It requires you to write manual beams all along (it is tedious,
isn't it?). I would make it part of the "crossStaffStemStart"
definition.
Here is my suggestions applied to your code:
crossStaffStemStart = {
\autoBeamOff
\override Stem #'cross-staff = ##t
\override Stem #'length = #12
\override Stem #'flag-style = #'no-flag
}
crossStaffStemStop = {
\autoBeamOn
\revert Stem #'cross-staff
\revert Stem #'length
\revert Stem #'flag-style
}
\new PianoStaff <<
\new Staff= "right" {
\relative c' {
\key f \minor
\voiceOne
s2 \change Staff = "left" c8( d \change Staff = "right" e f)
}
}
\new Staff= "left" {
\clef bass
\key f \minor
<<
\new Voice = "leftUp" {
\relative c {
\voiceOne
<e g c>4.( <d f b>8)
\crossStaffStemStart
<es g >8 <f as >8
<g bes >8 <as c >8
\crossStaffStemStop
}
}
\new Voice = "leftDown" {
\relative c, {
\voiceTwo
\repeat tremolo 8 { c32 c' }
\repeat tremolo 8 { c,32 c' }
}
}
>>
}
>>
Cheers,
Xavier
--
Xavier Scheuer <address@hidden>