lilypond-user
[Top][All Lists]
Advanced

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

Re: print change of clef after barline


From: Thomas Morley
Subject: Re: print change of clef after barline
Date: Sun, 1 Jun 2014 11:29:07 +0200

2014-06-01 10:23 GMT+02:00 David Kastrup <address@hidden>:
> Damian leGassick <address@hidden> writes:
>
>> On 31 May 2014, at 22:12, Thomas Morley wrote:
>
>>> Did you look into
>>> IR 3.1.22 BreakAlignment ->break-align-orders ?
>>>
>>> Or NR A.17 Layout properties ->break-align-orders
>>
>> what is not clear is this bit:
>>
>> The format is a vector of length 3, where each element is one order
>> for end-of-line, middle of line, and start-of-line, respectively.
>
>>     \override Score.BreakAlignment #'break-align-orders =
>>       #(make-vector 3 '(
>>        span-bar
>>        breathing-sign
>>        staff-bar
>>        clef
>>        key-cancellation
>>        key-signature
>>        time-signature))
>>
>> has only one order,
>
> No.
>
>  -- Scheme Procedure: make-vector len [fill]
>  -- C Function: scm_make_vector (len, fill)
>      Return a newly allocated vector of LEN elements.  If a second
>      argument is given, then each position is initialized to FILL.
>      Otherwise the initial contents of each position is unspecified.
>
>> suggesting that it acts on end-of-line only, but it also affects
>> middle of line and also changes the spacing at start of line
>>
>> I couldn't work out form the docs how to do the override just for
>> middle of line (which is what I want), or how to do a vector with a
>> different orders for end/middle/start respectively
>
> By specifying three different vectors instead of creating one vector
> with three equal elements.
>
> --
> David Kastrup

@Damian

David explained it already, though, here a bit more demonstrative:

Look at:

guile> (use-modules (ice-9 pretty-print))
guile> (pretty-print (make-vector 3 '(
       span-bar
       breathing-sign
       staff-bar
       clef
       key-cancellation
       key-signature
       time-signature)))

It returns:

#((span-bar
    breathing-sign
    staff-bar
    clef
    key-cancellation
    key-signature
    time-signature)
  (span-bar
    breathing-sign
    staff-bar
    clef
    key-cancellation
    key-signature
    time-signature)
  (span-bar
    breathing-sign
    staff-bar
    clef
    key-cancellation
    key-signature
    time-signature))

Now it should be clear why this affects end-of-line, middle of line
and start-of-line in the same manner.
To get different settings you can't use (make-vector 3 '( ... )), but
you have to specify each entry in the vector differently.

@David
If an experienced user like Damian stumbles across it, it might be
worth clearifying it in NR/IR.
What do you think?

Cheers,
  Harm



reply via email to

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