[prev in list] [next in list] [prev in thread] [next in thread]
List: lilypond-user
Subject: Re: Making feathered beams more variable
From: David Nalesnik <david.nalesnik () gmail ! com>
Date: 2011-10-31 23:10:12
Message-ID: CANn-nXnpnwPgyx2J3GtgtQZmqhfpy5w2K0tQo1seyTJPy3G4tg () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hi Harm,
On Sun, Oct 30, 2011 at 7:08 PM, Thomas Morley <
thomasmorley65@googlemail.com> wrote:
>
>> \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'] }
>
If you set 'stem-end-position in the course of an override of 'stencil, it
works in both cases:
\version "2.14.2"
xyOut =
#(define-music-function (parser location y-length)(number?)
#{
\once \override Stem #'stencil =
#(lambda (grob)
(ly:grob-set-property! grob 'stem-end-position $y-length)
(ly:stem::print grob))
#})
{
a'8 [
\xyOut #-80
a']
}
top = \change Staff = "1"
bottom = \change Staff = "2"
music = \relative c {
\override Beam #'auto-knee-gap = #0
\once \override Beam #'positions = #'(4.5 . 5)
\bottom c32[ g' \top \xyOut #-19 eis']
}
\score {
\new PianoStaff <<
\new Staff = "1" {
s16.
}
\new Staff = "2" {
\clef bass
\music
}
>>
}
______________________
I've worked some more on the function which allows you to specify
accel./rit. and vice versa, and I've attached a revision which I think is a
lot clearer. (Basically, it creates a series of multipliers first and then
feeds the list into music-map.) I've tried to make it consistent with the
input to your function.
The number input to the function is the stem number of the peak, with the
first stem-number of the group being 0. My understanding is that the peak
is the shortest note in an accelerando, and the longest in a ritard. I've
marked these points in the example. Does this agree with your
understanding?
I notice that you allow for negative numbers in the input to grow-beam-var;
the sign is simply reversed. I wonder: shouldn't you just reject them from
the outset, maybe with a warning? (I mean, the concept of stem number -2
doesn't make a whole lot of sense :) )
> Again, thanks a lot for all the work you've invested in my problems.
>
You're welcome! I'm learning a lot by working on them!
-David
[Attachment #5 (text/html)]
<br>Hi Harm,<div><br><div class="gmail_quote">On Sun, Oct 30, 2011 at 7:08 PM, Thomas \
Morley <span dir="ltr"><<a \
href="mailto:thomasmorley65@googlemail.com">thomasmorley65@googlemail.com</a>></span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex;"> <div class="gmail_quote"><div class="im"><blockquote \
class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, \
204, 204);padding-left:1ex"><div class="gmail_quote"><div><br></div><div> \once \
\override Stem #'stem-end-position = #-8</div> </div></blockquote><div> \
</div></div><div>Works fine with "2.14.2" and \change Staff.<br> But there \
is no effect in the following example.<br> <br>
\version "2.14.2"<br>
{ a'8 [<br>
\once \override Score.Stem #'stem-end-position = #-80<br>
a'] } <br></div></div></blockquote><div><br></div><div>If you set \
'stem-end-position in the course of an override of 'stencil, it works in both \
cases:</div><div><br></div><div>\version "2.14.2"</div> \
<div><br></div><div>xyOut =</div><div>#(define-music-function (parser location \
y-length)(number?)</div><div> #{</div><div> \once \override Stem #'stencil \
=</div><div> #(lambda (grob)</div><div> (ly:grob-set-property! grob \
'stem-end-position $y-length)</div> <div> (ly:stem::print \
grob))</div><div> #})</div><div><br></div><div>{</div><div> a'8 [</div><div> \
\xyOut #-80</div><div> a']</div><div>}</div><div><br></div><div>top = \change \
Staff = "1"</div> <div>bottom = \change Staff = \
"2"</div><div><br></div><div>music = \relative c {</div><div> \override \
Beam #'auto-knee-gap = #0</div><div> \once \override Beam #'positions = \
#'(4.5 . 5)</div><div> \bottom c32[ g' \top \xyOut #-19 \
eis']</div><div>}</div><div><br></div><div>\score {</div><div> \new PianoStaff \
<<</div><div> \new Staff = "1" {</div><div> s16.</div><div> \
}</div><div> \new Staff = "2" {</div><div> \clef bass</div><div> \
\music</div><div> }</div><div> \
>></div><div>}</div><div><br></div><div>______________________</div><div><br></div><div>I've \
worked some more on the function which allows you to specify accel./rit. and vice \
versa, and I've attached a revision which I think is a lot clearer. (Basically, \
it creates a series of multipliers first and then feeds the list into music-map.) \
I've tried to make it consistent with the input to your function. </div> \
<div><br></div><div>The number input to the function is the stem number of the peak, \
with the first stem-number of the group being 0. My understanding is that the peak \
is the shortest note in an accelerando, and the longest in a ritard. I've marked \
these points in the example. Does this agree with your understanding?</div> \
<div><br></div><div>I notice that you allow for negative numbers in the input to \
grow-beam-var; the sign is simply reversed. I wonder: shouldn't you just reject \
them from the outset, maybe with a warning? (I mean, the concept of stem number -2 \
doesn't make a whole lot of sense :) )</div> <div><br></div><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex;"><div class="gmail_quote"><div> </div></div>
<br>
Again, thanks a lot for all the work you've invested in my \
problems.<br></blockquote><div><br></div><div>You're welcome! I'm learning a \
lot by working on them!</div><div> </div><div>-David</div></div><br></div>
--0016364c741d47a61204b0a0572e--
["feather-test03.ly" (application/octet-stream)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic