lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

automatic setting of `currentBarNumber'


From: Werner LEMBERG
Subject: automatic setting of `currentBarNumber'
Date: Tue, 20 Jan 2009 21:03:09 +0100 (CET)

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.

Please advise.


    Werner




reply via email to

[Prev in Thread] Current Thread [Next in Thread]