bug-lilypond
[Top][All Lists]
Advanced

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

Re: [LSR-v2.18] "Changing stems direction without affecting rests"


From: Thomas Morley
Subject: Re: [LSR-v2.18] "Changing stems direction without affecting rests"
Date: Fri, 14 Feb 2014 00:10:39 +0100

2014-02-13 22:34 GMT+01:00 Pierre Perol-Schneider
<address@hidden>:
> Dear Squad,
>
> Regarding this snippet : http://lsr.dsi.unimi.it/LSR/Item?id=732
> I'm not sure what am I suppose to do since rests are no more affected in
> v.2-18.
> Anyway it has been upgraded (but does it make sense).
>
> Any opinion ?
> Cheers,
> Pierre

Hi Pierre,

I've noticed you started the LSR-upgrade.
That's great!! I'll do my best to help you where I can, although I've
very little time those days.
Did you succed contacting Seba already?

Do you have a list of snippets making troubles?
If so, please post it and call for help, it's way too much work for a
single person!

Regarding the snippet:
Because it is _not_ tagged docs I'd simply delete it. If you have
editing privileges do it _now_, through the web-interface. (If not I
could do it for you). I think the LSR-software complains if the
snippets before and after the upgrade doesn't fit.

Any objections?

Btw, the condition of the snippet will never(?) be #t with
lily-versions 2.16 and above, because a list is compared with a
symbol. I think there was some changing after 2.14.

Look at the terminal-output from:

\version"2.18.0"

stemDownRestsUp =
\override Stem #'direction =
  #(lambda (grob)
     (let* ((cause (ly:grob-property grob 'cause))
            (parent-cause (ly:grob-property cause 'cause))
            (parent-props (ly:prob-immutable-properties parent-cause))
            (parent-class (assoc-get 'class parent-props)))

       (display "\nparent-class\t")
         (display parent-class)
       (display "\nparent-class-is-list?\t")
         (display (list? parent-class))
       (display "\nparent-class equal to 'rest-event?\t")
         (display (eq? parent-class 'rest-event))
       (newline)

       (if (eq? parent-class 'rest-event)
           UP
           DOWN)))

\layout { ragged-right = ##f }

\new Staff = "example" {
<<
  \context Voice = "up" { \voiceOne \stemDownRestsUp r4 c''4 r2 }
  \context Voice = "down" { \voiceTwo c'1^"stemDown, rests Up" }
>>
}

OTOH, this snippet is the only one I've found on a quick search, using
ly:prob-immutable-properties
Would be nice to provide an example-code which uses it.
Can't think of any at the moment, though. :(
Ok, it's used in 'music-clone' from music-functions.scm. Not a snippet, though.

Additionally:
I seem to remember that I noticed several snippets, where the
scheme-functions would not work with newer versions.
Others are using some (very) complicated stuff to do things, that
nowadays can be reached ways easier. Worth recoding.
Though, I'd not do it _during_ the upgrade, _if_ they compile.
I suggest making a list for volunteers. ;)


Best,
  Harm



reply via email to

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