lilypond-user
[Top][All Lists]
Advanced

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

Re: Subtracting one from the measure number


From: David Kastrup
Subject: Re: Subtracting one from the measure number
Date: Wed, 26 Jun 2013 18:23:25 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

"Phil Holmes" <address@hidden> writes:

> "David Kastrup" <address@hidden> wrote:
>
>
>> "Phil Holmes" <address@hidden> writes:
>>
>>> I've got a piece of music that has a dotted bar and a (hidden) time
>>> signature change at a place where the bar number is not incremented.
>>> I know I could explicitly set the bar number to the new correct number
>>> (calculated number minus one) but is there a way of subtracting one
>>> from the existing bar number?
>>
>> Probably less than pretty, but here you go:
>
>>{ \repeat unfold 40 c4
>>  \applyContext #(lambda (c)
>>   (set! (ly:context-property
>> (ly:context-find c 'Timing)
>> 'currentBarNumber)
>>    (1- (ly:context-property c 'currentBarNumber))))
>>  \repeat unfold 40 c4
>> }
>
>
> Thanks David.  Took me a while to work out why it was taking 4 off my
> measure numbers, but then I realised it must be done once per score,
> not once per staff.  (I'm autogenerating the lilypond code and so it
> was putting the decrement code into each staff's output - I've fixed
> this, as you can see).

Well, judging from your picture, you have the magic of changing the
meter silently pat.  So instead of making a real mess in order to get
two bars of \time 4/4 count as one, why don't you just make a single bar
of \compoundTime #'((4 4) (4 4)) instead and manually place the \bar ";"
(or what it was) in the middle?  Because frankly: having two bar numbers
"4" right after another is not looking good to me, either.  You might
need to look at the beaming exceptions to use, but that looks saner to
me than rewinding the bar counter.

-- 
David Kastrup



reply via email to

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