lilypond-user
[Top][All Lists]
Advanced

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

Re: cadenza causes barcheck failure?


From: Mats Bengtsson
Subject: Re: cadenza causes barcheck failure?
Date: Tue, 10 Nov 2009 15:46:07 +0100
User-agent: Thunderbird 2.0.0.5 (X11/20070716)

It seems that you have to explicitly create a Voice context when you start a piece with \cadenzaOn:

\include "english.ly"
\new Voice \relative c'{
   \cadenzaOn
c16^"Solo Free Time" d ef f g2. as4 gs g32 gs g8~ g1 g4 f16 ef d f d ef c4 ef8 c16 d g,1 \bar "" c16 d ef f g2 g \glissando g' g16 f ef d c b a g f e d c4 b2 e b16 e b1 \bar "||"
   \cadenzaOff
}

There are a few situations like these, where you explicitly have to create a context since LilyPond isn't able to figure out the right thing to do itself. I got the clue to this solution by looking at the log printouts from LilyPond, which included the line
warning: cannot find or create `Timing' called `'
Of course, you have to be a LilyPond nerd to have any idea of what the warning means, though.
You could just as well have done \new Staff instead of \new Voice.

    /Mats

chip wrote:
Thankyou for the reply - why is it that when I remove the " c1 | " from the beginning and end of your corrected example I then get bar lines throughout the cadenza? I don't want those c1's, they're not part of the piece. Do I have to do some override to make the bar lines invisible? Isn't that part of what \cadenza does (more or less)? I don't understand why a \cadenza section, a completely free-form unmetered cadenza, is causing problems with the other parts. My piece is made up of 7 instrument parts. I've added the entire piece at the bottom of this message. (Oh, btw, there are no forced bar checks anywhere in my piece, so I don't understand why I would get the failure.)
Thanks again,
Chip

Mats Bengtsson wrote:


chip wrote:
why would a

    \cadenzaOn
c16^"Solo Free Time" d ef f g2. as4 gs g32 gs g8~ g1 g4 f16 ef d f d ef c4 ef8 c16 d g,1 \bar "" c16 d ef f g2 g \glissando g' g16 f ef d c b a g f e d c4 b2 e b16 e b1 \bar "||"
    \cadenzaOff

cause a bar check failure?
It doesn't, at least not by itself! You can only get bar check failures if you have bar checks, i.e. if you have inserted a | where you expect the bar line to happen. I tried to turn your incomplete example into something that can be ran directly in LilyPond, like
\version "2.12.0"
\include "english.ly"
\relative c'{
c1 |
   \cadenzaOn
c16^"Solo Free Time" d ef f g2. as4 gs g32 gs g8~ g1 g4 f16 ef d f d ef c4 ef8 c16 d g,1 \bar "" c16 d ef f g2 g \glissando g' g16 f ef d c b a g f e d c4 b2 e b16 e b1 \bar "||"
   \cadenzaOff
c1 |
}
and I don't see any bar check failures. It's much much easier to provide relevant answers to a question like this if you include a complete (but small) example of an .ly file that illustrates your problem.

/Mats
% LilyPond
\include "english.ly"
\version "2.12.2"

\header{
   title = "Como"
   composer = ""
   arranger = ""
}
global = { \time 4/4
 #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
 #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
 #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff)
 %\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
 %\override Score.BarNumber #'break-visibility = #end-of-line-invisible
 %\override Score.BarNumber #'self-alignment-X = #-1
 \override Glissando #'thickness = #3
 \override Glissando #'style = #'zigzag
 \override Glissando #'minimum-length = #6
 \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
 \override MultiMeasureRest #'expand-limit = 1
 \set Score.skipBars = ##t
 \numericTimeSignature
}
%%%%% This setup should give me the maximum usable staffs per page %%%%%
\paper {
top-margin = 0.1\cm
page-top-space = 0.1\cm
ragged-bottom = ##t
left-margin = 20\mm
line-width = 175\mm
}

%%%%% This script sets the 'footer' of the last page to show the current date %%%%%
tagline = \markup {
     \simple #(strftime "%b %d, %Y" (localtime (current-time)))
      \with-url #"http://lilypond.org/web/";
     { LilyPond \simple #(lilypond-version) (http://lilypond.org/) }
}

Baritone = \transpose d b
   \relative c' {
    \clef treble \global \key d \major
   <<{\cadenzaOn
   s1*8_\markup { \halign #-0 "Alto Sax Intro" } s2. \bar "||"
   \cadenzaOff}{r1 \fermata}>>
e8 d r4 r8 b e d
e d r4 r e8 d
d2 cs
a16 g a b cs b cs d e2
d8 cs r4 r8 cs d cs
d cs r d e4 d
b2 c
cs a \bar "||"
r4 e'8 d r2
r4 e8 d r8 d cs b
d4. d8 cs2
a16 g a b cs b cs d e2
r4 d8 cs r2
r4 d8 cs r2
b2 c
cs a
r4 e'8 d r2
r4 e8 d r2
d4. d8 cs2
a16 g a b cs b cs d e2
r4 d8 cs r2
r4 d8 cs r2
R1*3
R1
R1
R1
e4. d8 cs4. d8
e4 g fs e
fs1
R1 \bar "||"
r4 e8 d r2
r4 e8 d r2
d4. d8 cs2
a16 g a b cs b cs d e2
r4 d8 cs r2
r4 d8 cs r2
R1*2 \bar "||"
e8 d r4 r8 b e d
e d r4 r e8 d
d2 cs
a16 g a b cs b cs d e2
d8 cs r4 r8 cs d cs
d cs r d e4 d
b2 c
cs a \bar "||"
R1*4
e'4. d8 cs4. d8
e4 g fs e
fs1
R1 \bar "||"
r4 e8 d r2
r4 e8 d r2
d4. d8 cs2
a16 g a b cs b cs d e2
r4 d8 cs r2
r4 d8 cs r2
b2 c
cs a \bar "|."
   }

Trombone = \relative c {
    \clef bass \global \key d \major
   <<{\cadenzaOn
   s1*8_\markup { \halign #-0 "Alto Sax Intro" } s2. \bar "||"
   \cadenzaOff}{r1 \fermata}>>
b'8 as r4 r8 fs b as
b as r4 r b8 as
as2 gs
e16 d e fs g fs g a b2
as8 gs r4 r8 gs as gs
as gs r gs b4 as
fs2 fs
gs e \bar "||"
r4 b'8 as r2
r4 b8 as r8 as gs fs
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
fs2 g
gs e
r4 b'8 as r2
r4 b8 as r2
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
R1*3
R1
R1
R1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 b8 as r2
r4 b8 as r2
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
R1*2 \bar "||"
b8 as r4 r8 fs b as
b as r4 r b8 as
as2 gs
e16 d e fs g fs g a b2
as8 gs r4 r8 gs as gs
as gs r gs b4 as
fs2 fs
gs e \bar "||"
R1*4
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 b8 as r2
r4 b8 as r2
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
fs2 fs
gs e \bar "|."
   }

TrumpetTwo = \transpose d e
   \relative c'' {
    \clef treble \global \key d \major
   <<{\cadenzaOn
   s1*8_\markup { \halign #-0 "Alto Sax Intro" } s2. \bar "||"
   \cadenzaOff}{r1 \fermata}>>
g8 fs r4 r8 d g fs
g fs r4 r g8 fs
fs2 e
cs16 b cs d e d e fs g2
fs8 e r4 r8 e fs e
fs e r e g4 fs
d2 d
e cs \bar "||"
r4 g'8 fs r2
r4 g8 fs r8 fs e d
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
d2 ds
e cs
r4 g'8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
R1*3
r2 \times 2/3 {r8 d e} \times 2/3 {fs g a}
b2 a4~ a8 b16 a
g1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 g8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
R1*2 \bar "||"
r4 a8 g8~ g4 fs
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e fs g2
r4 fs8 e r2
r4 fs8 e r2
d2 d
e cs \bar "||"
R1
r2 \times 2/3 {r8 fs g} \times 2/3 {a b cs}
b2 a4~ a8 b16 a
g1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 g8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
d2 d
e cs \bar "|."
}

TrumpetTwoTenor = \transpose d e
   \relative c''' {
    \clef treble \global \key d \major
   <<{\cadenzaOn
   s1*8_\markup { \halign #-0 "Alto Sax Intro" } s2. \bar "||"
   \cadenzaOff}{r1 \fermata}>>
g8 fs r4 r8 d g fs
g fs r4 r g8 fs
fs2 e
cs16 b cs d e d e fs g2
fs8 e r4 r8 e fs e
fs e r e g4 fs
d2 d
e cs \bar "||"
r4 g'8 fs r2
r4 g8 fs r8 fs e d
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
d2 ds
e cs
r4 g'8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
R1*4
b'2 a4~ a8 b16 a
g1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 g8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
R1*2 \bar "||"
r4 a8 g8~ g4 fs
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e fs g2
r4 fs8 e r2
r4 fs8 e r2
d2 d
e cs \bar "||"
R1*2
b'2 a4~ a8 b16 a
g1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 g8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
d2 d
e cs \bar "|."
}

Alto =
   \relative c'' {
    \clef treble \global
    \key b \major
  \cadenzaOn
c16^"Solo Free Time" d ef f g2. as4 gs g32 gs g8~ g1 g4 f16 ef d f d ef c4 ef8 c16 d g,1 \bar "" c16 d ef f g2 g \glissando g' g16 f ef d c b a g f e d c4 b2 e b16 e b1 \bar "||"
  \cadenzaOff
b'8 as r4 r8 fs b as
b as r4 r b8 as
as2 gs
e16 d e fs g fs g a b2
as8 gs r4 r8 gs as gs
as gs r gs b4 as
fs2 fs
gs e \bar "||"
r4 b'8 as r2
r4 b8 as r8 as gs fs
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
fs2 g
gs e
r4 b'8 as r2
r4 b8 as r2
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
R1*3
R1
R1
R1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 b8 as r2
r4 b8 as r2
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
R1*2 \bar "||"
b8 as~ as4 r8 fs b16 as gs as
b8 as r4 r b8 as
as2 gs
e16 d e fs g fs g a b2
as8 gs r4 r8 gs as16 gs fs gs
as8 gs~ gs gs b b as gs
fs2 fs
gs e \bar "||"
R1*4
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 b8 as r2
r4 b8 as r2
as4. a8 gs2
e16 ds e fs gs fs gs a as2
r4 as8 gs r2
r4 as8 gs r2
fs2 fs
gs e \bar "|."
   }

TrumpetOne = \transpose d e
   \relative c'' {
   \clef treble \global \key d \major
   <<{\cadenzaOn
   s1*8_\markup { \halign #-0 "Alto Sax Intro" } s2. \bar "||"
   \cadenzaOff}{r1 \fermata}>>
b8 a r4 r8 fs b a
b a r4 r b8 a
a2 g
d16 cs d e fs e fs gs b2
a8 g r4 r8 g a g
a g r a b4 a
f2 fs
g fs \bar "||"
r4 b8 a r2
r4 b8 a r8 a gs fs
a4. gs8 g2
d16 cs d e fs e fs gs b2
r4 a8 g r2
r4 a8 g r2
fs2 g
a e
r4 b'8 a r2
r4 b8 a r2
a4. gs8 g2
d16 cs d e fs e fs gs b2
r4 a8 g r2
r4 a8 g r2
R1*3
r2 \times 2/3 {r8 fs g} \times 2/3 {a b cs}
d2 cs4~ cs8 d16 cs
b1
b4. a8 g4. a8
b4 d cs b
b1
R1 \bar "||"
r4 b8 a r2
r4 b8 a r2
a4. gs8 g2
d16 cs d e fs e fs gs b2
r4 a8 g r2
r4 a8 g r2
R1*2 \bar "||"
r4 b8 a~ a4 g
r4 b8 a r2
a4. gs8 g2
d16 cs d e fs e fs gs b2
r4 a8 g r2
r4 a8 g r2
d2 d
e cs \bar "||"
R1
r2 \times 2/3 {r8 fs g} \times 2/3 {a b cs}
d2 cs4~ cs8 d16 cs
b1
b4. a8 g4. a8
b4 d cs b
b1
R1 \bar "||"
r4 b8 a r2
r4 b8 a r2
a4. gs8 g2
d16 cs d e fs e fs gs b2
r4 a8 g r2
r4 a8 g r2
f2 fs
g fs \bar "|."
   }

Tenor = \transpose d e
   \relative c''' {
    \clef treble \global \key d \major
   <<{\cadenzaOn
   s1*8_\markup { \halign #-0 "Alto Sax Intro" } s2. \bar "||"
   \cadenzaOff}{r1 \fermata}>>
g8 fs r4 r8 d g fs
g fs r4 r g8 fs
fs2 e
cs16 b cs d e d e fs g2
fs8 e r4 r8 e fs e
fs e r e g4 fs
d2 d
e cs \bar "||"
r4 g'8 fs r2
r4 g8 fs r8 fs e d
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
d2 ds
e cs
r4 g'8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
R1*3
R1
R1
R1
gs4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 g8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
R1*2 \bar "||"
g8 fs~ fs4 r8 d g16 fs e fs
g8 fs r4 r g8 fs
fs2 e
cs16 b cs d e d e fs g2
fs8 e r4 r8 e fs16 e d e
fs8 e~ e e g g fs e
d2 d
e cs \bar "||"
R1*4
gs'4. fs8 e4. fs8
gs4 b a gs
a1
R1 \bar "||"
r4 g8 fs r2
r4 g8 fs r2
fs4. f8 e2
cs16 b cs d e d e f fs2
r4 fs8 e r2
r4 fs8 e r2
d2 d
e cs \bar "|."
   }

%%%%% This section creates the seperate pdf files for each horn %%%%%
\book { \score {
 <<
           \new Staff <<
               \set Staff.instrumentName = "Trumpet 1"
               \context Staff <<
                   \context Voice = "TrumpetOne" { \TrumpetOne }
                   >>
               >>
           \new Staff <<
               \set Staff.instrumentName = "Trumpet 2"
               \context Staff <<
                   \context Voice = "TrumpetTwo" { \TrumpetTwo }
                   >>
               >>

           \new Staff <<
               \set Staff.instrumentName = "Alto"
               \context Staff <<
                   \context Voice = "Alto" { \Alto }
                   >>
               >>
           \new Staff <<
               \set Staff.instrumentName = "Tenor (if no Trumpet 2)"
               \context Staff <<
\context Voice = "TrumpetTwoTenor" { \TrumpetTwoTenor }
                   >>
               >>

       \new Staff <<
           \set Staff.instrumentName = "Tenor"
           \context Staff <<
               \context Voice = "Tenor" { \Tenor }
               >>
       >>
           \new Staff <<
               \set Staff.instrumentName = "Baritone Sax"
               \context Staff <<
                   \context Voice = "Baritone" { \Baritone }
                   >>
               >>
           \new Staff <<
               \set Staff.instrumentName = "Trombone"
               \context Staff <<
                   \context Voice = "Trombone" { \Trombone }
                   >>
         >>
>>
%\midi{}
} }

%%%%% comment all these \book lines if no score is needed %%%%%%
\book { \score { << \new Staff = "TrumpetOne" \with { \remove Instrument_name_engraver } \TrumpetOne >> \header {piece="Trumpet 1"} \layout { indent = 0\mm} } } \book { \score { << \new Staff = "TrumpetTwo" \with { \remove Instrument_name_engraver } \TrumpetTwo >> \header {piece="Trumpet 2"} \layout { indent = 0\mm} } } \book { \score { << \new Staff = "Alto" \with { \remove Instrument_name_engraver } \Alto >> \header {piece="Alto Sax"} \layout { indent = 0\mm} } } \book { \score { << \new Staff = "Tenor" \with { \remove Instrument_name_engraver } \Tenor >> \header {piece="Tenor Sax"} \layout { indent = 0\mm} } } \book { \score { << \new Staff = "Baritone" \with { \remove Instrument_name_engraver } \Baritone >> \header {piece="Baritone Sax"} \layout { indent = 0\mm} } } \book { \score { << \new Staff = "Trombone" \with { \remove Instrument_name_engraver } \Trombone >> \header {piece="Trombone"} \layout { indent = 0\mm} } } \book { \score { << \new Staff = "TrumpetTwoTenor" \with { \remove Instrument_name_engraver } \TrumpetTwoTenor >> \header {piece="Tenor Sax (if no Trumpet 2)"} \layout { indent = 0\mm} } }

\layout { \context { \Score } }


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

--
=============================================
        Mats Bengtsson
        Signal Processing
        School of Electrical Engineering
        Royal Institute of Technology (KTH)
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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