From e7e1ce259bcd834a233bc5a54e39109301a821bf Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Tue, 18 Aug 2015 11:03:03 +0200 Subject: [PATCH] Issue 4569: Keep \autochange from escaping an existing context hierarchy --- ly/music-functions-init.ly | 24 +++++++++++------------- scm/define-music-display-methods.scm | 5 ++++- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index 54590a4cdd..16b57a97d9 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -189,19 +189,17 @@ pitch where to switch staves may be specified. The clefs for the staves are optional as well. Setting clefs works only for implicitly instantiated staves.") (let ;; keep the contexts alive for the full duration - ((skip (make-skip-music (make-duration-of-length - (ly:music-length music))))) - #{ - << - \context Staff = "up" $(or clef-1 #{ \with { \clef "treble" } #}) - << - #(make-autochange-music pitch music) - \new Voice { #skip } - >> - \context Staff = "down" $(or clef-2 #{ \with { \clef "bass" } #}) - \new Voice { #skip } - >> - #})) + ((skip (make-duration-of-length (ly:music-length music))) + (clef-1 (or clef-1 #{ \with { \clef "treble" } #})) + (clef-2 (or clef-2 #{ \with { \clef "bass" } #}))) + (make-simultaneous-music + (list + (descend-to-context (make-autochange-music pitch music) 'Staff + "up" clef-1) + (context-spec-music (make-skip-music skip) 'Staff + "up" clef-1) + (context-spec-music (make-skip-music skip) 'Staff + "down" clef-2))))) balloonGrobText = #(define-music-function (grob-name offset text) diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index c1ee87bbf8..0b9cb54fbb 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -1119,7 +1119,10 @@ Otherwise, return #f." elements ((music 'ContextSpeccedMusic context-id "up" context-type 'Staff - element (music 'SimultaneousMusic elements (?ac-music))) + element ?ac-music) + (music 'ContextSpeccedMusic + context-id "up" + context-type 'Staff) (music 'ContextSpeccedMusic context-id "down" context-type 'Staff)))) -- 2.39.2