Han-Wen Nienhuys wrote:

> The proper solution would be to have a special new type of music
> production, something like
> 
>             \applycontext SCHEME-FUNCTION
> 
> which would be a music expression/event, that when executed does
> 
>       (apply SCHEME-FUNCTION current-translator)
> 
> then what you want could be done using
> 
>      \context Staff
>         \applycontext #(lambda (trans)
>               (ly-set-trans-property trans centralCPosition
>                (+ (ly-get-trans-property trans centralCPosition) 7)))
> 
> We could even use this mechanism as a basic way to express various
> other operations, such as barchecks, \property, staff changes,
> etc. Implementing it shouldn't be that hard. Basically, you have to
> implement a new music-iterator that does the gh_call ().  Loads of fun
> if you've never written such a beast before :-)

I'll have a look at the end of the semester - i.e. in start of july.
One question though: If one does

\context Voice {
  \context Staff {
     ..

I am pretty sure that the current translator will be Voice and not
Staff...? This is a problem in this case (the ottava statement would
apply to the voice and not the Staff).

-Rune

_______________________________________________
Lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to