Erik Sandberg wrote:
On Monday 06 November 2006 09:25, Mats Bengtsson wrote:
Victor Eijkhout wrote:
So, if you want a limited scope, you can explicitly create a short-lived
context.
Here's an example that uses smaller note heads for one measure:

\relative c'{ c d e f \new Voice {\tiny g f e d } c d e d c1 }

   /Mats

Mats, do you think it would be useful with an operator \newClone to clone the current context? E.g.
\new Staff \with {\consists Foo_engraver bar=#'baz}
 { c d \tiny  e f \newClone Staff { g f e d} c d e }
would be equivalent to:
\new Staff \with {\consists Foo_engraver bar=#'baz}
{ c d \tiny e f \new Staff \with {\consists Foo_engraver bar=#'baz} { \tiny g f e d} c d e }

(I think such operator can come out as a side-effect of some work I'm doing)
Would it even make sense to make this the default behaviour of \new?
At least, it would probably cause less surprise to a newbie than the
current implementation, in examples like:
\relative c'{ \tiny c d <<{e d} \\ {c b}>> }
On the other hand, it would probably make it less obvious for the advanced
user to predict exactly what LilyPond does, for example in situations like

\relative c' \new Voice{
 c d e f
 <<
   c1
   \new Lyrics \lyricmode {
     Some4 text
     << \new Voice \notemode { c d e2 }
        {some more text }
     >>
   }
 >>
}
where it's not obvious if the inner Voice context would inherit anything
from the outer one (maybe this is already crystal clear to you).

  /Mats


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

Reply via email to