lilypond-user
[Top][All Lists]
Advanced

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

Re: Réf. : Very minor problem wit h lilypond


From: Mats Bengtsson
Subject: Re: Réf. : Very minor problem wit h lilypond
Date: Fri, 22 Oct 2004 13:25:54 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913

Why not
\score {

\new Choirstaff \notes <<

\new staff {
 \context Voice = a { music }
}
\context Lyrics = la { s1 }
...
>>


I see that you have reverted to the idea of writing lyrics within
a \context Staff{...}, I didn't expect it to work, but obviously
it does for some strange reason.

I really recommend you to start using separate variables for the
different parts, I'm sure that you will have large troubles yourself
to understand the structure of your \score{...} if you come back to
it in a couple of months. Using variables, as in the satb.ly example,
you separate the music from the score structure, which makes it easier
to grasp and update.

  /Mats

Maurits Lamers wrote:
Ok !

This makes sense.
I got it working now. Finally :)

There is one addition I have to make

If you want to make the two staves you have to add another pair of << >>

The code looks like this now:

\score {

\new Choirstaff <<
\notes

<<
\new staff {
 \context Voice = a { music }
}
\context Lyrics = la { s1 }

\new staff {
 \context Voice = b { music }
}
\context Lyrics = lb { s1 }

 >>


\lyrics <<
 \lyricsto "a" \context Lyrics = la { lyrics }
 \lyricsto "b" \context Lyrics = lb { lyrics }
 >>

 >>

\paper{ }

}

This works :)


It also works if you have one single voiced melody. So the final code for the thing looks like this:


\version "2.2.5"

\header {
title = "We wish you a merry Christmas"
arranger = "arr. Maurits Lamers"
}


\score {
<<
    \new Staff {
        \notes {
            \time 3/4
            \key g \major
            \clef treble
         <<
             \context Voice = hoofdmelodieeerst \relative c' {
                 \repeat volta 4 {
                     \partial 4
d4 | g g8 a g fis | e4 e e | a4 a8 b a g | fis4 d d | b'4 b8 c b a | g4 e d8 d | e4 a fis | g2 d4 | g g g | fis2 fis4 | g fis e | d2 a'4 |
                    b4 a8 a g g | d'4 d, d8 d | e4 a fis | g2
                     } \break
              }
            \lyrics
            <<
\lyricsto "hoofdmelodieeerst" \new Lyrics { \set stanza = "1. "
                 We wish you a mer -- ry Christ -- mas, we wish you a
mer -- ry Christ -- mas, we wish you a mer -- ry Christ -- mas and a hap -- py new year. Glad ti -- dings we bring to you and your kin. We wish you a mer -- ry Christ -- mas and a hap -- py new year.
                 }
\lyricsto "hoofdmelodieeerst" \new Lyrics { \set stanza = "2. " Now bring me some fig -- gy pud -- ding, Now bring me some fig -- gy pud -- ding, Now bring me some fig -- gy pud -- ding, and _ bring some out here.
                 Glad ti -- dings we bring to you and your kin.
We wish you a mer -- ry Christ -- mas and a hap -- py new year.
                 }
\lyricsto "hoofdmelodieeerst" \new Lyrics { \set stanza = "3. " For we all like fig -- gy pud -- ding, For we all like fig -- gy pud -- ding, For we all like fig -- gy pud -- ding, so _ bring some out here.
                 Glad ti -- dings we bring to you and your kin.
We wish you a mer -- ry Christ -- mas and a hap -- py new year.
                 }
             >>
>> }
    }


\new ChoirStaff <<

\notes
<< \new Staff {
            \key g \major
            \context Voice = melodietwee \relative c' {
                 s4 | s 2.*15 | s2
d4 | g g8 a g fis | e4 e e | a4 a8 b a g | fis4 d d | b'4 b8 c b a | g4 e d8 d | e4 a fis | g2 d4 | g g g | fis2 fis4 | g fis e | d2 a'4 |
                b4 a8 a g g | d'4 d, d8 d | e4 a fis | b g c | a d b
                 }
             }
         \context Lyrics = stemeenlyrics { s1 }
\new Staff {
            \context Voice = stemtwee \relative c' {
                s4 | s 2.*15 | s2
d4 | g, b d | e e8 d c b | a4 c e | fis fis8 e d c | b4 d fis | g g8 fis e d | c4 a d | g,2 d'4 | g,8 a b c d e | fis4. e8 d4 | b2 cis4 | d2 a'4 | b a g | d' d, d | e a fis | b g c | a d b
            }
} \context Lyrics = stemtweelyrics { s1 } >> \lyrics <<
         \lyricsto "melodietwee" \context Lyrics = stemeenlyrics {
             We wish you a mer -- ry Christ -- mas, we wish you a
             mer -- ry Christ -- mas, we wish you a mer -- ry Christ -- mas
and a hap -- py new year. Glad ti -- dings we bring to you and your kin. We wish you a mer -- ry Christ -- mas and a hap -- py new year.
             }
        \lyricsto "stemtwee" \context Lyrics = stemtweelyrics {
                He wish you a mer -- ry Christ -- mas, we wish you a
mer -- ry Christ -- mas, we wish you a mer -- ry Christ -- mas and a hap -- py new year. Glad ti -- dings we bring to you and your kin. We wish you a mer -- ry Christ -- mas and a hap -- py new year.
                }
>>
 >>

 >>

\paper {
    \context {
        \RemoveEmptyStaffContext
        }

}

}


Maybe it can be used as documentation ?? It now obviously shows how it should be put together.


Many, many, many thanks for helping and getting it working :)

greets

Maurits

On 22-okt-04, at 11:45, Mats Bengtsson wrote:



Maurits Lamers wrote:

Yes I did.
The problem is that when I model it the way of the SATB.ly template, it keeps saying that it is unable to find a Voice.


That warning is usually harmless, just indicating that the voice does
not have contain any music at the beginning of the piece. However, the
problem in your file was something else (I will send it also to
bug-lilypond, since it's clearly an undocumented feature).
The following small example illustrates the problem:

\score{
  \new ChoirStaff {
    \context Voice =a \notes \relative c' {c d e f}
    \lyricsto a \context Lyrics \lyrics{Ly -- rics comes here }
}
}

If you try it, you'll notice that the lyrics isn't printed and
you don't even get a warning. However, if you change it to

\score{
  \new ChoirStaff <<
    \context Voice =a \notes \relative c' {c d e f}
    \lyricsto a \context Lyrics \lyrics{Ly -- rics comes here }
>>
}

Everything works as expected. What's the difference? Well, in the first
example you say that you should have a line of music followed by some
lyrics (since you use {...} instead of <<...>>) but at the same time
you say that the lyrics should go together with the music. Apparently,
this confuses LilyPond (I'm getting more and more convinced that this
is a plain bug). In the second example, the use of <<...>> tells
LilyPond that the music and lyrics should be simultaneous, which makes
more sense to LilyPond. So, your example works if you either move the
lyrics into the <<...>> of your \new ChoirStaff{\notes<<...>>}
(which can be simplified into \new ChoirStaff\notes<<...>> ) or
add another <<...>> :
\score{
<<
  \newChoirStaff{...}
  \lyrics << ... >>
>>
}

By the way, I hope you have realized that the \lyrics and \notes
commands are just used to tell the lexicographic analyzer of the
LilyPond frontend that it should switch mode to correspond to the
widely different characteristics of the syntax for lyrics and
notes, respectively. Also, you can nest these arbitrarily, so
you can have a \notes{...} within a \lyrics{...} and vice versa.
All this is simplified in the development version.


The other thing is that the SATB.ly template does not work. When I run it through lilypond it keeps saying that there is nothing for lilypond to do.


Is this on Mac or PC? If it's on the Mac, it might possibly be a problem
that your browser saves the file using a character coding or line end
convention that confuses LilyPond. However, you have these files
included in your installation as well. On your PC, you could try to
start the cygwin command window and run
lilypond /usr/share/doc/lilypond-2.2.5/input/template/satb.ly
I'm certain that it will work excellently.

I don't know the directory structure of the Fink installation, but
the file should be available at some similar location, together with
the other documentation files.

   /Mats




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

--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        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]