>> This would warrant a better mechanism to transplant spanners to a >> different context: basically one would want a mechanism to listen >> to slur endings in a different context than to slur starts. >> Possibly optionally with a \once qualification. > > I think the idea of an analogy to \change Staff would be a good > start. Tell a slur that it is going to end in another voice, > probably immediately before it is started. Maybe something like > > \once \override Slur.target = "another-voice-name" > > or > > \once \override Slur.id = "my-changed-slur" > \once \override Slur.change-voice = ##t. > > The first one would require the target to be a named voice, the > second would require all context to listen for that slur. > > (of course slurs and co. are only one part of the issue, dynamics > and text spanners share the problem).
What about defining anchors? Having a slur ending in a different voice makes the `(' ... `)' notation extremely hard to read (if it works at all). Instead, I can imagine something like the following to get a slur between voiceA and voiceB, starting on the second and ending on the fourth quarter beat. in voiceA: c4 \connect #'Slur #'voiceB #'myanchor d e f in voiceB: e4 f g \anchor #'myanchor a The suggested `\connect' command would be generic enough to cover (almost?) all spanner grobs; an optional fourth argument could hold the necessary overrides. As usual, this is brainstorming without knowing too much of the internal Lilypond details :-) Werner _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel