Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a fair amount of complexity in calculations, but it allows for routes to preserve transforms which got broken when changing the route behaviour in 2.2. closes #1307 #1274
This finishes the work started years ago in 777b7f2
Unless anyone has any objections, I shall aim to merge this to 2.5 this week.
I still need to reenable/reimplement the scale_modes, but this is otherwise looking functional and pretty complete.
This is a slightly breaking change, as the way that crops compound now is slightly different. This should only affect routing one channel into another, where the crop values to be used on that routed frame are relative to the viewport and not the content. (This does sound wrong, could that change?) And also when routing a channel, the clip values for each layer are now respected correctly and may need to be set over amcp to avoid clipping the routed frame. While annoying, this is how it behaved before 2.2, so is consistent with behaviour when routes preserved transforms.
The other simple 'fix' for avoiding unexpected clips is to not scale beyond the channel bounds of the source channel, likely using a custom resolution channel to do so.
The one bit of this change that I do not like is the
enable_geometry_modifiers
property, but that became necessary to avoid cropping on intermediary frames with no way to control it. The other option I can see is to entirely change how we do cropping, but that is a much larger and more breaking change