The "partial paste" would come in handy if I have to paste it onto multiple presets: Say I have 10 presets with 10 different signal paths.
I want to add a second signal path onto each of these presets - this one should be identical in all 10 presets.
While it might seem simple to implement, it's a very error-prone process to automate. And, if it is done correctly where the code is trying to protect us from ourselves, it would then be worse dealing with all the alert boxes raised by the editor.
Imagine wanting to paste in blocks that you forgot already existed in a preset… what should the code do?:
- paste over the top of existing blocks that were in a different row, effectively overwriting them or their assigned parameters?
- refuse to paste?
- if the block has multiple instances available, should it paste them using the first or next available instance? For example, that would mean you would suddenly have blocks that were pasted as Chorus 1 but are now Chorus 2, or vice-versa.
Good programming practices say we don't damage the existing "data", the layout, so it should refuse. At that point
we have to alter the original layout or the group we're pasting so it'll paste safely. We have to
manually override in other words. Odds are good you'd have to do that at least 10 times in your different presets.
Another problem would be: Should the code allow pasting into an existing path or only into a contiguous group of empty cells equal to the size of the copied group of blocks to preserve the layout of what you're pasting? If an existing path, what should it do if the row grows to exceed the grid limit? Should it refuse, or insert a Feedback Send/Return pair and wrap? What happens it if was in the last row?
Those are only two issues I see as a programmer in a couple minutes of considering the problem.
We'd all love this ability, but programmatically it's a
horribly,
REALLY, deep rabbit hole full of gotcha's. And, because it's been requested many times, I think the issues underlying it have kept any sort of wish from coming true.