lilypond-user
[Top][All Lists]
Advanced

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

Re: Another time model (related to the usability thread)


From: Keith OHara
Subject: Re: Another time model (related to the usability thread)
Date: Tue, 03 Dec 2013 00:58:01 -0800
User-agent: Opera Mail/12.16 (Win32)

On Mon, 02 Dec 2013 22:56:49 -0800, Kieren MacMillan <address@hidden> wrote:

Instead of specifying an offset from a rehearsal mark, maybe simpler to
have an independent type of marker to put in the \global stream.  Then
the entries of the parts are visible all at once in \global
global = { R1*32 \mark"A" R1*30 \marker"vln34" R1*18 \mark"B" }

In what way does \pushToTag not do this already?

It took a while to figure out the documentation, but maybe \pushToTag would work.  It seems 
that, instead of each instrument part being put in a <<parallel>> construct 
with global sequence containing the timing and marks (which I always call \conductor) the 
instrument part is a *copy* of \conductor, into which we *push* the music for that 
instrument at the appropriate places.

So far I've seen just two problems.

The tag, at the place where we want a section of music from some instrument, 
needs to mark a parallel music construction that is at least as long as the 
music to be added. (Otherwise the result of \pushToTag is longer than the 
\conductor part, ruining the synchronization)  When the instruments enter 
simultaneously, the structure is simple.  But if they come in at overlapping 
times, I seem to need a nested parallel/sequential construction in order to 
give each part a parallel-music construction of sufficient length.   If there 
are a few parts using this mechanism, it will get a bit complicated.

I do not see a way to get the multimeasure rests into the parts.  There are no 
skips of the proper length in the result of \pushToTag; instead the music is in 
parallel with longer, overlapping, skips.

But, I can change the length of skips in \conductor and the music moves to 
different bars as desired.  I will not be pursuing this technique, unless there 
is a way to avoid the confusing parallel music constructions.

\version "2.16.1" % Intro to Dvorak opus 95, HornII and Timpani only
conductor = \relative c {
  \set Score.markFormatter = #format-mark-box-barnumbers
  \time 4/4
  \tag #'score \tempo "Adagio" 4 = 63
  s1*9
  \tag #'tp1 \tag #'hn1 << s1*9 >>
  \tag #'hn2 << { s1*2
     \tag #'tp2 << s1*3 >> } >>
  \mark\default
  \bar"||"
  \time 2/4
  \tag#'score \tempo "Allegro Molto" 4 = 136
  s2*15
  \mark\default
}

hornII = \new Voice <<
  \compressFullBarRests
  R1^\markup"in E"
  \transposition e
  \pushToTag #'hn1 \relative c'' {
    r8..  d32\ff d2 r4 |
    r8.. d32 d2 r4 |
    r8.. d32 d8. r16 r8.. d32 d8. r16 |
  }
  \pushToTag #'hn2 \relative c'' {
    d,16\f r8. r4 d16 r8. r4 |
    d16 r8. r4 d16 r8. r4 |
    c16 r8. r4 r4 r16 c'-. c-. c-. |
    c16 r8. b16 r8. r2 |
  } \conductor >>

timpani = {
  \clef bass
  \compressFullBarRests
  \pushToTag #'tp1 {
    r16 a32\< a a16\ff r16 r4 r2 |
    r16 a32\< a a16\sfz r16 r4 r2 |
    r16 a32 a a16 r16 r4 r16 a32 a a16 r16 r4
  }
  \pushToTag #'tp2 \relative c {
    r8 e16\mf\< e e e e e  e2*7/8\startTrillSpan s16\stopTrillSpan
    r8\! e\sfz r b\sfz\> b2\startTrillSpan
    b4\stopTrillSpan\p r r2
  } \conductor }

\score { <<
 \new Staff \hornII
 \new Staff \timpani >> }

\timpani
\hornII




reply via email to

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