lilypond-user
[Top][All Lists]
Advanced

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

Re: Cross-staff chords question


From: Menu Jacques
Subject: Re: Cross-staff chords question
Date: Sat, 7 Apr 2018 10:51:08 +0200

Hello folks,

It seems that the last two chords should be split in two, with each one placed in the desired staff.

This leads to the following, see the second score block below:


I’m no pianist though: is this OK for a keyboard player, or is Finale’s output:

better, and if so, how can I obtain the cross-staves stems this way?

Thanks for your help!

JM


%%%%%%%%%%%%%

\version "2.19.58"
% automatically converted by musicxml2ly from 43d-MultiStaff-StaffChange.xml_inter.xml


\header {
  texidoc =
  "Staff changes in a piano staff. 
          The voice from the second staff has some notes/chords on the first 
          staff. The final two chords have some notes on the first, some on 
          the second staff."
}

\layout {
  \context {
    \Score
    skipBars = ##t
    autoBeaming = ##f
  }
}

PartPOneVoiceOne =  \relative c' {
  \clef "treble" \key c \major \time 4/4
  s1 | % 2
  R1 \bar "|."
}

PartPOneVoiceTwo =  \relative a {
  \clef "bass" \key c \major \time 4/4 | % 1
  a8 [
  \change Staff="1"
  e'8
  \change Staff="2"
  a,8
  \change Staff="1"
  e'8 ] c'8 [ e,8
  \change Staff="2"
  a,8 b'8 ] <c,, e g c>8 [
  \change Staff="1"
  <c' e g>8
  \change Staff="2"
  <c, e g c>8
  \change Staff="2"
  <g' c e g>8 ]
  \change Staff="2"
  r2 \bar "|."
}


% The score definition
\score {
  <<
    \new PianoStaff
    <<
      \context Staff = "1" <<
        \context Voice = "PartPOneVoiceOne" {  \PartPOneVoiceOne }
      >>

      \context Staff = "2" <<
        \context Voice = "PartPOneVoiceTwo" {  \PartPOneVoiceTwo }
      >>
    >>
  >>

  \layout {}
  % To create MIDI output, uncomment the following line:
  %  \midi {\tempo 4 = 100 }
}


PartPOneVoiceOneBIS =  \relative c' {
  \clef "treble" \key c \major \time 4/4

  % \override Stem.cross-staff = ##t
  %  \override Stem.length = #19 % this is in half-spaces,
  % so it makes stems 9.5 staffspaces long
  %  \override Stem.Y-offset = #-6 % stems are normally lengthened
  % upwards, so here we must lower the stem by the amount
  % equal to the lengthening - in this case (19 - 7) / 2
  % (7 is default stem length)

  %  \override NoteColumn.ignore-collision = ##t

  R1 | % 2
  r4
  %\once \override Stem.direction = #LEFT
  c8
  <c e g>8
  r2
  \bar "|."
}

PartPOneVoiceTwoBIS =  \relative a {
  \clef "bass" \key c \major \time 4/4 | % 1

  a8 [
  \change Staff="1"
  e'8
  \change Staff="2"
  a,8
  \change Staff="1"
  e'8 ] c'8 [ e,8
  \change Staff="2"
  a,8 b'8 ] <c,, e g c>8 [
  \change Staff="1"
  <c' e g>8
  \change Staff="2"
  <c, e g>8
  \change Staff="2"
  g'8 ]
  \change Staff="2"
  r2 \bar "|."
}


% The score definition
\score {
  <<
    \new PianoStaff
    <<
      \context Staff = "1" <<
        \context Voice = "PartPOneVoiceOne" {  \PartPOneVoiceOneBIS }
      >>

      \context Staff = "2" <<
        \context Voice = "PartPOneVoiceTwo" {  \PartPOneVoiceTwoBIS }
      >>
    >>
  >>

  \layout {}
  % To create MIDI output, uncomment the following line:
  %  \midi {\tempo 4 = 100 }
}

%%%%%%%%%%%%%

Le 6 avr. 2018 à 23:11, Menu Jacques <address@hidden> a écrit :

Hello folks,

Under section « Cross-staff chords - beaming problems workaround » in the LP Snippets, one can find a way to obtain chords spanning two staves without any « <...> » chord in fact:

<PastedGraphic-6.tiff>


I’d like to keep the standard chord notation to obtain:
<Cross-staff chords.png>

and currently only get (see last two chords):

<PastedGraphic-5.png>

Tried to add a staff change after the first g’ inside the last chord (in red below), but that is not syntactically correct.

Is there a way in recent LP versions to make that approach work? That would be much more direct that the snippet mentioned above.

Thanks for your help!

JM


%%%%%%%%%%%%%%

\version "2.19.58"
% automatically converted by musicxml2ly from 43d-MultiStaff-StaffChange.xml_inter.xml


\header {
    texidoc =
    "Staff changes in a piano staff. 
          The voice from the second staff has some notes/chords on the first 
          staff. The final two chords have some notes on the first, some on 
          the second staff."
    }

\layout {
    \context { \Score
        skipBars = ##t
        autoBeaming = ##f
        }
    }
PartPOneVoiceOne =  \relative c' {
    \clef "treble" \key c \major \time 4/4 s1 | % 2
    R1 \bar "|."
    }

PartPOneVoiceTwo =  \relative a {
    \clef "bass" \key c \major \time 4/4 | % 1
    a8 [ \change Staff="1" e'8 \change Staff="2" a,8 \change Staff="1"
    e'8 ] c'8 [ e,8 \change Staff="2" a,8 b'8 ] <c,, e g c>8 [ \change
    Staff="1" <c' e g>8 \change Staff="2" <c, e g c>8 \change Staff="2"
    <g' \change Staff="1" c e g>8 ] \change Staff="2"
    r2 \bar "|."
    }


% The score definition
\score {
    <<

        \new PianoStaff
        <<

            \context Staff = "1" <<
                \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
                \context Voice = "PartPOneVoiceOne" {  \PartPOneVoiceOne }
                >> \context Staff = "2" <<
                \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
                \context Voice = "PartPOneVoiceTwo" {  \PartPOneVoiceTwo }
                >>
            >>

        >>
    \layout {}
    % To create MIDI output, uncomment the following line:
    %  \midi {\tempo 4 = 100 }
    }

%%%%%%%%%%%%%


_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


reply via email to

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