Hi Pete,
So major compositional changes -- the ones we're
calling "structural" here -- are implemented at that
first (gen.purp.prog.lang) level, tossing LP not much
to trip over then or fail to carry through.
My point, then: Why stuff a complicated-enough
engraving program with (compositional) issues
that by nature demand more abstract handling?
Here are two real-world examples, drawn from my own recent life.
1. In 2013, I composed and engraved a piece with nearly 12,000 frames (57 staves x
208 measures). It contains two sections (of ~32 and ~16 measures) which were
specifically added "for That Production” (and, as such, contain “external
material”). Now I want to modify the piece — someone has asked to license it for
performance later this year. So I want to either eliminate those two sections, or
replace them with different transitional material, so that I can publish a
“standalone” work, separate from “That Production”.
2. One of my stage musicals (“Robin Hood: The Legendary Musical Comedy”) has
been picked up for further development. It comprises nearly three dozen cues,
each ranging from a few measures up to over 200; and there are 23 staves at its
thickest point. In the Finale (the longest and most complex cue!), we want to
trim the coda by [an internal] 16 measures for the next version.