[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: automatic setting of `currentBarNumber'
From: |
Han-Wen Nienhuys |
Subject: |
Re: automatic setting of `currentBarNumber' |
Date: |
Fri, 23 Jan 2009 12:47:53 -0200 |
On Tue, Jan 20, 2009 at 6:03 PM, Werner LEMBERG <address@hidden> 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.
What happens if you use \applyContext for the 2nd value too?
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen