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: James
Subject: Re: print change of clef after barline
Date: Sun, 01 Jun 2014 10:32:35 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 01/06/14 10:29, Thomas Morley wrote:
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?
Yes, even I could follow that.

We could use this example and one that shows how to write it for specifying different vectors. I assume from reading this it would be

((make-vector 1 '( ... )),
(make-vector 2 '( ... )),
(make-vector 3 '( ... )),)

Or something - but then again, I am not the target audience for the IR :)

James




reply via email to

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