lilypond-user
[Top][All Lists]
Advanced

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

Re: Making feathered beams more variable


From: Thomas Morley
Subject: Re: Making feathered beams more variable
Date: Mon, 31 Oct 2011 01:08:37 +0100

Hi David,

2011/10/30 David Nalesnik <address@hidden>
Hi Harm,

I added (if (ly:stencil? (ly:stem::print grob)) ... to the function (and some construction-helpers, maybe deleted). Now it works with \change Staff, too. "2.15.13" or higher is still needed.

All you need here is a call to ly:stem::print first; there's no need to integrate it into the logic of the function.

This is enough:

#(define ((stem-length y) grob)
   (ly:stem::print grob) ; this line must be present
   (ly:grob-set-property! grob 'length y)    
   (ly:stem::print grob))

This doesn't work, though:

#(define ((stem-length y) grob)
   (let ((stencil (ly:stem::print grob)))
     (ly:grob-set-property! grob 'length y)    
     stencil))

Thanks to clearify this.
 

Why is this?  If you or anyone reading this can explain, I'd love to hear the answer.

I've not a clue about it.
 
 
Any idea how to change to make it work with "2.14.2"?

I wasn't able to figure out how to use 'length on a single beamed stem with 2.14.2.  However, you can use the 'stem-end-position property here.  (It seems that this property is no longer available in 2.15.13.)  So, in 2.14.2, this line will get you what you want:

 \once \override Stem #'stem-end-position = #-8
 
Works fine with "2.14.2" and \change Staff.
But there is no effect in the following example.

\version "2.14.2"
{ a'8 [
\once \override Score.Stem #'stem-end-position = #-80
a'] }

Again, thanks a lot for all the work you've invested in my problems.

Harm
reply via email to

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