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: Thu, 02 Jan 2014 22:51:37 -0800
User-agent: Opera Mail/12.16 (Win32)

On Thu, 02 Jan 2014 17:31:24 -0800, Kieren MacMillan <address@hidden> wrote:

It could also be something like
  \attachAt #’verse {
    R1
    c’4 d' e’ f’
    ... }

Then it would end up extending the current \pushToTag functionality
by filling with rests the duration from the preceding musical moment/expression
to the tagged moment.

The \pushToTag method uses a complicated and flexible input structure, so 
finding the preceding musical moment takes some work.  The example you gave 
earlier added music to a starting structure
  global = {
    \tag #'intro
      << {\time 4/4 s1*3 \time 3/4 s4*3 }>>
    \tag #'verse
      << \time 5/4 s4*5*12 >>
    \tag #'bridge
      << {s4*5 \time 4/4 s1 }>>
    \tag #'coda
      << \time 2/2 s1*9 >>
    \bar "|." }
so if we insert both music and rests with an \attachAt#'verse, the rests go in 
parallel with the skips between 'intro and 'verse structure, but start after 
the end of any music we have \attachedAt#'intro, unless that attachment only 
puts music on an ossia staff.

The toy implementation I posted earlier in this thread needs to see the 
previous music, Rest or spacer, and and indication of the tag to rest until, 
all in the same music sequence.
  conductor = {
    \tag #'intro \time 4/4 s1*3 \time 3/4 s4*3
    \tag #'verse \time 5/4 s4*5*12
    \tag #'bridge s4*5 \time 4/4 s1
    \tag #'coda \time 2/2 s1*9 \bar "|."}

  coda = \tag#'coda {c'4 e' g' c'~c'1}
  verse = \tag#'verse {c'4 d' e' f' g'}
  \new Staff <<
   \alignTo\conductor {
     R1 \verse \stopStaff s1 \tag#'bridge \startStaff R1 \coda R1}
   \conductor >>

I think the automatic-rest-length idea will be easier to use if it is 
independent of \pushToTag.




reply via email to

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