On Tue, 2009-01-20 at 21:03 +0100, Werner LEMBERG wrote:
> The following problem:
> 
>   \score {
>     \relative {
>       c1 | c1 | c1 | c1 |        % Bars 1-4
>   }
> 
>   \score {
>     \relative {
>       c1 | c1 | c1 | c1 |        % Bars 5-8
>   }
> 
> I know how to manually set `currentBarNumber' in the second \score
> block:
> 
>   \set Score.currentBarNumber = #5
> 
> However, I want to have this set automatically; for example, if I
> later decide to insert two bars into the first \score block, the
> starting bar number for the second \score block should be updated
> accordingly.
> 
> It's rather straightforward to store the value of `currentBarNumber'
> in a Scheme variable (the number `10' is just a dummy value):
> 
>   #(define lastBarNumber 10)
> 
>   \score {
>     \relative {
>       c1 | d1 | e1 | f1 |
>     \applyContext
>       #(lambda (x)
>         (set! lastBarNumber (ly:context-property x 'currentBarNumber)))
>   }
> 
> However, I wasn't able to make lilypond use the computed value.  I
> tried both `\set' and `\applyContext' (using
> `ly:context-set-property!') without success.

It works for me if I put things in separate books (ie. I set
lastBarNumber in one book and read it in the next book), but not if I
put things in separate scores. I don't really know how the handling of
books differs from the handling of scores, so I'm not sure why.

Joe




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

Reply via email to