Hi, I had a look at issue 5026 "\crossStaff mangles all grace note flags " https://sourceforge.net/p/testlilyissues/issues/5026/
The code below checks additional for equal stem-durations. If true connect stems, if not don't do so _and_ unset Flag.style. Though, I'm not sure it's a proper fix. I'd appreciate opinions/testings. Thanks, Harm \version "2.19.52" #(define-public (my-Span_stem_engraver ctx) "Connect cross-staff stems to the stems above in the system" (let ((stems '())) (make-engraver ;; Record all stems for the given moment (acknowledgers ((stem-interface trans grob source) (set! stems (cons grob stems)))) ;; Process stems and reset the stem list to empty ((process-acknowledged trans) (let ((flags (flatten-list (map (lambda (stem) (ly:grob-object stem 'flag)) stems))) (stem-durs (map (lambda (stem) (ly:grob-property stem 'duration-log)) stems))) ;; condition to connect: ;; connect stems only if two or more present _and_ all are of same ;; duration and `stem-connectable?' is true (checked earlier) (if (and (<= 2 (length stems)) (every (lambda (el) (= (car stem-durs) el)) stem-durs)) ;; `make-stem-spans!' is not public, thus the @@-syntax ;; can be deleted if inserted in music-functions.scm ((@@ (lily) make-stem-spans!) ctx stems trans) ;; if the condition is false unset Flag.style (if (pair? flags) (ly:grob-set-property! (car flags) 'style '()))) (set! stems '())))))) A = { c'8 \grace d'8 e'8 f' \grace g' fis' g'4 a'8 \noBeam b' c''8 } B = { \voiceOne \autoBeamOff \crossStaff { c'8 \grace { d'8 } e'8 \grace e'8 f' fis' g'8 a' b'4 } c''8 } music = << \new Staff %% works only if patch for issue 4983 is present %\with { \override Flag.stencil = #modern-straight-flag } \A \new Staff %% works only if patch for issue 4983 is present %\with { \override Flag.stencil = #flat-flag } \B >> \new PianoStaff \with { \consists #Span_stem_engraver instrumentName = "current" } \music \new PianoStaff \with { \consists #my-Span_stem_engraver instrumentName = "proposed" } \music _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel