lilypond-user
[Top][All Lists]
Advanced

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

Re: First impressions (Was: Rolls and Ruffs)


From: Arvid Grøtting
Subject: Re: First impressions (Was: Rolls and Ruffs)
Date: Wed, 26 May 2004 21:02:16 +0200
User-agent: Gnus/5.1001 (Gnus v5.10.1) Emacs/21.2 (berkeley-unix)

Peter Mogensen <address@hidden> writes:

>    - Ideally you should only write each peace of information 1
>      time. However, there's as far as I can see no silver bullet to do
>      this with LilyPond. If I want "Da CAPO al FINE" (I do), where should
>      I write it so it's only written once and it's present in every print
>      of a single voice, but only present once in the full score?

I don't have that exact problem myself, but in a similar vein I
usually separate the following information:

- global information that is only printed above the topmost instrument
  (e.g. \tempo, some \markup)

- global information, common for all voices/staves, that is printed
  above or inside each staff (e.g. common dynamic markings, most
  fermatas)

- the music in each voice

- lyrics (often for each voice)

This way, I duplicate a minimum of information.

To give a relatively short example (warning: may contain nuts.  not
tested on animals.  complete file available upon request.):

\version "2.0.1"

global = \notes {
    \time 4/4
    \key bes \major
    s1-\markup{\dynamic p} s1 s4. s8\< s4 s4\! |
    % etc
    \bar "|."
}

themarkup = \notes {
    s1-\markup{\bold{\large{Andante molto tranquillo }\small{\note #2 #0 #1 = 
63}}} s1 s1
    s1 s1-\markup{\bold{poco animato}} s1
    % etc
}

brk = \notes { \mark "/" }

ti = \notes \relative c' {
    \property Staff.instrument = "Tenor I."
    \clef "treble_8"
    %\clef "tenor"
    \property Staff.minimumVerticalExtent = ##f
    \property Staff.verticalExtent = #'(-3 . 9)
    \dynamicUp 
    \scriptUp
    \repeat volta 2 
    {
        d4. c8 bes4 c | d-( f-) f2 | d4. c8-\< bes4 c-\! |\brk
        d4-(-\> f-) f2-\! | fis4. e8 d4 e | fis d g fis |\brk
    % etc
    }        
}


tlyri = \lyrics {
    A -- ve ma -- ris stel -- la, De -- i ma -- ter
    al -- ma, At -- que sem -- per vir -- go, Fe -- lix
    % etc
}

tlyrii = \lyrics {
    % etc
}

% + other voices

% assume tii, bi and bii are also defined, as well as their lyrics

\score { 
    \context ChoirStaff <<
        \new Staff <<     {\dynamicUp 
                          \scriptUp
                          << \global \themarkup >> }
                          \addlyrics \ti
                          \new Lyrics << \tlyri \tlyrii >> >>
        \new Staff <<     \dynamicUp 
                          \scriptUp
                          \notes { \key bes \major }
                          % \addlyrics 
                          \tii
                          % \new Lyrics << \tlyri \tlyrii >>
                      >>        
        \new Staff <<     {\dynamicUp 
                          \scriptUp
                          \global }
                          \addlyrics \bi \new Lyrics << \blyri \blyrii>> >>
        \new Staff << {\dynamicDown
                      \scriptDown
                      \global}
                      \addlyrics \bii
                      \new Lyrics << \biilyri \biilyrii>> >>
    >>
}

% Seperate scores for each voice would each have to include
% \themarkup, \global and the voice in their \score section.

-- 

Arvid





reply via email to

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