Hello James, not sure what you want to see exactly, but maybe using something like this could do the trick:
%%%
#(define-markup-command (box-outline layout props arg)
(markup?)
#:properties ((thickness 1)
(font-size 0)
(box-padding 0.2))
(let* ((th (* (ly:output-def-lookup layout 'line-thickness)
thickness))
(pad (* (magstep font-size) box-padding))
(m (interpret-markup layout props arg))
(b (box-stencil m th pad)))
(ly:make-stencil (ly:stencil-expr b)
(ly:stencil-extent m X)
(ly:stencil-extent m Y))))
\new StaffGroup <<
\new Staff {
\key c\minor
1 1 1 1
\break
\stopStaff
\once\omit Staff.Clef
\once\omit Staff.KeySignature
\once\omit Score.BarNumber
s1-\tweak self-alignment-X #RIGHT
-\tweak outside-staff-priority ##f
-\tweak Y-offset #0
-\markup\vcenter\override #'(thickness . 3) \box-outline \score {
\layout { indent = 0 ragged-last = ##f }
{ \key c\minor c4 e' g' a' f' e' d' }
}
\break
\once\omit Score.BarLine
\startStaff
1 1 1 1
}
\new Staff {
1 1 1 1
\break
\stopStaff
\once\omit Staff.Clef
\once\omit Staff.KeySignature
s1-\tweak self-alignment-X #RIGHT
-\tweak outside-staff-priority ##f
-\tweak Y-offset #0
-\markup\vcenter\override #'(thickness . 3) \box-outline\score {
\layout { indent = 0 ragged-last = ##f }
{ c'2 e'2 }
}
\break
\once\omit Score.BarLine
\startStaff
1 1 1 1
}
>>
%%%
Here we use markup scores to get independent typesetting.
Cheers,
Valentin
Am Sonntag, 13. April 2025, 05:27:19 Mitteleuropäische Sommerzeit schrieb
James Harkins:
> Hi,
>
> I'm stuck again.
>
> I've got a passage that's meant to be aleatoric: each player has 4 phrases
and 4
> held notes to be played in any order.
>
> Barlines should not be synchronized. Vertical alignment is irrelevant. I've
done
> some searching this morning but I can't find anything about how to convince
LP
> to suspend rhythmic relationships and typeset several simultaneous staves
with
> completely independent horizontal spacing (but for only part of a score). --
If
> one part has a whole note with fermata, and at the same "score time,"
another
> part has running 16ths, the whole note doesn't need that much space, but LP
> will align it with the fast notes. \cadenzaOn / \cadenzaOff won't help with
> that.
>
> Gould recommends frames for each unit. I tried David Nalesnik's (excellent)
> frameEngraver, but ran into a little snag because some of the frames will
cross
> system breaks, and as currently written, the frames will be automatically
> closed at the beginning and end of a system, so it's difficult to distinguish
> between a frame that terminates at the end of the system and one that
continues
> into the next system. But I'm not sure if I'll really continue with that,
> because of the rhythmic alignment problem.
>
> Polymeter with more careful attention to beat count doesn't produce errors,
but
> it also doesn't produce reasonable system breaks. I can *almost* get that to
> work by forcing system breaks and scaling durations of the long notes --
ugly
> hack but might almost work.
>
> Or do I need to break this into multiple scores? E.g.,
>
> \score { ... conventionally notated ... }
>
> \score { ... flute part aleatoric bit, suppressing first-system indentation
...
> }
>
> \score { ... oboe part aleatoric bit, suppressing first-system indentation
... }
>
> ... etc.
>
> \score { ... more conventional notation ... }
>
> That would certainly suspend horizontal alignment. Instrument staves would
not
> be interleaved, but interleaving them might be misleading anyway since it
would
> imply temporal relationships that don't exist.
>
> Suggestions...? Been banging at this for an evening and a morning.
>
> hjh
signature.asc
Description: This is a digitally signed message part.
