lilypond-user
[Top][All Lists]
Advanced

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

Re: Strange Change Staff behavior


From: Carl Sorensen
Subject: Re: Strange Change Staff behavior
Date: Sun, 29 Mar 2009 00:49:23 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Alberto Simões <albie <at> alfarrabio.di.uminho.pt> writes:

> 
> Hello.
> 
> I am having a strange behavior with Change Staff. It is not easy to
> explain as it is quite strange. Basically, I am having a voice defined
> to be drawn on the lower staff, and it is appearing in the upper staff.
> 
> As it is not easy to explain, I am sending the lilypond file in attach.
> What is happening: lowerB voice is being drawn in the upper staff.
> 
> Thanks for any help
> Alberto


Alberto,

Are you using Windows?  I ask, because when I compiled your file I got
pages and pages of warnings.

When a file is not working properly, if you're not using a terminal window
to run LilyPond (so the warnings and errors show up on the screen), you 
should look at the .log file that is created.  It will have information that
will help you track down your error.

There were lots of warnings, which appeared to me to be the result of not
properly instantiating voices.  So I went through your music and explicitly
instantiated the voices, as recommended in the NR section on polyphony.

I think it's working properly now.

HTH,

Carl


\header {
  title = "Cristo Ressuscitou"
  composer = "J. dos Santos"
  poet = "P. Minhava"
  tagline = "Transcrita por Alberto Simões"

  ocasioes = "entrada"
  seccao   = "entrada"
}

global = {
  \key ees \major
  \time 2/4
}

melody = \relative c' {
  \clef treble
  \global
  \autoBeamOff
  r4\f ees8^\markup{Coro} g \bar "|:"
  bes bes g bes
  ees4( c)
  bes2
  c4 f,(
  \break

  f8) g aes f
  bes4 ees8 c
  aes aes c aes
  f2
  ees2 ~
  ees8 \fermata d^\p d d

  g4 f8 f
  g g d d
  g g a a
  g2 ~
  g8 a bes c
  d4 ees8 c

  d8 g, a bes
  c d ees c
  d4 bes8 bes
  g g f f
  g2 ~
  g8 r ees g \bar ":|"
}

text = \lyricmode {
  A- le- lu- ia! A- le- lu- ia!
  Cris- to res- sus- ci- tou.
  A- le- lu- ia! A- le- lu- ia!

  Não pro- cu- reis en- tre_as som- bras a pes- so- a de Je- sus.
  Res- sus- ci- tou: e- ra_a Vi- da.
  Bri- lhe_en- tre vós: é a Luz.
  Bri- lhe_en- tre vós: é a Luz.
  A- le-
}

upperA = \new Voice = "upA" {
  \voiceOne
  \relative c' {
    r4 ees8[( g]\bar "|:" <g bes>4) g8[( bes]
    <bes ees>4) c8[( ees]
    <c g'>4) ees8[( g]
    c[ bes aes g]
    f[ ees d c]
    bes4 ees8[( c]
    aes4) c8([ aes]
    f2
    ees2 ~
    ees8) \fermata

    d8([ d d]
    g4 f
    g d
    g a
    g2 ~
    g8) a[( bes c]
    <f, a d>4) <ees g c>(
    <f a d>) <ees g c>(
    <f a d>) <ees g c>(
    <f a d>) <ges bes ees>(
    <g bes e>) <aes d f>(
    <g d' g>2) ~
    <g d' g>8 r ees[ g] \bar ":|"
  }
}

upperB = \new Voice = "upB" {
  \voiceTwo
  \relative c {
  \change Staff = "lower" ees4--(
  \change Staff = "upper" ees'4)
  <d f>4 g
  <c, g> c'
  <g bes> ees'
  <f, c' d>-- r4

  <bes, f' g>-- r4
  <ees f>-- r
  <c ees>-- r
  d2
  bes ~
  bes8 r c4(

  bes) c(
  b) c(
  bes) c(
  b) c(
  bes8) r8 r4 s2

  s2 s2 s2 s2 s2 s4 ees
  }
}

upper = {
  \new Staff = "upper"
  \global
  \clef treble
 <<
   \upperA
   \upperB
 >>
}

lowerA = \new Voice = "lowA" {
  \voiceOne
  \relative c' {
  s2 \bar "|:" s2 s2 s2 s2
  s2 s2 s2 bes4 c8[( aes] g2) ~ g8 r r4
  r8 d8[ d d] g4 f8[ f] g[ g] d[ d] g[ g] a[ a] g r8 r4
  }
}

lowerB = \new Voice = "lowB" {
  \voiceTwo
  \relative c' {
  s2 \bar "|:" s2 s2 s2 s2
  s2 bes2 ~ bes ~ bes4 bes,( ees) bes8[( g] ees)_\fermata s8 s4
  g2 ~ g2 ~ g2 ~ g2 ~ g8 s8 s4 c'2 ~
  c ~ c ~ c ~ c ~ c ~ c8 r8 s4
  }
}

lower = {
  \new Staff = "lower"
  \global
  \clef bass
 <<
   \lowerA
   \lowerB
 >>
}


\score {
  <<
    \new Voice = "mel" { \autoBeamOff \melody }
    \new Lyrics \lyricsto mel \text
    \new PianoStaff <<
      \upper
      \lower
    >>
  >>
  \layout {
    \context { \RemoveEmptyStaffContext }
  }
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 63 4)
    }
  }
}










reply via email to

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