When transforming multiple strips to limits of sequencer timeline they get
squashed into one slot.
Store selection minimum and maximum channel in TransSeq and limit
transformation so no strip can be transformed beyond timeline boundary
Differential D10013
Fix T82973: Strips overlap after transforming Authored by Richard Antalik (ISS) on Jan 6 2021, 10:10 AM.
Details When transforming multiple strips to limits of sequencer timeline they get Store selection minimum and maximum channel in TransSeq and limit
Diff Detail
Event TimelineComment Actions I am not really sure why altering channel of transformed strip avoids overlap? As in, what guarantees that changing transformed strip channel does not make it overlap with something what is at the "new" channel you are assigning?
Comment Actions It doesn't guarantee no overlapping, this change is merely to respect editor range in nicer way Perhaps I shouldn't consider report a bug and this is not a bugfix really. Though I would still consider this to be an improvement
Comment Actions Ok, so it's a limit enforcement during transform. Seems to be working fine.
Comment Actions Think within current header structure transform_data.h is a better place. Maybe even add a sequencer-specific header even. To me it is more like a details where there is no clear the-only-answer because it feels like the transform code layout could be encapsulated into areas even further. Will leave final guidance to @Germano Cavalcante (mano-wii). Comment Actions I choose transform_convert.h because there are already custom data like TransMirrorData. I am not too familiar with layout of transform code in context of other editors too much. To me it looks like some clearer level of isolation would be nice though. Comment Actions
I see. A bit confusing. Lets wait advice from @Germano Cavalcante (mano-wii) (who, to my knowledge, was decoupling implementation in the area) about where best to put the struct. Once you guys agree on this topic you can commit the fix. So since there is nothing from my side to be requested to be changed I'll accept from my side, but since we want feedback from Germano I'll mark him as blocking review. Comment Actions What was idealized was not to have any specific structs to treat some type of conversion as a special case. Comment Actions Not sure if I understand this correctly, Do you mean that sequencer module should handle this internally?
Sounds reasonable. Comment Actions The basic idea is that the "modes" in transform_mode_... operate on the "converted" structures in "transform_convert_..." (that is, operate basically on TransData and TransDataContainer). Ideally, such bounds should be calculated in initSeqSlide using the members of TransData. But sometimes this rule is not followed in favor of performance and simplicity. | |||||||||||||||||||||