[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.