Problem with glissandi in 2.15.15

2011-10-28 Thread Nick Payne
I'm using glissandi to indicate slides in fingering. The following code 
should give me a glissando between the fingering digits (it did in older 
versions), but on 2.15.15 I get no glissando at all:


\version "2.15.15"

\relative c'' {
\override Fingering #'staff-padding = #'()
\once \override Glissando #'extra-offset = #'(0 . 1.4)
4\glissando 
}

Nick
<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with glissandi in 2.15.15

2011-10-28 Thread m...@apollinemike.com

On Oct 28, 2011, at 10:57 AM, Nick Payne wrote:

> I'm using glissandi to indicate slides in fingering. The following code 
> should give me a glissando between the fingering digits (it did in older 
> versions), but on 2.15.15 I get no glissando at all:
> 
> \version "2.15.15"
> 
> \relative c'' {
>\override Fingering #'staff-padding = #'()
>\once \override Glissando #'extra-offset = #'(0 . 1.4)
> 4\glissando 
> }
> 

You have to tell it not to end on the accidental.

\relative c'' {
   \override Fingering #'staff-padding = #'()
   \once \override Glissando #'extra-offset = #'(0 . 1.4)
   \once \override Glissando #'bound-details #'right #'end-on-accidental = ##f
4\glissando 
}

There are more accurate & automated ways of doing this, though.  If you create 
a Scheme engraver that acknowledges fingerings and glissandi and then override 
the Y positions to match up with these fingerings, you don't need to use the 
extra offset.  Check out scheme-engraver-instance.ly and scheme-engraver.ly in 
input/regression.

Cheers,
MS


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with glissandi in 2.15.15

2011-10-28 Thread Nick Payne

On 28/10/11 20:16, m...@apollinemike.com wrote:

On Oct 28, 2011, at 10:57 AM, Nick Payne wrote:


I'm using glissandi to indicate slides in fingering. The following code should 
give me a glissando between the fingering digits (it did in older versions), 
but on 2.15.15 I get no glissando at all:

\version "2.15.15"

\relative c'' {
\override Fingering #'staff-padding = #'()
\once \override Glissando #'extra-offset = #'(0 . 1.4)
4\glissando
}


You have to tell it not to end on the accidental.

\relative c'' {
\override Fingering #'staff-padding = #'()
\once \override Glissando #'extra-offset = #'(0 . 1.4)
\once \override Glissando #'bound-details #'right #'end-on-accidental = ##f
4\glissando
}

There are more accurate&  automated ways of doing this, though.  If you create 
a Scheme engraver that acknowledges fingerings and glissandi and then override the 
Y positions to match up with these fingerings, you don't need to use the extra 
offset.  Check out scheme-engraver-instance.ly and scheme-engraver.ly in 
input/regression.


Thanks. That does fix it.

Where do I find scheme-engraver-instance.ly and scheme-engraver.ly. They 
aren't anywhere under /usr/local/lilypond in my installation...


Nick

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with glissandi in 2.15.15

2011-10-28 Thread Phil Holmes
- Original Message - 
From: "Nick Payne" 

To: 
Cc: 
Sent: Friday, October 28, 2011 11:36 AM
Subject: Re: Problem with glissandi in 2.15.15



On 28/10/11 20:16, m...@apollinemike.com wrote:

On Oct 28, 2011, at 10:57 AM, Nick Payne wrote:

I'm using glissandi to indicate slides in fingering. The following code 
should give me a glissando between the fingering digits (it did in older 
versions), but on 2.15.15 I get no glissando at all:


\version "2.15.15"

\relative c'' {
\override Fingering #'staff-padding = #'()
\once \override Glissando #'extra-offset = #'(0 . 1.4)
4\glissando
}


You have to tell it not to end on the accidental.

\relative c'' {
\override Fingering #'staff-padding = #'()
\once \override Glissando #'extra-offset = #'(0 . 1.4)
\once \override Glissando #'bound-details #'right #'end-on-accidental 
= ##f

4\glissando
}

There are more accurate&  automated ways of doing this, though.  If you 
create a Scheme engraver that acknowledges fingerings and glissandi and 
then override the Y positions to match up with these fingerings, you 
don't need to use the extra offset.  Check out 
scheme-engraver-instance.ly and scheme-engraver.ly in input/regression.


Thanks. That does fix it.

Where do I find scheme-engraver-instance.ly and scheme-engraver.ly. They 
aren't anywhere under /usr/local/lilypond in my installation...


Nick



They'll be in the source code, in the directory Mike has mentioned.

--
Phil Holmes



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Making feathered beams more variable

2011-10-28 Thread Thomas Morley
Hi David,

2011/10/28 David Nalesnik 

> Hi Harm,
>
> On Tue, Oct 25, 2011 at 12:05 PM, harm6 wrote:
>
>>
>> Hi David,
>>
>> David Nalesnik-2 wrote:
>> >
>> > Hi Harm,
>> >
>> > On Mon, Oct 24, 2011 at 4:09 PM, Thomas Morley <
>> > thomasmorle...@googlemail.com> wrote:
>>
>> I'm looking for a method to integrate something like:
>>
>> (if (= number 0)
>> use: \override Beam #'grow-direction = #LEFT
>> (if (>= number stem-count)
>> use: \override Beam #'grow-direction = #RIGHT
>> otherwise use: \override Beam #'stencil = (grow-beam-var arg)
>>
>> into the Beam-stencil-override.
>>
>> I'm aware of the possibility to create a function to do that, but this is
>> not intended.
>>
>> So, is it possible to program (grob-property-set! grob 'grow-direction
>> LEFT)
>> somewhere in a stencil-override?
>>
>>
> I'm not sure I understand what you want here.  Would you like to duplicate
> the effect of these overrides in the function (say by adding in null
> stencils), or actually call them when certain conditions are met?  The
> attached file does the latter.
>

Sorry, if I wasn't clear, but you did understand what I wanted! :)
Now it works fine.

(...)

There are two problems left.
>> First tiny problem:
>> The output with kneed-beams is ugly in some cases:
>> This example gives a overlooking stem at beam-end (test-code only)
>>
>> xy = \once\override Stem #'french-beaming = ##t
>>
>> \relative c {
>>\once\override Beam #'stencil = #(grow-beam-var 5)
>>f32 [ \xy f''' f,,, \xy f''' f,,, \xy f''' f,,, \xy f''' f,,, \xy
>> f''']
>> }
>>
>> I'm not sure how to fix. 'french-beaming only works with the inner stems.
>> Is there a default-command I can't find? Should I integrate something into
>> the definition of grow-beam-var? Or create a separate override for this
>> stem?
>>
>>
> I don't know if there's a setting to allow 'french-beaming to work with
> outer stems of a beam group. (I checked some Durand scores of Messiaen, and
> sure enough, the outer stems span the entire beam.)  I tried various
> overrides to adjust the length of the final stem only, and the solution I
> got to work is this:
>
> xy = \once\override Stem #'french-beaming = ##t
>
> \relative c {
>   \once \override Beam #'stencil = #(grow-beam-var 5)
>   f32 [ \xy f''' f,,, \xy f''' f,,, \xy f''' f,,, \xy f''' f,,, \xy
>   \once \override  Stem #'stencil = #(lambda (grob) (ly:grob-set-property!
> grob 'length 11)
> (ly:stem::print grob))
>   f''']
> }
>

I changed your suggestion to a function (I've no problems using a function
in this case) and tested both:
1. It doesn't works with "2.14.2", but with "2.15.13" there are no problems.

Does it work with "2.14.2" for you?
2. Using it with \change Staff doesn't work! Maybe an issue with \change
Staff?

\version "2.15.13"

xy = \once\override Stem #'french-beaming = ##t

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

xyOut =
#(define-music-function (parser location y-length)(number?)
#{
\once \override  Stem #'stencil = #(stem-length $y-length)
#})

% This works
\relative c {
  \once \override Beam #'stencil = #(grow-beam-var 5)
  f32 [ \xy f''' f,,, \xy f''' f,,, \xy f''' f,,, \xy f''' f,,,
  \xyOut #11
  f''']
}

% This not. Issue in \change Staff ?

top = \change Staff = "1"
bottom = \change Staff = "2"

music = \relative c {
  \override Beam #'auto-knee-gap = #0
  \override Beam #'stencil = #(grow-beam-var 1)
\bottom cis32[
f
%\xyOut #0
\once \override  Stem #'stencil = #(lambda (grob) (ly:grob-set-property!
grob 'length 0)
(ly:stem::print grob))
\top f'']
}

\score {
  \new PianoStaff <<
\new Staff = "1" {
  s16.
}
\new Staff = "2" {
  \clef bass
  \music
}
  >>
}


>
>
>> Regarding the following example I'm not sure: should the peak point up or
>> down? What do you think?
>>
>> \relative c' {
>>\override Beam #'auto-knee-gap = #4
>>\override Beam #'stencil = #(grow-beam-var 16)
>>c''32 [b a g
>>f g a b
>>c b a g
>>f g a b
>>e,,, c''' b a
>>g a b c
>>d c b a
>>g a b c]
>>c1
>> }
>>
>
> Well, with the current position of the beam, what you have is the only
> option.  Otherwise the beam will cover the ledger lines.
>

To avoid covering the ledger lines I used a 'positions-override and changed
the function a little to get the possibility to turn the peak up or down, if
I use negative values. But only if the beam is kneed and level. I'm afraid
it would be too much work to generalize this feature, needed only in very
special cases.
See attached file.


>
>> Second problem.
>> I tried to use \featherDuration with my Definition, but it doesn't work as
>> expected (seems it works only once a beam):
>>
>> (...)
>>
>
> There's a "known warning" about \featherDurations which applies here, I
> think.  You have too many notes in the group. Your beams work with this
> short example:
>

Re: Making feathered beams more variable

2011-10-28 Thread David Nalesnik
Hi Harm,

On Fri, Oct 28, 2011 at 8:18 AM, Thomas Morley <
thomasmorle...@googlemail.com> wrote:

> Hi David,
>
> 2011/10/28 David Nalesnik 
>
>> [ . . . ]
>
>
>> Maybe you could think of some artful way to modify the function in
>> music-functions-init.ly to incorporate the increase/decrease.  That way
>> you could handle the peak smoothly.
>>
>
I worked on this a bit, and I came up with something which will handle the
accel./rit. pattern which you've been using with your feathered beam
function.  It works just like \featherDurations, except you add two
additional arguments, a number representing the number of notes it takes to
get to the fastest value and another number representing the number of notes
left over.  Sort of :)  It's a bit unclear what the numbers mean, so I left
a line in the function which displays the pattern to the log so you can see
what's going on.  (What do you think each number should represent?  Also, is
there an easy way to determine the number of notes in the pattern
automatically?)

I'm sure there's a lot of room for improvement here.  (For one thing, how
about starting fast, getting slower, then faster again?)  But this seems to
work . . . so far :)

-David


feather-test01.ly
Description: Binary data
<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Making feathered beams more variable

2011-10-28 Thread David Nalesnik
Hi again,

On Fri, Oct 28, 2011 at 4:31 PM, David Nalesnik wrote:

>
> I worked on this a bit, and I came up with something which will handle the
> accel./rit. pattern which you've been using with your feathered beam
> function.  It works just like \featherDurations, except you add two
> additional arguments, a number representing the number of notes it takes to
> get to the fastest value and another number representing the number of notes
> left over.  Sort of :)  It's a bit unclear what the numbers mean, so I left
> a line in the function which displays the pattern to the log so you can see
> what's going on.  (What do you think each number should represent?  Also, is
> there an easy way to determine the number of notes in the pattern
> automatically?)
>
> I'm sure there's a lot of room for improvement here.  (For one thing, how
> about starting fast, getting slower, then faster again?)  But this seems to
> work . . . so far :)
>
>
The attached should work with accel./rit. and rit./accel.  There is only one
extra argument now, which represents the position of the "turnaround".  This
can't be larger than the number of notes in the group.   If you notice any
problems or think of a way to make this more effective/less tangled please
let me know!

-David


feather-test01.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user