lilypond-user
[Top][All Lists]
Advanced

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

Re: cadenza causes barcheck failure?


From: Carl Sorensen
Subject: Re: cadenza causes barcheck failure?
Date: Tue, 10 Nov 2009 12:18:45 -0700

Dear Frogs (or anybody else interested),

Could someone volunteer to create a patch to the documentation by adding
this to the Known issues and warnings section of Unmetered music in
rhythms.itely?

Thanks,

Carl



On 11/10/09 7:46 AM, "Mats Bengtsson" <address@hidden> wrote:

> 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]