Hi Mike,
Generally LGTM, but since there's nothing in the code which requires C++ code I
favour adding a callback to output-lib.scm:
(define-public (semi-tie::calc-cross-staff grob)
(let* ((note-head (ly:grob-object grob 'note-head))
(stem (ly:grob-object note-head 'stem)))
(and (ly:grob? stem)
(ly:grob-property stem 'cross-staff #f))))
BTW, this surprised me a bit while fiddling with the regression test:
<<
\new Staff = "up" \relative c' {
f8
\change Staff = "down"
c e\f %oops
\change Staff = "up"
f
}
\new Staff = "down" { \clef bass s2 }
>>
Cheers,
Neil
On 2013/04/19 12:40:43, Neil Puttock wrote:
> Hi Mike,
>
> Generally LGTM, but since there's nothing in the code which requires C++ code
I
> favour adding a callback to output-lib.scm:
>
> (define-public (semi-tie::calc-cross-staff grob)
> (let* ((note-head (ly:grob-object grob 'note-head))
> (stem (ly:grob-object note-head 'stem)))
> (and (ly:grob? stem)
> (ly:grob-property stem 'cross-staff #f))))
>
> BTW, this surprised me a bit while fiddling with the regression test:
>
> <<
> \new Staff = "up" \relative c' {
> f8
> \change Staff = "down"
> c e\f %oops
> \change Staff = "up"
> f
> }
> \new Staff = "down" { \clef bass s2 }
> >>
>
> Cheers,
> Neil
Thanks Neil!
I wonder why this is a problem in this test you're doing and not the
dynamics-avoid-cross-staff regtests...will investigate...
Cheers,
MS